API template library

Fiserv Card Developer mock API and live sandbox

A WireMock simulation of Fiserv's REST API — covering card-servicing accounts and cardholders, disputes and fraud cases, payments, tokens, travel, and rewards.

Vendor
Fiserv
Functionality
Card accounts, disputes, rewards
Spec version
1.0.0
Endpoints
137
Stubs
137
Protocol
REST
Validation
AI-validated Before publication, an AI agent exercised these endpoints against the real Fiserv 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

Fiserv Card Developer

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

Base URL
https://o9d27.wiremockapi.cloud

POST Travel - Get Travel Exemptions

curl -s -X POST 'https://o9d27.wiremockapi.cloud/cs/travel/v1/exemptions/search' \
  -H 'Content-Type: application/json' \
  -d '{}'

PUT Travel - Update Travel Exemptions

curl -s -X PUT 'https://o9d27.wiremockapi.cloud/cs/travel/v1/exemptions' \
  -H 'Content-Type: application/json' \
  -d '{}'

PATCH Rewards - Offer Activation

curl -s -X PATCH 'https://o9d27.wiremockapi.cloud/cs/rewards/v1/offers/activation' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
PATCH /cs/accounts/v1/accounts/authorization/cancel cancelAuthorization
POST /cs/accounts/v1/accounts/authorization/create addNewAuthorization
POST /cs/accounts/v1/accounts/balanceTransfer balanceTransfer
PUT /cs/accounts/v1/accounts/chargeOff submitChargeOff
POST /cs/accounts/v1/accounts/create addNewAccount
PATCH /cs/accounts/v1/accounts/enrollElectronicStatement updateStatementDeliveryPreference
PATCH /cs/accounts/v1/accounts/feePreference updateFeePreference
POST /cs/accounts/v1/accounts/limits/search AccountsLimitSearchRequest
PATCH /cs/accounts/v1/accounts/miscellaneousData updateMiscellaneousDataV1
POST /cs/accounts/v1/accounts/miscellaneousData/search searchMiscellaneousDataV1
POST /cs/accounts/v1/accounts/payOffBalance/search getAccountPayOffBalances
PATCH /cs/accounts/v1/accounts/pricingStrategy updatePricingStrategy
GET /cs/accounts/v1/accounts/statements/pdf/{docId} downloadPDFBinary
POST /cs/accounts/v1/accounts/statements/pdf/search SearchStatementByYearMonth
POST /cs/accounts/v1/accounts/statements/search getStatements
POST /cs/accounts/v1/accounts/transactions/search getAccountTransactions
PATCH /cs/accounts/v1/limits updateLimits
POST /cs/accounts/v2/accounts/search getAccountV2
POST /cs/cards/v1/audit/details cardholderAuditDetails
POST /cs/cards/v1/audit/search searchCardholderAuditDetails
POST /cs/cards/v1/cardholders/additionalInfo/search getCardholderAdditionalInfoV1
POST /cs/cards/v1/cardholders/association addAssociation
PUT /cs/cards/v1/cardholders/association deleteAssociation
PUT /cs/cards/v1/cards/activations activateCard
POST /cs/cards/v1/cards/activations/search getCardActivationInfo
POST /cs/cards/v1/cards/atmPreferences/search getAtmPreferencesv1
PATCH /cs/cards/v1/cards/cardStockAndExpiration updateCardStockAndExpirationDate
PATCH /cs/cards/v1/cards/instantIssuance instantIssueCardV1
POST /cs/cards/v1/cards/ntt generateNonTransactionalTokenV1
POST /cs/cards/v1/cards/ntt/search searchByTokenOrCardNumber
POST /cs/cards/v1/cards/pin setPin
PUT /cs/cards/v1/cards/pinAttempts resetPinAttempts
POST /cs/cards/v1/cards/pinOffset pinOffset
POST /cs/cards/v1/cards/status/search cardStatusSearch
POST /cs/cards/v1/cards/terminalTransactions/search getTerminalTransactions
POST /cs/cards/v1/compromised/details/search getCompromisedCardsDetails
POST /cs/cards/v1/compromised/search getCompromisedCards
POST /cs/cards/v2/cardholders/search searchCardholderV2
PATCH /cs/cards/v2/cards/accounts/associations updateCardholderAccountDetailsV2
POST /cs/cards/v2/cards/accounts/associations addCardholderAccountsDetailsV2
POST /cs/cards/v2/cards/accounts/associations/unassociate deleteCardholderAccountDetailsV2
POST /cs/cards/v2/cards/accounts/search searchCardholderAccountDetailsV2
POST /cs/cards/v2/cards/authDetails getCardAuthDetailsV2
POST /cs/cards/v2/cards/card addCardV2
PATCH /cs/cards/v2/cards/limits/daily updateDailyLimitsV2
PUT /cs/cards/v2/cards/limits/default defaultCardholderLimitsV2
PATCH /cs/cards/v2/cards/limits/openToBuy updateOpenToBuyLimitsV2
POST /cs/cards/v2/cards/limits/search cardLimitSearchV2
PATCH /cs/cards/v2/cards/limits/velocity updateVelocityLimitsV2
PATCH /cs/cards/v2/cards/order orderInfoV2
POST /cs/cards/v2/cards/order/search getOrdersV2
PUT /cs/cards/v2/cards/status CardStatusUpdateV2
POST /cs/cards/v2/cards/template addCardTemplateV2
POST /cs/cards/v2/cards/transactions/search getTransactionsV2
PATCH /cs/cards/v3/cardholders/additionalInfo updateAdditionalInfoV3
PATCH /cs/cards/v3/cardholders/address updateAddressV3
PATCH /cs/cards/v3/cardholders/contact updateContactV3
PATCH /cs/cards/v3/cards/atmPreferences updateAtmPreferencesV3
POST /cs/cards/v3/cards/replacement replaceCardV3
POST /cs/cards/v3/cards/transactions/search getTransactionsV3

+77 more endpoints in the full spec.

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

What's inside the Card Developer template

Card Developer Studio is the servicing API for Fiserv-processed card programs, and this mock answers it with the most lifelike fixture set of the vendor's templates. The account family centers on a masked Consumer account — status NORMAL, an Albuquerque street address, three-thousand-dollar credit and cash availability, cycle 31 — with transaction search returning a Chicago ATM-category purchase under authorization code 121052 and statement search yielding a docId that the PDF route downloads. Cards answer as DOE/JOHN's portfolio: an ACTIVE card with its non-transactional token, activation info, and limit-search routes beside PIN, replacement, and instant-issue verbs. The risk desk is populated too — a fraud case search finds Alex Smith's OPEN case from 2021, and a dispute claim files under case 999999999 with the composite transaction-and-item identifiers the real platform emits. Around the core sit uChoose points balances, activatable offers (a true 204), SMB company records, travel exemptions listing country codes, and company notes reading CREDIT LIMIT INCREASED.

  • Accounts — creation, v2 search, balances, limits, transactions, and statement retrieval down to the PDF
  • Cards and cardholders — status, activation, PIN and limit management, associations, orders, and v3 profile updates
  • Disputes and fraud — claim filing with composite case identifiers plus fraud-case search and detail
  • Payments and tokens — payment history search and non-transactional token generation and lookup
  • Engagement extras — uChoose points, offer activation, travel exemptions, and SMB company data

Frequently asked questions

Real enough to bind dashboards against. Amounts carry decimals, the account's address geocodes, transaction timestamps parse, and identifiers respect their formats — masked PANs in the 400010 range, a sixteen-character non-transactional token, statement docIds long enough to exercise URL handling. Card data stays masked everywhere, which is itself contract-accurate: servicing APIs never return full PANs, and client code expecting them learns otherwise here. The one thin spot is the statement PDF route, whose 200 delivers a placeholder document of a few bytes — enough to verify the download path, not a rendering test.

No — every response is a fixture. The account create always returns the same masked account-and-card pair, the dispute claim always files as case 999999999, and neither appears in later searches, which answer their own canonical records regardless of criteria. That keeps every route deterministic for CI. When a flow needs its writes to surface in subsequent reads — file a dispute, find it in the case list — recreate that thread in a private WireMock Cloud copy with request-matched stubs per step.

The platform's own referencing scheme, preserved verbatim: a referenceId that embeds host and correlation segments behind colons, and caseItemIds that pack a JSON fragment — life cycle key, active key, device-unique id — inside a bracketed string. Parsers tend to assume tidy scalar ids and break on exactly this, so the fixture is a cheap conformance test: treat the values as opaque strings to store and echo, never as structures to decompose, and your client matches how the production system expects them handled.

Perspective. The Card as a Service template models a bank issuing cards through its own API — a live store where lifecycle verbs move real state — while Card Developer is the processor's servicing window onto an existing portfolio: search-heavy, fixture-rich, spanning disputes, fraud, and rewards in one surface. The loyalty engine feeding its uChoose balances has its own template in Loyalty & Rewards; pick by which side of the processing relationship your integration sits on.

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