# Linked Bank Accounts ## Create a linked bank account `$ straddle embed:linked-bank-accounts create` **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. ### Parameters - `--account-id: string` Body param: The unique identifier of the Straddle account to associate this bank account with. - `--bank-account: object { account_holder, account_number, routing_number }` Body param - `--description: optional string` Body param: Optional description for the bank account. - `--metadata: optional map[string]` 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. - `--platform-id: optional string` Body param: The unique identifier of the Straddle Platform to associate this bank account with. - `--purpose: optional array of "charges" or "payouts" or "billing"` Body param: The purposes for the linked bank account. - `--correlation-id: optional string` Header param: Optional client generated identifier to trace and debug a series of requests. - `--idempotency-key: optional string` Header param: Optional client generated value to use for idempotent requests. - `--request-id: optional string` Header param: Optional client generated identifier to trace and debug a request. ### Returns - `linkedBankAccountV1: object { data, meta, response_type }` - `data: object { id, account_id, bank_account, 8 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` The unique identifier of the Straddle account related to this bank account. - `bank_account: object { account_holder, account_mask, institution_name, routing_number }` - `account_holder: string` - `account_mask: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the bank account object was created. - `purposes: array of "charges" or "payouts" or "billing"` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { 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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of the most recent update to the linked bank account. - `description: optional string` Optional description for the bank account. - `metadata: optional map[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: optional string` The unique identifier of the Straddle Platform relatd to this bank account. - `meta: object { 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. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```cli straddle embed:linked-bank-accounts create \ --api-key 'My API Key' \ --account-id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e \ --bank-account '{account_holder: account_holder, account_number: account_number, routing_number: xxxxxxxxx}' ``` #### Response ```json { "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" } ``` ## List linked bank accounts `$ straddle embed:linked-bank-accounts list` **get** `/v1/linked_bank_accounts` Returns a list of bank accounts associated with a specific Straddle account. The linked bank accounts are returned sorted by creation date, with the most recently created appearing first. This endpoint supports pagination to handle accounts with multiple linked bank accounts. ### Parameters - `--account-id: optional string` Query param: The unique identifier of the related account. - `--level: optional "account" or "platform"` Query param - `--page-number: optional number` Query param: Results page number. Starts at page 1. - `--page-size: optional number` Query param: Page size. Max value: 1000 - `--purpose: optional "charges" or "payouts" or "billing"` Query param: The purpose of the linked bank accounts to return. Possible values: 'charges', 'payouts', 'billing'. - `--sort-by: optional string` Query param: Sort By. - `--sort-order: optional "asc" or "desc"` Query param: Sort Order. - `--status: optional "created" or "onboarding" or "active" or 3 more` Query param: The status of the linked bank accounts to return. Possible values: 'created', 'onboarding', 'active', 'inactive', 'rejected'. - `--correlation-id: optional string` Header param: Optional client generated identifier to trace and debug a series of requests. - `--request-id: optional string` Header param: Optional client generated identifier to trace and debug a request. ### Returns - `linkedBankAccountPagedV1: object { data, meta, response_type }` - `data: array of object { id, account_id, bank_account, 8 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` The unique identifier of the Straddle account related to this bank account. - `bank_account: object { account_holder, account_mask, institution_name, routing_number }` - `account_holder: string` - `account_mask: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the bank account object was created. - `purposes: array of "charges" or "payouts" or "billing"` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { 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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of the most recent update to the linked bank account. - `description: optional string` Optional description for the bank account. - `metadata: optional map[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: optional string` The unique identifier of the Straddle Platform relatd to this bank account. - `meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }` 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" or "desc"` - `"asc"` - `"desc"` - `total_items: number` Total number of items returned in this response. - `total_pages: number` The number of pages available. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```cli straddle embed:linked-bank-accounts list \ --api-key 'My API Key' ``` #### Response ```json { "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", "max_page_size": 0, "page_number": 0, "page_size": 0, "sort_by": "sort_by", "sort_order": "asc", "total_items": 0, "total_pages": 0 }, "response_type": "object" } ``` ## Update a linked bank account `$ straddle embed:linked-bank-accounts update` **put** `/v1/linked_bank_accounts/{linked_bank_account_id}` Updates an existing linked bank account's information. This can be used to update account details during onboarding or to update metadata associated with the linked account. The linked bank account must be in 'created' or 'onboarding' status. ### Parameters - `--linked-bank-account-id: string` Path param - `--bank-account: object { account_holder, account_number, routing_number }` Body param - `--metadata: optional map[string]` 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. - `--correlation-id: optional string` Header param: Optional client generated identifier to trace and debug a series of requests. - `--idempotency-key: optional string` Header param: Optional client generated value to use for idempotent requests. - `--request-id: optional string` Header param: Optional client generated identifier to trace and debug a request. ### Returns - `linkedBankAccountV1: object { data, meta, response_type }` - `data: object { id, account_id, bank_account, 8 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` The unique identifier of the Straddle account related to this bank account. - `bank_account: object { account_holder, account_mask, institution_name, routing_number }` - `account_holder: string` - `account_mask: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the bank account object was created. - `purposes: array of "charges" or "payouts" or "billing"` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { 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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of the most recent update to the linked bank account. - `description: optional string` Optional description for the bank account. - `metadata: optional map[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: optional string` The unique identifier of the Straddle Platform relatd to this bank account. - `meta: object { 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. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```cli straddle embed:linked-bank-accounts update \ --api-key 'My API Key' \ --linked-bank-account-id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e \ --bank-account '{account_holder: account_holder, account_number: account_number, routing_number: xxxxxxxxx}' ``` #### Response ```json { "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" } ``` ## Lookup a linked bank account `$ straddle embed:linked-bank-accounts get` **get** `/v1/linked_bank_accounts/{linked_bank_account_id}` Retrieves the details of a linked bank account that has previously been created. Supply the unique linked bank account `id`, and Straddle will return the corresponding information. The response includes masked account details for security purposes. ### Parameters - `--linked-bank-account-id: string` - `--correlation-id: optional string` Optional client generated identifier to trace and debug a series of requests. - `--request-id: optional string` Optional client generated identifier to trace and debug a request. ### Returns - `linkedBankAccountV1: object { data, meta, response_type }` - `data: object { id, account_id, bank_account, 8 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` The unique identifier of the Straddle account related to this bank account. - `bank_account: object { account_holder, account_mask, institution_name, routing_number }` - `account_holder: string` - `account_mask: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the bank account object was created. - `purposes: array of "charges" or "payouts" or "billing"` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { 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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of the most recent update to the linked bank account. - `description: optional string` Optional description for the bank account. - `metadata: optional map[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: optional string` The unique identifier of the Straddle Platform relatd to this bank account. - `meta: object { 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. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```cli straddle embed:linked-bank-accounts get \ --api-key 'My API Key' \ --linked-bank-account-id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e ``` #### Response ```json { "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" } ``` ## Unmask a linked bank account `$ straddle embed:linked-bank-accounts unmask` **get** `/v1/linked_bank_accounts/{linked_bank_account_id}/unmask` Retrieves the unmasked details of a linked bank account that has previously been created. Supply the unique linked bank account `id`, and Straddle will return the corresponding information, including sensitive details. This endpoint needs to be enabled by Straddle for your account and should only be used when absolutely necessary. ### Parameters - `--linked-bank-account-id: string` - `--correlation-id: optional string` Optional client generated identifier to trace and debug a series of requests. - `--request-id: optional string` Optional client generated identifier to trace and debug a request. ### Returns - `linkedBankAccountUnmaskV1: object { data, meta, response_type }` - `data: object { id, account_id, bank_account, 5 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` Unique identifier for the Straddle account related to this bank account. - `bank_account: object { account_holder, account_number, institution_name, routing_number }` The bank account details associated with the linked bank account. - `account_holder: string` - `account_number: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the linked bank account was created. - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { code, message, reason, source }` Additional details about the current status of the linked bank account. - `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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of when the linked bank account was last updated. - `metadata: optional map[string]` - `meta: object { 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. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```cli straddle embed:linked-bank-accounts unmask \ --api-key 'My API Key' \ --linked-bank-account-id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e ``` #### Response ```json { "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "account_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "bank_account": { "account_holder": "account_holder", "account_number": "account_number", "institution_name": "institution_name", "routing_number": "routing_number" }, "created_at": "2019-12-27T18:11:19.117Z", "status": "created", "status_detail": { "code": "code", "message": "message", "reason": "unverified", "source": "watchtower" }, "updated_at": "2019-12-27T18:11:19.117Z", "metadata": { "foo": "string" } }, "meta": { "api_request_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "api_request_timestamp": "2019-12-27T18:11:19.117Z" }, "response_type": "object" } ``` ## Cancel a linked bank account `$ straddle embed:linked-bank-accounts cancel` **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. ### Parameters - `--linked-bank-account-id: string` - `--correlation-id: optional string` Optional client generated identifier to trace and debug a series of requests. - `--idempotency-key: optional string` Optional client generated value to use for idempotent requests. - `--request-id: optional string` Optional client generated identifier to trace and debug a request. ### Returns - `linkedBankAccountV1: object { data, meta, response_type }` - `data: object { id, account_id, bank_account, 8 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` The unique identifier of the Straddle account related to this bank account. - `bank_account: object { account_holder, account_mask, institution_name, routing_number }` - `account_holder: string` - `account_mask: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the bank account object was created. - `purposes: array of "charges" or "payouts" or "billing"` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { 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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of the most recent update to the linked bank account. - `description: optional string` Optional description for the bank account. - `metadata: optional map[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: optional string` The unique identifier of the Straddle Platform relatd to this bank account. - `meta: object { 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. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```cli straddle embed:linked-bank-accounts cancel \ --api-key 'My API Key' \ --linked-bank-account-id 182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e ``` #### Response ```json { "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" } ``` ## Domain Types ### Linked Bank Account Paged V1 - `linkedBankAccountPagedV1: object { data, meta, response_type }` - `data: array of object { id, account_id, bank_account, 8 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` The unique identifier of the Straddle account related to this bank account. - `bank_account: object { account_holder, account_mask, institution_name, routing_number }` - `account_holder: string` - `account_mask: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the bank account object was created. - `purposes: array of "charges" or "payouts" or "billing"` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { 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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of the most recent update to the linked bank account. - `description: optional string` Optional description for the bank account. - `metadata: optional map[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: optional string` The unique identifier of the Straddle Platform relatd to this bank account. - `meta: object { api_request_id, api_request_timestamp, max_page_size, 6 more }` 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" or "desc"` - `"asc"` - `"desc"` - `total_items: number` Total number of items returned in this response. - `total_pages: number` The number of pages available. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Linked Bank Account Unmask V1 - `linkedBankAccountUnmaskV1: object { data, meta, response_type }` - `data: object { id, account_id, bank_account, 5 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` Unique identifier for the Straddle account related to this bank account. - `bank_account: object { account_holder, account_number, institution_name, routing_number }` The bank account details associated with the linked bank account. - `account_holder: string` - `account_number: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the linked bank account was created. - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { code, message, reason, source }` Additional details about the current status of the linked bank account. - `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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of when the linked bank account was last updated. - `metadata: optional map[string]` - `meta: object { 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. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"` ### Linked Bank Account V1 - `linkedBankAccountV1: object { data, meta, response_type }` - `data: object { id, account_id, bank_account, 8 more }` - `id: string` Unique identifier for the linked bank account. - `account_id: string` The unique identifier of the Straddle account related to this bank account. - `bank_account: object { account_holder, account_mask, institution_name, routing_number }` - `account_holder: string` - `account_mask: string` - `institution_name: string` - `routing_number: string` - `created_at: string` Timestamp of when the bank account object was created. - `purposes: array of "charges" or "payouts" or "billing"` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: "created" or "onboarding" or "active" or 3 more` The current status of the linked bank account. - `"created"` - `"onboarding"` - `"active"` - `"rejected"` - `"inactive"` - `"canceled"` - `status_detail: object { 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" or "in_review" or "pending" or 5 more` A machine-readable identifier for the specific status, useful for programmatic handling. - `"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. - `"watchtower"` - `updated_at: string` Timestamp of the most recent update to the linked bank account. - `description: optional string` Optional description for the bank account. - `metadata: optional map[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: optional string` The unique identifier of the Straddle Platform relatd to this bank account. - `meta: object { 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. - `api_request_timestamp: string` Timestamp for this API request, useful for troubleshooting. - `response_type: "object" or "array" or "error" or "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. - `"object"` - `"array"` - `"error"` - `"none"`