# Fidel API — how to use (mcp.ai)

Connect your Fidel API account and use 39 tools for developer tools straight from your AI agent. Connect with your own API key. Fidel API provides a developer-friendly, secure, and reliable API for businesses to link payment cards with mobile and web applications, enabling real-time transaction monitoring and event-based experiences.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_fidel_api?ms=1787293680000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `fidel_api_create_brand`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/fidel_api`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/fidel_api/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/fidel_api/create/brand` — Create a new brand in Fidel API. Use this action to register a brand with a unique name. Brands are independent of Programs and can be reused between different programs. Once created, the brand can be
  - body: { name: string, logoURL?: string, metadata?: object, websiteURL?: string }
- `POST https://api.mcp.ai/api/fidel_api/create/brand/webhook` — Tool to create a webhook at the brand level for receiving real-time event notifications. Use when you need to be notified of brand-related events, such as when brand consent is approved. In test mode,
  - body: { url: string, event: string, headers?: object }
- `POST https://api.mcp.ai/api/fidel_api/create/location` — Create a new location for a program in Fidel API. Use when you need to add a physical store or merchant location to track card transactions at that specific address.
  - body: { city: string, address: string, brandId: string, postcode: string, searchBy?: object, programId: string, stateCode?: string, countryCode: string }
- `POST https://api.mcp.ai/api/fidel_api/create/mid/request` — Tool to create a new MID (Merchant ID) request for a specific program and location. Use when you need to onboard a new MID or reassign an existing MID to a location.
  - body: { vmid?: string, action: string, origin: string, scheme: string, programId: string, locationId: string, mcAcquiringMid?: string, visaAcquiringMid?: string }
- `POST https://api.mcp.ai/api/fidel_api/create/offer` — Create a new offer in Fidel API. Use this to set up promotional offers with reward configurations (fixed amount or percentage discount) for specific brands and countries. The offer will be associated 
  - body: { name: string, type: object, brandId: string, endDate?: string, startDate: string, activation?: object, countryCode: string, publisherId: string }
- `POST https://api.mcp.ai/api/fidel_api/create/program` — Creates a new card-linked loyalty program in Fidel. A Program is the parent object for tracking card transactions - all Cards, Locations, Webhooks, and Transactions are linked to a Program. Use this b
  - body: { icon?: string, name: string, metadata?: object, iconBackground?: string }
- `POST https://api.mcp.ai/api/fidel_api/create/program/webhook` — Tool to register a new webhook for program-related events. Use when you need to receive real-time notifications for specific program events in your application.
  - body: { url: string, event: string, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/delete/location` — Tool to delete a location by its ID. Use after confirming the correct location ID. The operation is idempotent - deleting an already-deleted location returns success.
  - body: { locationId: string }
- `POST https://api.mcp.ai/api/fidel_api/delete/offer` — Tool to delete a specified offer by its ID. Use after confirming the correct offer ID.
  - body: { offerId: string }
- `POST https://api.mcp.ai/api/fidel_api/delete/program/webhook` — Permanently deletes a webhook by its ID. This is a destructive operation that cannot be undone. The webhook will immediately stop receiving event notifications. Use List Program Webhooks first to get 
  - body: { hookId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/brand` — Tool to retrieve information about a specific brand. Use when you have a brand ID and need its details.
  - body: { brandId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/location` — Tool to retrieve details of a specific location by its ID. Use when you have a location ID and need its full details.
  - body: { locationId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/mid` — Tool to retrieve details of a specific MID (Merchant ID). Use when you have a program ID and MID ID to get full MID details.
  - body: { midId: string, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/mid/request` — Tool to retrieve details of a specific MID request. Use when you have a program ID and MID request ID and need to check the status or details of a Merchant ID request.
  - body: { programId: string, midRequestId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/offer` — Retrieves detailed information about a specific offer by its unique ID. Use this tool when you need to: - Get full details about a known offer (reward type, value, dates, etc.) - Verify offer status (
  - body: { offerId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/program` — Tool to retrieve details of a specific program. Use when you have a program ID and need its full details.
  - body: { programId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/transaction` — Tool to retrieve details of a specific transaction by its ID. Use when you need to get complete information about a card-linked transaction including amount, currency, timestamp, and associated metada
  - body: { transactionId: string }
- `POST https://api.mcp.ai/api/fidel_api/get/webhook` — Retrieve details of a specific webhook by its unique identifier. Use this tool when you need to inspect webhook configuration, verify its URL, check the subscribed event type, or obtain the secret key
  - body: { hookId: string }
- `POST https://api.mcp.ai/api/fidel_api/link/all/program/locations/to/offer` — Tool to link all brand locations in a program to an offer. Use when you need to associate all locations from a specific program with an offer, making the offer available at all those brand locations.
  - body: { offerId: string, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/link/location/to/offer` — Link a location to an offer in Fidel API. Use this action to associate a specific location with an offer, making the offer available at that location. Once linked, transactions at the location will be
  - body: { offerId: string, locationId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/brands` — Retrieves a paginated list of all brands associated with your Fidel API account. Use this tool to: - Get an overview of all brands in your account - Retrieve brand IDs for use in other operations (e.g
  - body: { limit?: integer, startingAfter?: string }
- `POST https://api.mcp.ai/api/fidel_api/list/cards` — List all payment cards linked to a Fidel program. Returns card details including scheme (visa/mastercard/amex), last 4 digits, expiry date, and country. Use this to view which cards are enrolled in a 
  - body: { limit?: integer, start?: string, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/cards/by/metadata` — Tool to list payment cards filtered by metadata ID. Use when you need to retrieve all cards that share a specific metadata identifier. Returns card details including scheme, last 4 digits, expiry date
  - body: { limit?: integer, start?: string, metadataId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/cards/with/active/offer` — List all payment cards that have activated a specific offer. Returns card details for cards enrolled in the offer, including activation status and timestamps. Use this to track which cards are partici
  - body: { limit?: integer, order?: string, start?: string, offerId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/locations` — Tool to list all locations for a program. Use when you need to retrieve paginated store locations within a specific program.
  - body: { count?: integer, limit?: integer, search?: string, programId: string, countryCode?: string, endingBefore?: string, startingAfter?: string }
- `POST https://api.mcp.ai/api/fidel_api/list/locations/by/brand` — Tool to list all locations for a specific brand within a program. Use when you need to retrieve locations filtered by both brand and program IDs with optional pagination, status, and postcode filters.
  - body: { limit?: integer, order?: string, start?: string, status?: string, brandId: string, postcode?: string, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/locations/by/offer` — Tool to list all locations linked to a specific offer. Use when you need to retrieve locations where an offer is valid or active.
  - body: { limit?: integer, order?: string, start?: string, offerId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/mid/requests` — List all MID (Merchant ID) requests for a specific program. Use when you need to retrieve MID requests associated with a program for card-linking operations. Supports pagination via the 'start' parame
  - body: { limit?: integer, order?: string, start?: string, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/mids` — Tool to list all MIDs (Merchant IDs) for a program. Use when you need to retrieve merchant IDs associated with a specific program for transaction tracking or location management.
  - body: { limit?: integer, programId: string, startingAfter?: string }
- `POST https://api.mcp.ai/api/fidel_api/list/missing/transaction/requests` — Tool to list all missing transaction requests for a specific program. Use when you need to retrieve reports of transactions that were expected but not recorded in the system.
  - body: { limit?: integer, order?: string, start?: string, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/offers` — List all offers in the Fidel API. Retrieves offers associated with the account, optionally filtered by brand. Returns offer details including type (amount/discount), validity period, card schemes, and
  - body: { limit?: integer, order?: string, start?: string, brandId?: string }
- `POST https://api.mcp.ai/api/fidel_api/list/program/webhooks` — Tool to list all registered webhooks for a specific program. Use when you need to retrieve existing webhooks after confirming the programId.
  - body: { programId: string }
- `POST https://api.mcp.ai/api/fidel_api/list/programs` — List all Fidel programs in your account. Use this to retrieve programs for card-linking, loyalty, or reward systems. Supports pagination via the 'start' parameter using cursors from previous responses
  - body: { limit?: integer, order?: string, start?: string }
- `POST https://api.mcp.ai/api/fidel_api/list/transactions` — List transactions for a Fidel program with optional filtering and pagination. Use this tool to retrieve card-linked transaction data for loyalty, rewards, or analytics purposes. Requires a valid progr
  - body: { limit?: integer, order?: string, start?: string, offset?: integer, programId: string }
- `POST https://api.mcp.ai/api/fidel_api/unlink/location/from/offer` — Tool to unlink a location from an offer by removing the location association. Use after confirming the correct offer ID and location ID.
  - body: { offerId: string, locationId: string }
- `POST https://api.mcp.ai/api/fidel_api/update/brand` — Update an existing brand's details in Fidel API. Use this to modify websiteURL, logoURL, or metadata for a brand. The brand name cannot be changed after creation. Requires a valid brand ID from get_br
  - body: { brandId: string, logoURL?: string, metadata?: object, websiteURL?: string }
- `POST https://api.mcp.ai/api/fidel_api/update/offer` — Updates specific properties of an existing offer. Use this when you need to modify offer details such as name, dates, transaction amounts, terms, or metadata. At least one field must be provided to up
  - body: { name?: string, endDate?: string, offerId: string, metadata?: object, startDate?: string, daysOfWeek?: integer[], returnPeriod?: integer, additionalTerms?: string, maxTransactionAmount?: number, minTransactionAmount?: number }
- `POST https://api.mcp.ai/api/fidel_api/update/program` — Updates a Fidel API program's properties. Can modify name (4-50 chars), icon (emoji in :name: format), iconBackground (HEX color), metadata (key/value pairs, max 2KB), or status ('syncing' for live pr
  - body: { icon?: string, name?: string, status?: string, metadata?: object, programId: string, iconBackground?: string }
- `POST https://api.mcp.ai/api/fidel_api/update/webhook` — Tool to update an existing webhook's configuration. Use when you need to change the webhook URL or event type. The event field is required even when updating.
  - body: { url?: string, event: string, hookId: string, programId: string }

## Example prompts
- "What can I do in Fidel API?"
- "Show me a summary of my Fidel API account"

## More
- Page: https://mcp.ai/fidel_api
- Agent spec (llms.txt): https://mcp.ai/fidel_api/llms.txt
- Postman collection: https://mcp.ai/fidel_api/postman.json
