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

Open in Claude
Open in ChatGPT

Create a linked bank account

embed.linked_bank_accounts.create(LinkedBankAccountCreateParams**kwargs) -> LinkedBankAccountV1
post/v1/linked_bank_accounts

Creates a new linked bank account associated with a Straddle account. This endpoint allows you to associate external bank accounts with a Straddle account for various payment operations such as payment deposits, payout withdrawals, and more.

ParametersExpand Collapse
account_id: Optional[str]

The unique identifier of the Straddle account to associate this bank account with.

formatuuid
bank_account: BankAccount
account_holder: str

The name of the account holder as it appears on the bank account. Typically, this is the legal name of the business associated with the account.

account_number: str

The bank account number.

routing_number: str

The routing number of the bank account.

minLength9
maxLength9
description: Optional[str]

Optional description for the bank account.

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

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

platform_id: Optional[str]

The unique identifier of the Straddle Platform to associate this bank account with.

formatuuid
purposes: Optional[List[Literal["charges", "payouts", "billing"]]]

The purposes for the linked bank account.

Accepts one of the following:
"charges"
"payouts"
"billing"
correlation_id: Optional[str]
idempotency_key: Optional[str]
request_id: Optional[str]
ReturnsExpand Collapse
class LinkedBankAccountV1:
data: Data
id: str

Unique identifier for the linked bank account.

formatuuid
account_id: Optional[str]

The unique identifier of the Straddle account related to this bank account.

formatuuid
bank_account: DataBankAccount
account_holder: str
account_mask: str
institution_name: str
routing_number: str
created_at: datetime

Timestamp of when the bank account object was created.

formatdate-time
purposes: List[Literal["charges", "payouts", "billing"]]

The purposes for the linked bank account.

Accepts one of the following:
"charges"
"payouts"
"billing"
status: Literal["created", "onboarding", "active", 3 more]

The current status of the linked bank account.

Accepts one of the following:
"created"
"onboarding"
"active"
"rejected"
"inactive"
"canceled"
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", 5 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"
"new"
source: Literal["watchtower"]

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

Accepts one of the following:
"watchtower"
updated_at: datetime

Timestamp of the most recent update to the linked bank account.

formatdate-time
description: Optional[str]

Optional description for the bank account.

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

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

platform_id: Optional[str]

The unique identifier of the Straddle Platform relatd to this bank account.

formatuuid

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"
Create a linked bank account
from straddle import Straddle

client = Straddle(
    api_key="My API Key",
)
linked_bank_account_v1 = client.embed.linked_bank_accounts.create(
    account_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    bank_account={
        "account_holder": "account_holder",
        "account_number": "account_number",
        "routing_number": "xxxxxxxxx",
    },
)
print(linked_bank_account_v1.data)
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "bank_account": {
      "account_holder": "account_holder",
      "account_mask": "account_mask",
      "institution_name": "institution_name",
      "routing_number": "routing_number"
    },
    "created_at": "2019-12-27T18:11:19.117Z",
    "purposes": [
      "charges"
    ],
    "status": "created",
    "status_detail": {
      "code": "code",
      "message": "message",
      "reason": "unverified",
      "source": "watchtower"
    },
    "updated_at": "2019-12-27T18:11:19.117Z",
    "description": "description",
    "metadata": {
      "foo": "string"
    },
    "platform_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}
Returns Examples
{
  "data": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "bank_account": {
      "account_holder": "account_holder",
      "account_mask": "account_mask",
      "institution_name": "institution_name",
      "routing_number": "routing_number"
    },
    "created_at": "2019-12-27T18:11:19.117Z",
    "purposes": [
      "charges"
    ],
    "status": "created",
    "status_detail": {
      "code": "code",
      "message": "message",
      "reason": "unverified",
      "source": "watchtower"
    },
    "updated_at": "2019-12-27T18:11:19.117Z",
    "description": "description",
    "metadata": {
      "foo": "string"
    },
    "platform_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "meta": {
    "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "api_request_timestamp": "2019-12-27T18:11:19.117Z"
  },
  "response_type": "object"
}