Last updated

Cards

Issue virtual cards with spend controls, track their transactions, and get notified in real time.

The Jeeves Card API lets you create credit cards programmatically, constrain exactly where and how much they can spend, and reconcile every transaction back to your ledger. It powers use cases from single-use travel VCNs to standing procurement cards.

Start in the Playground to watch the API calls fire as you click, or jump to the Quickstart to issue your first card from your terminal.

What you can do

CapabilityHowWhere to read
Issue a virtual cardPOST /v1/cards — returns the full card details in the responseIssuing cards
Constrain spendingrestrictions on create/update: spend limit, active window, transaction count, merchant categoriesSpend controls & MCC
Update or retire a cardPATCH /v1/cards/{id}, DELETE /v1/cards/{id}Updating & deleting
Tie cards to bookingsCard metadata plus PATCH /v1/travel/cards/{id}/bookingTravel cards
Reconcile transactionsPOST /v1/cards/transactions with source: cards or source: travelReconciliation
React in real timeWebhooks for auth approved/declined, settled, failedWebhooks

The card model

A card is created in one synchronous call and is immediately usable within its restrictions. There is no asynchronous provisioning step:

POST /v1/cards ──► card usable (within restrictions) ──► DELETE /v1/cards/{id}
                      │
                      ├── activeDateRangeUTC bounds when it can transact
                      ├── spendLimit caps total spend
                      ├── maxTransactionCount caps usage (1–10)
                      └── merchantCategory allows/blocks MCC groups

The create response carries the full card number, holder name, expiry, and CVV (details). Treat it as sensitive: pass it to your payment step or display flow and do not log it. You can fetch it again at any time with GET /v1/cards/{id}.

Authentication

Every call uses OAuth 2.0 client credentials over mTLS — your client certificate is required on every request (curl examples omit the --cert/--key flags for brevity). Request credentials for sandbox and production from the Jeeves support team. Card operations use the cards:read and cards:write scopes; transaction reads use transactions:read (and transactions:multiple:read to read across multiple companies under the same parent).

All examples in this section use the sandbox base URL:

https://public-sandbox.tryjeeves.com

Localization

Every endpoint accepts an Accept-Language header (en-US, es-MX, pt-BR) that localizes response messages.