Skip to content
Get started

Linked Bank Accounts

Linked bank accounts connect your platform users' external bank accounts to Straddle for settlements and payment funding. Each linked account undergoes automated verification and continuous monitoring. Use linked accounts to manage where clients receive deposits, fund payouts, and track settlement preferences.

Create a linked bank account
LinkedBankAccountV1 Embed.LinkedBankAccounts.Create(LinkedBankAccountCreateParamsparameters, CancellationTokencancellationToken = default)
POST/v1/linked_bank_accounts
List linked bank accounts
LinkedBankAccountPagedV1 Embed.LinkedBankAccounts.List(LinkedBankAccountListParams?parameters, CancellationTokencancellationToken = default)
GET/v1/linked_bank_accounts
Update a linked bank account
LinkedBankAccountV1 Embed.LinkedBankAccounts.Update(LinkedBankAccountUpdateParamsparameters, CancellationTokencancellationToken = default)
PUT/v1/linked_bank_accounts/{linked_bank_account_id}
Lookup a linked bank account
LinkedBankAccountV1 Embed.LinkedBankAccounts.Get(LinkedBankAccountGetParamsparameters, CancellationTokencancellationToken = default)
GET/v1/linked_bank_accounts/{linked_bank_account_id}
Unmask a linked bank account
LinkedBankAccountUnmaskV1 Embed.LinkedBankAccounts.Unmask(LinkedBankAccountUnmaskParamsparameters, CancellationTokencancellationToken = default)
GET/v1/linked_bank_accounts/{linked_bank_account_id}/unmask
Cancel a linked bank account
LinkedBankAccountV1 Embed.LinkedBankAccounts.Cancel(LinkedBankAccountCancelParamsparameters, CancellationTokencancellationToken = default)
PATCH/v1/linked_bank_accounts/{linked_bank_account_id}/cancel
ModelsExpand Collapse
class LinkedBankAccountPagedV1:
required IReadOnlyList<Data> Data
required string ID

Unique identifier for the linked bank account.

formatuuid
required string? AccountID

The unique identifier of the Straddle account related to this bank account.

formatuuid
required BankAccount BankAccount
required string AccountHolder
required string AccountMask
required string InstitutionName
required string RoutingNumber
required DateTimeOffset CreatedAt

Timestamp of when the bank account object was created.

formatdate-time
required IReadOnlyList<Purpose> Purposes

The purposes for the linked bank account.

One of the following:
"charges"Charges
"payouts"Payouts
"billing"Billing
required Status Status

The current status of the linked bank account.

One of the following:
"created"Created
"onboarding"Onboarding
"active"Active
"rejected"Rejected
"inactive"Inactive
"canceled"Canceled
required StatusDetail StatusDetail
required string Code

A machine-readable code for the specific status, useful for programmatic handling.

required string Message

A human-readable message describing the current status.

required Reason Reason

A machine-readable identifier for the specific status, useful for programmatic handling.

One of the following:
"unverified"Unverified
"in_review"InReview
"pending"Pending
"stuck"Stuck
"verified"Verified
"failed_verification"FailedVerification
"disabled"Disabled
"new"New
required Source Source

Identifies the origin of the status change (e.g., watchtower). This helps in tracking the cause of status updates.

required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the linked bank account.

formatdate-time
string? Description

Optional description for the bank account.

IReadOnlyDictionary<string, string>? Metadata

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the linked bank account in a structured format.

string? PlatformID

The unique identifier of the Straddle Platform relatd to this bank account.

formatuuid
required PagedResponseMetadata Meta

Metadata about the API request, including an identifier, timestamp, and pagination details.

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required Int MaxPageSize

Maximum allowed page size for this endpoint.

formatint32
required Int PageNumber

Page number for paginated results.

formatint32
required Int PageSize

Number of items per page in this response.

formatint32
required string SortBy

The field that the results were sorted by.

required SortOrder SortOrder
One of the following:
"asc"Asc
"desc"Desc
required Int TotalItems

Total number of items returned in this response.

formatint32
required Int TotalPages

The number of pages available.

formatint32
required ResponseType ResponseType

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
One of the following:
"object"Object
"array"Array
"error"Error
"none"None
class LinkedBankAccountUnmaskV1:
required Data Data
required string ID

Unique identifier for the linked bank account.

formatuuid
required string AccountID

Unique identifier for the Straddle account related to this bank account.

formatuuid
required BankAccount BankAccount

The bank account details associated with the linked bank account.

required string AccountHolder
required string AccountNumber
required string InstitutionName
required string RoutingNumber
required DateTimeOffset CreatedAt

Timestamp of when the linked bank account was created.

formatdate-time
required Status Status

The current status of the linked bank account.

One of the following:
"created"Created
"onboarding"Onboarding
"active"Active
"rejected"Rejected
"inactive"Inactive
"canceled"Canceled
required StatusDetail StatusDetail

Additional details about the current status of the linked bank account.

required string Code

A machine-readable code for the specific status, useful for programmatic handling.

required string Message

A human-readable message describing the current status.

required Reason Reason

A machine-readable identifier for the specific status, useful for programmatic handling.

One of the following:
"unverified"Unverified
"in_review"InReview
"pending"Pending
"stuck"Stuck
"verified"Verified
"failed_verification"FailedVerification
"disabled"Disabled
"new"New
required Source Source

Identifies the origin of the status change (e.g., watchtower). This helps in tracking the cause of status updates.

required DateTimeOffset UpdatedAt

Timestamp of when the linked bank account was last updated.

formatdate-time
IReadOnlyDictionary<string, string>? Metadata
required ResponseMetadata Meta

Metadata about the API request, including an identifier and timestamp.

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required ResponseType ResponseType

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
One of the following:
"object"Object
"array"Array
"error"Error
"none"None
class LinkedBankAccountV1:
required Data Data
required string ID

Unique identifier for the linked bank account.

formatuuid
required string? AccountID

The unique identifier of the Straddle account related to this bank account.

formatuuid
required BankAccount BankAccount
required string AccountHolder
required string AccountMask
required string InstitutionName
required string RoutingNumber
required DateTimeOffset CreatedAt

Timestamp of when the bank account object was created.

formatdate-time
required IReadOnlyList<Purpose> Purposes

The purposes for the linked bank account.

One of the following:
"charges"Charges
"payouts"Payouts
"billing"Billing
required Status Status

The current status of the linked bank account.

One of the following:
"created"Created
"onboarding"Onboarding
"active"Active
"rejected"Rejected
"inactive"Inactive
"canceled"Canceled
required StatusDetail StatusDetail
required string Code

A machine-readable code for the specific status, useful for programmatic handling.

required string Message

A human-readable message describing the current status.

required Reason Reason

A machine-readable identifier for the specific status, useful for programmatic handling.

One of the following:
"unverified"Unverified
"in_review"InReview
"pending"Pending
"stuck"Stuck
"verified"Verified
"failed_verification"FailedVerification
"disabled"Disabled
"new"New
required Source Source

Identifies the origin of the status change (e.g., watchtower). This helps in tracking the cause of status updates.

required DateTimeOffset UpdatedAt

Timestamp of the most recent update to the linked bank account.

formatdate-time
string? Description

Optional description for the bank account.

IReadOnlyDictionary<string, string>? Metadata

Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the linked bank account in a structured format.

string? PlatformID

The unique identifier of the Straddle Platform relatd to this bank account.

formatuuid
required ResponseMetadata Meta

Metadata about the API request, including an identifier and timestamp.

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required ResponseType ResponseType

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
One of the following:
"object"Object
"array"Array
"error"Error
"none"None