CloudKitchens Public API

The CloudKitchens Public API is a resource-oriented REST API over JSON secured with OAuth 2.0, used by integration partners — ordering channels, POS and kitchen systems, delivery networks and reporting tools — to work with CloudKitchens stores. It publishes 80 operations across 19 endpoint groups (orders, manager orders, direct orders, menus, manager menus, storefront, manager storefront, delivery, finance, inventory, reports, reviews, loyalty, organization, account pairing, store, auth, callback and ping) plus 27 webhook events, and defines 320 reusable component schemas. Every store-scoped call carries an X-Store-Id header naming the partner's own identifier for the store, which CloudKitchens translates to its internal store id.

Documentation

Specifications

Other Resources

OpenAPI Specification

cloudkitchens-public-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Public API
  description: "# Overview\n\nThe API endpoints are developed around [RESTful](https://en.wikipedia.org/wiki/Representational_state_transfer) principles secure via the OAuth2.0 protocol.\n\nBeyond the entry points, the API also provides a line of communication into your system via [webhooks](https://en.wikipedia.org/wiki/Webhook).\n\nFor testing purposes, we offer a staging environment. Also, more detailed information about the business rules and workflows can be found on the [**Documentation Section**](/docs/)\n\n## Versioning\nEach API is versioned individually, but we follow these rules:\n- Non breaking changes (eg: adding new fields) are added in the current version without previous communication\n- Breaking changes (fields removal, semantic changed or schema update) have the version incremented\n- Users will be notified about new versions and will be given time to migrate (the time will be set on a case by case basis)\n- Once users migrate to the new version, we will deprecate the old ones\n- Once there is a new version for an API, we won't accept new integrations targeting old versions\n\n## API General Definitions\nThe APIs use resource-oriented URLs communicating, primarily, via JSON and leveraging the HTTP headers, [response status codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status), and verbs.\n\nTo exemplify how the API is to be consumed, consider a fake GET resource endpoint invocation below:\n\n```\ncurl --request GET 'https://{{public-api-url}}/v1/resource/123' \\\n--header 'Authorization: Bearer 34fdabeeafds=' --header 'X-Store-Id: 321'\n```\n\n|      Header      | Description |\n| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|`Authorization`   | Standard HTTP header is used to associate the request with the originating invoker. The content of this header is a `Bearer` token generated from you client_secret, defined in the [API Auth](#/section/Guides/API-Auth) guide.|\n|`X-Store-Id`      | The ID of the store in your system this call acts on behalf of. |\n\n_All resource endpoints expect the `Authorization` header, the remaining headers are explicitly stated in the individual endpoint documentation section._\n\nWith these headers, the system will:\n - Validate the client token, making sure the call is originating from a trusted source.\n - Validate that the Application has the permission to access the `v1/resource/{id}` resource via the Application's pre-configured scopes.\n - Translate your X-Store-Id to our internal store ID (e.g. `AAA`).\n - Validate and retrieve resource `AAA`, that is associated to your Application via store id `321`.\n\nPOST/PUT methods will look similar to the GET calls, but they'll take in a body in the HTTP request (default to the application/json content-type).\n\n```\ncurl --location --request POST 'https://{{public-api-url}}/v1/resource' \\\n--header 'Authorization: Bearer 34fdabeeafds=' --header 'X-Store-Id: 321'\n--data '{\"foo\": \"bar\"}'\n```\n\n## API Authentication/Authorization\n\n<SecurityDefinitions />\n\n## Webhook\n\nThe Public API is able to send notifications to your system via HTTP POST requests.\n\nEvery webhook is signed using HMAC-SHA256 that is present in the header `X-HMAC-SHA256`, and you can also authenticate the requests using Basic Auth, Bearer Token or HMAC-SHA1 (legacy). Please, refer to [**Webhook Authentication Guide**](/docs/guides-webhook-authentication/) for more details.\n\n_Please work with your Account Representative to setup your Application's Webhook configurations._\n\n```\nExample Base-URL = https://{{your-server-url}}/webhook\n```\n\n### Notification Schema\n\n| **Name**                | **Type** | **Description**                                                      |\n| ------------------------| ---------| -------------------------------------------------------------------- |\n| eventId                 | string   | Unique id of the event.                                              |\n| eventTime               | string   | The time the event occurred.                                         |\n| eventType               | string   | The type of event (e.g. create_order).                               |\n| metadata.storeId        | string   | Id of the store for which the event is being published.              |\n| metadata.applicationId  | string   | Id of the application for which the event is being published.        |\n| metadata.resourceId     | string   | The external identifier of the resource that this event refers to.   |\n| metadata.resourceHref   | string   | The endpoint to fetch the details of the resource.                   |\n| metadata.payload        | object   | The event object which will be detailed in each Webhook description. |\n\n### Notification Request Example\n\n```\ncurl --location --request POST 'https://{{your-server-url}}/webhook' \\\n--header 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36' \\\n--header 'Authorization: MAC <hash signature>' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n   \"eventId\": \"123456\",\n   \"eventTime\": \"2020-10-10T20:06:02:123Z\",\n   \"eventType\": \"orders.new_order\",\n   \"metadata\": {\n      \"storeId\": \"755fd19a-7562-487a-b615-171a9f89d669\",\n      \"applicationId\": \"e22f94b3-967c-4e26-bf39-9e364066b68b\",\n      \"resourceHref\": \"https://{{public-api-url}}/v1/orders/bf9f1d81-f213-496e-a026-91b6af44996c\",\n      \"resourceId\": \"bf9f1d81-f213-496e-a026-91b6af44996c\",\n      \"payload\": {}\n   }\n}\n```\n\n### Expected Response\n\nThe partner application should return an HTTP 200 response code with an empty response body to acknowledge receipt of the webhook event.\n## Rate Limiting\nPlease, refer to [**Rate Limiting Guide**](/docs/guides-rate-limiting/) for more details.\n\n## Error codes\nThe APIs use standard HTTP status codes to indicate the success or failure of a request. Error codes are divided into two categories: 4XX codes for client-side errors and 5xx codes for server-side errors.\n### 4XX Client-Side Errors\nClient-side errors are indicated by status codes in the 4xx range. These errors are typically the result of a problem with the request made by your application.\nIf a client-side error occurs, our API will return a response that includes an appropriate error message. This message will provide information about the cause of the error. The aim of these messages is to assist you in identifying and resolving the issue.\nFor example, if you submit a request with missing or invalid parameters, you might receive a 400 Bad Request error with a message indicating which parameters were missing or incorrect.\n### 5XX Server-Side Errors\nServer-side errors are represented by status codes in the 5xx range. These errors suggest a problem with our server, not with your application's request.\nServer-side errors are typically transient, meaning they are temporary. If a server-side error occurs, we recommend that the client retries the same request with the exact same parameters.\nFor example, if you get a 500 Internal Server Error, it's possible that our server is suffering a temporary problem. In such cases, retrying the request after a short delay is often successful.\nIf you continually receive server-side errors, reach out to our support team for further assistance."
  version: v1
  license:
    name: Proprietary
servers:
- url: https://{{public-api-url}}
  description: Staging server url
tags:
- name: ping_endpoints
  description: Endpoints to ping and test system authentication.
  x-displayName: Ping
- name: manager_order_endpoints
  description: 'Endpoints for applications that act on the merchant/store side of an order rather than as the ordering marketplace — typically Point-of-Sale (POS) systems, Business Intelligence (BI) tools, and reporting integrations.


    This domain lets a merchant-side application retrieve a store''s orders and manage them on the store''s behalf as they progress through their lifecycle.'
  x-displayName: Orders Manager (POS, BI &amp; Reports)
- name: orders_endpoints
  description: 'Endpoints used by ordering marketplaces and other order sources to send orders to a store and keep them up to date.


    This domain lets an order source submit new orders as customers place them, reflect later changes as the orders progress, and backfill historical orders for reporting.'
  x-displayName: Orders
- name: orders_webhooks
  description: Webhooks from orders domains.
  x-displayName: Orders Webhooks
- name: manager_orders_webhooks
  description: Webhooks delivered to merchant-side applications (POS, BI, and reporting integrations) so they can react to changes in an order as it progresses through its lifecycle.
  x-displayName: Orders Manager Webhooks (POS, BI &amp; Reports)
- name: callback_endpoints
  description: Endpoints for callback management.
  x-displayName: Callback
- name: reports_endpoints
  description: Endpoints to reports generation operations
  x-displayName: Reports
- name: reports_webhooks
  description: Webhooks from the reports generation operations
  x-displayName: Reports Webhooks
- name: reviews_endpoints
  description: Endpoints for review operations
  x-displayName: Reviews
- name: manager_storefront_endpoints
  description: Endpoints for applications managing storefront related data and operations.
  x-displayName: Storefront Manager
- name: storefront_endpoints
  description: Endpoints to manage storefront state
  x-displayName: Storefront
- name: storefront_webhooks
  description: Webhooks from storefront domain.
  x-displayName: Storefront Webhooks
- name: manager_menu_endpoints
  description: Endpoints for applications managing menus related data and operations.
  x-displayName: Menus Manager
- name: menus_endpoints
  description: Endpoints to manage menus.
  x-displayName: Menus
- name: menus_webhooks
  description: Webhooks from menus domain.
  x-displayName: Menus Webhooks
- name: auth_endpoints
  description: Endpoints to handle token management.
  x-displayName: Auth
- name: delivery_endpoints
  description: Endpoints to manage delivery.
  x-displayName: Delivery
- name: delivery_webhooks
  description: Webhooks from the delivery domain.
  x-displayName: Delivery Webhooks
- name: ping_webhooks
  description: Webhooks to ping and test the system integration.
  x-displayName: Ping Webhooks
- name: storelinks_endpoints
  description: Endpoints to pair accounts between platforms for onboarding and offboarding purposes.
  x-displayName: Stores Endpoints
- name: storelinks_webhooks
  description: Webhooks to manage the store onboarding process.
  x-displayName: Stores Webhooks
- name: finance_endpoints
  description: Endpoints to handle financial data.
  x-displayName: Finance
- name: utils_endpoints
  description: Endpoints to provide access to integration utilities.
  x-displayName: Integration Utilities
- name: account_pairing_endpoints
  description: Endpoints to manage store onboarding and status
  x-displayName: Account Pairing
- name: account_pairing_webhooks
  description: Webhooks to manage store onboarding and status
  x-displayName: Account Pairing Webhooks
- name: inventory_endpoints
  description: Endpoints to interact with product inventory.
  x-displayName: Inventory
- name: organization_endpoints
  description: Endpoints to interact with with organizations/brands/stores and with integration connections.
  x-displayName: Organization
- name: manager_loyalty_endpoints
  description: Endpoints to manage loyalty.
  x-displayName: Loyalty Manager
- name: direct_orders_endpoints
  description: Endpoints to get orders directly.
  x-displayName: Direct Orders
- name: store_endpoints
  description: Endpoints to get store information.
  x-displayName: Store
x-webhooks:
  orderCreate:
    post:
      tags:
      - manager_orders_webhooks
      summary: Order creation webhook
      description: 'Notifies a merchant-side integration (POS/BI) that a new order has been created for the store, delivering the full order payload. Acknowledge it via the [**order-created callback**](/api-reference/#operation/orderCreated).

        '
      operationId: orderCreateWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/Order'
              - example:
                  eventType: orders.new_order
      responses:
        '200':
          $ref: '#/components/responses/200'
        '202':
          $ref: '#/components/responses/202'
  orderUpdate:
    post:
      tags:
      - manager_orders_webhooks
      summary: Order update webhook
      description: 'Notifies a merchant-side integration (POS/BI) that an existing order has changed, delivering the updated order payload.

        '
      operationId: orderUpdateWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/Order'
              - example:
                  eventType: orders.update
      responses:
        '200':
          $ref: '#/components/responses/200'
        '202':
          $ref: '#/components/responses/202'
  intentToCancelOrder:
    post:
      tags:
      - orders_webhooks
      summary: Intent to cancel order webhook
      description: 'Notifies the order source that the platform intends to cancel an order (for example, requested by the store). The source should react and, when applicable, acknowledge the cancellation via the [**update order status**](/api-reference/#operation/updateOrderStatus) endpoint with status `CANCELED`.

        '
      operationId: intentToCancelOrderWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/IntentToCancelEvent'
              - example:
                  eventType: orders.cancel_order
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  orderStatusUpdate:
    post:
      tags:
      - orders_webhooks
      summary: Order status update webhook
      description: 'Notifies the order source of a change in an order''s status, delivering the order''s status history.

        '
      operationId: orderStatusUpdateWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderStatusHistory'
              - example:
                  eventType: orders.order_status_update
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  posInjectionStateUpdate:
    post:
      tags:
      - orders_webhooks
      summary: Pos injection state update webhook
      description: 'Notifies the order source of a change in the order''s POS injection state (for example, whether the order was successfully injected into the store''s POS, requires manual injection, or failed).

        '
      operationId: posInjectionStateUpdateWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/PosInjectionStateUpdateEvent'
              - example:
                  eventType: orders.pos_injection_state_update
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  orderConfirm:
    post:
      tags:
      - manager_orders_webhooks
      summary: Order confirm notification webhook
      description: 'Notifies a merchant-side integration that an order has been confirmed (accepted), including the estimated preparation time when available.

        '
      operationId: orderConfirmWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderConfirmEvent'
              - example:
                  eventType: orders.confirm
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  orderReady:
    post:
      tags:
      - manager_orders_webhooks
      summary: Order Ready status notification webhook
      description: 'Notifies a merchant-side integration that an order has been marked ready for pickup by the courier or customer.

        '
      operationId: orderReady
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderReadyEvent'
              - example:
                  eventType: orders.order_ready
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  orderHandedOff:
    post:
      tags:
      - manager_orders_webhooks
      summary: Order Handed Off status notification webhook
      description: 'Notifies a merchant-side integration that an order has been handed off to the courier or customer.

        '
      operationId: orderHandedOff
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderHandedOffEvent'
              - example:
                  eventType: orders.order_handed_off
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  orderFulfilled:
    post:
      tags:
      - manager_orders_webhooks
      summary: Order Fulfilled status notification webhook
      description: 'Notifies a merchant-side integration that an order has reached its final fulfilled state.

        '
      operationId: orderFulfilled
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderFulfilledEvent'
              - example:
                  eventType: orders.order_fulfilled
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  menuPublish:
    post:
      tags:
      - menus_webhooks
      summary: Menu publish webhook
      description: 'Webhook to trigger a menu publish.

        If successful, we expect a [**menu publish callback**](/api-reference/#operation/menuPublishCallback). If an error occurred, please publish a [**callback error**](/api-reference/#operation/publishError) instead.'
      operationId: menuPublishWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/MenuPublishEvent'
              - example:
                  eventType: menus.menu_publish
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  sendMenu:
    post:
      tags:
      - menus_webhooks
      summary: Send menu webhook
      description: 'Webhook to trigger a send menu.

        If successful, we expect a [**menu send callback**](/api-reference/#operation/menuSendCallback). If an error occurred, please publish a [**callback error**](/api-reference/#operation/publishError) instead.'
      operationId: sendMenuWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/NullEvent'
              - example:
                  eventType: menus.send_menu
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  updateMenuEntitiesAvailabilities:
    post:
      tags:
      - menus_webhooks
      summary: Update menu entities availabilities webhook
      description: 'Webhook to trigger an entities availabilities update.

        If successful, we expect an [**update menu entities availabilities callback**](/api-reference/#operation/updateMenuEntitiesAvailabilitiesCallback). If an error occurred, please publish a [**callback error**](/api-reference/#operation/publishError) instead.'
      operationId: updateMenuEntitiesAvailabilitiesWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/BulkUpdateItemStatus'
              - example:
                  eventType: menus.update_menu_entities_availabilities
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  upsertMenuHours:
    post:
      tags:
      - menus_webhooks
      summary: Upsert menu hours webhook
      description: 'Webhook to trigger a menu hours update.

        If successful, we expect a [**menu upsert hours callback**](/api-reference/#operation/menuUpsertHours). If an error occurred, please publish a [**callback error**](/api-reference/#operation/publishError) instead.'
      operationId: upsertMenuHoursWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/UpsertHoursEvent'
              - example:
                  eventType: menus.upsert_hours
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  pauseStore:
    post:
      tags:
      - storefront_webhooks
      summary: Pause store webhook
      operationId: pauseStoreWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/NullEvent'
              - example:
                  eventType: storefront.pause_store
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  unpauseStore:
    post:
      tags:
      - storefront_webhooks
      summary: Unpause store webhook
      operationId: unpauseStoreWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/UnpauseStoreEvent'
              - example:
                  eventType: storefront.unpause_store
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  getStoreAvailability:
    post:
      tags:
      - storefront_webhooks
      summary: Get store availability webhook
      operationId: getStoreAvailabilityWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/NullEvent'
              - example:
                  eventType: storefront.get_store_availability
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  getStoreHoursConfiguration:
    post:
      tags:
      - storefront_webhooks
      summary: Get store hours configuration webhook
      operationId: getStoreHoursConfigurationWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/NullEvent'
              - example:
                  eventType: storefront.get_store_hours
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  deliveryStatusUpdate:
    post:
      tags:
      - delivery_webhooks
      summary: Update delivery status webhook
      operationId: deliveryStatusUpdateWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/DeliveryStatusUpdateEvent'
              - example:
                  eventType: delivery.delivery_status_update
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  requestDeliveryQuotes:
    post:
      tags:
      - delivery_webhooks
      summary: Request delivery quotes webhook
      operationId: requestDeliveryQuotesWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/RequestDeliveryQuoteEvent'
              - example:
                  eventType: delivery.request_quote
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  acceptDelivery:
    post:
      tags:
      - delivery_webhooks
      summary: Accept delivery webhook
      operationId: acceptDeliveryWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/AcceptDeliveryEvent'
              - example:
                  eventType: delivery.accept
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  cancelDelivery:
    post:
      tags:
      - delivery_webhooks
      summary: Cancel delivery webhook
      operationId: cancelDeliveryWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/CancelDeliveryEvent'
              - example:
                  eventType: delivery.cancel
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  updateDeliveryRequest:
    post:
      tags:
      - delivery_webhooks
      summary: Update delivery request webhook
      operationId: updateDeliveryRequestWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/UpdateDeliveryRequestEvent'
              - example:
                  eventType: delivery.update_request
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  reportGenerated:
    post:
      tags:
      - reports_webhooks
      summary: Report generated webhook
      operationId: reportGeneratedWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/ReportGeneratedEvent'
              - example:
                  eventType: reports.report_generated
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  ping:
    post:
      tags:
      - ping_webhooks
      summary: Ping webhook
      description: Used to validate the integration without side effects
      operationId: pingWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/PingEvent'
              - example:
                  eventType: ping.ping
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
  upsertStore:
    post:
      tags:
      - account_pairing_webhooks
      summary: Upsert Store
      description: Sent when a store is created or updated in `Public API` internal systems.<br/> If metadata contains a `Store ID`, it means a request to update 

# --- truncated at 32 KB (394 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cloudkitchens/refs/heads/main/openapi/cloudkitchens-public-api-openapi.yml
Where this information came from

This is an independent, third-party profile of CloudKitchens Public API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.