Identity API

List bank accounts for a person

Returns bank accounts belonging to the specified person and visible to the authenticated customer, paginated by opaque continuation token. Account numbers are masked to ****.

get

Query Parameters

page_tokenstring

Opaque continuation token returned by the previous response’s page.nextToken. Omit on the first request. Format is server-controlled and may change without an API version bump.

page_sizeinteger(int32)

Requested number of items in the response. Defaults to 25 when omitted; values outside [1, 250] are rejected with 400 (not clamped). The actual size returned is reflected in page.size and may be smaller (last page or empty result).

Default:25

>= 1<= 250

Path Parameters

personIdstring(uuid)required

ID of the person

Response

application/json

A page of bank accounts belonging to the person.

itemsarray[object]required

Per-row shape returned by V2 bank-account list endpoints. Carries owner context (personId or firmId, plus the producer NPN where known) for reconciliation use cases. The account number is always masked here; the unmasked value is reachable only via GET /v2/bank-accounts/{id} behind an elevated scope.

Show Child Parameters
pageobjectrequired

Page metadata for a token-based list response.

Show Child Parameters
get/v2/persons/{personId}/bank-accounts
 
application/json

Create bank account for person

Creates a new bank account for a person

post

Path Parameters

personIdstring(uuid)required

ID of the person

Body

application/json

CreateBankAccountRequest

typestringrequired

The type of bank account

Allowed values:SAVINGSCHECKING

Example:CHECKING

holderNamestringrequired

Name of the account holder

Example:Jane Doe

numberstringrequired

Bank account number (4-17 characters)

>= 4 characters<= 17 characters

Example:1234567890

routingNumberstringrequired

Bank routing number (exactly 9 digits)

>= 9 characters<= 9 characters

Example:021000021

bankNamestringrequired

Name of the bank

Example:Chase Bank

nicknamestring

Optional nickname for the bank account

Example:Main

primaryAccountboolean | null

Whether this should become the owner’s primary bank account. Setting true demotes any existing primary for the same owner. Defaults to false (the owner’s first bank account always becomes primary regardless of this value). null is treated the same as omitted.

Default:false

Example:false

Response

application/json

Bank account created successfully

BankAccountResponse

idstring(uuid)read-only

The unique identifier for the bank account

Example:550e8400-e29b-41d4-a716-446655440000

typestring

The type of bank account

Allowed values:SAVINGSCHECKING

Example:CHECKING

holderNamestring

Name of the account holder

Example:Jane Doe

numberstringread-only

Masked bank account number (last 4 digits visible)

Example:****7890

routingNumberstringread-only

Bank routing number

Example:021000021

bankNamestring

Name of the bank

Example:Chase Bank

nicknamestring

Optional nickname for the bank account

Example:Main

primaryAccountboolean

Indicates if this is the primary bank account

Example:true

createdAtstring(date-time)read-only

Timestamp when the bank account was created

Example:2024-01-15T10:30:00Z

updatedAtstring | null(date-time)read-only

Timestamp when the bank account was last updated

Example:2024-01-15T14:45:00Z

post/v2/persons/{personId}/bank-accounts

Body

{ "type": "CHECKING", "holderName": "Jane Doe", "number": "1234567890", "routingNumber": "021000021", "bankName": "Chase Bank" }
 
application/json

List bank accounts for a firm

Returns bank accounts belonging to the specified firm and visible to the authenticated customer, paginated by opaque continuation token. Account numbers are masked to ****.

get

Query Parameters

page_tokenstring

Opaque continuation token returned by the previous response’s page.nextToken. Omit on the first request. Format is server-controlled and may change without an API version bump.

page_sizeinteger(int32)

Requested number of items in the response. Defaults to 25 when omitted; values outside [1, 250] are rejected with 400 (not clamped). The actual size returned is reflected in page.size and may be smaller (last page or empty result).

Default:25

>= 1<= 250

Path Parameters

firmIdstring(uuid)required

ID of the firm

Response

application/json

A page of bank accounts belonging to the firm.

itemsarray[object]required

Per-row shape returned by V2 bank-account list endpoints. Carries owner context (personId or firmId, plus the producer NPN where known) for reconciliation use cases. The account number is always masked here; the unmasked value is reachable only via GET /v2/bank-accounts/{id} behind an elevated scope.

Show Child Parameters
pageobjectrequired

Page metadata for a token-based list response.

Show Child Parameters
get/v2/firms/{firmId}/bank-accounts
 
application/json

Create bank account for firm

Creates a new bank account for a firm scoped to the authenticated customer. Returns the created record with the account number masked.

post

Path Parameters

firmIdstring(uuid)required

ID of the firm

Body

application/json

CreateBankAccountRequest

typestringrequired

The type of bank account

Allowed values:SAVINGSCHECKING

Example:CHECKING

holderNamestringrequired

Name of the account holder

Example:Jane Doe

numberstringrequired

Bank account number (4-17 characters)

>= 4 characters<= 17 characters

Example:1234567890

routingNumberstringrequired

Bank routing number (exactly 9 digits)

>= 9 characters<= 9 characters

Example:021000021

bankNamestringrequired

Name of the bank

Example:Chase Bank

nicknamestring

Optional nickname for the bank account

Example:Main

primaryAccountboolean | null

Whether this should become the owner’s primary bank account. Setting true demotes any existing primary for the same owner. Defaults to false (the owner’s first bank account always becomes primary regardless of this value). null is treated the same as omitted.

Default:false

Example:false

Response

application/json

Bank account created successfully

BankAccountResponse

idstring(uuid)read-only

The unique identifier for the bank account

Example:550e8400-e29b-41d4-a716-446655440000

typestring

The type of bank account

Allowed values:SAVINGSCHECKING

Example:CHECKING

holderNamestring

Name of the account holder

Example:Jane Doe

numberstringread-only

Masked bank account number (last 4 digits visible)

Example:****7890

routingNumberstringread-only

Bank routing number

Example:021000021

bankNamestring

Name of the bank

Example:Chase Bank

nicknamestring

Optional nickname for the bank account

Example:Main

primaryAccountboolean

Indicates if this is the primary bank account

Example:true

createdAtstring(date-time)read-only

Timestamp when the bank account was created

Example:2024-01-15T10:30:00Z

updatedAtstring | null(date-time)read-only

Timestamp when the bank account was last updated

Example:2024-01-15T14:45:00Z

post/v2/firms/{firmId}/bank-accounts

Body

{ "type": "CHECKING", "holderName": "Jane Doe", "number": "1234567890", "routingNumber": "021000021", "bankName": "Chase Bank" }
 
application/json

Firms

Operations for managing firm identities