Skip to content
Get started
API Reference

API Reference

Libraries

npm install @straddlecom/straddle
pip install straddle
go get -u 'github.com/straddleio/straddle-go@v0.0.1'
gem "straddle"
brew install straddleio/tools/straddle
dotnet add package Straddle

API Overview

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
GET/v1/accounts/{account_id}
Update an account
PUT/v1/accounts/{account_id}
Create an account
POST/v1/accounts
List accounts
GET/v1/accounts
Onboard an account
POST/v1/accounts/{account_id}/onboard
Simulate status transitions for a sandbox account
POST/v1/accounts/{account_id}/simulate

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
POST/v1/accounts/{account_id}/capability_requests
List capability requests
GET/v1/accounts/{account_id}/capability_requests

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
POST/v1/linked_bank_accounts
List linked bank accounts
GET/v1/linked_bank_accounts
Update a linked bank account
PUT/v1/linked_bank_accounts/{linked_bank_account_id}
Lookup a linked bank account
GET/v1/linked_bank_accounts/{linked_bank_account_id}
Unmask a linked bank account
GET/v1/linked_bank_accounts/{linked_bank_account_id}/unmask
Cancel a linked bank account
PATCH/v1/linked_bank_accounts/{linked_bank_account_id}/cancel

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
POST/v1/organizations
List organizations
GET/v1/organizations
Retrieve organization details
GET/v1/organizations/{organization_id}

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
POST/v1/representatives
List representatives
GET/v1/representatives
Update a representative
PUT/v1/representatives/{representative_id}
Lookup a representative
GET/v1/representatives/{representative_id}
Retrieve unmasked representative details
GET/v1/representatives/{representative_id}/unmask

Bridge

Bridge provides a comprehensive suite of tools for connecting customer bank accounts. Use it to generate secure widget sessions for instant account verification, accept tokens from major providers like Plaid and Finicity, or verify accounts directly via our API. Bridge handles all sensitive banking credentials and ensures secure, compliant connections with support for 90% of US bank accounts.

Create a Widget session token
POST/v1/bridge/initialize

Bridge provides a comprehensive suite of tools for connecting customer bank accounts. Use it to generate secure widget sessions for instant account verification, accept tokens from major providers like Plaid and Finicity, or verify accounts directly via our API. Bridge handles all sensitive banking credentials and ensures secure, compliant connections with support for 90% of US bank accounts.

Bridge a bank account
POST/v1/bridge/bank_account
Bridge a Plaid token
POST/v1/bridge/plaid
Create Tan
POST/v1/bridge/tan

Customers

Customers represent the end users who send or receive payments through your integration. Each customer undergoes automatic identity verification and fraud screening upon creation. Use customers to track payment history, manage bank account connections, and maintain a secure record of all transactions associated with a user. Customers can be either individuals or businesses with appropriate compliance checks for each type.

Lookup a customer
GET/v1/customers/{id}
Update a customer
PUT/v1/customers/{id}
Delete a customer
DELETE/v1/customers/{id}
List customers
GET/v1/customers
Create a customer
POST/v1/customers
Unmask customer data
GET/v1/customers/{id}/unmasked

CustomersReview

Customers represent the end users who send or receive payments through your integration. Each customer undergoes automatic identity verification and fraud screening upon creation. Use customers to track payment history, manage bank account connections, and maintain a secure record of all transactions associated with a user. Customers can be either individuals or businesses with appropriate compliance checks for each type.

Review a customer's identity results
GET/v1/customers/{id}/review
Update a customer's verification status
PATCH/v1/customers/{id}/review
Update a customer's identity decision
PUT/v1/customers/{id}/refresh_review

Paykeys

Paykeys are secure tokens that link verified customer identities to their bank accounts. Each Paykey includes built-in balance checking, fraud detection through LSTM machine learning models, and can be reused for subscriptions and recurring payments without storing sensitive data. Paykeys eliminate fraud by ensuring the person initiating payment owns the funding account.

Lookup a paykey
GET/v1/paykeys/{id}
Unmask a paykey
GET/v1/paykeys/{id}/unmasked
List paykeys
GET/v1/paykeys
Retrieve an unmasked paykey token
GET/v1/paykeys/{id}/reveal
Cancel
PUT/v1/paykeys/{id}/cancel
Update a paykey's balance
PUT/v1/paykeys/{id}/refresh_balance

PaykeysReview

Paykeys are secure tokens that link verified customer identities to their bank accounts. Each Paykey includes built-in balance checking, fraud detection through LSTM machine learning models, and can be reused for subscriptions and recurring payments without storing sensitive data. Paykeys eliminate fraud by ensuring the person initiating payment owns the funding account.

Update a paykey's status
PATCH/v1/paykeys/{id}/review
Get paykey review details
GET/v1/paykeys/{id}/review
Update a paykey's identity review decision
PUT/v1/paykeys/{id}/refresh_review

Charges

Charges represent attempts to debit money from a customer's bank account using a Paykey. Each charge includes automatic balance verification, real-time fraud screening, and multi-rail optimization and detailed status tracking throughout the payment lifecycle. Use charges to accept bank payments with confidence knowing every transaction is protected.

Lookup a charge
GET/v1/charges/{id}
Update a charge
PUT/v1/charges/{id}
Create a charge
POST/v1/charges
Hold a charge
PUT/v1/charges/{id}/hold
Release a charge
PUT/v1/charges/{id}/release
Cancel a charge
PUT/v1/charges/{id}/cancel
Get a charge by id.
GET/v1/charges/{id}/unmask

Funding Events

Funding events represent all money movement between Straddle and an Account's external bank accounts. They are automatically generated when charges settle or payouts are initiated. Each event provides detailed tracking of settlement status, fee breakdowns, and reconciliation data across both incoming and outgoing transfers. Use funding events to monitor your platform's entire money movement lifecycle.

List funding events
GET/v1/funding_events
Lookup a funding event
GET/v1/funding_events/{id}

Payments

Payments provide endpoints to filter both Charges and Payouts with multiple different parameters.

Search payments
GET/v1/payments

Payouts

Payouts represent transfers from Straddle to customer bank accounts. Create payouts to handle disbursements, process refunds, or manage marketplace settlements. Use payouts to send money quickly and securely with the most cost-effective rail automatically selected.

Lookup a payout
GET/v1/payouts/{id}
Update a payout
PUT/v1/payouts/{id}
Create a payout
POST/v1/payouts
Hold a payout
PUT/v1/payouts/{id}/hold
Release a payout
PUT/v1/payouts/{id}/release
Cancel a payout
PUT/v1/payouts/{id}/cancel
Get a payout by id.
GET/v1/payouts/{id}/unmask

Reports

Create Total Customers By Status
POST/v1/reports/total_customers_by_status