Skip to content
  • Auto
  • Light
  • Dark
Get started
View as Markdown
Copy Markdown

Open in Claude
Open in ChatGPT

Accounts

Lookup an account
embed.accounts.get(straccount_id, AccountGetParams**kwargs) -> AccountV1
get/v1/accounts/{account_id}
Update an account
embed.accounts.update(straccount_id, AccountUpdateParams**kwargs) -> AccountV1
put/v1/accounts/{account_id}
Create an account
embed.accounts.create(AccountCreateParams**kwargs) -> AccountV1
post/v1/accounts
List accounts
embed.accounts.list(AccountListParams**kwargs) -> SyncPageNumberSchema[Data]
get/v1/accounts
Onboard an account
embed.accounts.onboard(straccount_id, AccountOnboardParams**kwargs) -> AccountV1
post/v1/accounts/{account_id}/onboard
Simulate status transitions for a sandbox account
embed.accounts.simulate(straccount_id, AccountSimulateParams**kwargs) -> AccountV1
post/v1/accounts/{account_id}/simulate
ModelsExpand Collapse
class AccountPagedV1:
data: List[Data]
id: str

Unique identifier for the account.

formatuuid
access_level: Literal["standard", "managed"]

The access level granted to the account. This is determined by your platform configuration. Use standard unless instructed otherwise by Straddle.

Accepts one of the following:
"standard"
"managed"
organization_id: str

The unique identifier of the organization this account belongs to.

formatuuid
status: Literal["created", "onboarding", "active", 2 more]

The current status of the account (e.g., 'active', 'inactive', 'pending').

Accepts one of the following:
"created"
"onboarding"
"active"
"rejected"
"inactive"
status_detail: DataStatusDetail
code: str

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

message: str

A human-readable message describing the current status.

reason: Literal["unverified", "in_review", "pending", 6 more]

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

Accepts one of the following:
"unverified"
"in_review"
"pending"
"stuck"
"verified"
"failed_verification"
"disabled"
"terminated"
"new"
source: Literal["watchtower"]

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

Accepts one of the following:
"watchtower"
type: Literal["business"]

The type of account (e.g., 'individual', 'business').

Accepts one of the following:
"business"
business_profile: Optional[BusinessProfileV1]
name: str

The operating or trade name of the business.

website: str

URL of the business's primary marketing website.

formaturi
address: Optional[AddressV1]

The address object is optional. If provided, it must be a valid address.

address1: str

Primary address line (e.g., street, PO Box).

city: Optional[str]

City, district, suburb, town, or village.

state: Optional[str]

Two-letter state code.

zip: str

Zip or postal code.

address2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

country: Optional[str]

The country of the address, in ISO 3166-1 alpha-2 format.

line1: Optional[str]

Primary address line (e.g., street, PO Box).

line2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

postal_code: Optional[str]

Postal or ZIP code.

description: Optional[str]

A brief description of the business and its products or services.

industry: Optional[IndustryV1]
category: Optional[str]

The general category of the industry. Required if not providing MCC.

mcc: Optional[str]

The Merchant Category Code (MCC) that best describes the business. Optional.

sector: Optional[str]

The specific sector within the industry category. Required if not providing MCC.

The official registered name of the business.

phone: Optional[str]

The primary contact phone number for the business.

support_channels: Optional[SupportChannelsV1]
email: Optional[str]

The email address for customer support inquiries.

formatemail
phone: Optional[str]

The phone number for customer support.

url: Optional[str]

The URL of the business's customer support page or contact form.

formaturi
tax_id: Optional[str]

The business's tax identification number (e.g., EIN in the US).

use_case: Optional[str]

A description of how the business intends to use Straddle's services.

capabilities: Optional[DataCapabilities]

Whether the internet payment authorization capability is enabled for the account.

Accepts one of the following:

Whether the signed agreement payment authorization capability is enabled for the account.

Accepts one of the following:
customer_types: DataCapabilitiesCustomerTypes
businesses: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
individuals: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
payment_types: DataCapabilitiesPaymentTypes
charges: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
payouts: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
created_at: Optional[datetime]

Timestamp of when the account was created.

formatdate-time
external_id: Optional[str]

Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.

metadata: Optional[Dict[str, Optional[str]]]

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

settings: Optional[DataSettings]
charges: DataSettingsCharges
daily_amount: int

The maximum dollar amount of charges in a calendar day.

formatint32
funding_time: Literal["immediate", "next_day", "one_day", 2 more]

The amount of time it takes for a charge to be funded. This value is defined by Straddle.

Accepts one of the following:
"immediate"
"next_day"
"one_day"
"two_day"
"three_day"
linked_bank_account_id: str

The unique identifier of the linked bank account associated with charges. This value is defined by Straddle.

formatuuid
max_amount: int

The maximum amount of a single charge.

formatint32
monthly_amount: int

The maximum dollar amount of charges in a calendar month.

formatint32
monthly_count: int

The maximum number of charges in a calendar month.

formatint32
payouts: DataSettingsPayouts
daily_amount: int

The maximum dollar amount of payouts in a day.

formatint32
funding_time: Literal["immediate", "next_day", "one_day", 2 more]

The amount of time it takes for a payout to be funded. This value is defined by Straddle.

Accepts one of the following:
"immediate"
"next_day"
"one_day"
"two_day"
"three_day"
linked_bank_account_id: str

The unique identifier of the linked bank account to use for payouts.

formatuuid
max_amount: int

The maximum amount of a single payout.

formatint32
monthly_amount: int

The maximum dollar amount of payouts in a month.

formatint32
monthly_count: int

The maximum number of payouts in a month.

formatint32
terms_of_service: Optional[TermsOfServiceV1]
accepted_date: datetime

The datetime of when the terms of service were accepted, in ISO 8601 format.

formatdate-time
agreement_type: Literal["embedded", "direct"]

The type or version of the agreement accepted. Use embedded unless your platform was specifically enabled for direct agreements.

Accepts one of the following:
"embedded"
"direct"
agreement_url: Optional[str]

The URL where the full text of the accepted agreement can be found.

accepted_ip: Optional[str]

The IP address from which the terms of service were accepted.

accepted_user_agent: Optional[str]

The user agent string of the browser or application used to accept the terms.

updated_at: Optional[datetime]

Timestamp of the most recent update to the account.

formatdate-time

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

api_request_id: str

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: datetime

Timestamp for this API request, useful for troubleshooting.

formatdate-time
max_page_size: int

Maximum allowed page size for this endpoint.

formatint32
page_number: int

Page number for paginated results.

formatint32
page_size: int

Number of items per page in this response.

formatint32
sort_by: str

The field that the results were sorted by.

sort_order: Literal["asc", "desc"]
Accepts one of the following:
"asc"
"desc"
total_items: int

Total number of items returned in this response.

formatint32
total_pages: int

The number of pages available.

formatint32
response_type: Literal["object", "array", "error", "none"]

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.
Accepts one of the following:
"object"
"array"
"error"
"none"
class AccountV1:
data: Data
id: str

Unique identifier for the account.

formatuuid
access_level: Literal["standard", "managed"]

The access level granted to the account. This is determined by your platform configuration. Use standard unless instructed otherwise by Straddle.

Accepts one of the following:
"standard"
"managed"
organization_id: str

The unique identifier of the organization this account belongs to.

formatuuid
status: Literal["created", "onboarding", "active", 2 more]

The current status of the account (e.g., 'active', 'inactive', 'pending').

Accepts one of the following:
"created"
"onboarding"
"active"
"rejected"
"inactive"
status_detail: DataStatusDetail
code: str

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

message: str

A human-readable message describing the current status.

reason: Literal["unverified", "in_review", "pending", 6 more]

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

Accepts one of the following:
"unverified"
"in_review"
"pending"
"stuck"
"verified"
"failed_verification"
"disabled"
"terminated"
"new"
source: Literal["watchtower"]

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

Accepts one of the following:
"watchtower"
type: Literal["business"]

The type of account (e.g., 'individual', 'business').

Accepts one of the following:
"business"
business_profile: Optional[BusinessProfileV1]
name: str

The operating or trade name of the business.

website: str

URL of the business's primary marketing website.

formaturi
address: Optional[AddressV1]

The address object is optional. If provided, it must be a valid address.

address1: str

Primary address line (e.g., street, PO Box).

city: Optional[str]

City, district, suburb, town, or village.

state: Optional[str]

Two-letter state code.

zip: str

Zip or postal code.

address2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

country: Optional[str]

The country of the address, in ISO 3166-1 alpha-2 format.

line1: Optional[str]

Primary address line (e.g., street, PO Box).

line2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

postal_code: Optional[str]

Postal or ZIP code.

description: Optional[str]

A brief description of the business and its products or services.

industry: Optional[IndustryV1]
category: Optional[str]

The general category of the industry. Required if not providing MCC.

mcc: Optional[str]

The Merchant Category Code (MCC) that best describes the business. Optional.

sector: Optional[str]

The specific sector within the industry category. Required if not providing MCC.

The official registered name of the business.

phone: Optional[str]

The primary contact phone number for the business.

support_channels: Optional[SupportChannelsV1]
email: Optional[str]

The email address for customer support inquiries.

formatemail
phone: Optional[str]

The phone number for customer support.

url: Optional[str]

The URL of the business's customer support page or contact form.

formaturi
tax_id: Optional[str]

The business's tax identification number (e.g., EIN in the US).

use_case: Optional[str]

A description of how the business intends to use Straddle's services.

capabilities: Optional[DataCapabilities]

Whether the internet payment authorization capability is enabled for the account.

Accepts one of the following:

Whether the signed agreement payment authorization capability is enabled for the account.

Accepts one of the following:
customer_types: DataCapabilitiesCustomerTypes
businesses: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
individuals: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
payment_types: DataCapabilitiesPaymentTypes
charges: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
payouts: CapabilityV1
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
created_at: Optional[datetime]

Timestamp of when the account was created.

formatdate-time
external_id: Optional[str]

Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.

metadata: Optional[Dict[str, Optional[str]]]

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

settings: Optional[DataSettings]
charges: DataSettingsCharges
daily_amount: int

The maximum dollar amount of charges in a calendar day.

formatint32
funding_time: Literal["immediate", "next_day", "one_day", 2 more]

The amount of time it takes for a charge to be funded. This value is defined by Straddle.

Accepts one of the following:
"immediate"
"next_day"
"one_day"
"two_day"
"three_day"
linked_bank_account_id: str

The unique identifier of the linked bank account associated with charges. This value is defined by Straddle.

formatuuid
max_amount: int

The maximum amount of a single charge.

formatint32
monthly_amount: int

The maximum dollar amount of charges in a calendar month.

formatint32
monthly_count: int

The maximum number of charges in a calendar month.

formatint32
payouts: DataSettingsPayouts
daily_amount: int

The maximum dollar amount of payouts in a day.

formatint32
funding_time: Literal["immediate", "next_day", "one_day", 2 more]

The amount of time it takes for a payout to be funded. This value is defined by Straddle.

Accepts one of the following:
"immediate"
"next_day"
"one_day"
"two_day"
"three_day"
linked_bank_account_id: str

The unique identifier of the linked bank account to use for payouts.

formatuuid
max_amount: int

The maximum amount of a single payout.

formatint32
monthly_amount: int

The maximum dollar amount of payouts in a month.

formatint32
monthly_count: int

The maximum number of payouts in a month.

formatint32
terms_of_service: Optional[TermsOfServiceV1]
accepted_date: datetime

The datetime of when the terms of service were accepted, in ISO 8601 format.

formatdate-time
agreement_type: Literal["embedded", "direct"]

The type or version of the agreement accepted. Use embedded unless your platform was specifically enabled for direct agreements.

Accepts one of the following:
"embedded"
"direct"
agreement_url: Optional[str]

The URL where the full text of the accepted agreement can be found.

accepted_ip: Optional[str]

The IP address from which the terms of service were accepted.

accepted_user_agent: Optional[str]

The user agent string of the browser or application used to accept the terms.

updated_at: Optional[datetime]

Timestamp of the most recent update to the account.

formatdate-time

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

api_request_id: str

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: datetime

Timestamp for this API request, useful for troubleshooting.

formatdate-time
response_type: Literal["object", "array", "error", "none"]

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.
Accepts one of the following:
"object"
"array"
"error"
"none"
class AddressV1:

The address object is optional. If provided, it must be a valid address.

address1: str

Primary address line (e.g., street, PO Box).

city: Optional[str]

City, district, suburb, town, or village.

state: Optional[str]

Two-letter state code.

zip: str

Zip or postal code.

address2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

country: Optional[str]

The country of the address, in ISO 3166-1 alpha-2 format.

line1: Optional[str]

Primary address line (e.g., street, PO Box).

line2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

postal_code: Optional[str]

Postal or ZIP code.

class BusinessProfileV1:
name: str

The operating or trade name of the business.

website: str

URL of the business's primary marketing website.

formaturi
address: Optional[AddressV1]

The address object is optional. If provided, it must be a valid address.

address1: str

Primary address line (e.g., street, PO Box).

city: Optional[str]

City, district, suburb, town, or village.

state: Optional[str]

Two-letter state code.

zip: str

Zip or postal code.

address2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

country: Optional[str]

The country of the address, in ISO 3166-1 alpha-2 format.

line1: Optional[str]

Primary address line (e.g., street, PO Box).

line2: Optional[str]

Secondary address line (e.g., apartment, suite, unit, or building).

postal_code: Optional[str]

Postal or ZIP code.

description: Optional[str]

A brief description of the business and its products or services.

industry: Optional[IndustryV1]
category: Optional[str]

The general category of the industry. Required if not providing MCC.

mcc: Optional[str]

The Merchant Category Code (MCC) that best describes the business. Optional.

sector: Optional[str]

The specific sector within the industry category. Required if not providing MCC.

The official registered name of the business.

phone: Optional[str]

The primary contact phone number for the business.

support_channels: Optional[SupportChannelsV1]
email: Optional[str]

The email address for customer support inquiries.

formatemail
phone: Optional[str]

The phone number for customer support.

url: Optional[str]

The URL of the business's customer support page or contact form.

formaturi
tax_id: Optional[str]

The business's tax identification number (e.g., EIN in the US).

use_case: Optional[str]

A description of how the business intends to use Straddle's services.

class CapabilityV1:
capability_status: Literal["active", "inactive"]
Accepts one of the following:
"active"
"inactive"
class IndustryV1:
category: Optional[str]

The general category of the industry. Required if not providing MCC.

mcc: Optional[str]

The Merchant Category Code (MCC) that best describes the business. Optional.

sector: Optional[str]

The specific sector within the industry category. Required if not providing MCC.

class SupportChannelsV1:
email: Optional[str]

The email address for customer support inquiries.

formatemail
phone: Optional[str]

The phone number for customer support.

url: Optional[str]

The URL of the business's customer support page or contact form.

formaturi
class TermsOfServiceV1:
accepted_date: datetime

The datetime of when the terms of service were accepted, in ISO 8601 format.

formatdate-time
agreement_type: Literal["embedded", "direct"]

The type or version of the agreement accepted. Use embedded unless your platform was specifically enabled for direct agreements.

Accepts one of the following:
"embedded"
"direct"
agreement_url: Optional[str]

The URL where the full text of the accepted agreement can be found.

accepted_ip: Optional[str]

The IP address from which the terms of service were accepted.

accepted_user_agent: Optional[str]

The user agent string of the browser or application used to accept the terms.

AccountsCapability Requests

Request a capability
embed.accounts.capability_requests.create(straccount_id, CapabilityRequestCreateParams**kwargs) -> CapabilityRequestPagedV1
post/v1/accounts/{account_id}/capability_requests
List capability requests
embed.accounts.capability_requests.list(straccount_id, CapabilityRequestListParams**kwargs) -> SyncPageNumberSchema[Data]
get/v1/accounts/{account_id}/capability_requests
ModelsExpand Collapse
class CapabilityRequestPagedV1:
data: List[Data]
id: str

Unique identifier for the capability request.

formatuuid
account_id: str

The unique identifier of the account associated with this capability request.

formatuuid
category: Literal["payment_type", "customer_type", "consent_type"]

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.

Accepts one of the following:
"payment_type"
"customer_type"
"consent_type"
created_at: datetime

Timestamp of when the capability request was created.

formatdate-time
status: Literal["active", "inactive", "in_review", 3 more]

The current status of the capability request.

Accepts one of the following:
"active"
"inactive"
"in_review"
"rejected"
"approved"
"reviewing"
type: Literal["charges", "payouts", "individuals", 3 more]

The specific type of capability being requested within the category.

Accepts one of the following:
"charges"
"payouts"
"individuals"
"businesses"
"signed_agreement"
"internet"
updated_at: datetime

Timestamp of the most recent update to the capability request.

formatdate-time
settings: Optional[Dict[str, object]]

Any specific settings or configurations related to the requested capability.

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

api_request_id: str

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: datetime

Timestamp for this API request, useful for troubleshooting.

formatdate-time
max_page_size: int

Maximum allowed page size for this endpoint.

formatint32
page_number: int

Page number for paginated results.

formatint32
page_size: int

Number of items per page in this response.

formatint32
sort_by: str

The field that the results were sorted by.

sort_order: Literal["asc", "desc"]
Accepts one of the following:
"asc"
"desc"
total_items: int

Total number of items returned in this response.

formatint32
total_pages: int

The number of pages available.

formatint32
response_type: Literal["object", "array", "error", "none"]

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.
Accepts one of the following:
"object"
"array"
"error"
"none"