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
Response Body
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. `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. 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.