openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 650 kB
JSON
{"openapi":"3.0.0","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"}],"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","version":"1.0.0","x-apisguru-categories":["ecommerce"],"x-logo":{"url":"https://twitter.com/JustEatUK/profile_image?size=original"},"x-origin":[{"format":"openapi","url":"https://uk.api.just-eat.io/docs/openapi.json","version":"3.0"}],"x-providerName":"just-eat.co.uk"},"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":["Order Acceptance Webhooks","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":["Attempted Delivery Webhooks","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":"2025-04-15T13:52:07.549Z","to":"2025-04-15T13:52:07.549Z"}}},"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":["Checkout","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":"2025-04-15T13:52:07.549Z","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":["Checkout","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":"2025-04-15T13:52:07.549Z","to":"2025-04-15T13:52:07.549Z"},{"from":"2025-04-15T13:52:07.549Z","to":"2025-04-15T13:52:07.549Z"}]},"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":["Checkout","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":["Consumers","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":["Consumers","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":["Consumers","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"}],"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","publicly-accessible"]},"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 preference type","tags":["Consumers","publicly-accessible"]}},"/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","publicly-accessible"]},"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","publicly-accessible"]}},"/delivery-failed":{"put":{"description":"This webhook will be invoked whenever an attempted delivery event is created from the device.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/attempted-delivery-created"}}},"required":true},"responses":{"200":{"description":"Respond with a 200 status code to indicate that you have received the notification."}},"summary":"Delivery Attempt Failed","tags":["Attempted Delivery Webhooks","publicly-accessible"]}},"/delivery-fees/{tenant}":{"get":{"description":"Retrieve delivery fees for many restaurants. Returns fees and minimum order values required for delivery orders.","parameters":[{"description":"Tenant containing the restaurants.","example":"uk","in":"path","name":"tenant","required":true,"schema":{"type":"string"}},{"description":"Restaurant IDs which fees are requested for. e.g. `?restaurantIds=1,2,3,4`","example":["1","2","3","4"],"explode":false,"in":"query","name":"restaurantIds","required":true,"schema":{"items":{"type":"string"},"maxItems":200,"type":"array"},"style":"form"},{"description":"Delivery date/time when fees are required (ISO8601 format).","example":"2025-04-15T13:52:07.549Z","in":"query","name":"deliveryTime","required":true,"schema":{"format":"date-time","type":"string"}},{"description":"Postcode or other location name identifying the location to which delivery is required. For use when precise location is not available. This will be removed in future in favour of location.","example":"BS1","in":"query","name":"zone","required":false,"schema":{"type":"string"}},{"description":"Point to which delivery is required (latitude, longitude). Supply this where possible as support for zone-only based lookups will be removed in future.","example":[51.3851513,-2.0841275],"explode":false,"in":"query","name":"latlong","required":false,"schema":{"items":{"format":"double","type":"number"},"maxItems":2,"minItems":2,"type":"array"},"style":"form"}],"responses":{"200":{"content":{"application/json":{"examples":{"flatRate":{"summary":"Single fee, with and without minimum order value","value":{"restaurants":[{"bands":[{"fee":250,"minimumAmount":1000}],"minimumOrderValue":1000,"restaurantId":"1234"},{"bands":[{"fee":100,"minimumAmount":0}],"minimumOrderValue":0,"restaurantId":"5678"}]}},"flatRateWithFreeTier":{"summary":"Single fee with minimum order value, and free delivery threshold","value":{"restaurants":[{"bands":[{"fee":250,"minimumAmount":1000},{"fee":0,"minimumAmount":2000}],"minimumOrderValue":1000,"restaurantId":"1234"}]}},"threeTier":{"summary":"No minimum order value, three pricing tiers","value":{"restaurants":[{"bands":[{"fee":250,"minimumAmount":0},{"fee":100,"minimumAmount":10},{"fee":0,"minimumAmount":2000}],"minimumOrderValue":0,"restaurantId":"1234"}]}}},"schema":{"nullable":true,"properties":{"restaurants":{"description":"Collection of restaurants for which delivery fees were found.","items":{"$ref":"#/components/schemas/RestaurantDeliveryFees"},"type":"array"}},"type":"object"}}},"description":"Success"},"400":{"description":"Bad request"},"404":{"description":"Not found"}},"summary":"Get restaurant delivery fees","tags":["DeliveryFee","publicly-accessible"]}},"/delivery/estimate":{"get":{"deprecated":true,"description":"Get delivery estimate","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","publicly-accessible"]}},"/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","publicly-accessible"]},"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","publicly-accessible"]}},"/delivery/pools/{deliveryPoolId}":{"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","publicly-accessible"]},"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","publicly-accessible"]},"parameters":[{"description":"Identifier for the pool","in":"path","name":"deliveryPoolId","required":true,"schema":{"type":"string"}}],"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","publicly-accessible"]},"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","publicly-accessible"]}},"/delivery/pools/{deliveryPoolId}/availability/relative":{"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","publicly-accessible"]},"parameters":[{"description":"Identifier for the pool","in":"path","name":"deliveryPoolId","required":true,"schema":{"type":"string"}}],"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","publicly-accessible"]}},"/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","publicly-accessible"]}},"/delivery/pools/{deliveryPoolId}/restaurants":{"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","publicly-accessible"]},"parameters":[{"description":"Identifier for the pool","in":"path","name":"deliveryPoolId","required":true,"schema":{"type":"string"}}],"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","publicly-accessible"]}},"/driver-assigned-to-delivery":{"put":{"description":"Driver Assigned to Delivery","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/driver-status"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Driver Assigned to Delivery","tags":["Order Delivery Webhooks","publicly-accessible"]}},"/driver-at-delivery-address":{"put":{"description":"Driver at delivery address","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/driver-status"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Driver at delivery address","tags":["Order Delivery Webhooks","publicly-accessible"]}},"/driver-at-restaurant":{"put":{"description":"Driver at restaurant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/driver-status"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Driver at restaurant","tags":["Order Delivery Webhooks","publicly-accessible"]}},"/driver-has-delivered-order":{"put":{"description":"Driver has delivered order","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/driver-status"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Driver has delivered order","tags":["Order Delivery Webhooks","publicly-accessible"]}},"/driver-location":{"put":{"description":"Driver Location","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/driver-location"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Driver Location","tags":["Order Delivery Webhooks","publicly-accessible"]}},"/driver-on-their-way-to-delivery-address":{"put":{"description":"Driver on their way to delivery address","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/driver-status"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Driver on their way to delivery address","tags":["Order Delivery Webhooks","publicly-accessible"]}},"/late-order-compensation-query":{"post":{"description":"This webhook will be invoked when a late order compensation query has been raised and a restaurant response is required.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/late-order-compensation-query"}}},"required":true},"responses":{"200":{"description":"Respond with a 200 status code to indicate that you have received the notification"}},"summary":"late order compensation query, restaurant response required","tags":["Consumer Queries Webhooks","publicly-accessible"]}},"/late-order-query":{"post":{"description":"This webhook will be invoked when a late order query has been raised and a restaurant response is required.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/late-order-query"}}},"required":true},"responses":{"200":{"description":"Respond with a 200 status code to indicate that you have received the notification."}},"summary":"late order query, restaurant response required","tags":["Consumer Queries Webhooks","publicly-accessible"]}},"/menu-ingestion-complete":{"post":{"description":"Callback to confirm that an attempt to ingest a menu has completed either successfully or unsuccessfully","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/menu-ingestion-complete"}}},"required":true},"responses":{"200":{"description":"OK"}},"summary":"Menu ingestion complete","tags":["Restaurant Webhooks","publicly-accessible"]}},"/order-accepted":{"post":{"description":"This webhook will be invoked whenever the order was accepted.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/order-accepted"}}},"required":true},"responses":{"200":{"description":"Respond with a 200 status code to indicate that you have received the notification."}},"summary":"Order accepted","tags":["Order Acceptance Webhooks","publicly-accessible"]}},"/order-cancelled":{"post":{"description":"This webhook will be invoked whenever the order was cancelled.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/order-cancelled"}}},"required":true},"responses":{"200":{"description":"Respond with a 200 status code to indicate that you have received the notification."}},"summary":"Order cancelled","tags":["Order Acceptance Webhooks","publicly-accessible"]}},"/order-eligible-for-restaurant-compensation":{"post":{"description":"This webhook will be invoked for every cancelled order and it will inform if the order is eligible for compensation.\n","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderEligibleForRestaurantCompensation"}}},"required":true},"responses":{"200":{"description":"Respond with a 200 status code to indicate that you have received the notification."}},"summary":"Order Eligible For Restaurant Compensation","tags":["RestaurantQueries Webhooks","publicly-accessible"]}},"/order-is-ready-for-pickup":{"put":{"description":"<p>The \"Ready for pickup\" event lets the delivery partner know that the food has been cooked and is now ready for collection up from the restaurant.</p><p>When this event is received, it is important that you let your driver know that the order should now be collected from inside the restaurant. For example, this driver notification could take the form of an in-app notification or an SMS message.</p><p>This communication is needed to support restaurants who are unable to accommodate drivers inside their premises, as it allows restaurants to notify driver