# Update a UsBankAccount object Update a USBankAccount object. This is limited to supplying a previously empty routing_number field. ## Parameters - `id` (string, required) The ID of the USBankAccount object. - `fedwire_routing_number` (string, optional) The bank account’s fedwire routing number can be provided for update it was were empty previously. - `routing_number` (string, optional) The bank account’s ACH routing number can be provided for update if it was empty previously. ## Returns ## Response attributes - `id` (string) The ID of the USBankAccount object. - `object` (string, value is "v2.core.vault.us_bank_account") String representing the object’s type. Objects of the same type share the same value of the object field. - `archived` (boolean) Whether this USBankAccount object was archived. - `bank_account_type` (enum) The type of bank account (checking or savings). Possible enum values: - `checking` Checkings account. - `savings` Savings account. - `bank_name` (string) The name of the bank this bank account belongs to. This field is populated automatically by Stripe based on the routing number. - `created` (timestamp) Creation time of the object. - `fedwire_routing_number` (string, nullable) The fedwire routing number of the bank account. - `last4` (string) The last 4 digits of the account number. - `livemode` (boolean) Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - `routing_number` (string, nullable) The ACH routing number of the bank account. ## Error Codes | HTTP status code | Code | Description | | ---------------- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 400 | archived_us_bank_account | Returned in cases where the bank account cannot be updated due to being archived. | | 400 | blocked_us_bank_account | Returned in cases where the bank account cannot be used due to suspicious activity. | | 400 | invalid_us_bank_account | Returned in cases where the bank account provided is not valid (wrong format of account number or a routing number that does not correspond to a banking institution). | | 400 | limit_us_bank_account | Returned when the number of USBankAccount objects on a given V2 Account has exceeded the limit of 10. USBankAccount objects may be deactivated with /deactivate, at which point they will not count against the limit. If you are not passing a V2 Account ID in the Stripe-Context header you may receive this error since you are creating all your USBankAccount objects in your own workspace. | | 400 | unsupported_us_bank | Returned in cases where Stripe is unable to support this bank at this time. | | 400 | us_bank_account_field_already_exists | Returned in cases where the bank account cannot be updated due to requesting to update a field that already exists. | | 404 | not_found | The resource wasn’t found. | | 409 | idempotency_error | An idempotent retry occurred with different request parameters. | ```curl curl -X POST https://api.stripe.com/v2/core/vault/us_bank_accounts/usba_test_61OHSEF60mEpRiXpR16NqdMu76SQRZLd31xuji87MN5M \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2025-06-30.preview" \ -H "Stripe-Context: {{CONTEXT}}" \ --json {"fedwire_routing_number":"110000000"} ``` ### Response ```json { "id": "usba_test_61OHSEF60mEpRiXpR16NqdMu76SQRZLd31xuji87MN5M", "object": "v2.core.vault.us_bank_account", "bank_account_type": "checking", "bank_name": "Test Bank", "created": "2023-05-15T16:29:15.738Z", "archived": false, "last4": "6789", "routing_number": "110000000", "livemode": true } ```