The unique identifier for the bank account
Example:550e8400-e29b-41d4-a716-446655440000
Updates an existing bank account scoped to the authenticated customer. Returns the updated record with the account number masked.
The unique identifier for the bank account
Example:550e8400-e29b-41d4-a716-446655440000
The type of bank account
Allowed values:SAVINGSCHECKING
Example:CHECKING
Name of the account holder
Example:Jane Doe
Bank account number (4-17 digits)
Match pattern:^\d{4,17}$
>= 4 characters<= 17 characters
Example:9876543210
Bank routing number (exactly 9 digits)
Match pattern:^\d{9}$
>= 9 characters<= 9 characters
Example:021000021
Name of the bank
Example:Wells Fargo
Optional nickname for the bank account
Example:Secondary
Whether this should become the owner’s primary bank account. Setting true demotes any existing primary for the same owner. An existing primary account cannot be demoted directly by omitting or setting this to false — set another account as primary instead. null is treated the same as omitted.
Default:false
Example:false
Bank account updated successfully
The unique identifier for the bank account
Example:550e8400-e29b-41d4-a716-446655440000
The type of bank account
Allowed values:SAVINGSCHECKING
Example:CHECKING
Name of the account holder
Example:Jane Doe
Masked bank account number (last 4 digits visible)
Example:****7890
Bank routing number
Example:021000021
Name of the bank
Example:Chase Bank
Optional nickname for the bank account
Example:Main
Indicates if this is the primary bank account
Example:true
Timestamp when the bank account was created
Example:2024-01-15T10:30:00Z
Timestamp when the bank account was last updated
Example:2024-01-15T14:45:00Z
Returns every bank account (person-owned or firm-owned) visible to the authenticated customer, paginated by opaque continuation token. Use this endpoint to reconcile bank accounts across all producers in a customer’s account without iterating known producer IDs. Account numbers are masked to ****; the unmasked value is reachable only via GET /v2/bank-accounts/{id} behind an elevated scope.
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.
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
RFC3339 UTC timestamp (e.g. 2026-05-21T12:00:00Z). When supplied, filters to bank accounts whose underlying record was modified at or after this instant.
Example:2026-05-01T00:00:00Z
A page of bank accounts visible to the authenticated customer.
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.
Page metadata for a token-based list response.
Returns bank accounts belonging to the specified person and visible to the authenticated customer, paginated by opaque continuation token. Account numbers are masked to ****.
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.
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
ID of the person
A page of bank accounts belonging to the person.
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.
Page metadata for a token-based list response.
Creates a new bank account for a person
ID of the person
The type of bank account
Allowed values:SAVINGSCHECKING
Example:CHECKING
Name of the account holder
Example:Jane Doe
Bank account number (4-17 characters)
>= 4 characters<= 17 characters
Example:1234567890
Bank routing number (exactly 9 digits)
>= 9 characters<= 9 characters
Example:021000021
Name of the bank
Example:Chase Bank
Optional nickname for the bank account
Example:Main
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
Bank account created successfully
The unique identifier for the bank account
Example:550e8400-e29b-41d4-a716-446655440000
The type of bank account
Allowed values:SAVINGSCHECKING
Example:CHECKING
Name of the account holder
Example:Jane Doe
Masked bank account number (last 4 digits visible)
Example:****7890
Bank routing number
Example:021000021
Name of the bank
Example:Chase Bank
Optional nickname for the bank account
Example:Main
Indicates if this is the primary bank account
Example:true
Timestamp when the bank account was created
Example:2024-01-15T10:30:00Z
Timestamp when the bank account was last updated
Example:2024-01-15T14:45:00Z
Returns bank accounts belonging to the specified firm and visible to the authenticated customer, paginated by opaque continuation token. Account numbers are masked to ****.
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.
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
ID of the firm
A page of bank accounts belonging to the firm.
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.
Page metadata for a token-based list response.