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

Open in Claude
Open in ChatGPT

Cancel a linked bank account

embed.linked_bank_accounts.cancel(linked_bank_account_id, **kwargs) -> LinkedBankAccountV1 { data, meta, response_type }
patch/v1/linked_bank_accounts/{linked_bank_account_id}/cancel

Cancels an existing linked bank account. This can be used to cancel a linked bank account before it has been reviewed. The linked bank account must be in 'created' status.

ParametersExpand Collapse
linked_bank_account_id: String
correlation_id: String
idempotency_key: String
request_id: String
ReturnsExpand Collapse
class LinkedBankAccountV1 { data, meta, response_type }
data: { id, account_id, bank_account, 8 more}
id: String

Unique identifier for the linked bank account.

formatuuid
account_id: String

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

formatuuid
bank_account: { account_holder, account_mask, institution_name, routing_number}
account_holder: String
account_mask: String
institution_name: String
routing_number: String
created_at: Time

Timestamp of when the bank account object was created.

formatdate-time
purposes: Array[:charges | :payouts | :billing]

The purposes for the linked bank account.

Accepts one of the following:
:charges
:payouts
:billing
status: :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: { 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 | 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: :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: Time

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

formatdate-time
description: String

Optional description for the bank account.

metadata: Hash[Symbol, String]

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: String

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

formatuuid
meta: ResponseMetadata { api_request_id, api_request_timestamp }

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

api_request_id: String

Unique identifier for this API request, useful for troubleshooting.

formatuuid
api_request_timestamp: Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
response_type: :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
Cancel a linked bank account
require "straddle"

straddle = Straddle::Client.new(
  api_key: "My API Key",
  environment: "production" # defaults to "sandbox"
)

linked_bank_account_v1 = straddle.embed.linked_bank_accounts.cancel("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

puts(linked_bank_account_v1)
{
  "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"
}