put
https://api.developers.deliveroo.com/brands//promotions/
See the Promotions API Guides for prerequisites and the full upload lifecycle.
Summary
Apply a single-promotion update outside the daily bulk upload. The request body is a full promotion block; it atomically replaces the existing promotion with this promotion_id (last write wins). Async — returns a job_id of type single_promotion_update which the partner polls for completion.
Usage scenario
- Intraday correction: re-send the full block with corrected fields (price, items, sites, time window).
- Emergency removal: send the block with
end_atset to a past timestamp.
Business constraints
- The
promotion_idin the URL path must match thepromotion_idin the request body. - If a bulk upload covering this
promotion_idis still processing, the request returns409 JOB_IN_PROGRESS. Retry once the bulk job reaches a terminal state. - No built-in duplicate detection — guard retries on the client side with your own request ID if you need at-most-once semantics.
promotion_idis preserved across updates — use it as your stable handle. The underlying campaign reference may change after an update (the pipeline cancels and recreates the campaign), so do not store campaign-level identifiers long-term.
Operational constraints
- Rate limit: 60 requests per brand per minute.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
