Accounts
Lookup an account
Update an account
Create an account
List accounts
Onboard an account
Simulate status transitions for a sandbox account
ModelsExpand Collapse
AccountPagedV1 { data, meta, response_type }
data: Array<Data { id, access_level, organization_id, 11 more } >
id: string
Unique identifier for the account.
access_level: "standard" | "managed"
The access level granted to the account. This is determined by your platform configuration. Use standard unless instructed otherwise by Straddle.
organization_id: string
The unique identifier of the organization this account belongs to.
status: "created" | "onboarding" | "active" | 2 more
The current status of the account (e.g., 'active', 'inactive', 'pending').
status_detail: StatusDetail { code, message, reason, source }
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: "unverified" | "in_review" | "pending" | 6 more
A machine-readable identifier for the specific status, useful for programmatic handling.
source: "watchtower"
Identifies the origin of the status change (e.g., bank_decline, watchtower). This helps in tracking the cause of status updates.
type: "business"
The type of account (e.g., 'individual', 'business').
name: string
The operating or trade name of the business.
website: string
URL of the business's primary marketing website.
The address object is optional. If provided, it must be a valid address.
address1: string
Primary address line (e.g., street, PO Box).
city: string | null
City, district, suburb, town, or village.
state: string | null
Two-letter state code.
zip: string
Zip or postal code.
address2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
country?: string | null
The country of the address, in ISO 3166-1 alpha-2 format.
line1?: string | null
Primary address line (e.g., street, PO Box).
line2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
postal_code?: string | null
Postal or ZIP code.
description?: string | null
A brief description of the business and its products or services.
category?: string | null
The general category of the industry. Required if not providing MCC.
mcc?: string | null
The Merchant Category Code (MCC) that best describes the business. Optional.
sector?: string | null
The specific sector within the industry category. Required if not providing MCC.
legal_name?: string | null
The official registered name of the business.
phone?: string | null
The primary contact phone number for the business.
email?: string | null
The email address for customer support inquiries.
phone?: string | null
The phone number for customer support.
url?: string | null
The URL of the business's customer support page or contact form.
tax_id?: string | null
The business's tax identification number (e.g., EIN in the US).
use_case?: string | null
A description of how the business intends to use Straddle's services.
capabilities?: Capabilities { consent_types, customer_types, payment_types }
consent_types: ConsentTypes { internet, signed_agreement }
Whether the internet payment authorization capability is enabled for the account.
capability_status: "active" | "inactive"
Whether the signed agreement payment authorization capability is enabled for the account.
capability_status: "active" | "inactive"
customer_types: CustomerTypes { businesses, individuals }
capability_status: "active" | "inactive"
capability_status: "active" | "inactive"
payment_types: PaymentTypes { charges, payouts }
capability_status: "active" | "inactive"
capability_status: "active" | "inactive"
created_at?: string | null
Timestamp of when the account was created.
external_id?: string | null
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
metadata?: Record<string, string | null> | null
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
settings?: Settings { charges, payouts }
charges: Charges { daily_amount, funding_time, linked_bank_account_id, 3 more }
daily_amount: number
The maximum dollar amount of charges in a calendar day.
funding_time: "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.
linked_bank_account_id: string
The unique identifier of the linked bank account associated with charges. This value is defined by Straddle.
max_amount: number
The maximum amount of a single charge.
monthly_amount: number
The maximum dollar amount of charges in a calendar month.
monthly_count: number
The maximum number of charges in a calendar month.
payouts: Payouts { daily_amount, funding_time, linked_bank_account_id, 3 more }
daily_amount: number
The maximum dollar amount of payouts in a day.
funding_time: "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.
linked_bank_account_id: string
The unique identifier of the linked bank account to use for payouts.
max_amount: number
The maximum amount of a single payout.
monthly_amount: number
The maximum dollar amount of payouts in a month.
monthly_count: number
The maximum number of payouts in a month.
accepted_date: string
The datetime of when the terms of service were accepted, in ISO 8601 format.
agreement_type: "embedded" | "direct"
The type or version of the agreement accepted. Use embedded unless your platform was specifically enabled for direct agreements.
agreement_url: string | null
The URL where the full text of the accepted agreement can be found.
accepted_ip?: string | null
The IP address from which the terms of service were accepted.
accepted_user_agent?: string | null
The user agent string of the browser or application used to accept the terms.
updated_at?: string | null
Timestamp of the most recent update to the account.
Metadata about the API request, including an identifier, timestamp, and pagination details.
api_request_id: string
Unique identifier for this API request, useful for troubleshooting.
api_request_timestamp: string
Timestamp for this API request, useful for troubleshooting.
max_page_size: number
Maximum allowed page size for this endpoint.
page_number: number
Page number for paginated results.
page_size: number
Number of items per page in this response.
sort_by: string
The field that the results were sorted by.
sort_order: "asc" | "desc"
total_items: number
Total number of items returned in this response.
total_pages: number
The number of pages available.
response_type: "object" | "array" | "error" | "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 { data, meta, response_type }
data: Data { id, access_level, organization_id, 11 more }
id: string
Unique identifier for the account.
access_level: "standard" | "managed"
The access level granted to the account. This is determined by your platform configuration. Use standard unless instructed otherwise by Straddle.
organization_id: string
The unique identifier of the organization this account belongs to.
status: "created" | "onboarding" | "active" | 2 more
The current status of the account (e.g., 'active', 'inactive', 'pending').
status_detail: StatusDetail { code, message, reason, source }
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: "unverified" | "in_review" | "pending" | 6 more
A machine-readable identifier for the specific status, useful for programmatic handling.
source: "watchtower"
Identifies the origin of the status change (e.g., bank_decline, watchtower). This helps in tracking the cause of status updates.
type: "business"
The type of account (e.g., 'individual', 'business').
name: string
The operating or trade name of the business.
website: string
URL of the business's primary marketing website.
The address object is optional. If provided, it must be a valid address.
address1: string
Primary address line (e.g., street, PO Box).
city: string | null
City, district, suburb, town, or village.
state: string | null
Two-letter state code.
zip: string
Zip or postal code.
address2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
country?: string | null
The country of the address, in ISO 3166-1 alpha-2 format.
line1?: string | null
Primary address line (e.g., street, PO Box).
line2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
postal_code?: string | null
Postal or ZIP code.
description?: string | null
A brief description of the business and its products or services.
category?: string | null
The general category of the industry. Required if not providing MCC.
mcc?: string | null
The Merchant Category Code (MCC) that best describes the business. Optional.
sector?: string | null
The specific sector within the industry category. Required if not providing MCC.
legal_name?: string | null
The official registered name of the business.
phone?: string | null
The primary contact phone number for the business.
email?: string | null
The email address for customer support inquiries.
phone?: string | null
The phone number for customer support.
url?: string | null
The URL of the business's customer support page or contact form.
tax_id?: string | null
The business's tax identification number (e.g., EIN in the US).
use_case?: string | null
A description of how the business intends to use Straddle's services.
capabilities?: Capabilities { consent_types, customer_types, payment_types }
consent_types: ConsentTypes { internet, signed_agreement }
Whether the internet payment authorization capability is enabled for the account.
capability_status: "active" | "inactive"
Whether the signed agreement payment authorization capability is enabled for the account.
capability_status: "active" | "inactive"
customer_types: CustomerTypes { businesses, individuals }
capability_status: "active" | "inactive"
capability_status: "active" | "inactive"
payment_types: PaymentTypes { charges, payouts }
capability_status: "active" | "inactive"
capability_status: "active" | "inactive"
created_at?: string | null
Timestamp of when the account was created.
external_id?: string | null
Unique identifier for the account in your database, used for cross-referencing between Straddle and your systems.
metadata?: Record<string, string | null> | null
Up to 20 additional user-defined key-value pairs. Useful for storing additional information about the account in a structured format.
settings?: Settings { charges, payouts }
charges: Charges { daily_amount, funding_time, linked_bank_account_id, 3 more }
daily_amount: number
The maximum dollar amount of charges in a calendar day.
funding_time: "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.
linked_bank_account_id: string
The unique identifier of the linked bank account associated with charges. This value is defined by Straddle.
max_amount: number
The maximum amount of a single charge.
monthly_amount: number
The maximum dollar amount of charges in a calendar month.
monthly_count: number
The maximum number of charges in a calendar month.
payouts: Payouts { daily_amount, funding_time, linked_bank_account_id, 3 more }
daily_amount: number
The maximum dollar amount of payouts in a day.
funding_time: "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.
linked_bank_account_id: string
The unique identifier of the linked bank account to use for payouts.
max_amount: number
The maximum amount of a single payout.
monthly_amount: number
The maximum dollar amount of payouts in a month.
monthly_count: number
The maximum number of payouts in a month.
accepted_date: string
The datetime of when the terms of service were accepted, in ISO 8601 format.
agreement_type: "embedded" | "direct"
The type or version of the agreement accepted. Use embedded unless your platform was specifically enabled for direct agreements.
agreement_url: string | null
The URL where the full text of the accepted agreement can be found.
accepted_ip?: string | null
The IP address from which the terms of service were accepted.
accepted_user_agent?: string | null
The user agent string of the browser or application used to accept the terms.
updated_at?: string | null
Timestamp of the most recent update to the account.
Metadata about the API request, including an identifier and timestamp.
api_request_id: string
Unique identifier for this API request, useful for troubleshooting.
api_request_timestamp: string
Timestamp for this API request, useful for troubleshooting.
response_type: "object" | "array" | "error" | "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.
AddressV1 { address1, city, state, 6 more }
The address object is optional. If provided, it must be a valid address.
address1: string
Primary address line (e.g., street, PO Box).
city: string | null
City, district, suburb, town, or village.
state: string | null
Two-letter state code.
zip: string
Zip or postal code.
address2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
country?: string | null
The country of the address, in ISO 3166-1 alpha-2 format.
line1?: string | null
Primary address line (e.g., street, PO Box).
line2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
postal_code?: string | null
Postal or ZIP code.
BusinessProfileV1 { name, website, address, 7 more }
name: string
The operating or trade name of the business.
website: string
URL of the business's primary marketing website.
The address object is optional. If provided, it must be a valid address.
address1: string
Primary address line (e.g., street, PO Box).
city: string | null
City, district, suburb, town, or village.
state: string | null
Two-letter state code.
zip: string
Zip or postal code.
address2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
country?: string | null
The country of the address, in ISO 3166-1 alpha-2 format.
line1?: string | null
Primary address line (e.g., street, PO Box).
line2?: string | null
Secondary address line (e.g., apartment, suite, unit, or building).
postal_code?: string | null
Postal or ZIP code.
description?: string | null
A brief description of the business and its products or services.
category?: string | null
The general category of the industry. Required if not providing MCC.
mcc?: string | null
The Merchant Category Code (MCC) that best describes the business. Optional.
sector?: string | null
The specific sector within the industry category. Required if not providing MCC.
legal_name?: string | null
The official registered name of the business.
phone?: string | null
The primary contact phone number for the business.
email?: string | null
The email address for customer support inquiries.
phone?: string | null
The phone number for customer support.
url?: string | null
The URL of the business's customer support page or contact form.
tax_id?: string | null
The business's tax identification number (e.g., EIN in the US).
use_case?: string | null
A description of how the business intends to use Straddle's services.
CapabilityV1 { capability_status }
capability_status: "active" | "inactive"
IndustryV1 { category, mcc, sector }
category?: string | null
The general category of the industry. Required if not providing MCC.
mcc?: string | null
The Merchant Category Code (MCC) that best describes the business. Optional.
sector?: string | null
The specific sector within the industry category. Required if not providing MCC.
SupportChannelsV1 { email, phone, url }
email?: string | null
The email address for customer support inquiries.
phone?: string | null
The phone number for customer support.
url?: string | null
The URL of the business's customer support page or contact form.
TermsOfServiceV1 { accepted_date, agreement_type, agreement_url, 2 more }
accepted_date: string
The datetime of when the terms of service were accepted, in ISO 8601 format.
agreement_type: "embedded" | "direct"
The type or version of the agreement accepted. Use embedded unless your platform was specifically enabled for direct agreements.
agreement_url: string | null
The URL where the full text of the accepted agreement can be found.
accepted_ip?: string | null
The IP address from which the terms of service were accepted.
accepted_user_agent?: string | null
The user agent string of the browser or application used to accept the terms.
AccountsCapability Requests
Request a capability
List capability requests
ModelsExpand Collapse
CapabilityRequestPagedV1 { data, meta, response_type }
data: Array<Data { id, account_id, category, 5 more } >
id: string
Unique identifier for the capability request.
account_id: string
The unique identifier of the account associated with this capability request.
category: "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.
created_at: string
Timestamp of when the capability request was created.
status: "active" | "inactive" | "in_review" | 3 more
The current status of the capability request.
type: "charges" | "payouts" | "individuals" | 3 more
The specific type of capability being requested within the category.
updated_at: string
Timestamp of the most recent update to the capability request.
settings?: Record<string, unknown> | null
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: string
Unique identifier for this API request, useful for troubleshooting.
api_request_timestamp: string
Timestamp for this API request, useful for troubleshooting.
max_page_size: number
Maximum allowed page size for this endpoint.
page_number: number
Page number for paginated results.
page_size: number
Number of items per page in this response.
sort_by: string
The field that the results were sorted by.
sort_order: "asc" | "desc"
total_items: number
Total number of items returned in this response.
total_pages: number
The number of pages available.
response_type: "object" | "array" | "error" | "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.