API template library

Chase Global Payments v1 mock API and live sandbox

A WireMock simulation of Chase JPMorgan's REST API — covering asynchronous payment initiation with detail and status retrieval by end-to-end id or firm root id.

Vendor
Chase JPMorgan
Functionality
Payment initiation and status
Spec version
1.2.0
Endpoints
3
Stubs
14
Protocol
REST
Validation
AI-validated Before publication, an AI agent exercised these endpoints against the real Chase JPMorgan 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

Chase Global Payments v1

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

Base URL
https://w2dg3.wiremockapi.cloud

POST Initiate payment - 202 Accepted

curl -s -X POST 'https://w2dg3.wiremockapi.cloud/payments' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
GET /payments Retrieve payment details
POST /payments Payments Initiation API
GET /payments/status Retrieve payment status

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

What's inside the Global Payments v1 template

Three endpoints model the async contract of J.P. Morgan's first-generation payments API. Initiation is fire-and-forget: any submission — every payment type from RTP to SEPA to Fedwire, any amount, any currency — draws the same 202 whose body pairs your echoed endToEndId with a freshly minted eighteen-character firmRootId. The retrieval pair then answers by query parameter. Looking up by firmRootId serves the template's showcase record: a 650-pound RTP credit to Emily Davis, debtor account at BIC CHASGB2L, creditor addressed through UK clearing 185008, status COMPLETED with its creation timestamp — the full detail on one route, the bare paymentStatus object on the other. Omit both parameters and either route answers a proper GCA-095 validation error naming the requirement. The endToEndId branch of both lookups is broken outright, which the FAQ covers in detail.

  • Initiation — the always-202 intake echoing your end-to-end id beside a minted firm root id
  • Detail retrieval — the firmRootId lookup serving the complete UK RTP credit record
  • Status retrieval — the lighter route returning only the status object and its create timestamp
  • Request validation — the GCA-095 error both lookups return when neither query key is supplied

Frequently asked questions

firmRootId, exclusively. Both endToEndId stubs — details and status alike — render a templating failure instead of their response: HTTP 200, content-type application/json, and a body that is the literal string of a formatJson helper error. No value escapes it, including the fixture's own end-to-end id, and because the endToEndId stub outranks the other when both parameters are present, sending both breaks a request that firmRootId alone would have served. There's an upside: this is a ready-made invalid-JSON-under-200 case, and response parsers that survive it have covered a failure mode production APIs do produce.

No — nothing is registered. Query the exact firmRootId the 202 just minted and the response is the same Emily Davis record as for any other value, reporting firm root id FIRMROOT0000000001 regardless. The two halves are independent fixtures: initiation verifies your submission and id-extraction plumbing, retrieval verifies your parsing of the full detail shape, and the join between them is a convention your test asserts rather than a behavior the sandbox enforces. There is likewise no not-found path — every non-empty firmRootId answers 200.

Absence, not badness. Calling either GET with no query parameters returns 400 with errorCode GCA-095 — "endToEndId or firmRootId is required" — in the nested errors/errorDetails envelope the real gateway uses. Malformed values won't produce it, and the intake accepts anything up to and including malformed JSON with a 202. That makes GCA-095 the place to verify your error-envelope parsing, and a private WireMock Cloud copy the place for declines, duplicate rejections, and amount-validation failures.

Match whichever contract your integration targets. This v1 surface is query-parameter retrieval over static fixtures — good for pinning response models and the async initiate-then-poll shape. The Global Payments v2 template is the stateful sibling: echo-storing creates, path-parameter reads gated on minted ids, and a returns ledger. A migration test bench benefits from both — same payment scenario, two contracts, one diff.

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