API template library

Fiserv Omnichannel mock API and live sandbox

A WireMock simulation of Fiserv's REST API — covering merchant application boarding with nested KYC records, document upload and e-signature, terminal payments, and acquiring offers.

Vendor
Fiserv
Functionality
Payments, documents, merchant boarding
Spec version
1.0.0
Endpoints
62
Stubs
72
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 Omnichannel API

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

Base URL
https://40e0m.wiremockapi.cloud

POST Upload Identification Document

curl -s -X POST 'https://40e0m.wiremockapi.cloud/documents/identification' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET Retrieve Acquiring Offering

curl -s -X GET 'https://40e0m.wiremockapi.cloud/ipp/offers-management/v2.1/offering/acquiring'

POST Upload Financial Document

curl -s -X POST 'https://40e0m.wiremockapi.cloud/documents/financial' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
POST /document-signatures Initiate document signing process
DELETE /document-signatures/{id} Cancel document signing process
GET /document-signatures/{id} Retrieve document signing details
PUT /document-signatures/{id} Update document signing process
GET /documents List Documents
DELETE /documents/{id} Delete a Document
GET /documents/{id} Retrieve a Document
PATCH /documents/{id} Update a Document
POST /documents/contract Upload Contract Document
POST /documents/financial Upload Financial Document
POST /documents/identification Upload Identification Document
POST /documents/other Upload Other Document
GET /ipp/offers-management/v2.1/offering/account_types Retrieve Posting Accounts
GET /ipp/offers-management/v2.1/offering/acquiring Retrieve Acquiring Offering
POST /ipp/offers-management/v2.1/offering/available Lists Available Offering
GET /ipp/offers-management/v2.1/offering/equipment Retrieve Equipment Offering
GET /merchant-boarding/full-merchant-applications Retrieve all full merchant applications
POST /merchant-boarding/full-merchant-applications Create a full merchant application
DELETE /merchant-boarding/full-merchant-applications/{merchantApplicationId} Delete a full merchant application
GET /merchant-boarding/full-merchant-applications/{merchantApplicationId} Retrieve a full merchant application
PUT /merchant-boarding/full-merchant-applications/{merchantApplicationId} Update a full merchant application
GET /merchant-boarding/merchant-applications Retrieve all merchant applications
POST /merchant-boarding/merchant-applications Create a merchant application
DELETE /merchant-boarding/merchant-applications/{merchantApplicationId} Delete a merchant application
GET /merchant-boarding/merchant-applications/{merchantApplicationId} Retrieve a merchant application
PATCH /merchant-boarding/merchant-applications/{merchantApplicationId} Update a merchant application
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/bank-accounts Retrieve all bank accounts
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/bank-accounts Create a bank account
DELETE /merchant-boarding/merchant-applications/{merchantApplicationId}/bank-accounts/{bankAccountId} Delete a bank account
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/bank-accounts/{bankAccountId} Retrieve a bank account
PATCH /merchant-boarding/merchant-applications/{merchantApplicationId}/bank-accounts/{bankAccountId} Update a bank account
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/bulk-stores Create multiple stores
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/businesses Retrieve all businesses
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/businesses Create a business
DELETE /merchant-boarding/merchant-applications/{merchantApplicationId}/businesses/{businessId} Delete a business
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/businesses/{businessId} Retrieve a business
PATCH /merchant-boarding/merchant-applications/{merchantApplicationId}/businesses/{businessId} Update a business
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/contacts Retrieve all contacts
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/contacts Create a contact
DELETE /merchant-boarding/merchant-applications/{merchantApplicationId}/contacts/{contactId} Delete a contact
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/contacts/{contactId} Retrieve a contact
PATCH /merchant-boarding/merchant-applications/{merchantApplicationId}/contacts/{contactId} Update a contact
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/owners Retrieve all owners
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/owners Create an owner
DELETE /merchant-boarding/merchant-applications/{merchantApplicationId}/owners/{ownerId} Delete an owner
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/owners/{ownerId} Retrieve an owner
PATCH /merchant-boarding/merchant-applications/{merchantApplicationId}/owners/{ownerId} Update an owner
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/ownership-entities Retrieve all ownership entities
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/ownership-entities Create an ownership entity
DELETE /merchant-boarding/merchant-applications/{merchantApplicationId}/ownership-entities/{ownershipEntityId} Delete an ownership entity
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/ownership-entities/{ownershipEntityId} Retrieve an ownership entity
PATCH /merchant-boarding/merchant-applications/{merchantApplicationId}/ownership-entities/{ownershipEntityId} Update an ownership entity
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/stores Retrieve all stores
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/stores Create a store
DELETE /merchant-boarding/merchant-applications/{merchantApplicationId}/stores/{storeId} Delete a store
GET /merchant-boarding/merchant-applications/{merchantApplicationId}/stores/{storeId} Retrieve an stores
PATCH /merchant-boarding/merchant-applications/{merchantApplicationId}/stores/{storeId} Update a store
POST /merchant-boarding/merchant-applications/{merchantApplicationId}/submit Submit merchant application
POST /nexo/messages Send nexo Retailer messages
GET /terminals List Terminals

+2 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 Omnichannel template

This surface stitches together the merchant-acquiring journey — board the business, collect its paperwork, price it, and take payments at its terminals — and its boarding half is the most complete resource store in the Fiserv template set. A merchant application create keeps your submitted fields under a minted UUID with applicationStatusCode OPEN; PATCH folds changes into the stored record durably; the collection listing reflects every application you've made; and DELETE removes one so thoroughly the next read answers 404. The same mechanics nest one level down, where contacts, owners, ownership entities, businesses, bank accounts, and stores each run their own registry beneath a parent application, and a bulk-stores intake handles multi-location merchants. Submission hands back order number 732691 on a 202. The document side is equally alive — uploads take their type from the route (identification, financial, contract, other), carry creation timestamps from the moment of the call, and accumulate in the listing — while signing sessions mint IN_PROGRESS ids that resolve on follow-up reads. Fixtures fill in the rest: a Verifone terminal roster, acquiring and equipment offers, and a nexo SaleToPOIResponse for the ePOS lane.

  • Merchant boarding — application CRUD with persisting merges, plus the full and lightweight application variants
  • KYC sub-resources — contacts, owners, ownership entities, businesses, bank accounts, and stores nested per application
  • Document handling — typed uploads, the growing document listing, updates, deletes, and e-signature sessions
  • Offers and pricing — acquiring, equipment, posting-account, and available-offering lookups
  • Store payments — the terminal roster and nexo Retailer message exchange

Frequently asked questions

Everything except the finale. Applications and all six sub-resource types keep real records — creates echo and register, PATCH merges survive re-reads, deletes are confirmed-gone 204s, and unknown UUIDs 404 — so a boarding client can run its entire data-entry sequence against live state. Submission is the cutoff: the 202 always reports order 732691 and the stored application stays OPEN, meaning status-progression handling (SUBMITTED, approved, declined) is scenario work for a private WireMock Cloud copy. The shared store also implies neighbors: list responses can contain other users' probe records, so filter by ids you minted.

The route does. The four upload paths stamp their documents IDENTIFICATION, FINANCIAL, CONTRACT, or OTHER respectively; the body just needs the metadata you want kept, and the response adds the id, an OPEN state, and created/modified stamps from the moment of upload. No binary content is stored or validated, so keep test fixtures light. Since the listing accumulates whatever anyone uploads, deletion is polite probe hygiene — and the 204-then-404 sequence it produces is itself worth asserting.

It answers one, fully formed. Whatever SaleToPOI request you post, the response is a complete payment approval — message header with POI and sale ids, MasterCard chip entry, a masked PAN, Result Success with authorized amounts — which exercises the deep parsing nexo's nested structure demands. What it doesn't do is vary by request type: reversals, refusals, and loyalty messages all draw the same payment response. Terminal-flow branching belongs in a private copy with one stub per MessageCategory.

It's the data-model-forward one. The Corporate Onboarding template models onboarding as an opaque intake — one deep application document in, a minted id and a status to poll — while Omnichannel decomposes the merchant into addressable resources you build up call by call and can still edit mid-flight. Integrations composing an application UI over granular records rehearse here; ones submitting a finished package and tracking its progress belong there. For what happens after boarding — the merchant taking card-not-present payments — the Online Payments template picks up the story.

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