Just Eat Consumers API
The Consumers API from Just Eat — 4 operation(s) for consumers.
The Consumers API from Just Eat — 4 operation(s) for consumers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/just-eat-consumers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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 Consumers 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: Consumers
paths:
/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:
- Consumers
operationId: getConsumersByTenant
x-operation-id-source: derived
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:
- Consumers
operationId: postConsumersByTenant
x-operation-id-source: derived
/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:
- Consumers
operationId: getConsumersByTenantMeCommunicationPreferences
x-operation-id-source: derived
/consumers/{tenant}/me/communication-preferences/{type}:
get:
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
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 channel subscriptions for a given consumer's communication preference type
tags:
- Consumers
operationId: getConsumersByTenantMeCommunicationPreferencesByType
x-operation-id-source: derived
put:
description: Set only the channel subscriptions for a given consumer's communication preference type. E.g., An empty list of subscribed Channels implies unsubscribe from all channels.
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'
requestBody:
content:
application/json:
example:
subscribedChannels:
- email
- sms
schema:
$ref: '#/components/schemas/ChannelSubscriptions'
description: The list of channels that the consumer should be subscribed to.
required: true
responses:
'204':
content: {}
description: Success
'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
'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: Set only the channel subscriptions for a given consumer's communication…
tags:
- Consumers
operationId: putConsumersByTenantMeCommunicationPreferencesByType
x-operation-id-source: derived
/consumers/{tenant}/me/communication-preferences/{type}/subscribedChannels/{channel}:
delete:
description: Remove subscription of a specific communication preference channel.
parameters:
- description: Request tenant.
in: path
name: tenant
required: true
schema:
type: string
- description: The type of communication preference.
in: path
name: type
required: true
schema:
$ref: '#/components/schemas/CommunicationTypes'
- description: The channel.
in: path
name: channel
required: true
schema:
type: string
requestBody:
content: {}
required: false
responses:
'204':
content: {}
description: Success
'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
'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: Remove subscription of a specific communication preference channel
tags:
- Consumers
operationId: deleteConsumersByTenantMeCommunicationPreferencesByTypeSubscribedChannelsByChannel
x-operation-id-source: derived
post:
description: Subscribe to a specific communication preference channel.
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'
- description: The channel.
in: path
name: channel
required: true
schema:
$ref: '#/components/schemas/CommunicationChannels'
requestBody:
content: {}
required: false
responses:
'204':
content: {}
description: Success
'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: Subscribe to a specific communication preference channel
tags:
- Consumers
operationId: postConsumersByTenantMeCommunicationPreferencesByTypeSubscribedChannelsByChannel
x-operation-id-source: derived
components:
schemas:
ConsumerCreateResponse:
example:
token: SKgaDl0wZxnwjNgLxBnU646PDTquWLHOyPuyzidIZIg=
type: otac
properties:
token:
description: The One Time Access Code (OTAC)
type: string
type:
description: 'The type of token. At the moment, this will only ever be a One Time Access Code (OTAC)
'
enum:
- otac
type: string
required:
- type
- token
type: object
5XXErrorSchema:
description: A HTTP 5xx error response
properties:
fault:
description: An object representing the nature of the failure.
properties:
errors:
description: The list of errors.
items:
properties:
description:
description: Specific details about the error that may assist you in resolving the issue
type: string
errorCode:
description: A code that identifies the problem type. It will be supported by human-readable documentation that identifies how to resolve the error
type: string
type: object
type: array
faultId:
description: A value that helps identify this response back to logs, so we can easily find this specific fault
type: string
traceId:
description: A value that helps identify the trace back to logs, so that we can easily find what was happening on our system when the fault was generated
type: string
required:
- faultId
type: object
type: object
consumerMarketingPreference:
items:
properties:
channelName:
description: The channel name.
enum:
- Email
- Push
- Sms
type: string
dateUpdated:
description: The date of the marketing preference change
format: date-time
type: string
isSubscribed:
description: Should the channel be subscribed to?
type: boolean
type: object
type: array
ChannelSubscriptionsWithDerivedField:
properties:
isDefault:
description: Are these channel subscriptions the default or have they been set elsewhere. This is a read-only derived field.
type: boolean
subscribedChannels:
description: The list of channels that are subscribed
items:
$ref: '#/components/schemas/CommunicationChannels'
type: array
type: object
ChannelSubscriptions:
properties:
subscribedChannels:
description: The list of channels that the consumer should only be subscribed to.
items:
$ref: '#/components/schemas/CommunicationChannels'
type: array
type: object
4XXErrorSchema:
description: A HTTP 4xx error response
properties:
fault:
properties:
errors:
items:
properties:
description:
description: Specific details about the error that may assist you in resolving the issue
type: string
errorCode:
description: A code that identifies the problem type. It will be supported by human-readable documentation that identifies how to resolve the error
type: string
type: object
type: array
faultId:
description: A value that helps identify this response back to logs, so we can easily find this specific fault
type: string
traceId:
description: A value that helps identify the trace back to logs, so that we can easily find what was happening on our system when the fault was generated
type: string
required:
- faultId
type: object
type: object
CommunicationPreferences:
properties:
marketing:
$ref: '#/components/schemas/ChannelSubscriptionsWithDerivedField'
description: The marketing communication preferences.
type: object
type: object
ConsumerCreate:
example:
emailAddress: consumer@just-eat.com
firstName: Bob
lastName: Smith
password: Pa55word
registrationSource: Native
properties:
emailAddress:
description: The consumer's email address
format: email
maxLength: 160
type: string
firstName:
description: The consumer's first name
maxLength: 160
type: string
lastName:
description: The consumer's last name
maxLength: 160
type: string
marketingPreferences:
$ref: '#/components/schemas/consumerMarketingPreference'
description: The selected marketing preferences for the consumer
password:
description: The consumer's password
maxLength: 160
minLength: 4
type: string
registrationSource:
default: Native
description: The registration source of the consumer. Australia and New Zealand only support Guest
enum:
- Native
- Guest
type: string
required:
- emailAddress
- firstName
- lastName
type: object
CommunicationChannels:
enum:
- email
- sms
- push
type: string
CommunicationTypes:
enum:
- marketing
type: string
500ErrorSchema:
description: A HTTP 500 error response
properties:
fault:
properties:
errors:
items:
properties:
description:
description: If returned, the only value returned will be Internal Server Error"
enum:
- Internal Server Error
type: string
type: object
type: array
faultId:
description: A value that helps identify this response back to logs, so we can easily find this specific fault
type: string
traceId:
description: A value that helps identify the trace back to logs, so that we can easily find what was happening on our system when the fault was generated
type: string
required:
- faultId
type: object
type: object
responses:
500ErrorResponse:
content:
application/json:
example:
errors:
- description: Internal Server Error
faultId: 25bbe062-c53d-4fbc-9d6c-3df6127b94fd
traceId: H3TKh4QSJUSwVBCBqEtkKw==
schema:
$ref: '#/components/schemas/500ErrorSchema'
description: Internal Server Error
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