Just Eat publicly-accessible API

The publicly-accessible API from Just Eat — 85 operation(s) for publicly-accessible.

OpenAPI Specification

just-eat-publicly-accessible-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 publicly-accessible 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: publicly-accessible
paths:
  /acceptance-requested:
    post:
      description: This webhook will be invoked whenever acceptance has been requested for the order.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/acceptance-requested'
        required: true
      responses:
        '200':
          description: Respond with a 200 status code to indicate that you have received the notification.
      summary: Acceptance requested
      tags:
      - publicly-accessible
  /attempted-delivery-query-resolved:
    put:
      description: This webhook will be invoked whenever an attempted delivery query has been resolved.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/attempted-delivery-resolved'
        required: true
      responses:
        '200':
          description: Respond with a 200 status code to indicate that you have received the notification.
      summary: Attempted delivery query resolved
      tags:
      - publicly-accessible
      x-status: Stable
  /checkout/{tenant}/{checkoutId}:
    get:
      description: "Get the details required to fulfil an order, which includes:\n  - The restaurant selling the items to be purchased\n  - The customer making the purchase\n  - How, where and when the items will be received by the customer\n  - Instructions about the order\n"
      parameters:
      - description: "A two-character country code. \n\nThe following countries are supported:\n  - United Kingdom (UK)\n  - Australia (AU)\n  - New Zealand (NZ)\n"
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: A unique identifier for a checkout. This is currently a Basket Id.
        in: path
        name: checkoutId
        required: true
        schema:
          type: string
      - description: Allows the server to identify the application making the request.
        in: header
        name: User-Agent
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              example:
                customer:
                  firstName: Joe
                  lastName: Bloggs
                  phoneNumber: '+447111111111'
                fulfilment:
                  location:
                    address:
                      administrativeArea: Somerset
                      lines:
                      - 1 Bristol Road
                      locality: Bristol
                      postalCode: BS1 1AA
                    geolocation:
                      latitude: 1
                      longitude: -1
                  time:
                    asap: false
                    scheduled:
                      from: '2020-01-01T00:30:00.000Z'
                      to: '2020-01-01T00:30:00.000Z'
                isFulfillable: true
                issues:
                - code: RESTAURANT_NOT_TAKING_ORDERS
                - additionalSpendRequired: 100
                  code: MINIMUM_ORDER_VALUE_NOT_MET
                  currency: GBP
                  minimumOrderValue: 1000
                restaurant:
                  availabilityId: '5678'
                  id: '1234'
                serviceType: delivery
              schema:
                $ref: '#/components/schemas/CheckoutGetResponse'
          description: 'OK : Request has succeeded.'
          headers:
            cache-control:
              description: Response caching must not be applied.
              schema:
                enum:
                - no-store
                type: string
        '400':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The tenant is invalid
                    errorCode: TENANT_INVALID
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutGet400Error'
          description: 'BAD REQUEST : Cannot process the request due to error by client.'
        '401':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Authentication required to access this resource
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'UNAUTHORIZED : Missing authentication credentials to access target resource.'
        '403':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Access to the resource is forbidden
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'FORBIDDEN : Not authorised to access target resource.'
        '404':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The tenant is not supported
                    errorCode: TENANT_NOT_SUPPORTED
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/Checkout404Error'
          description: 'NOT FOUND : Target resource could not be found.'
        '409':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The checkout is in an invalid state
                    errorCode: CHECKOUT_INVALID
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/Checkout409Error'
          description: 'CONFLICT : Request not completed as it conflicts with target resource.'
        '429':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Couldn't complete request
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'TOO MANY REQUESTS : Request not completed as server has received too many requests in a given amount of time.'
        '500':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Internal Server Error
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'INTERNAL SERVER ERROR : Error on server preventing request from being fulfilled.'
        '503':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Couldn't complete request
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'SERVICE UNAVAILABLE : Server currently unable to fulfil the request. The request can be retried.'
      security:
      - Bearer: []
      summary: Get Checkout
      tags:
      - publicly-accessible
      x-status: Stable
    patch:
      description: "Update the details required to fulfil an order, which includes:\n  - The customer making the purchase\n  - Where and when the items will be received by the customer\n  - Instructions about the order\n"
      parameters:
      - description: "A two-character country code. \n\nThe following countries are supported:\n  - United Kingdom (UK)\n  - Australia (AU)\n  - New Zealand (NZ)\n"
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: A unique identifier for a checkout. This is currently a Basket Id.
        in: path
        name: checkoutId
        required: true
        schema:
          type: string
      - description: Allows the server to identify the application making the request.
        in: header
        name: User-Agent
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json-patch+json:
            example:
            - op: add
              path: /customer
              value:
                dateOfBirth: '1980-01-30'
                phoneNumber: '+447111111111'
            schema:
              $ref: '#/components/schemas/CheckoutUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                isFulfillable: true
                issues:
                - code: RESTAURANT_NOT_TAKING_ORDERS
                - additionalSpendRequired: 100
                  code: MINIMUM_ORDER_VALUE_NOT_MET
                  currency: GBP
                  minimumOrderValue: 1000
              schema:
                $ref: '#/components/schemas/CheckoutUpdateResponse'
          description: 'OK : Request has succeeded.'
          headers:
            cache-control:
              description: Response caching must not be applied.
              schema:
                enum:
                - no-store
                type: string
        '400':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The tenant is invalid
                    errorCode: TENANT_INVALID
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutUpdate400Error'
          description: 'BAD REQUEST : Cannot process the request due to error by client.'
        '401':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Authentication required to access this resource
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'UNAUTHORIZED : Missing authentication credentials to access target resource.'
        '403':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Access to the resource is forbidden
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'FORBIDDEN : Not authorised to access target resource.'
        '404':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The tenant is not supported
                    errorCode: TENANT_NOT_SUPPORTED
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/Checkout404Error'
          description: 'NOT FOUND : Target resource could not be found.'
        '409':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The checkout is in an invalid state
                    errorCode: CHECKOUT_INVALID
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/Checkout409Error'
          description: 'CONFLICT : Request not completed as it conflicts with target resource.'
        '429':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Couldn't complete request
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'TOO MANY REQUESTS : Request not completed as server has received too many requests in a given amount of time.'
        '500':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Internal Server Error
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'INTERNAL SERVER ERROR : Error on server preventing request from being fulfilled.'
        '503':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Couldn't complete request
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'SERVICE UNAVAILABLE : Server currently unable to fulfil the request. The request can be retried.'
      security:
      - Bearer: []
      summary: Update Checkout
      tags:
      - publicly-accessible
      x-status: Stable
  /checkout/{tenant}/{checkoutId}/fulfilment/availabletimes:
    get:
      description: Gets a collection of times for when an order can be fulfilled.
      parameters:
      - description: "A two-character country code. \n\nThe following countries are supported:\n  - United Kingdom (UK)\n  - Australia (AU)\n  - New Zealand (NZ)\n"
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: A unique identifier for a checkout. This is currently a Basket Id.
        in: path
        name: checkoutId
        required: true
        schema:
          type: string
      - description: Allows the server to identify the application making the request.
        in: header
        name: User-Agent
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              example:
                asapAvailable: true
                times:
                - from: '2020-01-01T00:30:00.000Z'
                  to: '2020-01-01T00:45:00.000Z'
                - from: '2020-01-01T00:45:00.000Z'
                  to: '2020-01-01T01:00:00.000Z'
              schema:
                $ref: '#/components/schemas/GetAvailableFulfilmentTimesResponse'
          description: 'OK : Request has succeeded.'
          headers:
            cache-control:
              description: Response caching must not be applied.
              schema:
                enum:
                - no-store
                type: string
        '400':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The tenant is invalid
                    errorCode: TENANT_INVALID
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutGet400Error'
          description: 'BAD REQUEST : Cannot process the request due to error by client.'
        '404':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The tenant is not supported
                    errorCode: TENANT_NOT_SUPPORTED
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/Checkout404Error'
          description: 'NOT FOUND : Target resource could not be found.'
        '409':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: The fulfilment time bands are in an invalid state
                    errorCode: FULFILMENT_TIME_BANDS_INVALID
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/AvailableFulfilmentTimes409Error'
          description: 'CONFLICT : Request not completed as it conflicts with target resource.'
        '429':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Couldn't complete request
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'TOO MANY REQUESTS : Request not completed as server has received too many requests in a given amount of time.'
        '500':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Internal Server Error
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'INTERNAL SERVER ERROR : Error on server preventing request from being fulfilled.'
        '503':
          content:
            application/json:
              example:
                fault:
                  errors:
                  - description: Couldn't complete request
                  faultId: 72d7036d-990a-4f84-9efa-ef5f40f6044b
                  traceId: 0HLOCKDKQPKIU
              schema:
                $ref: '#/components/schemas/CheckoutDefaultError'
          description: 'SERVICE UNAVAILABLE : Server currently unable to fulfil the request. The request can be retried.'
      summary: Get Available Fulfilment Times
      tags:
      - publicly-accessible
      x-status: Stable
  /consumers/{tenant}:
    get:
      description: Currently this operation only supports retrieving a count of consumer accounts given an email address.
      parameters:
      - description: The identifier for the tenant.
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: Email address of the consumer.
        in: query
        name: emailAddress
        required: true
        schema:
          type: string
      - description: The account type of the consumer - currently only 'registered' accounts are supported.
        in: query
        name: accountType
        required: true
        schema:
          default: registered
          enum:
          - registered
          type: string
      - description: Returns the number of consumers that matches the `emailAddress` and `accountType`. The query value should be empty, e.g. `/consumers/uk/?emailAddress=someone@email.com&accountType=registered&count`.
        in: query
        name: count
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            text/plain:
              example: 1
              schema:
                type: integer
          description: Success
          headers:
            cache-control:
              description: Information about how the response can be cached.
              schema:
                type: string
        '400':
          content:
            application/json:
              example:
                errors:
                - description: The Email is missing or invalid.
                  errorCode: InvalidEmail
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Bad request.
        '404':
          content:
            application/json:
              example:
                errors:
                - description: Tenant not found
                  errorCode: TenantNotFound
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: The specified tenant does not exist.
        '500':
          $ref: '#/components/responses/500ErrorResponse'
        '501':
          content:
            application/json:
              example:
                errors:
                - description: Non-Count queries have not been implemented
                  errorCode: NotImplemented
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/5XXErrorSchema'
          description: The operation has not been implemented
      summary: Get consumers details
      tags:
      - publicly-accessible
    post:
      description: Creates a consumer for the given tenant.
      parameters:
      - description: The identifier for the tenant. The only supported tenants are `uk`, `au` and `nz`
        in: path
        name: tenant
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsumerCreate'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerCreateResponse'
          description: Consumer created.
        '400':
          content:
            application/json:
              example:
                errors:
                - description: Email is required.
                  errorCode: BadRequest
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Bad request.
        '403':
          content:
            application/json:
              example:
                errors:
                - description: Not authorized to do this.
                  errorCode: Forbidden
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Forbidden.
        '404':
          content:
            application/json:
              example:
                errors:
                - description: Tenant not found
                  errorCode: TenantNotFound
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: The specified tenant does not exist.
        '409':
          content:
            application/json:
              example:
                errors:
                - description: The specified email already exists
                  errorCode: Conflict
                faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: The specified email already exists.
        '500':
          $ref: '#/components/responses/500ErrorResponse'
      summary: Create consumer
      tags:
      - publicly-accessible
  /consumers/{tenant}/me/communication-preferences:
    get:
      description: Get all communication preferences for a given consumer.
      parameters:
      - description: Request tenant.
        in: path
        name: tenant
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              example:
                marketing:
                  isDefault: false
                  subscribedChannels:
                  - email
                  - sms
              schema:
                $ref: '#/components/schemas/CommunicationPreferences'
          description: Success
          headers:
            cache-control:
              description: Information about how the response can be cached.
              schema:
                type: string
        '401':
          content:
            application/json:
              example:
                errors:
                - description: You are unauthorized to perform this request.
                  errorCode: Unauthorized
                faultId: b39ae4c1-142f-4308-838d-1f01815e1cf1
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                errors:
                - description: You are forbidden from performing this request.
                  errorCode: Forbidden
                faultId: b39ae4c1-142f-4308-838d-1f01815e1cf1
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Forbidden
        '404':
          content:
            application/json:
              example:
                errors:
                - description: Tenant could not be found.
                  errorCode: NotFound
                faultId: b39ae4c1-142f-4308-838d-1f01815e1cf1
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Not Found
        '500':
          $ref: '#/components/responses/500ErrorResponse'
          description: Internal Server Error
      summary: Get communication preferences
      tags:
      - publicly-accessible
  /consumers/{tenant}/me/communication-preferences/{type}:
    get:
      description: Get channel subscriptions for a given consumer's communication preference type
      parameters:
      - description: Request tenant.
        in: path
        name: tenant
        required: true
        schema:
          type: string
      - description: The type of communication preferences.
        in: path
        name: type
        required: true
        schema:
          $ref: '#/components/schemas/CommunicationTypes'
      responses:
        '200':
          content:
            application/json:
              example:
                isDefault: false
                subscribedChannels:
                - email
                - sms
              schema:
                $ref: '#/components/schemas/ChannelSubscriptionsWithDerivedField'
          description: Success
          headers:
            cache-control:
              description: Information about how the response can be cached.
              schema:
                type: string
        '401':
          content:
            application/json:
              example:
                errors:
                - description: You are unauthorized to perform this request.
                  errorCode: Unauthorized
                faultId: b39ae4c1-142f-4308-838d-1f01815e1cf1
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                errors:
                - description: You are forbidden from performing this request.
                  errorCode: Forbidden
                faultId: b39ae4c1-142f-4308-838d-1f01815e1cf1
                traceId: H3TKh4QSJUSwVBCBqEtkKw==
              schema:
                $ref: '#/components/schemas/4XXErrorSchema'
          description: Forbidden
        '404':
          content:
            application/json:
              example:
                errors:
                - description: Tenant could not be found.
                  errorCode: NotFound
   

# --- truncated at 32 KB (384 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/just-eat/refs/heads/main/openapi/just-eat-publicly-accessible-api-openapi.yml