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.
Simulate status transitions for a sandbox account
ModelsExpand Collapse
accountPagedV1: object { data, meta, response_type }
data: array of object { id, access_level, organization_id, 11 more }
status_detail: object { code, message, reason, source }
business_profile: optional object { name, website, address, 7 more }
capabilities: optional object { consent_types, customer_types, payment_types }
external_id: optional string
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
metadata: optional map[string]
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
settings: optional object { charges, payouts }
charges: object { daily_amount, funding_time, linked_bank_account_id, 3 more }
meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }
Metadata about the API request, including an identifier, timestamp, and pagination details.
response_type: "object" or "array" or "error" or "none"
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.
accountV1: object { data, meta, response_type }
data: object { id, access_level, organization_id, 11 more }
status_detail: object { code, message, reason, source }
business_profile: optional object { name, website, address, 7 more }
capabilities: optional object { consent_types, customer_types, payment_types }
external_id: optional string
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
metadata: optional map[string]
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
settings: optional object { charges, payouts }
charges: object { daily_amount, funding_time, linked_bank_account_id, 3 more }
response_type: "object" or "array" or "error" or "none"
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.
businessProfileV1: object { name, website, address, 7 more }
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
capabilityRequestPagedV1: object { data, meta, response_type }
data: array of object { id, account_id, category, 6 more }
meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }
Metadata about the API request, including an identifier, timestamp, and pagination details.
response_type: "object" or "array" or "error" or "none"
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
Update a linked bank account
Lookup a linked bank account
Unmask a linked bank account
Cancel a linked bank account
ModelsExpand Collapse
linkedBankAccountPagedV1: object { data, meta, response_type }
data: array of object { id, account_id, bank_account, 8 more }
status_detail: object { code, message, reason, source }
meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }
Metadata about the API request, including an identifier, timestamp, and pagination details.
response_type: "object" or "array" or "error" or "none"
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.
linkedBankAccountUnmaskV1: object { data, meta, response_type }
data: object { id, account_id, bank_account, 5 more }
response_type: "object" or "array" or "error" or "none"
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.
linkedBankAccountV1: object { data, meta, response_type }
data: object { id, account_id, bank_account, 8 more }
status_detail: object { code, message, reason, source }
response_type: "object" or "array" or "error" or "none"
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.
Retrieve organization details
ModelsExpand Collapse
organizationPagedV1: object { data, meta, response_type }
data: array of object { id, created_at, name, 3 more }
meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }
Metadata about the API request, including an identifier, timestamp, and pagination details.
response_type: "object" or "array" or "error" or "none"
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.
organizationV1: object { data, meta, response_type }
data: object { id, created_at, name, 3 more }
response_type: "object" or "array" or "error" or "none"
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.
Update a representative
Lookup a representative
Retrieve unmasked representative details
ModelsExpand Collapse
representative: object { data, meta, response_type }
data: object { id, account_id, created_at, 15 more }
relationship: object { control, owner, primary, 2 more }
control: boolean
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: boolean
Whether the representative owns any percentage of of the equity interests of the legal entity.
primary: boolean
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.
status_detail: object { code, message, reason, source }
external_id: optional string
Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.
response_type: "object" or "array" or "error" or "none"
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.
representativePaged: object { data, meta, response_type }
data: array of object { id, account_id, created_at, 15 more }
relationship: object { control, owner, primary, 2 more }
control: boolean
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: boolean
Whether the representative owns any percentage of of the equity interests of the legal entity.
primary: boolean
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.
status_detail: object { code, message, reason, source }
external_id: optional string
Unique identifier for the representative in your database, used for cross-referencing between Straddle and your systems.
meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }
Metadata about the API request, including an identifier, timestamp, and pagination details.
response_type: "object" or "array" or "error" or "none"
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.