---
title: "Updates a refund for an order or a specific order charge"
method: POST
path: "/refunds/{id}"
tags: ["Refunds"]
---

# Updates a refund for an order or a specific order charge

`POST /refunds/{id}`

Updates the specified refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata as an argument.

## Path parameters

- `id` string, required

## Request body

- UpdateRefundRequest
  - `metadata` Metadata — Key-value pairs used to store additional data. Value can be string, boolean or integer types.

## Response `200`

200 OK

- OrderRefund
  - `id` string — The unique identifier of the refund.
  - `createdTime` string, date-time — Time at which the refund was created.
  - `orderId` string — The unique identifier of the order.
  - `invoiceId` string — The unique identifier of the invoice.
  - `currency` string — Three-letter ISO currency code.
  - `type` 'shipping' | 'tax' | 'duty' | 'importer_tax' — The type of refund.
  - `amount` number, double — The requested refund amount.
  - `refundedAmount` number, double — The total amount refunded.
  - `items` RefundItem[]
    - `type` 'shipping' | 'fees' | 'duty' — The type of refund.
    - `itemId` string — The identifier of the item.
    - `skuId` string — The identifier of the SKU.
    - `quantity` integer — The number of returned items.
    - `amount` number, double, nullable — The requested refund amount.
    - `percent` number, double, nullable — The requested refund percent.
    - `refundedAmount` number, double, nullable — The total amount refunded.
  - `reason` string — The reason for the refund.
  - `failureReason` string — The reason for the refund failure, if known.
  - `state` 'pending_information' | 'pending' | 'succeeded' | 'failed' | 'expired' — The state of the refund.
  - `tokenInformation` TokenInformation
    - `token` string — Token to use with digitalriver.js to obtain customer information required to refund charge.
    - `expiresTime` string, date-time — Time at which the information token expires.
  - `expiresTime` string, date-time — Time at which the information token expires.
  - `liveMode` boolean — Has the value true if the object exists in live mode or the value false if the object exists in test mode.
  - `charges` Charges[]
    - `id` string — The unique identifier of the charge
    - `captured` boolean — Indicates if the charge has been captured.
    - `refunded` boolean — Indicates if the charge has been refunded.
    - `refunds` RefundCharges[]
      - `createdTime` string, date-time — The time that the refund was created.
      - `amount` number, double — The amount of the refund.
      - `state` 'pending' | 'complete' | 'failed' — The state of the refund.
    - `sourceId` string — The unique identifier of the source.
  - `source` string — The source of the refund.
  - `metadata` Metadata — Key-value pairs used to store additional data. Value can be string, boolean or integer types.

## Other responses

- `400` — 400 Bad Request
- `401` — 401 Unauthorized
- `403` — 403 Forbidden
- `404` — 401 Not Found
- `405` — 405 Method Not Allowed
- `406` — 406 Not Acceptable
- `408` — 408 Request Timeout
- `409` — 409 Conflict
- `429` — 429 Too Many Requests
- `500` — 500 Internal Server Error
- `502` — 502 Bad Gateway Error
- `503` — 503 Service Unavailable Error
- `504` — 504 Gateway Timeout Error

---

[API](https://skmtc.net/digitalriver/apis/digital-river-api-reference.md) · [All operations](https://skmtc.net/digitalriver/apis/digital-river-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/digitalriver/digital-river-api-reference/revisions/f21981db32be/schema)
