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
/v3/banking/counterparties
Query parameters
| Parameter | Type | Description |
|---|---|---|
customer_id | string (cst_…) | Only this account's counterparties. An account-scoped key may omit it; naming another account is refused. |
instrument | string | ach or wire. |
status | string | active, inactive, pending, needs_update, blocked or closed. |
q | string | At 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_gte | string (date-time) | Created at or after this time. RFC 3339, or a date (2026-10-01) for midnight UTC at its start. |
created_at_lt | string (date-time) | Created before this time, in the same forms. A date is midnight UTC at its start. |
include | string | customer adds the holder's customer object to each row. Counterparties whose account was deleted are then left out of data and total_items. |
page | integer | Page number, from 1. Default 1. |
limit | integer | Rows 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
| Field | Type | Description |
|---|---|---|
data | array | The counterparties on this page, newest first. |
data[].id | string (bcp_…) | The counterparty. v2's counterparty id, as a TypeID. |
data[].customer_id | string (cst_…) | The account it belongs to. |
data[].reference | string | The caller's own reference. Unique among the workspace's live bank accounts. |
data[].coin | string | Always USD. |
data[].name | string | Who is paid. |
data[].holder_type | string | individual or business. Absent when v2 saved the row without one. |
data[].bank_name | string | The bank that holds the account. |
data[].instrument | string | ach or wire. |
data[].wire_type | string | domestic or international. Absent on an ACH counterparty. |
data[].account_type | string | checking or savings. Absent when the rail does not use one. |
data[].routing_number | string | The routing number. Absent when the row has none. |
data[].account_number | string | The full account number, not a mask. Absent when the row has none. |
data[].swift | string | The SWIFT code, upper case. Absent when the row has none. |
data[].iban | string | The IBAN, upper case, without spaces. Absent when the row has none. |
data[].status | string | See Status. |
data[].status_reason | string | Why it is not active, when v2 recorded one. Absent otherwise. |
data[].address | object | The holder's address: line1, line2 (absent when empty), city, state, postal_code, country (two letters). |
data[].bank_address | object | The bank's address, in the same shape. Absent when none was saved. |
data[].customer | object | The holder: id (cst_…), name, email. Only with include=customer. |
data[].created_at / updated_at | string (date-time) | RFC 3339, UTC. |
page, limit, total_items, total_pages | integer | Pagination, as described in the API v3 overview. next_cursor and prev_cursor are not returned yet. |
Errors
| Status | message | When |
|---|---|---|
400 | failed to parse request | A 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. |
401 | unauthorized | Missing or invalid signature. |
403 | forbidden | An account-scoped key named another account, or customer_id is not an account of the workspace. |
422 | Validation failed | q is shorter than 3 characters; details names it. |
Coming from v2
v2 (GET /api/v2/banking/counterparties) | v3 |
|---|---|
accountId (uuid) | customer_id (cst_…) |
counterpartyName | name |
type | holder_type, omitted when v2 saved none |
instrumentType, wireType, accountType | instrument, wire_type, account_type |
swiftCode | swift |
currency | coin (always USD) |
address.address1, address2, postalCode | address.line1, line2, postal_code |
id (uuid) | id (bcp_…): the same id as a TypeID |
createdAt, updatedAt | created_at, updated_at |
| the owner always embedded | customer 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:
- Instagram: BlockWyre Instagram
- Twitter: BlockWyre Twitter
- Facebook: BlockWyre Facebook
- LinkedIn: BlockWyre LinkedIn
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!