API template library

U.S. Bank Card as a Service mock API and live sandbox

A WireMock simulation of U.S. Bank's REST API — covering digital card issuing, lifecycle controls, digital-wallet provisioning, and bulk intake.

Vendor
U.S. Bank
Functionality
Virtual card issuing and wallets
Spec version
1.11.1
Endpoints
33
Stubs
34
Protocol
REST
Validation
AI-validated Before publication, an AI agent exercised these endpoints against the real U.S. Bank API through WireMock's recording proxy, and the recorded traffic was used to verify each stub's request and response shapes.

Live sandbox · no signup, no API key

US Bank Card as a Service

A running WireMock Cloud instance of this template, callable right now from a terminal, a script, or an AI agent.

Base URL
https://3r7zz.wiremockapi.cloud

POST Create digital card

curl -s -X POST 'https://3r7zz.wiremockapi.cloud/cards' \
  -H 'Content-Type: application/json' \
  -d '{}'

PATCH Update digital card

curl -s -X PATCH 'https://3r7zz.wiremockapi.cloud/cards/your-cardID' \
  -H 'Content-Type: application/json' \
  -d '{}'

PUT Update digital card address

curl -s -X PUT 'https://3r7zz.wiremockapi.cloud/cards/your-cardID/addresses' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
GET /accounts/{accountUID}/realtime-credit-details Retrieve available credit balance detail for the card account.
POST /bulk-requests Submit Create-Card requests in bulk.
GET /bulk-requests/{bulkID} Retrieve the status of the bulk intake request.
GET /bulk-requests/{bulkID}/responses/{index} Retrieve the status of an individual request within the bulk intake.
POST /cards Create a digital card.
GET /cards/{cardID} Retrieve digital card information.
PATCH /cards/{cardID} Update a digital card.
GET /cards/{cardID}/addresses Read digital card addresses.
PUT /cards/{cardID}/addresses Update digital card address.
GET /cards/{cardID}/attachments List all attachments for this card.
POST /cards/{cardID}/attachments Add (upload) an attachment to a card or authorization.
DELETE /cards/{cardID}/attachments/{attachmentID} Delete an attachment.
GET /cards/{cardID}/attachments/{attachmentID} Retrieve (download) an attachment.
GET /cards/{cardID}/auth-limits Read the authorization limits for a card.
PATCH /cards/{cardID}/auth-limits Change the authorization limits for a card.
POST /cards/{cardID}/authorizations/search Return authorizations for this card matching the search criteria.
POST /cards/{cardID}/cancel Cancel a digital card.
POST /cards/{cardID}/close Close a digital card.
GET /cards/{cardID}/cvv Read digital card security code.
POST /cards/{cardID}/digital-wallet/apple-pay Obtain an encoded card payload for use with Apple Pay wallet.
POST /cards/{cardID}/digital-wallet/eligibility Determine if a card is eligible for digital wallets.
POST /cards/{cardID}/digital-wallet/google-pay Obtain an encoded card payload for use with Google Pay wallet.
GET /cards/{cardID}/merchant-auth-controls Read the list of merchant authorization controls for a card.
PUT /cards/{cardID}/merchant-auth-controls Replace the list of merchant authorization controls.
GET /cards/{cardID}/merchant-groups/{mccgName} Retrieve the details of the specified MCCG.
POST /cards/{cardID}/merchant-groups/search Find 1 or more Merchant Category Code Groups (MCCGs).
GET /cards/{cardID}/realtime-credit-details Retrieve available credit balance detail for the digital card.
POST /cards/{cardID}/suspend Suspend a digital card.
GET /cards/{cardID}/transactions List all transactions for this card.
POST /cards/{cardID}/transactions/search Return transactions for this card matching the search criteria.
POST /cards/{cardID}/unsuspend Unsuspend a digital card.
POST /instant-cards/v1/cards Create an Instant Card.
GET /managing-accounts/{accountUID}/realtime-credit-details Retrieve available credit balance detail for the managing account.

Unauthenticated WireMock Cloud demo sandbox for U.S. Bank — not an official U.S. Bank sandbox, and it returns simulated example data only.

What's inside the Card as a Service template

CaaS is U.S. Bank's issuing engine, and the mock keeps its central promise: the card store is live. POST /cards mints a fresh eight-digit card ID on every call, the detail route serves that exact card back — status OPEN, sixteen-digit PAN, CVV, expiry — and the lifecycle verbs write through: suspend a card and its next read reports SUSPENDED, close it and the store says CLOSED. An id nobody minted draws the vendor's numbered error envelope instead. Around that core sit the issuing extras: encoded Apple Pay and Google Pay payloads, an eligibility check, authorization limits with daily and monthly velocity tiers, and a bulk intake that acknowledges with a request UUID whose status route reports per-item results.

  • Card store — create, read, update, and the suspend / unsuspend / cancel / close verbs that persist status changes
  • Digital wallets — Apple Pay and Google Pay payload encoding plus the per-card eligibility check
  • Spending guardrails — authorization limits, merchant auth controls, and MCC-group lookups
  • Money and activity — real-time credit details at card, account, and managing-account level, with transaction and authorization search
  • Scale paths — bulk create intake with per-item status readback, and the instant-card variant

Frequently asked questions

Nothing does, deliberately. Requests go straight to the endpoints with no token fetch, no client certificate, and no enrollment paperwork, which moves card-issuing integration work to day one. Keep genuine U.S. Bank credentials away from the public sandbox entirely — it neither needs nor protects them.

Only ones this sandbox has issued. Every create mints a new ID and registers it, so a GET on that id returns that card — while an invented id gets the 404.7100.4040 "Card not found" envelope. Because the store is shared and periodically reset, treat minted ids as session-lifetime: mint, exercise, assert, and don't expect yesterday's card tomorrow.

Yes — this is the rare mock where suspend, unsuspend, and close write real state. A polling loop that issues a card, suspends it, and re-reads will observe the transition, so state-machine handling in your card-management code gets exercised for real. Field edits are the exception: PATCH acknowledges with 204 but the stored card keeps its original attributes.

No — the activationData, encryptedData, and publicKey values are short fixed stand-ins, not cryptographic material a wallet would accept. They exist so your provisioning flow can be tested end-to-end at the API layer: request the payload, pass it to your wallet code, and assert on the handoff without touching Apple's or Google's certification environments.

CaaS issues cards as first-class products — wallets, bulk intake, merchant controls. The Virtual Card Payments template models the accounts-payable angle, where a payment instruction is the primary object and the card is its settlement vehicle. Integrations that generate cards to pay supplier invoices belong there; programs that hand cards to people belong here.

Vendor names identify APIs represented by WireMock template sources. This page does not imply vendor endorsement, certification, partnership, or official integration status.