Skip to main content

List Bank Counterparties

The US withdrawal destinations of the workspace or of one account, newest first. Counterparties saved through v2 are listed too. Deleted counterparties, deposit accounts and other countries' beneficiaries are not.

A workspace-scoped key lists every US counterparty in the workspace, or one account's with customer_id. An account-scoped key lists its own account's.

Replaces GET /api/v2/banking/counterparties for the United States. Mexico, Colombia, Argentina, Brazil and Nigeria stay on their v2 lists.

Authorization:

Every request is signed with your API key: a short-lived JWT, signed with your private key, sent in one header on /v3/* and /api/v2/* alike.

Headers:
Authorization: APIKey {SIGNED_JWT}

How to build and sign the JWT: Authentication.

Endpoint

GET

/v3/banking/counterparties

Query parameters​

ParameterTypeDescription
customer_idstring (cst_…)Only this account's counterparties. An account-scoped key may omit it; naming another account is refused.
instrumentstringach or wire.
statusstringactive, inactive, pending, needs_update, blocked or closed.
qstringAt least 3 characters. Matched, ignoring case, against the name and the reference. A counterparty id (bcp_…) or an account id (cst_…) finds exactly that counterparty, or that account's counterparties.
created_at_gtestring (date-time)Created at or after this time. RFC 3339, or a date (2026-10-01) for midnight UTC at its start.
created_at_ltstring (date-time)Created before this time, in the same forms. A date is midnight UTC at its start.
includestringcustomer adds the holder's customer object to each row. Counterparties whose account was deleted are then left out of data and total_items.
pageintegerPage number, from 1. Default 1.
limitintegerRows per page. Default 25, at most 100.

Response Sample​

{
"data": [
{
"id": "bcp_01k8z5q7r9s1t3v5w7x9y1z3a5",
"customer_id": "cst_01h455vb4pex5vsknk084sn02q",
"reference": "vendor-42",
"coin": "USD",
"name": "Northwind LLC",
"holder_type": "business",
"bank_name": "Chase",
"instrument": "ach",
"account_type": "checking",
"routing_number": "021000021",
"account_number": "000123456789",
"status": "active",
"address": {
"line1": "1 Market Street",
"line2": "Suite 400",
"city": "San Francisco",
"state": "CA",
"postal_code": "94105",
"country": "US"
},
"bank_address": {
"line1": "270 Park Avenue",
"city": "New York",
"state": "NY",
"postal_code": "10017",
"country": "US"
},
"created_at": "2026-10-23T12:00:00Z",
"updated_at": "2026-10-23T12:00:00Z"
}
],
"page": 1,
"limit": 25,
"total_items": 1,
"total_pages": 1
}

Response Schema​

FieldTypeDescription
dataarrayThe counterparties on this page, newest first.
data[].idstring (bcp_…)The counterparty. v2's counterparty id, as a TypeID.
data[].customer_idstring (cst_…)The account it belongs to.
data[].referencestringThe caller's own reference. Unique among the workspace's live bank accounts.
data[].coinstringAlways USD.
data[].namestringWho is paid.
data[].holder_typestringindividual or business. Absent when v2 saved the row without one.
data[].bank_namestringThe bank that holds the account.
data[].instrumentstringach or wire.
data[].wire_typestringdomestic or international. Absent on an ACH counterparty.
data[].account_typestringchecking or savings. Absent when the rail does not use one.
data[].routing_numberstringThe routing number. Absent when the row has none.
data[].account_numberstringThe full account number, not a mask. Absent when the row has none.
data[].swiftstringThe SWIFT code, upper case. Absent when the row has none.
data[].ibanstringThe IBAN, upper case, without spaces. Absent when the row has none.
data[].statusstringSee Status.
data[].status_reasonstringWhy it is not active, when v2 recorded one. Absent otherwise.
data[].addressobjectThe holder's address: line1, line2 (absent when empty), city, state, postal_code, country (two letters).
data[].bank_addressobjectThe bank's address, in the same shape. Absent when none was saved.
data[].customerobjectThe holder: id (cst_…), name, email. Only with include=customer.
data[].created_at / updated_atstring (date-time)RFC 3339, UTC.
page, limit, total_items, total_pagesintegerPagination, as described in the API v3 overview. next_cursor and prev_cursor are not returned yet.

Errors​

StatusmessageWhen
400failed to parse requestA parameter has the wrong form: page or limit is not an integer, instrument, status or include is not one of the listed values, customer_id is not a cst_… id, or a date is neither RFC 3339 nor YYYY-MM-DD.
401unauthorizedMissing or invalid signature.
403forbiddenAn account-scoped key named another account, or customer_id is not an account of the workspace.
422Validation failedq is shorter than 3 characters; details names it.

Coming from v2​

v2 (GET /api/v2/banking/counterparties)v3
accountId (uuid)customer_id (cst_…)
counterpartyNamename
typeholder_type, omitted when v2 saved none
instrumentType, wireType, accountTypeinstrument, wire_type, account_type
swiftCodeswift
currencycoin (always USD)
address.address1, address2, postalCodeaddress.line1, line2, postal_code
id (uuid)id (bcp_…): the same id as a TypeID
createdAt, updatedAtcreated_at, updated_at
the owner always embeddedcustomer only with include=customer

Support and Resources​

If you need assistance or have any questions, our support team is here to help. You can contact our support team at support@blockwyre.com.

Stay Updated​

Stay up-to-date with the latest news, updates, and features from BlockWyre by following us on social media:

We are excited to have you on board and look forward to seeing how you leverage BlockWyre's powerful tools to enhance your financial operations. Happy integrating!