Embed
EmbedAccounts
Accounts represent businesses using Straddle through your platform. Each account must complete automated verification before processing payments. Use accounts to manage your users' payment capabilities, track verification status, and control access to features. Accounts can be instantly created in sandbox and require additional verification for production access.
Lookup an account
Update an account
List accounts
Onboard an account
Simulate status transitions for a sandbox account
ModelsExpand Collapse
type AccountPagedV1 struct{…}
Data []AccountPagedV1Data
AccessLevel string
The access level granted to the account. This is determined by your platform configuration. Use standard unless instructed otherwise by Straddle.
Status string
The current status of the account (e.g., 'active', 'inactive', 'pending').
StatusDetail AccountPagedV1DataStatusDetail
Reason string
A machine-readable identifier for the specific status, useful for programmatic handling.
Capabilities AccountPagedV1DataCapabilitiesoptional
ConsentTypes AccountPagedV1DataCapabilitiesConsentTypes
Internet CapabilityV1
Whether the internet payment authorization capability is enabled for the account.
SignedAgreement CapabilityV1
Whether the signed agreement payment authorization capability is enabled for the account.
CustomerTypes AccountPagedV1DataCapabilitiesCustomerTypes
Businesses CapabilityV1
Individuals CapabilityV1
PaymentTypes AccountPagedV1DataCapabilitiesPaymentTypes
Charges CapabilityV1
Payouts CapabilityV1
ExternalID stringoptional
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
Metadata map[string, string]optional
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
Settings AccountPagedV1DataSettingsoptional
Charges AccountPagedV1DataSettingsCharges
FundingTime string
The amount of time it takes for a charge to be funded. This value is defined by Straddle.
Payouts AccountPagedV1DataSettingsPayouts
FundingTime string
The amount of time it takes for a payout to be funded. This value is defined by Straddle.
ResponseType AccountPagedV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
type AccountV1 struct{…}
Data AccountV1Data
AccessLevel string
The access level granted to the account. This is determined by your platform configuration. Use standard unless instructed otherwise by Straddle.
Status string
The current status of the account (e.g., 'active', 'inactive', 'pending').
StatusDetail AccountV1DataStatusDetail
Capabilities AccountV1DataCapabilitiesoptional
ConsentTypes AccountV1DataCapabilitiesConsentTypes
Internet CapabilityV1
Whether the internet payment authorization capability is enabled for the account.
SignedAgreement CapabilityV1
Whether the signed agreement payment authorization capability is enabled for the account.
CustomerTypes AccountV1DataCapabilitiesCustomerTypes
Businesses CapabilityV1
Individuals CapabilityV1
PaymentTypes AccountV1DataCapabilitiesPaymentTypes
Charges CapabilityV1
Payouts CapabilityV1
ExternalID stringoptional
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
Metadata map[string, string]optional
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
Settings AccountV1DataSettingsoptional
Charges AccountV1DataSettingsCharges
FundingTime string
The amount of time it takes for a charge to be funded. This value is defined by Straddle.
Payouts AccountV1DataSettingsPayouts
FundingTime string
The amount of time it takes for a payout to be funded. This value is defined by Straddle.
Meta ResponseMetadata
ResponseType AccountV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
type TermsOfServiceV1 struct{…}
EmbedAccountsCapability Requests
Capabilities enable specific features and services for an Account. Use capability requests to unlock higher processing limits, new payment types, or additional platform features as your users' businesses grow. Track approval status and manage documentation requirements through a single interface.
Request a capability
List capability requests
ModelsExpand Collapse
type CapabilityRequestPagedV1 struct{…}
Data []CapabilityRequestPagedV1Data
AccountID string
The unique identifier of the account associated with this capability request.
Category string
The category of the requested capability. Use payment_type for charges and payouts, customer_type to define individuals or businesses, and consent_type for signed_agreement or internet payment authorization.
ResponseType CapabilityRequestPagedV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
EmbedLinked 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
List linked bank accounts
Update a linked bank account
Lookup a linked bank account
Unmask a linked bank account
Cancel a linked bank account
ModelsExpand Collapse
type LinkedBankAccountPagedV1 struct{…}
Data []LinkedBankAccountPagedV1Data
AccountID string
The unique identifier of the Straddle account related to this bank account.
Status string
StatusDetail LinkedBankAccountPagedV1DataStatusDetail
Reason string
A machine-readable identifier for the specific status, useful for programmatic handling.
ResponseType LinkedBankAccountPagedV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
type LinkedBankAccountUnmaskV1 struct{…}
Data LinkedBankAccountUnmaskV1Data
Status string
StatusDetail LinkedBankAccountUnmaskV1DataStatusDetail
Additional details about the current status of the linked bank account.
Reason string
A machine-readable identifier for the specific status, useful for programmatic handling.
Meta ResponseMetadata
ResponseType LinkedBankAccountUnmaskV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
type LinkedBankAccountV1 struct{…}
Data LinkedBankAccountV1Data
AccountID string
The unique identifier of the Straddle account related to this bank account.
StatusDetail LinkedBankAccountV1DataStatusDetail
Reason string
A machine-readable identifier for the specific status, useful for programmatic handling.
Meta ResponseMetadata
ResponseType LinkedBankAccountV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
EmbedOrganizations
Organizations are a powerful feature in Straddle that allow you to manage multiple accounts under a single umbrella. This hierarchical structure is particularly useful for businesses with complex operations, multiple departments, or legally related entities.
Create an organization
List organizations
Retrieve organization details
ModelsExpand Collapse
type OrganizationPagedV1 struct{…}
Data []OrganizationPagedV1Data
ResponseType OrganizationPagedV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
type OrganizationV1 struct{…}
Data OrganizationV1Data
Meta ResponseMetadata
ResponseType OrganizationV1ResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
EmbedRepresentatives
Representatives are individuals who have legal authority or significant responsibility within a business entity associated with a Straddle account. Each representative undergoes automated verification as part of KYC/KYB compliance. Use representatives to collect and verify beneficial owners, control persons, and authorized signers required for account onboarding. Representatives also determine who can legally operate the account and make important changes.
Create a representative
List representatives
Update a representative
Lookup a representative
Retrieve unmasked representative details
ModelsExpand Collapse
type Representative struct{…}
Data RepresentativeData
AccountID string
The unique identifier of the account this representative is associated with.
Relationship RepresentativeDataRelationship
Control bool
Whether the representative has significant responsibility to control, manage, or direct the organization. One representative must be identified under the control prong for each legal entity.
Owner bool
Whether the representative owns any percentage of of the equity interests of the legal entity.
Primary bool
Whether the person is authorized as the primary representative of the account. This is the person chosen by the business to provide information about themselves, general information about the account, and who consented to the services agreement.
There can be only one primary representative for an account at a time.
StatusDetail RepresentativeDataStatusDetail
Reason string
A machine-readable identifier for the specific status, useful for programmatic handling.
ExternalID stringoptional
Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.
Meta ResponseMetadata
ResponseType RepresentativeResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
type RepresentativePaged struct{…}
Data []RepresentativePagedData
AccountID string
The unique identifier of the account this representative is associated with.
Relationship RepresentativePagedDataRelationship
Control bool
Whether the representative has significant responsibility to control, manage, or direct the organization. One representative must be identified under the control prong for each legal entity.
Owner bool
Whether the representative owns any percentage of of the equity interests of the legal entity.
Primary bool
Whether the person is authorized as the primary representative of the account. This is the person chosen by the business to provide information about themselves, general information about the account, and who consented to the services agreement.
There can be only one primary representative for an account at a time.
StatusDetail RepresentativePagedDataStatusDetail
Reason string
A machine-readable identifier for the specific status, useful for programmatic handling.
ExternalID stringoptional
Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.
ResponseType RepresentativePagedResponseType
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.