Update a Pull Account
Changes a pull account. Only the fields sent change; an omitted or empty field is left as it is.
nameandbank_namechange freely.- A change to any bank detail —
holder_name,holder_type,routing_number,account_number,account_type— is a different account to debit: it needs the holder's authorization again, and is refused while a pull from the account is still open. - Sending a new
authorizationalone turns adisabledaccount back toactive: that is how a holder authorizes again after a return.
New in v3: v2 has no equivalent.
An account-scoped key changes only its own account's pull accounts; another account's reads as 404. A workspace-scoped key changes any pull account of the workspace.
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/pull-accounts/{pull_account_id}
Path parameters
| Parameter | Type | Description |
|---|---|---|
pull_account_id | string (bpa_…) | Required. The pull account. |
Request Body Sample
{
"account_number": "000987654321",
"authorization": {
"accepted": true,
"version": "2026-10-20.v2"
}
}
Request Body Schema
| Field | Type | Description |
|---|---|---|
name, bank_name | string | Up to 100 characters. |
holder_name, holder_type, routing_number, account_number, account_type | string | As in Create a Pull Account. |
authorization | object | { "accepted": true, "version": "…" } with the current authorization text's version. Required with any bank detail. |
Response Schema
The updated pull account, with the fields of a Create a Pull Account response.
Errors
| Status | message | When |
|---|---|---|
400 | failed to parse request | The body is not valid JSON, a type is not one of the listed values, or pull_account_id is not a bpa_… id. |
400 | invalid_routing_number / invalid_account_number / invalid_holder_name | As in Create a Pull Account. |
401 | unauthorized | Missing or invalid signature. |
403 | account_frozen | The account is frozen or blocked. |
404 | pull_account_not_found | No such pull account, or it belongs to another account. |
409 | ach_authorization_outdated | authorization.version is not the current text. |
409 | pull_account_in_use | A bank detail changed while a pull from the account is still open. |
422 | ach_authorization_required | A bank detail changed without authorization.accepted: true. |
422 | Validation failed | A text field is too long; details names it. |
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!