---
title: "Creates a return"
method: POST
path: "/returns"
tags: ["Returns"]
---

# Creates a return

`POST /returns`

Returns all or part of a previously created order.

## Request body

- ReturnsRequest
  - `orderId` string, required — The unique identifier of the Order associated with the Return.
  - `reason` string — The reason for the return.
  - `items` RequestReturnsItem[], required
    - `itemId` string — The identifier of the item.
    - `skuId` string — The identifier of the SKU.
    - `quantity` integer, required — The number of items.
  - `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
  - `metadata` Metadata — Key-value pairs used to store additional data. Value can be string, boolean or integer types.

## Response `201`

201 Created

- CreateReturnsResponse
  - `id` string — The unique identifier of the return.
  - `createdTime` string, date-time — Time at which the return was created.
  - `orderId` string — The unique identifier of the order.
  - `currency` string — 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.
  - `state` 'created' | 'accepted' — 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 true if the object exists in live mode or the value false 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
- `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)
