Fidel API integration
Fidel API is a card-linking platform: it tracks the Visa, Mastercard and Amex transactions of enrolled payment cards at the merchant locations you register, for loyalty and rewards programs. Manage programs, brands, locations, merchant ids (MID requests, MIDs, MID insights), card-linked offers and their cards and locations, Fidel Marketplace offers, webhooks and missing transaction requests; list and read cards and transactions, and simulate transactions in test. Enrolling a card (it takes a full card number) is not exposed. Authentication is a secret API key in the Fidel-Key header: an sk_test_ key works on test data, an sk_live_ key on live data.
Say what should happen.
The workflow builds itself.
What you can do with Fidel API
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Location, 6 operations
create_locationCreate locationPOSTCreates a location of a brand in a program (address, city, postcode, country). Returns it in items[0]; in the live environment it must be synced with the card schemes before its transactions are tracked.delete_locationDelete locationDELETEPermanently deletes a location: transactions there stop being tracked. Irreversible.get_locationGet locationGETGets one location by id: address, postcode, country, currency, timezone, geolocation, brand, and its sync status per card scheme (Visa, Mastercard, Amex).list_brand_locationsList brand locationsGETLists the locations of one brand inside one program, newest first, up to 100 per page, optionally filtered by postcode or status. Pagination: pass the last object of the previous answer, JSON-stringified, as start.list_program_locationsList program locationsGETLists the locations of a program, newest first, up to 100 per page, optionally filtered by postcode or status. Pagination: pass the last object of the previous answer, JSON-stringified, as start.update_locationUpdate locationPATCHUpdates a location's address details (Fidel requires address, city, countryCode and postcode on every update), metadata and known merchant ids (searchBy).
Offer, 6 operations
create_offerCreate offerPOSTCreates a card-linked offer for a brand in a country (name, startDate, reward type). Returns the offer in items[0]; link locations with link_location_to_offer before it can qualify transactions.delete_offerDelete offerDELETEPermanently deletes an offer. Irreversible.get_offerGet offerGETGets one offer by id: reward type and value, dates, schemes, transaction amount limits, activation rule, funding, brand and status.list_offersList offersGETLists card-linked offers, newest first, 100 per page at most; filter by status (requests, upcoming, live, expired), brand, program or country. Pagination: pass the last object of the previous answer, JSON-stringified, as start.send_offer_to_brandSend offer to brandPOSTSends an offer to its brand for acceptance. Live environment only, and only for an offer not funded by your own account (every test offer is self-funded, so it fails in test).update_offerUpdate offerPATCHUpdates an offer's name, dates, reward type, days of week, amount limits, schemes, activation or metadata. Leave a field out to keep its current value.
Webhook, 6 operations
create_webhook_brandCreate webhook brandPOSTCreates a brand-level webhook: Fidel will POST brand.consent events to your HTTPS url, with optional custom headers. The signing secret is not passed on (Fidel Dashboard, Webhooks, Show Key). For program events use create_webhook_program.create_webhook_programCreate webhook programPOSTCreates a program webhook: Fidel POSTs the chosen event (card.linked, transaction.auth, transaction.clearing...) to your HTTPS url. The signing secret is not passed on: the user copies it from the Fidel Dashboard (Webhooks, Show Key).delete_webhookDelete webhookDELETEPermanently deletes a webhook: Fidel stops sending its events.get_webhookGet webhookGETGets one webhook by id: event, destination url, custom headers, program and offer filter. The signing secret is left out: the user copies it from the Fidel Dashboard (Webhooks, Show Key).list_webhooksList webhooksGETLists the webhooks of a program, optionally for one event. The signing secret is left out of the answer.update_webhookUpdate webhookPATCHUpdates a webhook. Fidel requires event and url on every update; headers, programId and offerId are optional. The signing secret is left out of the answer.
Brand, 5 operations
create_brandCreate brandPOSTCreates a brand with a unique name (2 to 50 characters), and optional website and logo URLs. Returns the brand in items[0]; its id is what create_location and create_offer take.delete_brandDelete brandDELETEPermanently deletes a brand. This cannot be undone.get_brandGet brandGETGets one brand by id: name, website and logo URLs, metadata, consent flag and whether it belongs to the live or the test environment.list_brandsList brandsGETLists the brands (merchants whose card transactions you track) on the account, newest first, up to 100 per page. Filter by exact name. Pagination: pass the last object of the previous answer, JSON-stringified, as start.update_brandUpdate brandPATCHUpdates a brand's website URL, logo URL or metadata (the name cannot be changed). Leave a field out to keep its current value.
Card, 5 operations
delete_cardDelete cardDELETEPermanently deletes an enrolled card: Fidel stops tracking its transactions. Irreversible. Rate limited by Fidel to 1 call per second (burst 3).get_cardGet cardGETGets one enrolled card by id: scheme, card type, country, expiry, first and last digits (masked number), program and metadata.list_cards_by_metadata_idList cards by metadata idGETLists the cards whose metadata.id equals the given value (your own user id, set when the card was enrolled), with masked card details. Pagination: pass the last object of the previous answer, JSON-stringified, as start.list_program_cardsList program cardsGETLists the cards enrolled in a program, newest first, up to 100 per page, with masked card details (scheme, first and last digits, expiry). Pagination: pass the last object of the previous answer, JSON-stringified, as start.update_card_metadataUpdate card metadataPUTReplaces the whole metadata object of a card with the one given (send an empty object to clear it). Returns the card's new metadata.
Offer card, 4 operations
activate_offer_on_cardActivate offer on cardPOSTActivates an offer on one card, so that the card's transactions can qualify for it (needed when the offer has activation enabled).check_offer_on_cardCheck offer on cardGETChecks whether an offer is active on a card: exists is true when it is, and items holds the card.deactivate_offer_on_cardDeactivate offer on cardDELETERemoves a card from an offer (deactivates it); the card's usage count on that offer resets to 0.list_offer_cardsList offer cardsGETLists the cards on which an activation-based offer is active, with masked card details. Pagination: pass the last object of the previous answer, JSON-stringified, as start.
Offer location, 4 operations
link_all_brand_locations_to_offerLink all brand locations to offerPOSTLinks every location the offer's brand has in a program to the offer, in one call.link_location_to_offerLink location to offerPOSTLinks one location to an offer, so transactions there can qualify for it.list_offer_locationsList offer locationsGETLists the locations linked to an offer (where its transactions can qualify). Pagination: pass the last object of the previous answer, JSON-stringified, as start.unlink_location_from_offerUnlink location from offerDELETEUnlinks one location from an offer: transactions there stop qualifying for it.
Program, 4 operations
create_programCreate programPOSTCreates a program, with a name (4 to 50 characters), an optional emoji icon and background color. Returns it in items[0]; its id scopes cards, locations, transactions and webhooks.get_programGet programGETGets one program by id: name, icon, live or test, active date, sync status and metadata.list_programsList programsGETLists the programs (containers of cards, locations and transactions) on the account, newest first, up to 100 per page. Pagination: pass the last object of the previous answer, JSON-stringified, as start.update_programUpdate programPATCHUpdates a program's name, icon, background color or metadata. Leave a field out to keep its current value. Setting status to syncing starts syncing all its locations (live programs only).
Transaction, 4 operations
create_test_transactionCreate test transactionPOSTCreates a simulated transaction for a test card at a test location (test environment only; refunds are negative amounts). Use it to try webhooks and offers.get_transactionGet transactionGETGets one card transaction: amount, currency, datetime, auth and cleared flags, masked card, location, brand, offer and scheme identifiers.list_card_transactionsList card transactionsGETLists the transactions of one card, newest first, up to 100 per page, optionally between from and to (on the transaction datetime). Pagination: pass the last object of the previous answer, JSON-stringified, as start.list_program_transactionsList program transactionsGETLists the card transactions of a program (amount, card, location, brand, offer), newest first, up to 100 per page, optionally between from and to. Pagination: pass the last object of the previous answer, JSON-stringified, as start.
Mid request, 3 operations
create_mid_requestCreate mid requestPOSTAsks Fidel to onboard, offboard or reassign a merchant id (MID) for a location. Which fields are required depends on action and scheme. Processed later: follow it with get_mid_request.get_mid_requestGet mid requestGETGets one MID request: action, scheme, status (pending, processing, successful, failed), estimated completion date, and its result (the MIDs onboarded, or the error).list_mid_requestsList mid requestsGETLists the MID requests of a program (onboard, offboard or reassign a merchant id), filtered by status, scheme, location, brand or merchant id fields.
Missing transaction request, 3 operations
create_missing_transaction_requestCreate missing transaction requestPOSTAsks Fidel to look for a transaction a card made at a location but that was never received (amount, date YYYY-MM-DD). The request is processed later: follow it with get_missing_transaction_request.get_missing_transaction_requestGet missing transaction requestGETGets one missing transaction request: status, estimated completion date, and once processed the candidate transactions found (date, amount, merchant, match score).list_missing_transaction_requestsList missing transaction requestsGETLists the missing transaction requests of a program, filtered by brand, location, scheme, card, amount, date or status.
Marketplace offer, 2 operations
create_offer_from_marketplace_offerCreate offer from marketplace offerPOSTCreates offers in your programs from a Fidel Marketplace offer (one per programId given). Taking a marketplace offer commits you to its terms.list_marketplace_offersList marketplace offersGETLists the offers published in the Fidel Marketplace (offers from other brands you can take), by default only the available ones. Filter by status, brand, country, network, channel.
Mid, 2 operations
get_midGet midGETGets one merchant id (MID) of a program: scheme, location, brand, whether it is shared, and the scheme-specific identifiers.list_midsList midsGETLists the merchant ids (MIDs) of a program, per scheme (Amex SE number, Visa VMID/VSID or acquirer, Mastercard acquiring MID), filtered by location, brand or id fields.
Mid insight, 1 operation
list_mid_insightsList mid insightsGETLists MID insight records of a program: each merchant id (MID) found, its scheme, status (onboarded or offboarded), dates and last transaction seen. Paginate with start = the previous answer's last.
Use Fidel API from Claude Code, Cursor or Codex
Connect Fidel API in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Fidel API operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Fidel API
- Create your workspace
Sign up free. Nothing to install.
- Connect Fidel API once
Add your Fidel API connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Fidel API integration FAQ
What can you do with the Fidel API integration?
LiveContext exposes 55 operations on Fidel API, covering location, offer, webhook and brand.
