---
title: "Register financial institution account"
method: POST
path: "/accounts/{account_id}/financial-institutions/register-account"
tags: ["Financial Institutions"]
---

# Register financial institution account

`POST /accounts/{account_id}/financial-institutions/register-account`

## Request

- Base URL: `https://api.brale.xyz`
- URL: `https://api.brale.xyz/accounts/{account_id}/financial-institutions/register-account`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://auth.brale.xyz/oauth2/token` scopes: `financial-institutions:write`

Registers a financial institution account using Plaid public token

## Path parameters

- `account_id` string, required: ID of the resource

## Request body

- RegisterAccountRequest
  - `account_holder_type` 'individual' | 'business': Whether the bank account belongs to an individual or a business. Used when Plaid does not report it.
  - `customer_webhook_url` string, uri, required: URL where customer will receive webhook notifications when Plaid items need updates (required for account registration)
  - `public_token` string, required: The public token returned from Plaid Link

## Response `200`

OK

- RegisterAccountResponse
  - `financial_institution_id` string, required: The ID of the created financial institution

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `500`: Unknown

## Changes

- **2026-10-20** `5648b7f3a014`: 1 info
  - added the new optional request property `account_holder_type`
- **2026-07-13** `d934fd29acc3`: 6 breaking
  - media type `application/vnd.api+json` was changed to a more general media type `application/json` for the response status `200`
  - media type `application/vnd.api+json` was changed to a more general media type `application/json` for the response status `401`
  - media type `application/vnd.api+json` was changed to a more general media type `application/json` for the response status `403`
  - media type `application/vnd.api+json` was changed to a more general media type `application/json` for the response status `404`
  - …2 more
- **2026-05-12** `0f6e2639fbe2`: 1 info
  - added the non-success response with the status `409`
- **2026-02-07** `4f67c6cbfdb8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/brale/apis/brale-api/changes/accounts/:account_id/financial-institutions/register-account/post.md)

---

[API](https://skmtc.dev/brale/apis/brale-api.md) - [All operations](https://skmtc.dev/brale/apis/brale-api/llms.txt) - [OpenAPI document](https://skmtc.dev/brale/apis/brale-api/revisions/3378b8f911e0?raw)
