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
client.Embed.LinkedBankAccounts.New(ctx, params) (*LinkedBankAccountV1, error)
POST/v1/linked_bank_accounts
List linked bank accounts
client.Embed.LinkedBankAccounts.List(ctx, params) (*PageNumberSchema[LinkedBankAccountPagedV1Data], error)
GET/v1/linked_bank_accounts
Update a linked bank account
client.Embed.LinkedBankAccounts.Update(ctx, linkedBankAccountID, params) (*LinkedBankAccountV1, error)
PUT/v1/linked_bank_accounts/{linked_bank_account_id}
Lookup a linked bank account
client.Embed.LinkedBankAccounts.Get(ctx, linkedBankAccountID, query) (*LinkedBankAccountV1, error)
GET/v1/linked_bank_accounts/{linked_bank_account_id}
Unmask a linked bank account
client.Embed.LinkedBankAccounts.Unmask(ctx, linkedBankAccountID, query) (*LinkedBankAccountUnmaskV1, error)
GET/v1/linked_bank_accounts/{linked_bank_account_id}/unmask
Cancel a linked bank account
client.Embed.LinkedBankAccounts.Cancel(ctx, linkedBankAccountID, body) (*LinkedBankAccountV1, error)
PATCH/v1/linked_bank_accounts/{linked_bank_account_id}/cancel
ModelsExpand Collapse
type LinkedBankAccountPagedV1 struct{…}
Data []LinkedBankAccountPagedV1Data
ID string

Unique identifier for the linked bank account.

formatuuid
AccountID string

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

formatuuid
BankAccount LinkedBankAccountPagedV1DataBankAccount
AccountHolder string
AccountMask string
InstitutionName string
RoutingNumber string
CreatedAt Time

Timestamp of when the bank account object was created.

formatdate-time
Purposes []string

The purposes for the linked bank account.

One of the following:
const LinkedBankAccountPagedV1DataPurposeCharges LinkedBankAccountPagedV1DataPurpose = "charges"
const LinkedBankAccountPagedV1DataPurposePayouts LinkedBankAccountPagedV1DataPurpose = "payouts"
const LinkedBankAccountPagedV1DataPurposeBilling LinkedBankAccountPagedV1DataPurpose = "billing"
Status string

The current status of the linked bank account.

One of the following:
const LinkedBankAccountPagedV1DataStatusCreated LinkedBankAccountPagedV1DataStatus = "created"
const LinkedBankAccountPagedV1DataStatusOnboarding LinkedBankAccountPagedV1DataStatus = "onboarding"
const LinkedBankAccountPagedV1DataStatusActive LinkedBankAccountPagedV1DataStatus = "active"
const LinkedBankAccountPagedV1DataStatusRejected LinkedBankAccountPagedV1DataStatus = "rejected"
const LinkedBankAccountPagedV1DataStatusInactive LinkedBankAccountPagedV1DataStatus = "inactive"
const LinkedBankAccountPagedV1DataStatusCanceled LinkedBankAccountPagedV1DataStatus = "canceled"
StatusDetail LinkedBankAccountPagedV1DataStatusDetail
Code string

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

Message string

A human-readable message describing the current status.

Reason string

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

One of the following:
const LinkedBankAccountPagedV1DataStatusDetailReasonUnverified LinkedBankAccountPagedV1DataStatusDetailReason = "unverified"
const LinkedBankAccountPagedV1DataStatusDetailReasonInReview LinkedBankAccountPagedV1DataStatusDetailReason = "in_review"
const LinkedBankAccountPagedV1DataStatusDetailReasonPending LinkedBankAccountPagedV1DataStatusDetailReason = "pending"
const LinkedBankAccountPagedV1DataStatusDetailReasonStuck LinkedBankAccountPagedV1DataStatusDetailReason = "stuck"
const LinkedBankAccountPagedV1DataStatusDetailReasonVerified LinkedBankAccountPagedV1DataStatusDetailReason = "verified"
const LinkedBankAccountPagedV1DataStatusDetailReasonFailedVerification LinkedBankAccountPagedV1DataStatusDetailReason = "failed_verification"
const LinkedBankAccountPagedV1DataStatusDetailReasonDisabled LinkedBankAccountPagedV1DataStatusDetailReason = "disabled"
const LinkedBankAccountPagedV1DataStatusDetailReasonNew LinkedBankAccountPagedV1DataStatusDetailReason = "new"
Source string

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

UpdatedAt Time

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

formatdate-time
Description stringoptional

Optional description for the bank account.

Metadata map[string, string]optional

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

PlatformID stringoptional

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

formatuuid

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

APIRequestID string

Unique identifier for this API request, useful for troubleshooting.

formatuuid
APIRequestTimestamp Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
MaxPageSize int64

Maximum allowed page size for this endpoint.

formatint32
PageNumber int64

Page number for paginated results.

formatint32
PageSize int64

Number of items per page in this response.

formatint32
SortBy string

The field that the results were sorted by.

SortOrder PagedResponseMetadataSortOrder
One of the following:
const PagedResponseMetadataSortOrderAsc PagedResponseMetadataSortOrder = "asc"
const PagedResponseMetadataSortOrderDesc PagedResponseMetadataSortOrder = "desc"
TotalItems int64

Total number of items returned in this response.

formatint32
TotalPages int64

The number of pages available.

formatint32
ResponseType LinkedBankAccountPagedV1ResponseType

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:
const LinkedBankAccountPagedV1ResponseTypeObject LinkedBankAccountPagedV1ResponseType = "object"
const LinkedBankAccountPagedV1ResponseTypeArray LinkedBankAccountPagedV1ResponseType = "array"
const LinkedBankAccountPagedV1ResponseTypeError LinkedBankAccountPagedV1ResponseType = "error"
const LinkedBankAccountPagedV1ResponseTypeNone LinkedBankAccountPagedV1ResponseType = "none"
type LinkedBankAccountUnmaskV1 struct{…}
Data LinkedBankAccountUnmaskV1Data
ID string

Unique identifier for the linked bank account.

formatuuid
AccountID string

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

formatuuid
BankAccount LinkedBankAccountUnmaskV1DataBankAccount

The bank account details associated with the linked bank account.

AccountHolder string
AccountNumber string
InstitutionName string
RoutingNumber string
CreatedAt Time

Timestamp of when the linked bank account was created.

formatdate-time
Status string

The current status of the linked bank account.

One of the following:
const LinkedBankAccountUnmaskV1DataStatusCreated LinkedBankAccountUnmaskV1DataStatus = "created"
const LinkedBankAccountUnmaskV1DataStatusOnboarding LinkedBankAccountUnmaskV1DataStatus = "onboarding"
const LinkedBankAccountUnmaskV1DataStatusActive LinkedBankAccountUnmaskV1DataStatus = "active"
const LinkedBankAccountUnmaskV1DataStatusRejected LinkedBankAccountUnmaskV1DataStatus = "rejected"
const LinkedBankAccountUnmaskV1DataStatusInactive LinkedBankAccountUnmaskV1DataStatus = "inactive"
const LinkedBankAccountUnmaskV1DataStatusCanceled LinkedBankAccountUnmaskV1DataStatus = "canceled"
StatusDetail LinkedBankAccountUnmaskV1DataStatusDetail

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

Code string

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

Message string

A human-readable message describing the current status.

Reason string

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

One of the following:
const LinkedBankAccountUnmaskV1DataStatusDetailReasonUnverified LinkedBankAccountUnmaskV1DataStatusDetailReason = "unverified"
const LinkedBankAccountUnmaskV1DataStatusDetailReasonInReview LinkedBankAccountUnmaskV1DataStatusDetailReason = "in_review"
const LinkedBankAccountUnmaskV1DataStatusDetailReasonPending LinkedBankAccountUnmaskV1DataStatusDetailReason = "pending"
const LinkedBankAccountUnmaskV1DataStatusDetailReasonStuck LinkedBankAccountUnmaskV1DataStatusDetailReason = "stuck"
const LinkedBankAccountUnmaskV1DataStatusDetailReasonVerified LinkedBankAccountUnmaskV1DataStatusDetailReason = "verified"
const LinkedBankAccountUnmaskV1DataStatusDetailReasonFailedVerification LinkedBankAccountUnmaskV1DataStatusDetailReason = "failed_verification"
const LinkedBankAccountUnmaskV1DataStatusDetailReasonDisabled LinkedBankAccountUnmaskV1DataStatusDetailReason = "disabled"
const LinkedBankAccountUnmaskV1DataStatusDetailReasonNew LinkedBankAccountUnmaskV1DataStatusDetailReason = "new"
Source string

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

UpdatedAt Time

Timestamp of when the linked bank account was last updated.

formatdate-time
Metadata map[string, string]optional

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

APIRequestID string

Unique identifier for this API request, useful for troubleshooting.

formatuuid
APIRequestTimestamp Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
ResponseType LinkedBankAccountUnmaskV1ResponseType

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:
const LinkedBankAccountUnmaskV1ResponseTypeObject LinkedBankAccountUnmaskV1ResponseType = "object"
const LinkedBankAccountUnmaskV1ResponseTypeArray LinkedBankAccountUnmaskV1ResponseType = "array"
const LinkedBankAccountUnmaskV1ResponseTypeError LinkedBankAccountUnmaskV1ResponseType = "error"
const LinkedBankAccountUnmaskV1ResponseTypeNone LinkedBankAccountUnmaskV1ResponseType = "none"
type LinkedBankAccountV1 struct{…}
Data LinkedBankAccountV1Data
ID string

Unique identifier for the linked bank account.

formatuuid
AccountID string

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

formatuuid
BankAccount LinkedBankAccountV1DataBankAccount
AccountHolder string
AccountMask string
InstitutionName string
RoutingNumber string
CreatedAt Time

Timestamp of when the bank account object was created.

formatdate-time
Purposes []string

The purposes for the linked bank account.

One of the following:
const LinkedBankAccountV1DataPurposeCharges LinkedBankAccountV1DataPurpose = "charges"
const LinkedBankAccountV1DataPurposePayouts LinkedBankAccountV1DataPurpose = "payouts"
const LinkedBankAccountV1DataPurposeBilling LinkedBankAccountV1DataPurpose = "billing"
Status string

The current status of the linked bank account.

One of the following:
const LinkedBankAccountV1DataStatusCreated LinkedBankAccountV1DataStatus = "created"
const LinkedBankAccountV1DataStatusOnboarding LinkedBankAccountV1DataStatus = "onboarding"
const LinkedBankAccountV1DataStatusActive LinkedBankAccountV1DataStatus = "active"
const LinkedBankAccountV1DataStatusRejected LinkedBankAccountV1DataStatus = "rejected"
const LinkedBankAccountV1DataStatusInactive LinkedBankAccountV1DataStatus = "inactive"
const LinkedBankAccountV1DataStatusCanceled LinkedBankAccountV1DataStatus = "canceled"
StatusDetail LinkedBankAccountV1DataStatusDetail
Code string

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

Message string

A human-readable message describing the current status.

Reason string

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

One of the following:
const LinkedBankAccountV1DataStatusDetailReasonUnverified LinkedBankAccountV1DataStatusDetailReason = "unverified"
const LinkedBankAccountV1DataStatusDetailReasonInReview LinkedBankAccountV1DataStatusDetailReason = "in_review"
const LinkedBankAccountV1DataStatusDetailReasonPending LinkedBankAccountV1DataStatusDetailReason = "pending"
const LinkedBankAccountV1DataStatusDetailReasonStuck LinkedBankAccountV1DataStatusDetailReason = "stuck"
const LinkedBankAccountV1DataStatusDetailReasonVerified LinkedBankAccountV1DataStatusDetailReason = "verified"
const LinkedBankAccountV1DataStatusDetailReasonFailedVerification LinkedBankAccountV1DataStatusDetailReason = "failed_verification"
const LinkedBankAccountV1DataStatusDetailReasonDisabled LinkedBankAccountV1DataStatusDetailReason = "disabled"
const LinkedBankAccountV1DataStatusDetailReasonNew LinkedBankAccountV1DataStatusDetailReason = "new"
Source string

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

UpdatedAt Time

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

formatdate-time
Description stringoptional

Optional description for the bank account.

Metadata map[string, string]optional

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

PlatformID stringoptional

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

formatuuid

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

APIRequestID string

Unique identifier for this API request, useful for troubleshooting.

formatuuid
APIRequestTimestamp Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
ResponseType LinkedBankAccountV1ResponseType

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:
const LinkedBankAccountV1ResponseTypeObject LinkedBankAccountV1ResponseType = "object"
const LinkedBankAccountV1ResponseTypeArray LinkedBankAccountV1ResponseType = "array"
const LinkedBankAccountV1ResponseTypeError LinkedBankAccountV1ResponseType = "error"
const LinkedBankAccountV1ResponseTypeNone LinkedBankAccountV1ResponseType = "none"