openapi: 3.0.3
info:
title: Deliveroo Catalogue Sync Status API
description: Part of the Deliveroo Retail Platform Suite. The Catalogue API lets grocery and non-food retailers manage a master catalogue of up to 30,000 items per brand, publish product data and availability across retail sites, and override item prices at the site level. Authentication uses an OAuth 2.0 client credentials bearer token.
version: v1
x-generated-from: documentation
x-last-validated: '2026-06-02'
contact:
name: Kin Lane
email: kin@apievangelist.com
servers:
- url: https://api.developers.deliveroo.com
description: Production
- url: https://api-sandbox.developers.deliveroo.com
description: Sandbox
security:
- bearerAuth: []
tags:
- name: Sync Status
paths:
/order/v1/orders/{order_id}/sync_status:
post:
operationId: createSyncStatus
summary: Deliveroo Create Sync Status for an Order
description: Report whether the order was successfully sent to the site's in-store system. If Deliveroo does not receive a sync status within 3 minutes, or receives a failed status, it prompts site staff via the Deliveroo tablet to check their in-store system.
tags:
- Sync Status
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
parameters:
- name: order_id
in: path
required: true
description: The unique identifier of the Deliveroo order.
schema:
type: string
example: gb-12345
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SyncStatus'
examples:
CreateSyncStatusRequestExample:
summary: Default createSyncStatus request
x-microcks-default: true
value:
status: succeeded
reason: items_out_of_stock
notes: example
occurred_at: '2026-06-02T12:00:00Z'
responses:
'200':
description: Everything worked as expected.
'400':
description: Bad request, missing required parameter or incorrect content type.
'401':
description: Invalid API credentials or disabled integration.
'404':
description: An order with that ID was not found.
'409':
description: Sync status was already sent or the timeout occurred.
'500':
description: Server error. Retry later.
components:
schemas:
SyncStatus:
title: Sync Status
description: 'Reports the result of synchronizing the order to the in-store system. x-schema-source: documentation x-source-url: https://api-docs.deliveroo.com/reference/create-sync-status-1'
type: object
required:
- status
- occurred_at
properties:
status:
type: string
enum:
- succeeded
- failed
description: Whether the order was successfully sent to the in-store system.
example: succeeded
reason:
type: string
nullable: true
enum:
- price_mismatched
- pos_item_id_mismatched
- pos_item_id_not_found
- items_out_of_stock
- location_offline
- location_not_supported
- unsupported_order_type
- no_webhook_url
- webhook_failed
- timed_out
- other
- no_sync_confirmation
description: Reason for a failed sync status.
example: items_out_of_stock
notes:
type: string
nullable: true
description: Free-text notes about the sync result.
example: example
occurred_at:
type: string
format: date-time
description: Timestamp when the sync result occurred.
example: '2026-06-02T12:00:00Z'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 client credentials access token obtained from https://auth.developers.deliveroo.com/oauth2/token. Tokens expire after 5 minutes; no refresh tokens are issued.