Update a delivery
/sales/deliveries/{delivery_id}Updates an existing delivery.
Changing status requires the deliveries.archive permission in addition to deliveries.update. Archiving a delivery stops it from processing new sales but does not revoke access from users who have already purchased.
To avoid overwriting a newer version, send the delivery's current ETag in the If-Match header.
Replicated deliveries are read-only; updating or archiving them returns 403 with the replica_readonly error code.
Autonomous mode: the API credential secret, sent as a bearer token. Credential secrets are identified by a fixed prefix.
In: header
Path Parameters
Public ID of the delivery, prefixed with dlv_.
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. * matches the current revision. Any other value fails with 400 and the if_match_invalid 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
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/sales/deliveries/string" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "created_at": "2019-08-24T14:15:22Z", "enrollments_count": 0, "external_ids": [ "string" ], "gateway": "string", "hidden": true, "id": "string", "kind": "one_time", "name": "string", "object": "delivery", "postback_url": "string", "products_count": 0, "revision": "string", "secret": { "configured": true }, "status": "active", "tags_count": 0, "updated_at": "2019-08-24T14:15:22Z" }}Retrieve a delivery GET
Archived deliveries can still be retrieved, which allows them to be restored through the update operation. The response includes an `ETag` representing the current revision. Send this value in the `If-Match` header when modifying the delivery to avoid overwriting a newer version.
Duplicate a delivery POST
Creates a copy of the delivery and returns it. The copy does not include the gateway product codes or the secret, because these identify the original delivery with the gateway. Configure them on the copy before using it to process sales.