API template library

Fiserv Banking Hub mock API and live sandbox

A WireMock simulation of Fiserv's REST API — covering core-banking operations for accounts, parties, cards, holds, transfers, and documents behind one gateway.

Vendor
Fiserv
Functionality
Accounts, parties, cards, transfers
Spec version
11.0.0
Endpoints
252
Stubs
252
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 Banking Hub

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

Base URL
https://2283l.wiremockapi.cloud

POST Add a new external ACH transfer

curl -s -X POST 'https://2283l.wiremockapi.cloud/achextacctxfer' \
  -H 'Content-Type: application/json' \
  -d '{}'

PUT Delete a ACHExtAcctXfer Object Secured

curl -s -X PUT 'https://2283l.wiremockapi.cloud/achextacctxfer/secured' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET Retrieves a Account Transaction Response Object

curl -s -X GET 'https://2283l.wiremockapi.cloud/accttrnresponse'
Method Path Summary
POST /accountDistribution Add Account Distribution Instructions
PUT /accountDistribution Update Account Distribution Instructions
POST /accountDistribution/secured Get Account Distribution Instruction
PUT /accountDistribution/secured Delete Account Distribution Instruction
POST /accountDistributionList/secured Get Account Distribution Instruction List
POST /accountDistributionTransactions/secured Get Account Distribution Transactions
POST /accountHolds Add an AcctHold Object
PUT /accountHolds Modifies an AcctHold Object
POST /accountHolds/secured Retrieves account hold information.
PUT /accountHolds/secured Deletes an account hold.
POST /accountPayOff/secured Get Account PayOff
POST /accounts Add a new account record
PUT /accounts Update an existing account record
PUT /accounts/fields Modifies Account Fields
PUT /accounts/interestDeposit Update interest deposit details
POST /accounts/list/secured Retrieves a Multiple Account Object
PUT /accounts/overdraft Update overdraft details
POST /accounts/reinvestment Creates Reinvestment Instruction
PUT /accounts/reinvestment Updates Reinvestment Instruction
POST /accounts/reinvestment/secured Get Reinvestment Instruction
PUT /accounts/reinvestment/secured Delete Reinvestment Instruction
POST /accounts/renewal Renews a Loan Account
POST /accounts/secured Retrieves an Account Secured
PUT /accounts/termDeposit Update term deposit details
POST /accounts/validate/secured Retrieve information to validate account and party information
POST /accounts/validateAcctNbr/secured Retrieves information to validate account and party information using an account number.
POST /acctCollateral Add a relationship between an account and collateral
PUT /acctCollateral Modify a relationship between an account and collateral
POST /acctCollateral/secured Get a relationship between an account and collateral
PUT /acctCollateral/secured Delete a relationship between an account and collateral
POST /acctdoctyperel/secured Retrieves an Account Document Type Relationship
POST /acctTrn/secured Retrieves Account Transaction History
GET /accttrnresponse Retrieves a Account Transaction Response Object
POST /accttrnresponse/secured Retrieves a Account Transaction Response Object Secured
POST /achextacctxfer Add a new external ACH transfer
POST /achextacctxfer/secured Get a ACHExtAcctXfer Object Secured
PUT /achextacctxfer/secured Delete a ACHExtAcctXfer Object Secured
POST /address This operation is used to add a new address.
PUT /address Modifies address associated with a party or account
POST /address/secured Retrieves address associated with a party or account
PUT /address/secured This operation is used to delete address.
POST /autoEnrollment Add Auto Enrollment.
DELETE /beneficialowner Deletes a Beneficial Owner Object
GET /beneficialowner Retrieves a Beneficial Owner Object
POST /beneficialowner Add a Beneficial Owner Object
PUT /beneficialowner Modified a Beneficial Owner Object
DELETE /beneficialowner/{partyId} Deletes a Beneficial Owner Object
GET /beneficialowner/{partyId} Retrieves a Beneficial Owner Object
POST /beneficialowner/secured Retrieves a Beneficial Owner Object Secured
PUT /beneficialowner/secured Deletes a Beneficial Owner Object Secured
POST /beneficiaries Add Beneficiary record
PUT /beneficiaries BeneficiaryModOper
POST /beneficiaries/secured getBeneficiarySecured
PUT /beneficiaries/secured DelBeneficiarySecured
POST /branch Adds a branch
PUT /branch Update an existing branch record
POST /branch/secured getBranchInq
POST /cardAccounts Add an CardAcctRel Object
PUT /cardAccounts Modifies an CardAcctRel Object
POST /cardAccounts/secured Get CardAcctInq Object Secured

+192 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 Banking Hub template

Banking Hub is Fiserv's one-front-door program: a single API layer over its core-banking platforms, speaking the EFX message grammar wherever the account actually lives. The template mocks 252 endpoints of it — account opening, maintenance, and payoff; party addresses, beneficiaries, and beneficial owners; card relationships, holds, collateral, reinvestment instructions, external ACH transfers, branches, and document relationships — and every response leads with the grammar's signature: a Status block reporting code 0000, Success, severity Info, and SvcProviderName Finxact, the cloud-native core answering behind the hub. The conventions worth internalizing are all here. Writes acknowledge with key scaffolds (an account add returns its AcctStatusRec with an AcctKeys object awaiting the core's identifiers), inquiries answer with a RecCtrlOut record counter, an ACH transfer reports its status as Valid, and reads and deletes travel as POSTs and PUTs on the /secured variants of each resource — the hub's characteristic verb tunneling, which trips up REST clients that assume GET and DELETE.

  • Accounts — add, modify, inquiry, and payoff plus term-deposit, overdraft, and reinvestment maintenance
  • Parties and ownership — addresses, beneficiaries, and beneficial-owner records across their add-mod-inquiry-delete cycle
  • Cards and holds — card-account relationships and account holds with secured retrieval and deletion
  • Transfers — external ACH transfer creation, secured lookup, and deletion
  • Institution plumbing — branch records, account-collateral relationships, and document-type associations

Frequently asked questions

Banking Hub's answer to sensitive-data retrieval: reads and deletes are expressed as POST and PUT requests against a /secured variant of the resource, keeping account criteria out of URLs and query strings. The sandbox reproduces the convention faithfully — POST /accounts/secured is the inquiry, PUT /accounts/reinvestment/secured the delete — so a client generated from REST assumptions surfaces its mismatch immediately. Encode the tunneling in your transport layer once and every resource follows the same pattern.

The read stubs answer with the envelope alone: Status 0000 plus RecCtrlOut declaring SentRecCount 1, with no record object beside it. Treat the counter as envelope decoration here and bind your models against the write acknowledgments and the transaction-response skeleton instead — or populate the reads in a private WireMock Cloud copy with records shaped like your own core data. The counter-without-records combination is also a legitimately good defensive-parsing case: production middleware can produce exactly this drift.

That the hub tells you who answered. Every Status block names its service provider, because the same Banking Hub call may be served by different Fiserv cores depending on where the institution runs — and client code should treat the field as diagnostic metadata, not branch on it. The sandbox pinning it to Finxact on every route makes that discipline easy to audit: an integration that behaves differently per provider value has logic to reconsider.

No. Adds acknowledge without registering (the AcctKeys in the acknowledgment come back empty, and nothing you submit is echoed), and subsequent inquiries answer the same envelope regardless. This template is for exercising the EFX grammar and the verb-tunneling transport across a very wide resource map; when your test needs an account that persists between calls, the library's stateful stores — the Omnichannel template's merchant applications, for instance — show what that behavior looks like, and a private copy of this template can adopt it per resource with WireMock scenarios.

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