{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-cards/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Issuing cards","description":"Start today using our public API to power your next project."},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"issuing-cards"},"children":["Issuing cards"]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create a virtual card and receive its full details in one call."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A card is created with a single ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v1/cards"]}," request. Unlike processors that provision asynchronously, the Jeeves response is synchronous and complete: the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["201"]}," body carries the card's full number, holder, expiry, and CVV. This page covers the request shape, the sensitive-details contract, and the errors to handle."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"request-shape"},"children":["Request shape"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \\\n  'https://public-sandbox.tryjeeves.com/v1/cards' \\\n  -H \"Authorization: Bearer $JEEVES_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"Travel Card\",\n    \"metadata\": {\n      \"reservation_code\": \"abc123\",\n      \"passenger_name\": \"John Doe\"\n    },\n    \"expectedChargeDateUTC\": \"2026-10-02\",\n    \"restrictions\": {\n      \"spendLimit\": 1000,\n      \"activeDateRangeUTC\": {\n        \"startDate\": \"2026-10-01 00:00:00\",\n        \"endDate\": \"2026-10-15 23:59:59\"\n      },\n      \"maxTransactionCount\": 1,\n      \"merchantCategory\": {\n        \"mode\": \"allow\",\n        \"categoryIds\": [\"Airfare\", \"Lodging & Accommodations\"]\n      }\n    }\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["1–60 chars, alphanumeric and spaces only (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["^[a-zA-Z0-9\\s]+$"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.spendLimit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Maximum total spend in the card's local currency. Must be greater than 0."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.activeDateRangeUTC"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startDate"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["endDate"]}," (UTC) bounding when the card can transact."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.maxTransactionCount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["1–10. Set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}," for a single-use card."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["restrictions.merchantCategory"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mode: allow"]}," (only these categories authorize) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mode: block"]}," (these categories decline), plus ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["categoryIds"]},". See ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/cards/card-management/spend-controls"},"children":["Spend controls & MCC"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Up to 10 key-value pairs; keys ≤ 50 chars, values ≤ 255 chars. Returned on the card and on its transactions — use it to tie cards to your own records."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expectedChargeDateUTC"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Date the card is expected to be charged. Must not be in the past. Requires the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cards:multiple:write"]}," scope, enabled on request — contact Jeeves support."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Scope: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cards:write"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-response-carries-the-full-card-details"},"children":["The response carries the full card details"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"id\": \"123e4567-e89b-12d3-a456-426614174000\",\n  \"name\": \"Travel Card\",\n  \"metadata\": { \"reservation_code\": \"abc123\", \"passenger_name\": \"John Doe\" },\n  \"expectedChargeDateUTC\": \"2026-10-02\",\n  \"restrictions\": { \"spendLimit\": 1000, \"maxTransactionCount\": 1 },\n  \"details\": {\n    \"cardNumber\": \"1234567890123456\",\n    \"cardHolder\": \"John Doe\",\n    \"expiryDate\": \"12/27\",\n    \"cvvCode\": \"123\"\n  },\n  \"createdAt\": \"2026-09-29 10:35:00\",\n  \"updatedAt\": \"2026-09-29 10:35:00\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Handle ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details"]}," as cardholder data."]}," Pass it directly to your payment or display flow. Never write the PAN or CVV to logs, analytics, queues, or persistent storage unless you are PCI-scoped for it. If you need the details again, fetch them on demand instead of caching."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"retrieving-a-card"},"children":["Retrieving a card"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Per the API schema, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v1/cards/{id}"]}," returns the same shape ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["including ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details"]}]}," — every single-card retrieval is effectively a PAN reveal, so gate who in your system can call it. Scope: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cards:read"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl 'https://public-sandbox.tryjeeves.com/v1/cards/123e4567-e89b-12d3-a456-426614174000' \\\n  -H \"Authorization: Bearer $JEEVES_ACCESS_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"listing-cards"},"children":["Listing cards"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /v1/cards"]}," pages through every card owned by your credentials (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["page"]}," starting at 1, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageSize"]}," up to 500, default 20). The list rows omit ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["details"]}," — fetch a single card when you need them."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl 'https://public-sandbox.tryjeeves.com/v1/cards?page=1&pageSize=20' \\\n  -H \"Authorization: Bearer $JEEVES_ACCESS_TOKEN\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"errors-to-handle"},"children":["Errors to handle"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"When"},"children":["When"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400 Bad Request"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Validation failed: name pattern, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["spendLimit"]}," ≤ 0, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["maxTransactionCount"]}," outside 1–10, past ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expectedChargeDateUTC"]},", metadata over limits."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["401 Unauthorized"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Missing or expired bearer token, or the mTLS handshake failed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403 Forbidden"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Token lacks the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cards:write"]}," scope (or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cards:multiple:write"]}," for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expectedChargeDateUTC"]},")."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404 Not Found"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Card ID does not exist or belongs to another client (on retrieve)."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every response includes an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["x-trace-id"]}," header — include it when contacting support."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"after-issuance"},"children":["After issuance"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Constrain or relax spending later: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/cards/card-management/managing-cards"},"children":["Updating & deleting"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Tie the card to an itinerary: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/cards/card-management/travel-cards"},"children":["Travel cards"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["See its transactions: ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/cards/transactions/reconciliation"},"children":["Reconciliation"]},"."]}]}]},"headings":[{"value":"Issuing cards","id":"issuing-cards","depth":1},{"value":"Request shape","id":"request-shape","depth":2},{"value":"The response carries the full card details","id":"the-response-carries-the-full-card-details","depth":2},{"value":"Retrieving a card","id":"retrieving-a-card","depth":2},{"value":"Listing cards","id":"listing-cards","depth":2},{"value":"Errors to handle","id":"errors-to-handle","depth":2},{"value":"After issuance","id":"after-issuance","depth":2}],"frontmatter":{"seo":{"title":"Issuing cards"}},"lastModified":"2026-10-28T18:10:31.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/cards/card-management/issuing-cards","userData":{"isAuthenticated":false,"teams":["anonymous"]}}