Skip to content
Get started

Create a linked bank account

LinkedBankAccountV1 Embed.LinkedBankAccounts.Create(LinkedBankAccountCreateParamsparameters, CancellationTokencancellationToken = default)
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
LinkedBankAccountCreateParams parameters
required string? accountID

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

formatuuid
required BankAccount bankAccount

Body param

required string AccountHolder

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.

required string AccountNumber

The bank account number.

required string RoutingNumber

The routing number of the bank account.

minLength9
maxLength9
string? description

Body param: Optional description for the bank account.

IReadOnlyDictionary<string, string>? metadata

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

string? platformID

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

formatuuid
IReadOnlyList<Purpose>? purposes

Body param: The purposes for the linked bank account.

"charges"Charges
"payouts"Payouts
"billing"Billing
string correlationID

Header param: Optional client generated identifier to trace and debug a series of requests.

string idempotencyKey

Header param: Optional client generated value to use for idempotent requests.

maxLength40
minLength10
string requestID

Header param: Optional client generated identifier to trace and debug a request.

ReturnsExpand Collapse
class LinkedBankAccountV1:
required Data Data
required string ID

Unique identifier for the linked bank account.

formatuuid
required string? AccountID

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

formatuuid
required BankAccount BankAccount
required string AccountHolder
required string AccountMask
required string InstitutionName
required string RoutingNumber
required DateTimeOffset CreatedAt

Timestamp of when the bank account object was created.

formatdate-time
required IReadOnlyList<Purpose> Purposes

The purposes for the linked bank account.

One of the following:
"charges"Charges
"payouts"Payouts
"billing"Billing
required Status Status

The current status of the linked bank account.

One of the following:
"created"Created
"onboarding"Onboarding
"active"Active
"rejected"Rejected
"inactive"Inactive
"canceled"Canceled
required StatusDetail StatusDetail
required string Code

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

required string Message

A human-readable message describing the current status.

required Reason Reason

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

One of the following:
"unverified"Unverified
"in_review"InReview
"pending"Pending
"stuck"Stuck
"verified"Verified
"failed_verification"FailedVerification
"disabled"Disabled
"new"New
required Source Source

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

required DateTimeOffset UpdatedAt

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

formatdate-time
string? Description

Optional description for the bank account.

IReadOnlyDictionary<string, string>? Metadata

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

string? PlatformID

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

formatuuid
required ResponseMetadata Meta

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

required string ApiRequestID

Unique identifier for this API request, useful for troubleshooting.

formatuuid
required DateTimeOffset ApiRequestTimestamp

Timestamp for this API request, useful for troubleshooting.

formatdate-time
required ResponseType ResponseType

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.
One of the following:
"object"Object
"array"Array
"error"Error
"none"None

Create a linked bank account

LinkedBankAccountCreateParams parameters = new()
{
    AccountID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    BankAccount = new()
    {
        AccountHolder = "account_holder",
        AccountNumber = "account_number",
        RoutingNumber = "xxxxxxxxx",
    },
};

var linkedBankAccountV1 = await client.Embed.LinkedBankAccounts.Create(parameters);

Console.WriteLine(linkedBankAccountV1);
{
  "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"
}