API template library

U.S. Bank Custody mock API and live sandbox

A WireMock simulation of U.S. Bank's REST API — covering custody account rosters, asset reference data, holdings, tax lots, transactions, and failed trades.

Vendor
U.S. Bank
Functionality
Holdings, trades, tax lots
Spec version
1.0.0
Endpoints
6
Stubs
6
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 Custody

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

Base URL
https://4076m.wiremockapi.cloud

GET Get account list

curl -s -X GET 'https://4076m.wiremockapi.cloud/accounts'

POST Get holdings

curl -s -X POST 'https://4076m.wiremockapi.cloud/accounts/holdings' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST Get transactions

curl -s -X POST 'https://4076m.wiremockapi.cloud/accounts/transactions' \
  -H 'Content-Type: application/json' \
  -d '{}'
Method Path Summary
GET /accounts Get the list of all accounts associated with the client/institution.
POST /accounts/assets Get asset details.
POST /accounts/failedtrades Get Failed Trades.
POST /accounts/holdings Get holdings for a list of accounts.
POST /accounts/taxlots Get tax lots for a list of accounts.
POST /accounts/transactions Get transactions for a list of accounts.

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 Custody template

Everything hangs off one custody account — an escrow-classified investment account for xyz corp at firm GTC — and five of the six routes are POST-style reads that take their filters in a request body, the institutional-reporting idiom this API family favors. The reporting depth is asset-servicing-grade: holdings carry settled and traded positions valued in both base and local currency, tax lots pin a specific lot to its custodian and a Milwaukee place of safekeeping, and the transactions route narrates a money-market sale with the full fee stack — commission, SEC fee, miscellaneous charges — netted beneath it. The failed trades fixture is the standout: alongside the broker and DTCC fields, it names the account administrator, operations analyst, relationship manager, and trade-service team, because in custody operations a failed settlement is a staffing event as much as a data record.

  • Account roster — the client and firm hierarchy for custody accounts, from client through sub-firm
  • Reference data — asset detail with identifiers, ratings, coupon terms, and payment calendar dates
  • Positions — holdings and tax lots with base and local valuations per portfolio
  • Activity — transaction reporting and the failed-trades feed with its escalation contacts

Frequently asked questions

Match them exactly. The transactions body spells orginalFaceAmount without its first "i", and holdings carries localSettledUnrealilzdGainLoss beside the correctly spelled baseSettledUnrealizedGainLoss — the specification itself ships those names, and the mock reproduces them faithfully. Deserializers generated from the spec bind cleanly; hand-written models that "fix" the spelling drop the values silently, which is precisely the bug this fixture surfaces.

Trust it to be hostile. One account row arrives under metadata declaring four hundred records across twenty pages, while the navigation links quote a different page size and a different last page altogether. Paging logic that reconciles link-following with count arithmetic will disagree with itself here by design — follow the links, ignore the totals, and your client walks correctly.

No — an empty JSON object draws the same fixtures as a fully specified account list, so the value of these routes is their response vocabulary, not their query semantics. Account-scoped filtering and multi-account differentiation belong in a private WireMock Cloud copy where each criteria combination can answer with its own stub.

It's a productive pairing regardless: five notches of divergence between agencies on one instrument. Ratings-display logic that assumes agreement, or compliance rules keyed to "the" rating, have to decide what to do — and this fixture makes them decide in test. For the accounting view of the same securities world — NAVs, trial balances, rate-of-return grids — the Investment Accounting template is the neighboring sandbox.

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