---
title: "Updates an existing return"
method: POST
path: "/returns/{id}"
tags: ["Returns"]
---

# Updates an existing return

`POST /returns/{id}`

Updates an  existing return.

## Path parameters

- `id` string, required

## Request body

- UpdateReturnsRequest
  - `location` ReturnsLocation
    - `address` ReturnsAddress, required
      - `line1` string, nullable, required
      - `line2` string
      - `city` string, nullable, required
      - `postalCode` string, nullable, required
      - `state` string, nullable, required
      - `country` string, required
    - `name` string, nullable
    - `phone` string, nullable
    - `email` string, email, nullable
  - `state` 'accepted' — Enumeration indicating the state of the return.
  - `items` UpdateReturnsItem[]
    - `itemId` string — The identifier of the item.
    - `skuId` string — The identifier of the SKU.
    - `quantity` integer, required
    - `state` 'accepted', required — An enumeration indicating the state of the return item.
  - `metadata` Metadata — Key-value pairs used to store additional data. Value can be string, boolean or integer types.

## Response `200`

200 OK

- ReturnsResponse
  - `id` string — The unique identifier of the return.
  - `createdTime` string, date-time — The time at which the return was created.
  - `updatedTime` string, date-time — The time at which the return was updated.
  - `orderId` string — The unique identifier of the order.
  - `currency` string — A three-letter ISO currency code.
  - `items` ReturnsItem[]
    - `itemId` string — The identifier of the item.
    - `skuId` string — The identifier of the SKU.
    - `amount` number, double
    - `quantity` integer
    - `quantityAccepted` integer
    - `state` 'created' | 'accepted' — The current state of the return item.
  - `reason` string — The reason for the return.
  - `failureReason` string — An enumeration indicating the reason for the return failure, if known.
  - `state` 'created' | 'accepted' — An enumeration indicating the state of the return.
  - `location` ReturnsLocation
    - `address` ReturnsAddress, required
      - `line1` string, nullable, required
      - `line2` string
      - `city` string, nullable, required
      - `postalCode` string, nullable, required
      - `state` string, nullable, required
      - `country` string, required
    - `name` string, nullable
    - `phone` string, nullable
    - `email` string, email, nullable
  - `liveMode` boolean — Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
  - `metadata` Metadata — Key-value pairs used to store additional data. Value can be string, boolean or integer types.
  - `refundIds` string[]

## 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)
