---
title: "Updates an existing fulfillment"
method: POST
path: "/fulfillments/{id}"
tags: ["Fulfillments"]
---

# Updates an existing fulfillment

`POST /fulfillments/{id}`

Updates an existing fulfillment.

## Path parameters

- `id` string, required

## Request body

- UpdateFulfillmentRequest
  - `trackingCompany` string — The name of the tracking company
  - `trackingNumber` string — A tracking number provided by the shipping company
  - `trackingUrl` string — The URL of the tracking page for the fulfillment
  - `items` UpdateFulfillmentRequestItem[] — An array of items to fulfill and/or cancel
    - `itemId` string, required — The unique identifier of the line item
    - `trackingCompany` string — The name of the tracking company
    - `trackingNumber` string — A tracking number provided by the shipping company
    - `trackingUrl` string — The URL of the tracking page for the fulfillment
  - `metadata` union
    - StringMetadata
    - NumberMetadata
    - BooleanMetadata

## Response `200`

200 OK

- Fulfillment
  - `id` string — The unique identifier of the Fulfillment.
  - `createdTime` string, date-time — The time when the Fulfillment was created.
  - `orderId` string — The unique identifier of the Order associated with this Fulfillment.
  - `shipmentId` string — The unique identifier associated to the shipment
  - `items` FulfillmentResponseItem[] — An array of line items fulfilled and/or cancelled.
    - `itemId` string — The unique identifier of the line item.
    - `skuId` string — The unique identifier of the sku.
    - `shipmentItemId` string — The unique identifier associated to the shipment item
    - `quantity` integer — The number of items fulfilled.
    - `cancelQuantity` integer — The number of items cancelled.
    - `trackingCompany` string — The name of the tracking company
    - `trackingNumber` string — A tracking number provided by the shipping company
    - `trackingUrl` string — The URL of the tracking page for the fulfillment
    - `subfulfillerId` string — The unique identifer of the distributor.
    - `distributorCost` number, double — The distributor’s total cost for this <code>items[]</code>, inclusive of its <code>quantity</code>. In other words, the distributor’s per unit product cost multiplied by the <code>quantity</code> of shipped units.<br>
    - `shippingCost` number, double — The cost to ship the line item.
  - `currency` string — A valid [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) code that represents the currency the distributor is paid in.
  - `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.
  - `trackingCompany` string — The name of the tracking company.
  - `trackingNumber` string — A tracking number provided by the shipping company.
  - `trackingUrl` string — The URL of the tracking page for the Fulfillment.

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