Quickstart
Issue your first card and pull its transactions, end to end.
Four calls: get a token, create a card, read it back, and query transactions. You need your sandbox OAuth client credentials and mTLS certificate — request both from Jeeves support if you don't have them yet.
1. Get an access token
Exchange your client credentials for a bearer token using the OAuth 2.0 client-credentials flow (token endpoint provided with your credentials):
curl -X POST "$JEEVES_TOKEN_URL" \
--cert client.crt --key client.key \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET'Export the returned token as JEEVES_ACCESS_TOKEN for the rest of this guide.
2. Create a card
curl -X POST \
'https://public-sandbox.tryjeeves.com/v1/cards' \
-H "Authorization: Bearer $JEEVES_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My First Card",
"restrictions": {
"spendLimit": 1000
}
}'Only name and restrictions.spendLimit are required. The 201 response is the complete card, including the sensitive details object:
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "My First Card",
"restrictions": { "spendLimit": 1000 },
"details": {
"cardNumber": "1234567890123456",
"cardHolder": "John Doe",
"expiryDate": "12/27",
"cvvCode": "123"
},
"createdAt": "2026-09-29 10:35:00",
"updatedAt": "2026-09-29 10:35:00"
}3. Read it back
curl 'https://public-sandbox.tryjeeves.com/v1/cards/123e4567-e89b-12d3-a456-426614174000' \
-H "Authorization: Bearer $JEEVES_ACCESS_TOKEN"Note the single-card GET includes the sensitive details object (per the API schema) — treat each retrieval as a PAN reveal. GET /v1/cards (with page / pageSize) lists your whole fleet without details.
4. Pull transactions
curl -X POST \
'https://public-sandbox.tryjeeves.com/v1/cards/transactions' \
-H "Authorization: Bearer $JEEVES_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "source": "cards", "cardIds": ["123e4567-e89b-12d3-a456-426614174000"] }'With cardIds set, you get the card's full history; without it, the window defaults to yesterday. See Reconciliation for the pagination model.
Where to next
- Add spend controls — limits, windows, merchant categories.
- Subscribe to webhooks so settlements push to you.
- Or play with all of it interactively in the Playground.