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
Create an account
List accounts
Onboard an account
Simulate status transitions for a sandbox account
ModelsExpand Collapse
class AccountPagedV1:
required IReadOnlyList<Data> Data
required string OrganizationID
The unique identifier of the organization this account belongs to.
required StatusDetail StatusDetail
BusinessProfileV1 BusinessProfile
AddressV1? Address
The address object is optional. If provided, it must be a valid address.
IndustryV1 Industry
SupportChannelsV1 SupportChannels
Capabilities Capabilities
string? ExternalID
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
IReadOnlyDictionary<string, string>? Metadata
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
Settings Settings
required Charges Charges
TermsOfServiceV1 TermsOfService
Metadata about the API request, including an identifier, timestamp, and pagination details.
required ResponseType ResponseType
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.
class AccountV1:
required Data Data
required string OrganizationID
The unique identifier of the organization this account belongs to.
required StatusDetail StatusDetail
BusinessProfileV1 BusinessProfile
AddressV1? Address
The address object is optional. If provided, it must be a valid address.
IndustryV1 Industry
SupportChannelsV1 SupportChannels
Capabilities Capabilities
string? ExternalID
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
IReadOnlyDictionary<string, string>? Metadata
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
Settings Settings
required Charges Charges
TermsOfServiceV1 TermsOfService
required ResponseType ResponseType
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.
class BusinessProfileV1:
AddressV1? Address
The address object is optional. If provided, it must be a valid address.
IndustryV1 Industry
SupportChannelsV1 SupportChannels
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
class CapabilityRequestPagedV1:
required IReadOnlyList<Data> Data
required string AccountID
The unique identifier of the account associated with this capability request.
required Category Category
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.
required DateTimeOffset CreatedAt
Timestamp of when the capability request was created.
Metadata about the API request, including an identifier, timestamp, and pagination details.
required ResponseType ResponseType
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
class LinkedBankAccountPagedV1:
required IReadOnlyList<Data> Data
required string? AccountID
The unique identifier of the Straddle account related to this bank account.
required DateTimeOffset CreatedAt
Timestamp of when the bank account object was created.
required StatusDetail StatusDetail
required DateTimeOffset UpdatedAt
Timestamp of the most recent update to the linked bank account.
Metadata about the API request, including an identifier, timestamp, and pagination details.
required ResponseType ResponseType
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.
class LinkedBankAccountUnmaskV1:
required Data Data
required string AccountID
Unique identifier for the Straddle account related to this bank account.
required DateTimeOffset CreatedAt
Timestamp of when the linked bank account was created.
required StatusDetail StatusDetail
required ResponseType ResponseType
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.
class LinkedBankAccountV1:
required Data Data
required string? AccountID
The unique identifier of the Straddle account related to this bank account.
required DateTimeOffset CreatedAt
Timestamp of when the bank account object was created.
required StatusDetail StatusDetail
required DateTimeOffset UpdatedAt
Timestamp of the most recent update to the linked bank account.
required ResponseType ResponseType
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
class OrganizationPagedV1:
required IReadOnlyList<Data> Data
Metadata about the API request, including an identifier, timestamp, and pagination details.
required ResponseType ResponseType
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.
class OrganizationV1:
required Data Data
required ResponseType ResponseType
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
class Representative:
required Data Data
required string AccountID
The unique identifier of the account this representative is associated with.
required DateOnly Dob
The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD).
required Relationship Relationship
required Boolean Control
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.
required Boolean Owner
Whether the representative owns any percentage of of the equity interests of the legal entity.
required Boolean Primary
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.
required StatusDetail StatusDetail
required DateTimeOffset UpdatedAt
Timestamp of the most recent update to the representative.
string? ExternalID
Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.
required ResponseType ResponseType
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.
class RepresentativePaged:
required IReadOnlyList<Data> Data
required string AccountID
The unique identifier of the account this representative is associated with.
required DateOnly Dob
The date of birth of the representative, in ISO 8601 format (YYYY-MM-DD).
required Relationship Relationship
required Boolean Control
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.
required Boolean Owner
Whether the representative owns any percentage of of the equity interests of the legal entity.
required Boolean Primary
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.
required StatusDetail StatusDetail
required DateTimeOffset UpdatedAt
Timestamp of the most recent update to the representative.
string? ExternalID
Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.
Metadata about the API request, including an identifier, timestamp, and pagination details.
required ResponseType ResponseType
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.