Deliveroo Orders API

The Orders API from Deliveroo — 2 operation(s) for orders.

OpenAPI Specification

deliveroo-orders-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Deliveroo Catalogue Orders 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: Orders
paths:
  /order/v1/orders/{order_id}:
    patch:
      operationId: updateOrderStatus
      summary: Deliveroo Update Order Status
      description: Accept, reject, or confirm an order. The order must be in the PLACED status to be accepted or rejected. ASAP orders not accepted within 10 minutes (7 minutes for the Kuwait and UAE markets) are rejected automatically. Rate limited to 5 requests per minute per order.
      tags:
      - Orders
      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:1234abcd-5678-90ef-ghij-klmnopqrstuv
        example: gb:1234abcd-5678-90ef-ghij-klmnopqrstuv
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderStatusUpdate'
            examples:
              UpdateOrderStatusRequestExample:
                summary: Default updateOrderStatus request
                x-microcks-default: true
                value:
                  status: accepted
                  reject_reason: busy
                  notes: example
      responses:
        '204':
          description: The order was successfully accepted, rejected, or confirmed.
        '400':
          description: Bad request, often a missing required parameter or incorrect content type.
        '401':
          description: The API key and token combination is invalid or the integration is disabled.
        '409':
          description: Conflict, for example the status was already sent or a timeout occurred.
        '500':
          description: Server error. Retry later.
  /signature/v1/orders:
    post:
      operationId: createOrder
      summary: Deliveroo Create a New Order
      description: Create a new order for fulfillment by Deliveroo. It is recommended to create a quote first; the quote must be valid (created within the last 5 minutes) when the order is placed.
      tags:
      - Orders
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderRequest'
            examples:
              CreateOrderRequestExample:
                summary: Default createOrder request
                x-microcks-default: true
                value:
                  quote_id: gb-12345
                  pickup:
                    address: 123 Example Street, London
                    latitude: 1.0
                    longitude: 1.0
                  dropoff:
                    address: 123 Example Street, London
                    latitude: 1.0
                    longitude: 1.0
      responses:
        '200':
          description: The created order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
              examples:
                CreateOrder200Example:
                  summary: Default createOrder 200 response
                  x-microcks-default: true
                  value:
                    order_id: gb-12345
                    status: active
        '400':
          description: Bad request.
        '500':
          description: Server error.
components:
  schemas:
    Location:
      title: Location
      description: A pickup or dropoff location.
      type: object
      properties:
        address:
          type: string
          description: The location address.
          example: 123 Example Street, London
        latitude:
          type: number
          description: The location latitude.
          example: 1.0
        longitude:
          type: number
          description: The location longitude.
          example: 1.0
    OrderRequest:
      title: Order Request
      description: 'Request body for creating a Signature order. x-schema-source: documentation x-source-url: https://api-docs.deliveroo.com/reference/create-order-v1'
      type: object
      properties:
        quote_id:
          type: string
          description: The identifier of a valid quote.
          example: gb-12345
        pickup:
          $ref: '#/components/schemas/Location'
        dropoff:
          $ref: '#/components/schemas/Location'
    Order:
      title: Order
      description: A created Signature order.
      type: object
      properties:
        order_id:
          type: string
          description: The identifier of the created order.
          example: gb-12345
        status:
          type: string
          description: The current order status.
          example: active
    OrderStatusUpdate:
      title: Order Status Update
      description: 'Request body for updating an order''s status. x-schema-source: documentation x-source-url: https://api-docs.deliveroo.com/reference/patch-order-1'
      type: object
      required:
      - status
      properties:
        status:
          type: string
          enum:
          - accepted
          - rejected
          - confirmed
          description: The new status for the order.
          example: accepted
        reject_reason:
          type: string
          nullable: true
          enum:
          - closing_early
          - busy
          - ingredient_unavailable
          - other
          description: Required when status is rejected. The reason for rejection.
          example: busy
        notes:
          type: string
          nullable: true
          description: Free-text notes accompanying the status change.
          example: example
  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.