Just Eat Order Delivery API

The Order Delivery API API from Just Eat — 10 operation(s) for order delivery api.

Operations 10

GET /delivery/estimate Get delivery estimate #
PUT /orders/deliverystate/driverlocation Update current driver locations (bulk upload) #
PUT /orders/{orderId}/deliverystate/atdeliveryaddress Update order with driver at delivery address details #
PUT /orders/{orderId}/deliverystate/atrestaurant Update order with driver at restaurant details #
PUT /orders/{orderId}/deliverystate/atrestauranteta Update the driver's estimated time to arrive at the Restaurant #
PUT /orders/{orderId}/deliverystate/delivered Update order with delivered details #
PUT /orders/{orderId}/deliverystate/driverassigned Update order with driver assigned details #
PUT /orders/{orderId}/deliverystate/driverlocation Update the driver's current location #
PUT /orders/{orderId}/deliverystate/driverunassigned Update order with driver unassigned details #
PUT /orders/{orderId}/deliverystate/onitsway Update order with driver on its way details #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/just-eat-order-delivery-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

just-eat-order-delivery-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    x-twitter: JustEatUK
  description: '# Just Eat API

    Just Eat offers services for our various business partners and our consumer applications.'
  title: Just Eat UK Order Delivery API
  version: 1.0.0
  x-apisguru-categories:
  - ecommerce
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_JustEatUK_profile_image.png
  x-origin:
  - format: openapi
    url: https://uk.api.just-eat.io/docs/openapi.json
    version: '3.0'
  x-providerName: just-eat.co.uk
servers:
- description: Production URL for the UK API
  url: https://uk.api.just-eat.io
- description: Production URL for the DK, ES, IE, IT and NO API
  url: https://i18n.api.just-eat.io
- description: Production URL for the AU and NZ API
  url: https://aus.api.just-eat.io
tags:
- name: Order Delivery API
paths:
  /delivery/estimate:
    get:
      deprecated: true
      parameters:
      - description: The reference of the restaurant to estimate the delivery time from.
        in: query
        name: restaurantReference
        required: true
        schema:
          type: string
      - description: The latitude of the position to estimate the delivery time to.
        in: query
        name: toLat
        required: false
        schema:
          type: string
      - description: The longitude of the position to estimate the delivery time to.
        in: query
        name: toLon
        required: false
        schema:
          type: string
      - description: The postcode to estimate the delivery time to.
        in: query
        name: toPostcode
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/estimated-delivery-time'
          description: OK
      summary: Get delivery estimate
      tags:
      - Order Delivery API
      operationId: getDeliveryEstimate
      x-operation-id-source: derived
  /orders/deliverystate/driverlocation:
    put:
      description: Current driver location (bulk upload)
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/bulk-delivery-details-list'
        required: true
      responses:
        '200':
          description: OK
      summary: Update current driver locations (bulk upload)
      tags:
      - Order Delivery API
      operationId: putOrdersDeliverystateDriverlocation
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/atdeliveryaddress:
    put:
      description: 'The _at delivery address_ callback should be sent when the driver thinks that they have arrived at the specified delivery address.


        NB; This callback should be distinct from the delivered callback, as Just Eat use this callback to understand how much time is spent locating the customer''s address.'
      parameters:
      - description: Just Eat order identifier
        in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/delivery-details'
        required: true
      responses:
        '200':
          description: OK
      summary: Update order with driver at delivery address details
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateAtdeliveryaddress
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/atrestaurant:
    put:
      description: The _at restaurant_ callback should be sent when the driver arrives at the restaurant and is ready to collect the order.
      parameters:
      - description: Just Eat order identifier
        in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/delivery-driver-details-with-eta'
        required: true
      responses:
        '200':
          description: OK
      summary: Update order with driver at restaurant details
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateAtrestaurant
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/atrestauranteta:
    put:
      description: 'In the UK, this endpoint updates the estimated arrival time at the restaurant. This value can be overridden from other endpoints like Driver Locations


        This endpoint should be used to set initial at restaurant ETAs prior to driver assignment where available. The earlier a delivery partner is able to provide an estimate of when the driver will arrive at the restaurant the more likely it is that driver arrival and order preparation will be aligned.


        In other tenants (Not UK):Note that if set for a given order, this Eta will NOT be overridden by any other at restaurant ETAs provided in `DriverAssigned` or `DriverLocation` requests


        This value is significant since it informs when a restaurant is instructed to start preparing food. When the time remaining between current time and the estimated time of arrival becomes less than the restaurant''s configured preparation time, food preparation is initiated'
      parameters:
      - description: Just Eat order identifier
        in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/eta-estimate'
        required: true
      responses:
        '200':
          description: OK
      summary: Update the driver's estimated time to arrive at the Restaurant
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateAtrestauranteta
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/delivered:
    put:
      description: The _delivered_ callback should be sent when the driver has handed the food to the customer and completed the order.
      parameters:
      - description: Just Eat order identifier
        in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/delivery-details'
        required: true
      responses:
        '200':
          description: OK
      summary: Update order with delivered details
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateDelivered
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/driverassigned:
    put:
      description: The _driver assigned_ callback should be sent when a driver is assigned to the order. It should communicate important details about the driver - and also an estimated time for the driver to arrive at the restaurant and delivery address.
      parameters:
      - description: Just Eat order identifier
        in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/delivery-driver-assigned-details'
        required: true
      responses:
        '200':
          description: OK
      summary: Update order with driver assigned details
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateDriverassigned
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/driverlocation:
    put:
      description: 'Just Eat requires all delivery partners to send regular driver location callbacks, that record the GPS location of the drivers assigned to each order


        Partners should aim to supply this callback approximately every 10 seconds.


        Please provide an up-to-date ETA for when the driver will reach the restaurant in this request - this value is significant since it informs when a restaurant is instructed to start preparing food - when the time remaining between current time and the estimated time of arrival becomes less than the restaurant''s configured preparation time, food preparation is initiated


        Note that at restaurant Eta provided in this request will NOT override any ETA set in the Driver At Restaurant Eta request'
      parameters:
      - description: Just Eat order identifier
        in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/delivery-driver-location'
        required: true
      responses:
        '200':
          description: OK
      summary: Update the driver's current location
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateDriverlocation
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/driverunassigned:
    put:
      description: The _driver unassigned_ callback should be sent when a driver is unassigned from the order. It may details about the reason for cancelling the assignment, the driver details, and any newer at restaurant and customer estimations.
      parameters:
      - description: Just Eat order identifier
        in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/delivery-driver-unassigned-details'
        required: true
      responses:
        '200':
          description: OK
        '400':
          content:
            application/json:
              example:
                partnerId:
                - Partner id was not found or could not be parsed
              schema:
                $ref: '#/components/schemas/extensibleObject'
          description: Bad Request.
      summary: Update order with driver unassigned details
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateDriverunassigned
      x-operation-id-source: derived
  /orders/{orderId}/deliverystate/onitsway:
    put:
      description: The _on its way_ callback should be sent when the driver departs the restaurant with the customer's order. It should contain an ETA that records when the driver expects to arrive at the customer's address.
      parameters:
      - in: path
        name: orderId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/on-its-way-details'
        required: true
      responses:
        '200':
          description: OK
      summary: Update order with driver on its way details
      tags:
      - Order Delivery API
      operationId: putOrdersByOrderIdDeliverystateOnitsway
      x-operation-id-source: derived
components:
  schemas:
    extensibleObject:
      additionalProperties: true
      type: object
    bulk-delivery-details-list:
      items:
        $ref: '#/components/schemas/bulk-delivery-details'
      type: array
    estimated-delivery-time:
      properties:
        DurationInMinutes:
          type: string
        RestaurantReference:
          type: string
      type: object
    delivery-driver-details-with-eta:
      example:
        EtaAtDeliveryAddress: '2018-03-10T15:45:28.7537228+00:00'
        Location:
          Accuracy: 12.814
          Heading: 357.10382
          Latitude: 51.51641
          Longitude: -0.103198
          Speed: 8.68
        TimeStampWithUtcOffset: '2018-03-10T14:45:28.7537228+00:00'
      properties:
        EtaAtDeliveryAddress:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the delivery address.
          format: date-time
          type: string
        Location:
          $ref: '#/components/schemas/location'
        TimeStampWithUtcOffset:
          description: This should represent the Eta calculated timestamp.
          format: date-time
          type: string
      type: object
    bulk-delivery-details:
      properties:
        EtaAtDeliveryAddress:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the delivery address.
          example: '2020-12-25T16:45:28.7537228+00:00'
          format: date-time
          type: string
        EtaAtRestaurant:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the restaurant.
          example: '2020-12-25T16:30:28.7537228+00:00'
          format: date-time
          type: string
        Location:
          $ref: '#/components/schemas/location'
        OrderId:
          description: Just Eat order identifier
          type: string
        TimeStampWithUtcOffset:
          description: This should represent the bulk delivery updated timestamp.
          format: date-time
          type: string
      type: object
    vehicle-details:
      properties:
        Vehicle:
          example: Motorbike
          type: string
        VehicleRegistration:
          example: JU51 SAY
          type: string
      type: object
    on-its-way-details:
      properties:
        EstimatedArrivalTime:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the customer's address. In other words, it should not just contain the delivery time initially requested by Just Eat.
          example: '2020-12-25T16:45:28.7537228+00:00'
          format: date-time
          type: string
        Location:
          $ref: '#/components/schemas/location'
        TimeStampWithUtcOffset:
          description: This should represent the driver on its ways timestamp.
          example: '2020-12-25T15:30:28.7537228+00:00'
          format: date-time
          type: string
      type: object
    delivery-driver-unassigned-details:
      properties:
        Comment:
          description: This should represent the comment on the unassignment.
          example: Order was not ready
          type: string
        DriverContactNumber:
          description: This should represent the driver's contact number.
          example: 07123456789
          type: string
        DriverName:
          description: This should represent the driver's name.
          example: David McDriverson
          type: string
        EtaAtDeliveryAddress:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the delivery address.
          example: '2020-12-25T16:45:28.7537228+00:00'
          format: date-time
          type: string
        EtaAtRestaurant:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the restaurant. In other words, it should not just contain the pick-up time initially requested by Just Eat.
          example: '2020-12-25T16:30:28.7537228+00:00'
          format: date-time
          type: string
        'Location:':
          $ref: '#/components/schemas/location'
          description: This should represent the driver's geographic location (longitude and latitude)
        Reason:
          description: This should represent the delivery partner's reason for unassigning themselves from the order.
          example: package_not_ready
          type: string
        TimeStampWithUtcOffset:
          description: This should represent the driver unassigned timestamp.
          example: '2020-12-25T15:30:28.7537228+00:00'
          format: date-time
          type: string
        UnassignedBy:
          description: This should represent the actor who triggered unassignment.
          example: operation
          type: string
      type: object
    location:
      description: GeoLocation object containing latitude and longitude values.
      example:
        Accuracy: 12.814
        Heading: 357.10382
        Latitude: 51.51641
        Longitude: -0.103198
        Speed: 8.68
      properties:
        Accuracy:
          description: This should represent the accuracy of driver's location.
          format: double
          type: number
        Heading:
          description: This should represent the degree of heading direction, for example, 0 is north, 90 is east.
          format: double
          type: number
        Latitude:
          description: This should represent the latitude of the driver's location.
          format: double
          type: number
        Longitude:
          description: This should represent the longitude of the driver's location.
          format: double
          type: number
        Speed:
          description: This should represent the travel speed of the driver.
          format: double
          type: number
      required:
      - Latitude
      - Longitude
      type: object
    delivery-driver-location:
      properties:
        EtaAtDeliveryAddress:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the delivery address.
          example: '2020-12-25T16:45:28.7537228+00:00'
          format: date-time
          type: string
        EtaAtRestaurant:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the restaurant.
          example: '2020-12-25T16:30:28.7537228+00:00'
          format: date-time
          type: string
        Location:
          $ref: '#/components/schemas/location'
          example:
            Accuracy: 12.814
            Heading: 357.10382
            Latitude: 51.51641
            Longitude: -0.103198
            Speed: 8.68
        TimeStampWithUtcOffset:
          description: This should represent the location updated timestamp.
          example: '2020-12-25T15:45:28.7537228+00:00'
          format: date-time
          type: string
      type: object
    delivery-details:
      example:
        TimeStampWithUtcOffset: '2018-03-10T14:45:28.7537228+00:00'
      properties:
        Location:
          $ref: '#/components/schemas/location'
        TimeStampWithUtcOffset:
          description: This should represent the delivery detailed updated timestamp.
          format: date-time
          type: string
      type: object
    delivery-driver-assigned-details:
      properties:
        DriverContactNumber:
          description: This should represent the driver's contact number.
          example: 07123456789
          type: string
        DriverName:
          description: This should represent the driver's name.
          example: David
          type: string
        EtaAtDeliveryAddress:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the delivery address.
          example: '2020-12-25T16:45:28.7537228+00:00'
          format: date-time
          type: string
        EtaAtRestaurant:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the restaurant. In other words, it should not just contain the pick-up time initially requested by Just Eat.
          example: '2020-12-25T15:30:28.7537228+00:00'
          format: date-time
          type: string
        Location:
          $ref: '#/components/schemas/location'
        TimeStampWithUtcOffset:
          description: This should represent the driver assigned timestamp.
          example: '2020-12-25T15:45:28.7537228+00:00'
          format: date-time
          type: string
        VehicleDetails:
          $ref: '#/components/schemas/vehicle-details'
      type: object
    eta-estimate:
      properties:
        bestGuess:
          description: This should represent the delivery partner's best guess at when the driver will arrive at the restaurant.
          format: date-time
          type: string
        estimatedAt:
          description: This is the time at which you are doing the estimation
          format: date-time
          type: string
      type: object
  securitySchemes:
    Bearer:
      bearerFormat: JWT
      description: Bearer token authentication using a JSON Web Token (JWT).
      scheme: bearer
      type: http
    api_key:
      description: APIs for delivery partners require an API key that will have been issued to you.
      in: header
      name: Authorization
      type: apiKey
    basic_auth:
      description: A few services allow the use of basic authentication when a partner doesn't support OAuth based authentication.
      scheme: basic
      type: http
    justeat_adfs:
      description: ADFS authentication provider for internal Just Eat tools.
      openIdConnectUrl: https://adfs.just-eat.com/adfs/.well-known/openid-configuration
      type: openIdConnect
    restaurantsignup_jwt:
      bearerFormat: JWT token with payload `RestaurantId` and Role `[RestaurantRead | VerifyEmail | RestaurantWrite | FullAccess | DocumentRead]`
      description: Bearer token authentication using a JSON Web Token (JWT), used by the restaurant sign up system
      scheme: bearer
      type: http
x-tagGroups:
- name: Consumer Experience
  tags:
  - Authorization
  - Consumers
  - ConsumerOffers
  - ConsumerQueries
  - Consumer Queries Webhooks
  - ConsumerOrders
  - Search
  - Basket
  - Payments
  - Giftcards
  - Experiments
  - Vouchers
  - Promoted Placement
  - Menu
  - Recommendations
  - Location Services
- name: Manage Order Journey
  tags:
  - Order Acceptance API
  - Order Acceptance Webhooks
  - Order Delivery API
  - Order Delivery Webhooks
  - Order API
  - Order Webhooks
  - Customer Order Details
  - DeliveryFee
  - Delivery Pools API
  - Attempted Delivery API
  - Attempted Delivery Webhooks
  - Checkout
  - Courier Feedback
- name: Restaurant Management
  tags:
  - Restaurant Product
  - Restaurants
  - RestaurantOffers
  - Restaurant OrderTimes
  - Restaurants Webhooks
  - RestaurantSignup
  - RestaurantQueries
  - RestaurantQueries Webhooks
  - Restaurant Claims
  - Restaurant Events
  - Restaurant Events Webhooks
  - Restaurant API
  - Restaurant Webhooks
  - Products
  - Logistics POS Restaurants
  - Restaurant Smiley Rating