## Update a linked bank account `embed.linked_bank_accounts.update(strlinked_bank_account_id, LinkedBankAccountUpdateParams**kwargs) -> LinkedBankAccountV1` **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: str` - `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. - `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. - `correlation_id: Optional[str]` - `idempotency_key: Optional[str]` - `request_id: Optional[str]` ### Returns - `class LinkedBankAccountV1: …` - `data: Data` - `id: str` Unique identifier for the linked bank account. - `account_id: Optional[str]` The unique identifier of the Straddle account related to this bank account. - `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. - `purposes: List[Literal["charges", "payouts", "billing"]]` The purposes for the linked bank account. - `"charges"` - `"payouts"` - `"billing"` - `status: Literal["created", "onboarding", "active", 3 more]` The current status of the linked bank account. - `"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. - `"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. - `"watchtower"` - `updated_at: datetime` Timestamp of the most recent update to the linked bank account. - `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. - `meta: ResponseMetadata` Metadata about the API request, including an identifier and timestamp. - `api_request_id: str` Unique identifier for this API request, useful for troubleshooting. - `api_request_timestamp: datetime` Timestamp for this API request, useful for troubleshooting. - `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. - `"object"` - `"array"` - `"error"` - `"none"` ### Example ```python import os from straddle import Straddle client = Straddle( api_key=os.environ.get("STRADDLE_API_KEY"), # This is the default and can be omitted ) linked_bank_account_v1 = client.embed.linked_bank_accounts.update( linked_bank_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) ``` #### 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" } ```