Update a product

PATCH/products/{product_id}

Updates a product. Only the fields included in the request are changed. Setting deleted to false restores the product from the trash.

Changing status also requires the products.publish permission. Changing showcase_id or position also requires the showcases.update permission on the target showcase.

position is 1-based within the showcase, in the destination showcase when showcase_id changes; a value greater than the number of products places the product at the end. A product moved to another showcase without position is placed at the end.

Replicated products accept only status; any other field returns the replica_readonly error code.

Send the current ETag value in the If-Match header to avoid overwriting a newer version.

AuthorizationBearer <token>

Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.

In: header

Path Parameters

product_id*string

Header Parameters

Idempotency-Key?string

Client-generated key that makes the request safe to retry. Must be 1 to 128 characters from [A-Za-z0-9._:-]. Optional on this operation; when sent, a malformed key returns idempotency_key_invalid, and repeating the request with the same key and the same body returns the stored result with Idempotent-Replayed: true.

If-Match?string

Expected revision of the resource, in the same format as the ETag header (W/"<type>:<id>:<revision>"). If the resource has changed since that revision, the request fails with 412 and the revision_mismatch error code. When omitted, the update is applied to the current revision.

X-Client-Request-Id?string

Optional client-generated identifier of the request, up to 64 characters from [A-Za-z0-9._-]. Echoed back in the response and recorded in the request log; it never replaces the server-generated X-Request-Id.

Lengthlength <= 64

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/products/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "data": {    "created_at": "2019-08-24T14:15:22Z",    "definitions": null,    "deleted": true,    "display": null,    "external_id": "string",    "format": "course",    "id": "string",    "image": "string",    "lessons_count": 0,    "modules_count": 0,    "name": "string",    "object": "product",    "offer": null,    "position": 0,    "revision": "string",    "showcase_id": "string",    "status": "published",    "updated_at": "2019-08-24T14:15:22Z"  }}