# 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 <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2025-04-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"
}
```
