Retrieve a product
/products/{product_id}Retrieves a product by its public ID.
The offer object is included only when the credentials have the products.read_offer permission.
The response includes an ETag representing the current revision. Send this value in the If-Match header when updating the product to avoid overwriting a newer version.
Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Path Parameters
Header Parameters
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.
length <= 64Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/products/string"{ "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" }}Create a product POST
Creates a product in the given showcase. New products are created with the `draft` status. `position` is 1-based within the showcase; a value greater than the number of products places the product at the end. `external_id` must be unique among the account's products that are not in the trash; a duplicate value returns the `already_exists` error code.
Update a product PATCH
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.