Skip to main content
POST
/
accounts
/
{account_id}
/
plaid
/
register-account
Register financial institution account via Plaid and return address ID
curl --request POST \
  --url https://api.brale.xyz/accounts/{account_id}/plaid/register-account \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "public_token": "public-sandbox-123456789",
  "customer_webhook_url": "https://customer.com/webhooks/plaid-updates",
  "transfer_types": [
    "ach_credit"
  ]
}
'
{
  "address_id": "addr_123456789"
}
This endpoint completes the Plaid-linked bank account flow. It exchanges the public_token from Plaid Link, registers the bank account, and returns an address_id you can use in transfers. The Plaid-linked path supports ach_debit, ach_credit, and rtp. It does not support wire.
Previous step: Generate a link_token using Create Plaid link token and complete the Plaid Link flow before calling this endpoint.
For a full comparison of both external bank address creation paths, see External bank addresses. Use the playground below to try this endpoint directly, or review the OpenAPI details in the right panel.

Authorizations

Authorization
string
header
required

Use the Bearer token returned from the Auth endpoint via OAuth2 client_credentials flow. Include the token in the "Authorization: Bearer " header.

Path Parameters

account_id
string
required

Body

application/json
public_token
string
required

Plaid public token

Example:

"public-sandbox-123456789"

customer_webhook_url
string<uri>
required

Webhook for Plaid item updates

Example:

"https://customer.com/webhooks/plaid-updates"

transfer_types
string[]
required

Rails to enable (e.g., ach_credit, wire, rtp_credit)

Minimum array length: 1

Response

201 - application/json

Created

address_id
string
required

ID of the created address

Example:

"addr_123456789"