API template library

U.S. Bank Positive Pay mock API and live sandbox

A WireMock simulation of U.S. Bank's REST API — covering exception review, pay-or-return decisions, check issue submission, and check image retrieval.

Vendor
U.S. Bank
Functionality
Check exception decisions
Spec version
1.2.0
Endpoints
7
Stubs
8
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 Positive Pay

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

Base URL
https://o9qz7.wiremockapi.cloud

POST Submit check issue

curl -s -X POST 'https://o9qz7.wiremockapi.cloud/checks/issuedDetails' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET Retrieve exceptions

curl -s -X GET 'https://o9qz7.wiremockapi.cloud/exceptions'

GET Retrieve exception

curl -s -X GET 'https://o9qz7.wiremockapi.cloud/exceptions/your-exceptionID'
Method Path Summary
GET /checks/{checkImageID} Retrieve details of a single positive pay exception check Image through checkImageID.
POST /checks/issuedDetails Submit Check Issue Details for easy entering of issues and cancels on checks.
GET /checks/issuedDetails/{checkIssueMaintenanceID} Retrieve details of a check issue through checkIssueMaintenanceID.
GET /exceptions Retrieve a list of same day and previous day positive pay exceptions.
GET /exceptions/{exceptionID} Retrieve details of a single positive pay exception through exceptionID.
GET /exceptions/{exceptionID}/decisions Retrieve details of a exception decision history for a single positive pay exception using exceptionID.
POST /exceptions/{exceptionID}/decisions Submit a decision for a single positive pay item using exceptionID.

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 Positive Pay template

Positive pay is a daily race against a clock, and the fixture exception captures it whole: check 123456789 for $800.13 flagged AMOUNT_MISMATCH, a default decision of RETURN that takes effect if nobody acts by the deadline, and a recorded decision of PAY where someone overrode it. The detail view splits into what the issuer registered and what the bank was presented — matching recipient names, matching amounts, and the mismatch left for the reviewer to judge. On the issuance side the template runs a working intake: each submission of check issue details mints a maintenance id that later reads resolve, returning the canonical issue record along with a checkIssuedDocument whose base64 payload decodes to actual CSV rows, the file format treasury teams upload issues in.

  • Exception queue — same-day and previous-day exception listing with paging metadata
  • Exception detail — issued-versus-presented comparison, adjustment fields, and the linked check image id
  • Decisions — history retrieval and submission of pay-or-return verdicts
  • Issue maintenance — check issue and cancel intake, minted maintenance ids, and by-id readback
  • Imaging — front and back check images as base64 strings

Frequently asked questions

Three in tension: defaultDecision tells you what happens on silence, decision records what a reviewer chose, and decisionDeadline bounds when choosing is still possible. The fixture sets them to RETURN, PAY, and a fixed timestamp respectively, so queue UIs can render the override case — bank leaning one way, customer deciding the other — straight from the sandbox.

A 201 that both confirms and corrects. The body echoes the recorded action, then a warnings entry coded 201.0882.2100 reports that the adjustedCheckNumber you sent doesn't apply to this decision type and was dropped. Created-with-caveats is a response shape few clients handle on the first try, which makes this route a compact test of your warning plumbing.

They are — every submission mints a distinct CIM-prefixed id, and the readback route serves a record for exactly those ids while unknown ones draw check-issue-record-not-found. The response also demonstrates partial acceptance: a reviewItems entry flags line 1 with an account-authorization message even as the batch reports SUBMITTED, so per-line validation handling gets its fixture too.

Whatever the intent, it's instructive: pageNumber says 5, pageCount and totalCount say 1, and both previous and next links are populated anyway. Real reporting APIs emit inconsistent paging metadata more often than anyone admits, and pagination code that crashes or loops on it fails in production first. Harden against the fixture and that class of bug is covered — the account activity these checks post against is reported in the Corporate Account Information template.

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