How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Citi Commercial Cards and Virtual Card Accounts APIs

Virtual Card Account lifecycle, mobile virtual cards, payment-intermediary VCA management, authorization notifications and webhooks, clearing exception reporting, purchase template details, mobile wallet provisioning, and commercial card transaction disputes. Citi publishes 27 machine-readable specifications for this family covering 57 operations, served from developer.citi.com.

This API exposes 5 operations across 5 paths, organized into 2 resource areas, and defines 43 schemas. It is described by OpenAPI 2.0.

Requests are made against 2 base URLs: https://tts.apib2b.citi.com/tts/cards, https://tts.sandbox.apib2b.citi.com/tts/cards.

5 operations 5 paths 43 schemas 5 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 2.0
Base URL
https://tts.apib2b.citi.com/tts/cards
Authentication
OAuth 2.0
Resource Areas
2

Authentication & Security 1

Citi Commercial Cards and Virtual Card Accounts APIs declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (clientCredentials) using the application flow. By default, every request must be authenticated.

  • clientCredentials — All CitiConnect APIs use the oAuth2 authentication scheme, which requires a bearer token to authenticate your API call. The Token URL includes the version of a…

Paths & Operations 5

Across 5 paths, the API surfaces 5 operations — 5 POST. They span 2 resource areas: Provisioning, Webhooks. Each is listed below with its method, path, parameters, and response codes.

Provisioning 3

These are operations related to provisioning requests.

POST
/digitalwalletprovision/v1/initialeligibilitycheck
Check Eligibility
initialEligibilityCheck 10 params → 200400401405500
POST
/digitalwalletprovision/v1/tokenactivationrequest
Token Activation Request
tokenActivationRequest 10 params → 200400401405500
POST
/digitalwalletprovision/v1/sendpasscode
Send Passcode
sendPassCode 8 params → 200400401405500
Webhooks 2

Operation related to webhook requests.

POST
/digitalwalletwebhooks/v1/digitalwallettoken
Digital Wallet Token
digitalWalletToken 10 params → 200400401405500
POST
/digitalwalletwebhooks/v1/digitalwallettokentransition
Digital Wallet Token Transition
digitalWalletTokenTransition 10 params → 200400401405500

Schemas 43

The contract defines 43 schemas that model the data the API accepts and returns. The most detailed are digital_wallet_token_with_card_data (11 properties), token_service_provider (11 properties), digital_wallet_token_transition_response (9 properties), tar_token_service_provider (8 properties). Each schema is shown below with its type and property counts.

InitialEligibilityCheckRequest
object
3 properties 2 required
WalletProviderProfile
object
Wallet Provider profile data for initial eligibility check
1 property 1 required
card_token_service_provider_dtls
object
cardtokenserviceproviderdtls is the schema for the encrypted payload. This schema should not be part of the request payload in plain text. cardtokenserviceprov…
2 properties 2 required
CardData
object
Card data for initial eligibility check
1 property 1 required
TokenServiceProvider
object
Token Service Provider details for initial eligibility check.
4 properties 2 required
InternalServerErrorResponse
object
1 property 1 required
UnAuthorizedResponse
object
3 properties 3 required
MethodNotAllowedResponse
object
3 properties 3 required
ErrorMessage
object
List of error code and description to be sent to the client.
2 properties 2 required
InvalidInitialEligibilityCheckResponse
object
1 property 1 required
InitialEligibilityCheckResponse
object
3 properties 2 required
TokenActivationRequest
object
5 properties 4 required
card_details
object
carddetails is the schema for the encrypted payload. This schema should not be part of the request payload in plain text. carddetails schema describes the stru…
4 properties
tar_card_data
object
5 properties 2 required
encrypted_cvv2
object
Encrypted CVV2 encrypted using A256GCM and formatted in JWE direct encryption format as described here: https://connect2id.com/products/nimbus-jose-jwt/example…
1 property 1 required
tar_token_service_provider
object
8 properties 4 required
tar_device
object
7 properties 1 required
address_verification
object
3 properties
ExpiryDate
object
2 properties 2 required
digital_wallet_token_hash
object
Marqeta identifier for the digital wallet token.
1 property 1 required
issuer_risk_assessment
object
Token Provisioning request issuer risk assessment.
2 properties 1 required
wallet_provider_profile
object
Wallet provider profile
5 properties 2 required
account
object
Wallet provider account details.
3 properties 1 required
risk_assessment
object
Wallet provider risk assessment details.
2 properties
TokenActivationResponse
object
7 properties 4 required
InvalidTokenActivationResponse
object
1 property 1 required
Webhook_DigitalWalletToken_Array_Type
object
1 property
Webhook_DigitalWalletToken_Object_Type
object
3 properties 3 required
digital_wallet_token_with_card_data
object
11 properties 5 required
device
object
7 properties 1 required
DigitalWalletTokenWalletProviderModel
object
Wallet provider profile
5 properties 2 required
webhooks_risk_assessment
object
Wallet provider risk assessment details
2 properties
WebhookErrorResponse
object
1 property
WebhookErrorType
object
4 properties 3 required
webhook_encrypted_data_with_card_details
object
webhookencrypteddatawithcarddetails is the schema for the encrypted payload. This schema should not be part of the request payload in plain text. webhookencryp…
4 properties 4 required
webhook_card_data_no_cvv
object
2 properties 2 required
token_service_provider
object
11 properties 4 required
Webhook_DigitalWalletTokenTransition_Array_Type
object
1 property
Webhook_DigitalWalletTokenTransition_Object_Type
object
3 properties 3 required
digital_wallet_token_transition_response
object
9 properties 8 required
SendPassCodeMarqetaRequest
object
4 properties 4 required
SelectedStepUpOption
object
3 properties 2 required
InvalidSendPassCodeResponse
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

citi-marqueta-openapi.yaml Raw ↑
Where this information came from

This is an independent, third-party profile of Citi Commercial Cards and Virtual Card Accounts APIs, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.