Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/synctera-cards-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
description: '<h2>Let''s build something great.</h2><p>Welcome to the official reference documentation for Synctera APIs. Our APIs are the best way to automate your company''s banking needs and are designed to be easy to understand and implement.</p><p>We''re continuously growing this library and what you see here is just the start, but if you need something specific or have a question, <a class=''text-blue-600'' href=''https://synctera.com/contact'' target=''_blank'' rel=''noreferrer''>contact us</a>.</p>
'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: Synctera Accounts Cards API
version: 0.20.0
servers:
- description: Production
url: https://api.synctera.com/v0
- description: Sandbox (no real world financial impact)
url: https://api-sandbox.synctera.com/v0
security:
- bearerAuth: []
tags:
- description: Requests to issue and manage cards
name: Cards
paths:
/cards:
description: 'The Card object represents your customer''s spending card.
'
summary: Cards
get:
description: 'List of cards matching query parameters
'
operationId: listCards
parameters:
- $ref: '#/components/parameters/customer_id_query'
- $ref: '#/components/parameters/account_id_query_array'
- $ref: '#/components/parameters/emboss_name_query'
- $ref: '#/components/parameters/last_four_query'
- $ref: '#/components/parameters/expiration_date_query'
- $ref: '#/components/parameters/card_type_query'
- $ref: '#/components/parameters/card_brand_query'
- $ref: '#/components/parameters/form_query'
- $ref: '#/components/parameters/card_product_id_query'
- $ref: '#/components/parameters/card_status_query'
- $ref: '#/components/parameters/postal_code_query'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page_token'
- $ref: '#/components/parameters/card_sort_by_query'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/card_list_response'
description: Cards
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: List Cards
tags:
- Cards
x-external: true
post:
description: 'Issue or reissue a new card for a customer
'
operationId: issueCard
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/card_issuance_request'
description: Card to issue
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/card_response'
description: Card issued
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Issue a Card
tags:
- Cards
x-external: true
/cards/{card_id}:
description: 'The Card object represents your customer''s spending card.
'
summary: Cards
get:
description: 'Get the details about a card that has been issued
'
operationId: getCard
parameters:
- $ref: '#/components/parameters/card_id'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_response'
description: Card details
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Get Card
tags:
- Cards
x-external: true
patch:
description: 'Integrators can update the card resource to change status, update shipping (if the card hasn''t been shipped) or edit metadata.
'
operationId: updateCard
parameters:
- $ref: '#/components/parameters/card_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/card_edit_request'
description: Card edits
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_response'
description: Card issued
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Update Card
tags:
- Cards
x-external: true
/cards/{card_id}/barcodes:
summary: Cards
get:
description: 'This endpoint is for testing environment only to provide access to barcode of a test card
'
operationId: getCardBarcode
parameters:
- $ref: '#/components/parameters/card_id'
responses:
'200':
content:
application/json:
schema:
properties:
barcode:
description: Barcode of the card
type: string
type: object
description: Barcode
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Get Card Barcode
tags:
- Cards
x-external: true
/cards/{card_id}/changes:
get:
description: 'List card change history
'
operationId: listChanges
parameters:
- $ref: '#/components/parameters/card_id'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_changes_list'
description: List of card changes
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: List Card Changes
tags:
- Cards
x-external: true
/cards/{card_id}/client_token:
description: 'Client access token for accessing privileged details about a card
'
summary: Get Client Access Token
post:
description: 'Create a client access token for interacting with a card. This token will be used on the client to identify the card for flows like viewing Full PAN or setting the PIN in a PCI compliant manner.
'
operationId: getClientAccessToken
parameters:
- $ref: '#/components/parameters/card_id'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/client_token'
description: Client token
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Get a client token
tags:
- Cards
x-external: true
/cards/activate:
description: 'Activate a card
'
summary: Card Activation
post:
description: 'Activate a card
'
operationId: activateCard
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/card_activation_request'
description: Card activation code
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_response'
description: Card activated successfully
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Activate a card
tags:
- Cards
x-external: true
/cards/card_widget_url:
summary: Get Card Widget URL
get:
description: 'This endpoint returns a URL address of the specified widget for a given card
'
operationId: getCardWidgetURL
parameters:
- description: The type of widget for which to construct the URL
in: query
name: widget_type
required: true
schema:
$ref: '#/components/schemas/widget_type'
x-external: true
- in: query
name: customer_id
required: true
schema:
$ref: '#/components/schemas/customer_id1'
x-external: true
- in: query
name: account_id
required: true
schema:
$ref: '#/components/schemas/account_id'
x-external: true
- description: The ID of the card (required for set PIN widget)
in: query
name: card_id
schema:
$ref: '#/components/schemas/card_id'
x-external: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_widget_url_response'
description: Card issued
default:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/error'
description: Error
summary: Get card widget URL
tags:
- Cards
x-external: true
/cards/gateways:
description: 'The Gateway object represents the Authorization gateway configuration.
'
summary: Authorization Gateway Configuration
get:
description: 'List of gateways matching query parameters
'
operationId: listGateways
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page_token'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/gateway_list_response'
description: Gateways
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: List Gateways
tags:
- Cards
x-external: true
post:
description: 'Create a new Authorization Gateway Configuration
'
operationId: createGateway
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/create_gateway_request'
description: Create a new Authorization Gateway Configuration
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/gateway_response'
description: New Authorization Gateway Configuration created
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Create Gateway
tags:
- Cards
x-external: true
/cards/gateways/{gateway_id}:
description: 'The Gateway object represents the Authorization gateway configuration.
'
summary: Authorization Gateway
get:
description: 'Get the details of an Authorization Gateway that has been configured
'
operationId: getGateway
parameters:
- $ref: '#/components/parameters/gateway_id'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gateway_response'
description: Gateway details
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Get Gateway
tags:
- Cards
x-external: true
patch:
description: 'Update Authorization Gateway configuration
'
operationId: updateGateway
parameters:
- $ref: '#/components/parameters/gateway_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update_gateway_request'
description: Gateway edits
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/gateway_response'
description: Gateway Updated
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Update Gateway
tags:
- Cards
x-external: true
/cards/images:
get:
description: 'List all card image details
'
operationId: listCardImageDetails
parameters:
- $ref: '#/components/parameters/customer_id_query_required'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_image_details_list'
description: List of details for images uploaded by the given customer
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'500':
$ref: '#/components/responses/internal_server_error'
summary: List Card Image Details
tags:
- Cards
x-external: true
post:
description: 'Create a card image entity. Note that this does not include the image data itself. You can upload the image data via a subsequent uploadCardImageData request using the ID created here.
'
operationId: createCardImage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/create_card_image_request'
description: Details of the image to create
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/card_image_details'
description: Card image entity created
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Create Card Image
tags:
- Cards
x-external: true
/cards/images/{card_image_id}:
get:
description: Get card image details
operationId: getCardImageDetails
parameters:
- $ref: '#/components/parameters/card_image_id'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_image_details'
description: Details of the card image
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Get Card Image Details
tags:
- Cards
x-external: true
patch:
description: Update card image details. The only detail that can be updated is the card status as APPROVED or REJECTED.
operationId: updateCardImageDetails
parameters:
- $ref: '#/components/parameters/card_image_id'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update_card_image_request'
description: Details of the image to create
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_image_details'
description: Details of the card image
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Update Card Image Details
tags:
- Cards
x-external: true
/cards/images/{card_image_id}/data:
get:
description: Get card image data
operationId: getCardImageData
parameters:
- $ref: '#/components/parameters/card_image_id'
responses:
'200':
content:
image/jpeg:
schema:
format: binary
type: string
description: Image data
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Get Card Image Data
tags:
- Cards
x-external: true
post:
description: Upload card image data
operationId: uploadCardImageData
parameters:
- $ref: '#/components/parameters/card_image_id'
requestBody:
content:
image/jpeg:
schema:
format: binary
type: string
description: Binary image data
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_image_details'
description: Card image data was successfully uploaded
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Upload Card Image
tags:
- Cards
x-external: true
/cards/products:
get:
operationId: listCardProducts
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/page_token'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/card_product_list_response'
description: List of available Card Products
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'500':
$ref: '#/components/responses/internal_server_error'
summary: List Card Products
tags:
- Cards
x-external: true
/cards/single_use_token:
summary: Get Single-Use Token
post:
description: 'This endpoint returns a single-use access token. This type of token authorizes a single request to access API endpoints and data associated with a particular user
'
operationId: getClientSingleUseToken
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/single_use_token_request'
description: User token details
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/single_use_token_response'
description: Token Created
'400':
$ref: '#/components/responses/bad_request'
'401':
$ref: '#/components/responses/unauthorized'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/unprocessable_entity'
'500':
$ref: '#/components/responses/internal_server_error'
summary: Get single-use token
tags:
- Cards
x-external: true
components:
schemas:
card_change:
description: Card change details
properties:
change_type:
$ref: '#/components/schemas/change_type'
channel:
$ref: '#/components/schemas/change_channel'
id:
description: Unique token
example: 19d19b55-c8fa-4a78-ae1c-98d37798bec3
format: uuid
readOnly: true
type: string
memo:
$ref: '#/components/schemas/card_status_reason_memo'
reason:
$ref: '#/components/schemas/card_status_reason_code'
state:
$ref: '#/components/schemas/card_change_state'
description: Updated card state
updated_at:
description: Date of change
example: Fri Jul 22 2022 03:09:02 GMT+0000 (Coordinated Universal Time)
format: date-time
readOnly: true
type: string
updated_by:
description: ID of user who initiated the change, if done via Synctera Admin System
type: string
required:
- id
- change_type
- state
- channel
- updated_at
- updated_by
type: object
physical_card_response:
allOf:
- $ref: '#/components/schemas/physical_card_plus_status'
- properties:
physical_card_format:
$ref: '#/components/schemas/physical_card_format'
required:
- form
- id
- customer_id
- account_id
- type
- emboss_name
- card_product_id
- card_brand
- creation_time
- shipping
- physical_card_format
type: object
card_status_reason_code:
description: 'The reason for the card status
Code | Description
--- | ---
NEW | Card activated
REQ | Requested by you
INA | Dormant
UNK | Invalid shipping address
NEG | Negative account balance
REV | Account under review
SUS | Suspicious activity
OUT | Activity outside program parameters
FRD | Confirmed fraud
MAT | Matched with an OFAC list
LOS | Card reported lost
CLO | Card was cloned
COM | Account or card was compromised
TMP | Awaiting customer confirmation
PRC | Initiated by Processor
ISS | Initiated by Issuer
EXP | Card expired
KYC | Failed KYC
INF | Information was validated
ACT | Account activity was validated
AUX | Initiated by a third party
PIN | PIN try limit reached
STO | Card reported stolen
ADD | Address issue
NAM | Name issue
SSN | SSN issue
DOB | DOB issue
EML | Email issue
PHO | Phone issue
FUL | Account/fulfillment mismatch
OTH | Other
'
enum:
- NEW
- REQ
- INA
- UNK
- NEG
- REV
- SUS
- OUT
- FRD
- MAT
- LOS
- CLO
- COM
- TMP
- PRC
- ISS
- EXP
- KYC
- INF
- ACT
- AUX
- PIN
- STO
- ADD
- NAM
- SSN
- DOB
- EML
- PHO
- FUL
- OTH
type: string
single_use_token_response:
example:
customer_account_mapping_id: user_token
expires: '2000-01-23T04:56:07.000+00:00'
token: token
properties:
customer_account_mapping_id:
type: string
expires:
description: yyyy-MM-ddTHH:mm:ssZ
format: date-time
type: string
token:
type: string
required:
- expires
type: object
card_brand:
description: The brand of a card product
enum:
- MASTERCARD
- VISA
type: string
card_status_request:
description: The status indicating the card lifecycle state
enum:
- ACTIVE
- SUSPENDED
- TERMINATED
type: string
single_use_token_request:
properties:
account_id:
description: The ID of the account to which the token will be linked
example: 9aea04bb-b7c7-46b5-817d-1af05e6b22f2
format: uuid
type: string
customer_id:
description: The ID of the customer to whom the token will be issued
example: e167fa0d-ee40-4a6e-b1ba-f61593fd254e
format: uuid
type: string
required:
- customer_id
- account_id
type: object
card_status:
description: The status indicating the card lifecycle state
enum:
- ACTIVE
- UNACTIVATED
- SUSPENDED
- TERMINATED
- IMAGE_PENDING
- IMAGE_REJECTED
type: string
card_pin_status:
description: The status of the card PIN
enum:
- SET
- CHANGED
readOnly: true
type: string
card_image_details_list:
allOf:
- properties:
images:
description: Array of image details
items:
$ref: '#/components/schemas/card_image_details'
type: array
required:
- images
type: object
- $ref: '#/components/schemas/paginated_response'
wallet_provider_card_on_file:
properties:
address_verification:
$ref: '#/components/schemas/digital_wallet_token_address_verification'
enabled:
default: false
example: false
type: boolean
type: object
recipient_name:
description: The name of the recipient to whom the card will be shipped
properties:
first_name:
example: Thea
type: string
last_name:
example: Ritchie
type: string
middle_name:
example: a
type: string
required:
- first_name
- last_name
type: object
physical_card_response_status:
allOf:
- $ref: '#/components/schemas/card_status_object'
- properties:
card_fulfillment_status:
$ref: '#/components/schemas/card_fulfillment_status'
fulfillment_details:
$ref: '#/components/schemas/fulfillment_details'
tracking_number:
deprecated: true
description: 'This contains all shipping details as provided by the card fulfillment provider, including the tracking
number. This field is deprecated. Instead, please use the fulfillment_details object, which includes a
field for just the tracking number.
'
example: Ship Date [2022-07-19], Shipping Method [UPS Next Day Air Saver]; Tracking Number [1ZW3268W1319325382]
readOnly: true
type: string
required:
- card_status
- status_reason
- card_fulfillment_status
type: object
card_product_response:
allOf:
- $ref: '#/components/schemas/card_product'
required:
- id
- name
- card_program_id
- active
- form
- start_date
- digital_wallet_tokenization
- end_date
- creation_time
- last_modified_time
address1:
properties:
address_line_1:
description: Street address line 1
example: 0624 Kulas Turnpike
type: string
address_line_2:
description: String address line 2
example: Apt. 024
type: string
city:
description: City
example: Jastfort
type: string
country_code:
description: ISO-3166-1 Alpha-2 country code
example: CG
type: string
postal_code:
description: Postal code
example: '49633'
type: string
state:
description: State, region, province, or prefecture
example: ID
type: string
required:
- address_line_1
- city
- state
- country_code
- postal_code
type: object
virtual_card:
allOf:
- $ref: '#/components/schemas/base_card'
description: A virtual card
title: Virtual Card
card_response:
discriminator:
mapping:
PHYSICAL: '#/components/schemas/physical_card_response'
VIRTUAL: '#/components/schemas/virtual_card_response'
propertyName: form
oneOf:
- $ref: '#/components/schemas/physical_card_response'
- $ref: '#/components/schemas/virtual_card_response'
change_type:
description: The category of card change
enum:
- STATUS
- FULFILLMENT
- PIN
type: string
shipping:
description: Details about the shipping method. If supplied this will override the default shipping address of the customer or account.
properties:
address:
$ref: '#/components/schemas/address1'
description: The address to which the card will be shipped - Defaults to account shipping address if none supplied
care_of_line:
description: The name of the person to send in care of
type: string
is_expedited_fulfillment:
default: false
description: Is the shipment expedited
example: false
type: boolean
method:
default: LOCAL_MAIL
description: The shipping method
enum:
- LOCAL_MAIL
- TWO_DAY
- OVERNIGHT
- INTERNATIONAL
example: LOCAL_MAIL
type: string
phone_number:
description: The phone number of the recipient
example: 2007473385
pattern: ^\+[1-9]\d{1,14}$
type: string
recipient_name:
$ref: '#/components/schemas/recipient_name'
description: The name of the recipient to whom the card will be shipped
type: object
virtual_card_plus_status:
allOf:
- $ref: '#/components/schemas/virtual_card'
- $ref: '#/components/schemas/virtual_card_response_status'
card_product_list_response:
allOf:
- properties:
card_products:
description: Array of Card Products
items:
$ref: '#/components/schemas/card_product_response'
type: array
# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/synctera/refs/heads/main/openapi/synctera-cards-api-openapi.yml