Replace delivery products
/sales/deliveries/{delivery_id}/productsReplaces the delivery's entire product set with the supplied entries.
Existing enrollments are not changed; the new set applies to subsequent sales. Every referenced product must be accessible with the current credentials.
To avoid overwriting a newer version, send the delivery's current ETag in the If-Match header.
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
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.
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.
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 <= 64Request 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
curl -X PUT "https://example.com/sales/deliveries/string/products" \ -H "Content-Type: application/json" \ -d '{ "entries": [ { "kind": "product" } ] }'{ "data": { "entries": [ { "duration": { "type": "string", "value": 0 }, "id": "string", "kind": "product", "schedule_id": "string" } ], "ignored_external_product_ids": [ "string" ], "object": "delivery_products" }}List delivery products GET
Returns the set of products the delivery grants access to, including the access duration of each entry and the release schedule applied to each product. `ignored_external_product_ids` is read-only. It lists the gateway product codes ignored during sales processing for the entire account, not only for this delivery, and cannot be changed through the API.
List delivery release schedules GET
Returns the release schedules applied by the delivery, with one entry for each product it grants access to. Products without a release schedule are included with a null `schedule_id`, meaning their content is released without a schedule.