# Update a source

Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.

This request accepts the `metadata` and `owner` as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](https://docs.stripe.com/sources.md) for more detail.

## Request

```curl
curl https://api.stripe.com/v1/sources/{{SOURCE_ID}} \
  -u "<<YOUR_SECRET_KEY>>" \
  -d "metadata[order_id]=6735"
```

### Response

```json
{
  "id": "src_1N3lxdLkdIwHu7ixPHXy8UcI",
  "object": "source",
  "ach_credit_transfer": {
    "account_number": "test_eb829353ed79",
    "bank_name": "TEST BANK",
    "fingerprint": "kBQsBk9KtfCgjEYK",
    "refund_account_holder_name": null,
    "refund_account_holder_type": null,
    "refund_routing_number": null,
    "routing_number": "110000000",
    "swift_code": "TSTEZ122"
  },
  "amount": null,
  "client_secret": "src_client_secret_ZaOIRUD8a9uGmQobLxGvqKSr",
  "created": 1683144457,
  "currency": "usd",
  "flow": "receiver",
  "livemode": false,
  "metadata": {
    "order_id": "6735"
  },
  "owner": {
    "address": null,
    "email": "jenny.rosen@example.com",
    "name": null,
    "phone": null,
    "verified_address": null,
    "verified_email": null,
    "verified_name": null,
    "verified_phone": null
  },
  "receiver": {
    "address": "110000000-test_eb829353ed79",
    "amount_charged": 0,
    "amount_received": 0,
    "amount_returned": 0,
    "refund_attributes_method": "email",
    "refund_attributes_status": "missing"
  },
  "statement_descriptor": null,
  "status": "pending",
  "type": "ach_credit_transfer",
  "usage": "reusable"
}
```

## Returns

Returns the source object if the update succeeded. This call will raise [an error](https://docs.stripe.com/api/sources/update.md#errors) if update parameters are invalid.

## Parameters

- `amount` (integer, optional)
  Amount associated with the source.

- [`mandate`](https://docs.stripe.com/api/sources/update.md?query=mandate) (object, optional)
  Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.

- `metadata` (map, optional)
  Set of [key-value pairs](https://docs.stripe.com/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.

- [`owner`](https://docs.stripe.com/api/sources/update.md?query=owner) (object, optional)
  Information about the owner of the payment instrument that may be used or required by particular source types.

- [`source_order`](https://docs.stripe.com/api/sources/update.md?query=source_order) (object, optional)
  Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.
