Sample - Stripe API
POST/v1/transfers/{transfer}

Update a transfer

Updates an existing transfer without changing values that you omit. Use the request body to change the transfer description, manage metadata, or request expanded response fields.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.
  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

1 parameter · 3 body fields
transferstringrequired
The unique identifier of the transfer to update.

Optional URL-encoded fields for updating a transfer.

descriptionstringoptional
An arbitrary string attached to the object. Often useful for displaying to users.
expandarray<string>optional
Specifies which fields in the response should be expanded.
metadataobjectoptional
Set of [key-value pairs](https://docs.stripe.com/api/metadata) 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`.

2 status codes
200Returns the updated transfer object, including its current amount, destination, reversal state, metadata, and related balance information.
amountintegerrequired
Amount in cents (or local equivalent) to be transferred.
amount_reversedintegerrequired
Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).
balance_transactionstringoptional
Balance transaction that describes the impact of this transfer on your account balance.
createdintegerrequired
Time that this record of the transfer was first created.
currencystringrequired
Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
descriptionstringoptional
An arbitrary string attached to the object. Often useful for displaying to users.
destinationstringoptional
ID of the Stripe account the transfer was sent to.
destination_paymentstringoptional
If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.
idstringrequired
Unique identifier for the object.
livemodebooleanrequired
If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
metadataobjectrequired
Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
objectstringrequired
String representing the object's type. Objects of the same type share the same value.
Allowed:transfer
reversalsobjectrequired
A list of reversals that have been applied to the transfer.
reversedbooleanrequired
Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.
source_transactionstringoptional
ID of the charge that was used to fund the transfer. If null, the transfer was funded from the available balance.
source_typestringoptional
The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`.
transfer_groupstringoptional
A string that identifies this transaction as part of a group. See the [Connect documentation](https://docs.stripe.com/connect/separate-charges-and-transfers#transfer-options) for details.
defaultError response.
errorobjectrequired

Error handling

transfer must identify an existing transfer. description must not exceed 5000 characters, and metadata must contain string key-value pairs or an empty value when unsetting metadata.