# Treasury Debit Reversals

You can reverse some ReceivedDebits depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal.

## Create a DebitReversal

POST `/v1/treasury/debit_reversals`

Reverses a ReceivedDebit and creates a DebitReversal object.

**Parameters**

*   `received_debit` string
    *   Required
    *   The ReceivedDebit to reverse.
*   `metadata` object
    *   Set of key-value pairs 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.

**Returns**
A DebitReversal object.

## Retrieve a DebitReversal

GET `/v1/treasury/debit_reversals/:id`

Retrieves a DebitReversal object.

**Parameters**
No parameters.

**Returns**
A DebitReversal object.

## List all DebitReversals

GET `/v1/treasury/debit_reversals`

Returns a list of DebitReversals.

**Parameters**

*   `financial_account` string
    *   Returns objects associated with this FinancialAccount.
*   `received_debit` string
    *   Only return DebitReversals for the ReceivedDebit ID.
*   `resolution` enum
    *   Only return DebitReversals for a given resolution.
    *   Possible enum values: `lost`, `won`
*   `status` enum
    *   Only return DebitReversals for a given status.
    *   Possible enum values: `failed`, `processing`, `succeeded`

**More parameters**

*   `ending_before` string
*   `limit` integer
*   `starting_after` string

**Returns**
A dictionary with a `data` property that contains an array of up to `limit` DebitReversals, starting after DebitReversal `starting_after`. Each entry in the array is a separate DebitReversal object. If no more DebitReversals are available, the resulting array will be empty.

## The DebitReversal object

**Attributes**

*   `id` string
    *   Unique identifier for the object.
*   `object` string
    *   String representing the object’s type. Objects of the same type share the same value.
*   `amount` integer
    *   Amount (in cents) transferred.
*   `created` timestamp
    *   Time at which the object was created. Measured in seconds since the Unix epoch.
*   `currency` enum
    *   Three-letter ISO currency code, in lowercase. Must be a supported currency.
*   `financial_account` nullable string
    *   The FinancialAccount to reverse funds from.
*   `hosted_regulatory_receipt_url` nullable string
    *   A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe’s money transmission licenses.
*   `linked_flows` nullable object
    *   Other flows linked to a DebitReversal.
*   `livemode` boolean
    *   If the object exists in live mode, the value is true. If the object exists in test mode, the value is false.
*   `metadata` object
    *   Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
*   `network` enum
    *   The rails used to reverse the funds.
*   `received_debit` string
    *   The ReceivedDebit being reversed.
*   `status` enum
    *   Status of the DebitReversal
    *   Possible enum values: `failed`, `processing`, `succeeded`
*   `status_transitions` object
    *   Hash containing timestamps of when the object transitioned to a particular status.
*   `transaction` nullable string
    *   Expandable
    *   The Transaction associated with this object.