OneTablet API Documentation

Revoke an UberEats promotion

POST/management/promotions/revokeUberEatsPromotion

Revoke a promotion. TERMINAL — there is no un-revoke, on this API or on the platform.

If Uber Eats refuses the call (for example, because the promotions scope is withdrawn), it fails with a typed dependency error naming the scope, and nothing is revoked.

The reply carries the promotion in its new state, so confirming the revoke needs no follow-up read. Revoking stops the promotion going forward; it does not reverse redemptions already made, and it refunds nothing.

Failures beyond the document-wide codes: 403 when the api key is read-only; 404 when promotionId does not exist or belongs to another organization — indistinguishable by design, as everywhere else on this API.

Safe to retry: this operation changes state but is idempotent.

Request

application/json
required
  • promotionIdstring

    REQUIRED. The promotionId from createUberEatsPromotion or fetchUberEatsPromotions.

Responses

200 — The promotion in its new, `revoked` state.

Headers

  • x-mealco-tx-idstringoptional

    The correlation id for this call, echoed on every response — a 200 exactly as much as a 400, 401 or 500. Quote it when reporting a problem and we can find every log line for the request, in every service it touched. You may also send your own x-mealco-tx-id on the request and we adopt it, so your correlation id becomes ours. Not marked required for one reason: a request whose JSON body is malformed is rejected before it reaches an operation, so no id exists yet and that single response carries neither this header nor the txId field of the error body. Everything that reaches an operation carries it.

  • promotionUberEatsPromotion

    The promotion, now revoked. Returned so you need no follow-up read to confirm.

About Promotions

Promotions on the connected delivery platforms. Organization-scoped like every other section: the organization is the one the API key authenticates and no request field can name another.

Four operations cover the whole Uber Eats promotion lifecycle: fetchUberEatsPromotions (list), fetchUberEatsPromotion (get one, by id), createUberEatsPromotion and revokeUberEatsPromotion. There is no update and no pause on the platform, so a promotion is immutable once created.

The operations are named for the platform because the platforms differ materially: DoorDash exposes no promotion write API to integrations, and Grubhub no promotions surface at all — for both, promotion attribution arrives on the order instead (see the Orders section).

createUberEatsPromotion and revokeUberEatsPromotion are writes — a read-only API key is refused with 403.

Money is an integer in the currency's minor unit everywhere in this section — 1250 is $12.50.