Just Eat Delivery Pools API API

The Delivery Pools API API from Just Eat — 5 operation(s) for delivery pools api.

OpenAPI Specification

just-eat-delivery-pools-api-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    x-twitter: JustEatUK
  description: "# Just Eat API\nJust Eat offers services for our various business partners and our consumer applications.\nHow you interact with the API depends on the services you wish to interact with.\n## Security\n### HTTPS\nAll api calls and callbacks require HTTPS. Your service will need a valid SSL certificate and be accessible via the standard SSL port (port 443).\n## Making an API request\nSome API calls require an API key, to authenticate the partner calling the API.\n```\nPUT https://uk-partnerapi.just-eat.io/orders/abcd1234 HTTP/1.1\nAuthorization: JE-API-KEY abcd123456789\n```\nOther calls require a user token in the form of a JWT.\n```\nGET https://uk.api.just-eat.io/consumer/me/orders/uk HTTP/1.1\nAuthorization: Bearer abcd123456789\n```\n\n## Date Formats\n### Date and time formats\nAll dates and times should use the [ISO 8601 standard for representation of dates and times](https://en.wikipedia.org/wiki/ISO_8601).\n\n#### For instance:\n* DueDateWithUtcOffset: `\"2015-05-26T14:52:35.5444292+01:00\"`\n  - Local time: `14:52`\n  - UTC time: `13:52`\n  - UTC offset: `+1hr` (due to daylight time saving)\n* DueDateWithUtcOffset: `\"2015-02-03T11:10:00.0000000+00:00\"`\n  - Local time: `11:10`\n  - UTC time: `11:10`\n  - UTC offset: `0` (no daylight time saving, local time is equivalent to UTC)\n\nNote that the offset may be for a timezone different to your own, so you should alway convert to your own local time for display purposes (e.g. on receipts and terminals).\n\n### Callback timestamps\nTimestamps sent to Just Eat should be recorded as the current local time (including any changes needed to account for daylight saving) with an accompanying offset that shows the difference between the recorded local time and the current UTC time.\n\nIf it is not possible to record timestamps in local time, timestamps may be recorded in UTC time with a 00:00 offset.\n## Async Webhooks\nSome of the webhooks on the platform are configured as being 'async' webhooks. These are for long-running operations, and work as follows:\n  1. Your webhook is invoked with a `?callback={returnUrl}` query string parameter. The `returnUrl` is a unique URL that you will need to send the async response to.\n  2. Return an immediate `202 Accepted` response from the webhook endpoint, to indicate that you have received the request.\n  3. Perform the long-running operation. This can be deemed either a _success_; or a _failure_.\n  4. If the result is a _**success**_, return the following:\n  ```\n  POST {returnUrl} HTTP/1.1\n\n  {\n        \"status\": \"Success\",\n        \"message\": \"{successMessage}\",\n        \"data\": {}   // webhook-specific response object\n  }\n  ```\n  5. Otherwise, if the result is a _**failure**_, return the following:\n  ```\n  POST {returnUrl} HTTP/1.1\n\n  {\n        \"status\": \"Failure\",\n        \"message\": \"{failureMessage}\",\n        \"data\": {}   // webhook-specific response object\n  }\n  ```"
  title: Just Eat UK Attempted Delivery API Delivery Pools API 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: Delivery Pools API
paths:
  /delivery/pools:
    get:
      description: A delivery pool is a named group of drivers which deliver food for a set of restaurants.
      responses:
        '200':
          content:
            application/json:
              examples:
                response:
                  value:
                    b9c6673b8e5948b98cfbd14a982de2c2:
                      name: Toronto - East
                      restaurants:
                      - 789
                    d5f72466a6dd49a08166d5a044c5b9e4:
                      name: Toronto - West
                      restaurants:
                      - 123
                      - 456
              schema:
                properties:
                  delivery-pool-id:
                    properties:
                      name:
                        description: The name of the pool, used by operations teams, in reports, etc.
                        type: string
                      restaurants:
                        description: A list of Just Eat restaurant ids served by the delivery pool.
                        items:
                          format: int32
                          type: number
                        type: array
                    type: object
                type: object
          description: OK
        '500':
          content:
            text/plain:
              examples:
                response:
                  value: Internal Server Error
          description: Internal Server Error
      summary: Get your delivery pools
      tags:
      - Delivery Pools API
    post:
      description: A delivery pool is a named group of drivers which deliver food for a set of restaurants.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-delivery-pool'
        required: true
      responses:
        '201':
          description: Pool has been created.
        '400':
          content:
            application/json:
              examples:
                response:
                  value:
                    name:
                    - '''Name'' should not be empty'
          description: There was something invalid in your request - check response body for details
        '500':
          content:
            text/plain:
              examples:
                response:
                  value: Internal Server Error
          description: Internal Server Error
      summary: Create a new delivery pool
      tags:
      - Delivery Pools API
  /delivery/pools/{deliveryPoolId}:
    parameters:
    - description: Identifier for the pool
      in: path
      name: deliveryPoolId
      required: true
      schema:
        type: string
    delete:
      description: The restaurants will no longer be associated with the pool.
      responses:
        '200':
          description: Pool deleted
        '404':
          description: The pool could not be found
        '500':
          content:
            text/plain:
              examples:
                response:
                  value: Internal Server Error
          description: Internal Server Error
      summary: Delete a delivery pool
      tags:
      - Delivery Pools API
    get:
      description: A delivery pool is a named group of drivers which deliver food for a set of restaurants.
      responses:
        '200':
          content:
            application/json:
              examples:
                response:
                  value:
                    name: Toronto - West
                    restaurants:
                    - 123
                    - 456
              schema:
                properties:
                  name:
                    description: The name of the pool, used by operations teams, in reports, etc.
                    type: string
                  restaurants:
                    description: A list of Just Eat restaurant ids served by the delivery pool.
                    items:
                      format: int32
                      type: number
                    type: array
                type: object
          description: OK
        '404':
          description: The pool could not be found
        '500':
          content:
            text/plain:
              examples:
                response:
                  value: Internal Server Error
          description: Internal Server Error
      summary: Get an individual delivery pool
      tags:
      - Delivery Pools API
    patch:
      description: Modify a delivery pool, changing its name, restaurants or both
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/patch-delivery-pool'
        description: Request body should contain an object with either or both of the properties. If a property is not specified then the existing values are retained.
        required: true
      responses:
        '202':
          content:
            application/json:
              examples:
                response:
                  value:
                    name: Toronto - North
                    restaurants:
                    - 123
                    - 456
              schema:
                properties:
                  name:
                    description: The name of the pool, used by operations teams, in reports, etc.
                    type: string
                  restaurants:
                    description: A list of Just Eat restaurant ids served by the delivery pool.
                    items:
                      format: int32
                      type: number
                    type: array
                type: object
          description: Pool has been updated
        '400':
          content:
            application/json:
              examples:
                response:
                  value:
                    name:
                    - '''Name'' should not be empty'
          description: There was something invalid in your request - check response body for details
        '404':
          description: The pool could not be found
        '409':
          content:
            text/plain:
              examples:
                response:
                  value: 'Restaurant(s) are already assigned to pools : `{RestaurantId:55474, PoolId:cccebb96452349b799b71a7adc51df66}`'
          description: A restaurant in your request already belongs to another pool
        '500':
          content:
            text/plain:
              examples:
                response:
                  value: Internal Server Error
          description: Internal Server Error
      summary: Modify a delivery pool
      tags:
      - Delivery Pools API
    put:
      description: Replace an existing delivery pool changing all of its properties
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-delivery-pool'
        required: true
      responses:
        '202':
          content:
            application/json:
              examples:
                response:
                  value:
                    name: Toronto - West
                    restaurants:
                    - 123
                    - 456
              schema:
                properties:
                  name:
                    description: The name of the pool, used by operations teams, in reports, etc.
                    type: string
                  restaurants:
                    description: A list of Just Eat restaurant ids served by the delivery pool.
                    items:
                      format: int32
                      type: number
                    type: array
                type: object
          description: Pool has been replaced
        '400':
          content:
            application/json:
              examples:
                response:
                  value:
                    name:
                    - '''Name'' should not be empty'
          description: There was something invalid in your request - check response body for details
        '404':
          description: The pool could not be found
        '409':
          content:
            text/plain:
              examples:
                response:
                  value: 'Restaurant(s) are already assigned to pools : `{RestaurantId:55474, PoolId:cccebb96452349b799b71a7adc51df66}`'
          description: A restaurant in your request already belongs to another pool
        '500':
          content:
            text/plain:
              examples:
                response:
                  value: Internal Server Error
          description: Internal Server Error
      summary: Replace an existing delivery pool
      tags:
      - Delivery Pools API
  /delivery/pools/{deliveryPoolId}/availability/relative:
    parameters:
    - description: Identifier for the pool
      in: path
      name: deliveryPoolId
      required: true
      schema:
        type: string
    get:
      description: Get the current amount of time it will take a driver to collect a new order from a restaurant in the pool.
      responses:
        '200':
          content:
            application/json:
              examples:
                request:
                  value:
                    bestGuess: 00:35:00
              schema:
                properties:
                  bestGuess:
                    description: Your best estimation (hh:mm:ss)
                    type: string
                type: object
          description: OK
        '404':
          description: The pool could not be found
      summary: Get availability for pickup
      tags:
      - Delivery Pools API
    put:
      description: Set the average amount of time it will take a driver to collect a new order from a restaurant in the pool.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/estimated-time'
        required: true
      responses:
        '202':
          description: Update will take effect shortly
        '404':
          description: The pool could not be found
      summary: Set availability for pickup
      tags:
      - Delivery Pools API
  /delivery/pools/{deliveryPoolId}/hours:
    parameters:
    - description: Identifier for the pool
      in: path
      name: deliveryPoolId
      required: true
      schema:
        type: string
    put:
      description: Set the daily start and end times for a pool or set closed flag if the pool does not operate on that day. Start and end times for all days must be provided. Though the API accepts array of start and end times for each day, multiple start and end time for a day are not accepted. If the end time for a day is equal to or before start time, end time will be considered as time for the next day.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/delivery-pool-hours'
        required: true
      responses:
        '200':
          description: Pool hours have been updated
        '404':
          description: The pool could not be found
      summary: Set the delivery pools daily start and end times
      tags:
      - Delivery Pools API
  /delivery/pools/{deliveryPoolId}/restaurants:
    parameters:
    - description: Identifier for the pool
      in: path
      name: deliveryPoolId
      required: true
      schema:
        type: string
    delete:
      description: Remove restaurants from a delivery pool
      requestBody:
        content:
          application/json:
            schema:
              example:
                restaurants:
                - 123
                - 456
              properties:
                restaurants:
                  description: A list of Just Eat restaurant ids served by the delivery pool.
                  items:
                    format: int32
                    type: number
                  type: array
              type: object
        required: true
      responses:
        '200':
          description: Pool has been updated
        '400':
          description: There was something invalid in your request - check response body for details
        '404':
          description: The pool could not be found
      summary: Remove restaurants from a delivery pool
      tags:
      - Delivery Pools API
    put:
      description: Add additional restaurants to a delivery pool
      responses:
        '200':
          content:
            application/json:
              examples:
                response:
                  value:
                    restaurants:
                    - 123
                    - 456
              schema:
                $ref: '#/components/schemas/delivery-restaurantslist'
          description: OK
        '400':
          description: There was something invalid in your request - check response body for details
        '404':
          description: The pool could not be found
        '409':
          description: The restaurants could not be added to the pool. Typically this is because they are already assigned to another pool
      summary: Add restaurants to an existing delivery pool
      tags:
      - Delivery Pools API
components:
  schemas:
    delivery-pool-hours:
      example:
        friday:
          closed: false
          poolTimes:
          - endTime: 01:00
            startTime: '12:00'
        monday:
          closed: false
          poolTimes:
          - endTime: '21:00'
            startTime: 09:00
        saturday:
          closed: false
          poolTimes:
          - endTime: '23:00'
            startTime: '11:00'
        sunday:
          closed: false
          poolTimes:
          - endTime: '19:00'
            startTime: '13:00'
        thursday:
          closed: false
          poolTimes:
          - endTime: 03:00
            startTime: '12:00'
        tuesday:
          closed: true
          poolTimes:
          - endTime: '19:00'
            startTime: '10:00'
        wednesday:
          closed: false
          poolTimes:
          - endTime: '18:00'
            startTime: 08:00
      properties:
        friday:
          properties:
            closed:
              description: true if the pool is closed for the day
              type: boolean
            poolTimes:
              description: pool start and end times for the day
              items:
                properties:
                  endTime:
                    description: pool end time for Friday (HH:mm)
                    type: string
                  startTime:
                    description: pool start time for Friday (HH:mm)
                    type: string
                required:
                - startTime
                - endTime
                type: object
              type: array
          required:
          - poolTimes
          type: object
        monday:
          properties:
            closed:
              description: true if the pool is closed for the day
              type: boolean
            poolTimes:
              description: pool start and end times for the day
              items:
                properties:
                  endTime:
                    description: pool end time for Monday (HH:mm)
                    type: string
                  startTime:
                    description: pool start time for Monday (HH:mm)
                    type: string
                required:
                - startTime
                - endTime
                type: object
              type: array
          required:
          - poolTimes
          type: object
        saturday:
          properties:
            closed:
              description: true if the pool is closed for the day
              type: boolean
            poolTimes:
              description: pool start and end times for the day
              items:
                properties:
                  endTime:
                    description: pool end time for Saturday (HH:mm)
                    type: string
                  startTime:
                    description: pool start time for Saturday (HH:mm)
                    type: string
                required:
                - startTime
                - endTime
                type: object
              type: array
          required:
          - poolTimes
          type: object
        sunday:
          properties:
            closed:
              description: true if the pool is closed for the day
              type: boolean
            poolTimes:
              description: pool start and end times for the day
              items:
                properties:
                  endTime:
                    description: pool end time for Sunday (HH:mm)
                    type: string
                  startTime:
                    description: pool start time for Sunday (HH:mm)
                    type: string
                required:
                - startTime
                - endTime
                type: object
              type: array
          required:
          - poolTimes
          type: object
        thursday:
          properties:
            closed:
              description: true if the pool is closed for the day
              type: boolean
            poolTimes:
              description: pool start and end times for the day
              items:
                properties:
                  endTime:
                    description: pool end time for Thursday (HH:mm)
                    type: string
                  startTime:
                    description: pool start time for Thursday (HH:mm)
                    type: string
                required:
                - startTime
                - endTime
                type: object
              type: array
          required:
          - poolTimes
          type: object
        tuesday:
          properties:
            closed:
              description: true if the pool is closed for the day
              type: boolean
            poolTimes:
              description: pool start and end times for the day
              items:
                properties:
                  endTime:
                    description: pool end time for Tuesday (HH:mm)
                    type: string
                  startTime:
                    description: pool start time for Tuesday (HH:mm)
                    type: string
                required:
                - startTime
                - endTime
                type: object
              type: array
          required:
          - poolTimes
          type: object
        wednesday:
          properties:
            closed:
              description: true if the pool is closed for the day
              type: boolean
            poolTimes:
              description: pool start and end times for the day
              items:
                properties:
                  endTime:
                    description: pool end time for Wednesday (HH:mm)
                    type: string
                  startTime:
                    description: pool start time for Wednesday (HH:mm)
                    type: string
                required:
                - startTime
                - endTime
                type: object
              type: array
          required:
          - poolTimes
          type: object
      required:
      - monday
      - tuesday
      - wednesday
      - thursday
      - friday
      - saturday
      - sunday
      type: object
    delivery-restaurantslist:
      properties:
        restaurants:
          description: A list of Just Eat restaurant ids served by the pool.
          example:
          - 10202
          - 10203
          items:
            format: int32
            type: number
          type: array
      type: object
    create-delivery-pool:
      example:
        name: Toronto - West
        restaurants:
        - 123
        - 456
      properties:
        name:
          description: The name of the pool, used by operations teams, in reports, etc.
          type: string
        restaurants:
          description: A list of Just Eat restaurant ids served by the delivery pool.
          items:
            format: int32
            type: number
          type: array
      required:
      - name
      type: object
    estimated-time:
      example:
        bestGuess: 00:35:00
      properties:
        bestGuess:
          description: Your best estimation (hh:mm:ss)
          type: string
      type: object
    patch-delivery-pool:
      example:
        name: Toronto - North
      properties:
        name:
          description: The name of the pool, used by operations teams, in reports, etc.
          type: string
        restaurants:
          description: A list of Just Eat restaurant ids served by the delivery pool.
          items:
            format: int32
            type: number
          type: array
      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