Bolt Delivery API

Combined delivery-provider surface covering both the restaurant (Bolt Food) and grocery (Bolt Market) sides of the platform - menu integration, order acceptance and fulfillment, dine-in orders, provider scheduling, warehouse stock, and the full PIM suite, with Bolt calling partner-hosted webhooks for order and courier lifecycle events. Partner-gated with HMAC request signing.

OpenAPI Specification

bolt-eu-delivery-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bolt Delivery API
  version: '1.0'
  description: 'Combined delivery-provider POS surface covering both the restaurant (Bolt Food) and grocery
    (Bolt Market) sides of Bolt''s delivery platform - menu integration, order acceptance and fulfillment,
    dine-in orders, provider scheduling and availability, warehouse stock updates, and the full PIM suite
    for products, pricing, categories, options, and fees. Bolt also calls partner-hosted webhooks for
    order and courier lifecycle events. Access is partner-gated: an integrator ID and HMAC secret are
    issued by Bolt when a test account is created. This document is an API Evangelist summary of the official
    Redocly-published spec at developer.bolt.eu - the endpoint paths, methods, server, webhooks, and authentication
    are taken verbatim from the upstream spec, while request and response schemas are summarized rather
    than reproduced in full.'
  contact:
    url: https://developer.bolt.eu/
  license:
    name: Bolt Terms and Conditions
    url: https://bolt.eu/en/legal/
  x-endpoints-modeled: false
  x-schemas-summarized: true
  x-source: 'https://developer.bolt.eu/delivery/main/ (upstream spec: https://developer.bolt.eu/versions/98.0.0/docs/delivery/main.yaml)'
externalDocs:
  description: Bolt Delivery API reference on the Bolt developer portal
  url: https://developer.bolt.eu/delivery/main/
servers:
- url: https://node.bolt.eu/delivery-provider-pos
  description: Production
security:
- boltHmacSignature: []
paths:
  /genericClient/pushMenu:
    post:
      operationId: genericClient-pushMenu
      summary: Push menu
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/pushMenu).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/getMenu:
    post:
      operationId: genericClient-getMenu
      summary: Get menu
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/getMenu).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/updateMenuItemAvailability:
    post:
      operationId: genericClient-updateMenuItemAvailability
      summary: Update menu item availability
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/updateMenuItemAvailability).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/acceptOrder:
    post:
      operationId: genericClient-acceptOrder
      summary: Accept order
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/acceptOrder).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/rejectOrder:
    post:
      operationId: genericClient-rejectOrder
      summary: Reject order
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/rejectOrder).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/markOrderAsReadyForPickup:
    post:
      operationId: genericClient-markOrderAsReadyForPickup
      summary: Mark order as ready for pickup
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/markOrderAsReadyForPickup).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/markOrderAsPickedUp:
    post:
      operationId: genericClient-markOrderAsPickedUp
      summary: Mark order as picked up
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/markOrderAsPickedUp).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/markOrderAsDelivered:
    post:
      operationId: genericClient-markOrderAsDelivered
      summary: Mark order as delivered
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/markOrderAsDelivered).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/waiter/createOrder:
    post:
      operationId: genericClient-waiter-createOrder
      summary: 'Dine-in (waiter): create order'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/waiter/createOrder).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/waiter/finalizeOrder:
    post:
      operationId: genericClient-waiter-finalizeOrder
      summary: 'Dine-in (waiter): finalize order'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/waiter/finalizeOrder).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/startAcceptingOrders:
    post:
      operationId: genericClient-startAcceptingOrders
      summary: Start accepting orders
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/startAcceptingOrders).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/pauseOrders:
    post:
      operationId: genericClient-pauseOrders
      summary: Pause orders
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/pauseOrders).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/updateProviderSchedule:
    post:
      operationId: genericClient-updateProviderSchedule
      summary: Update provider schedule
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/updateProviderSchedule).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/updateMenuQuantity:
    post:
      operationId: genericClient-updateMenuQuantity
      summary: Update menu quantity
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/updateMenuQuantity).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/markOrderWithItemsAsReadyForPickUp:
    post:
      operationId: genericClient-markOrderWithItemsAsReadyForPickUp
      summary: Mark order with items as ready for pick up
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/markOrderWithItemsAsReadyForPickUp).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /genericClient/v2/markOrderWithItemsAsReadyForPickup:
    post:
      operationId: genericClient-v2-markOrderWithItemsAsReadyForPickup
      summary: Mark order with items as ready for pickup
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/genericClient/v2/markOrderWithItemsAsReadyForPickup).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/import/create:
    post:
      operationId: pim-v1-products-import-create
      summary: 'PIM: products import create'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/import/create).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/import/edit:
    post:
      operationId: pim-v1-products-import-edit
      summary: 'PIM: products import edit'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/import/edit).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/import/status/retrieve:
    post:
      operationId: pim-v1-products-import-status-retrieve
      summary: 'PIM: products import status retrieve'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/import/status/retrieve).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/import/apply:
    post:
      operationId: pim-v1-products-import-apply
      summary: 'PIM: products import apply'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/import/apply).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/import/cancel:
    post:
      operationId: pim-v1-products-import-cancel
      summary: 'PIM: products import cancel'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/import/cancel).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/timetable/createInBatch:
    post:
      operationId: pim-v1-timetable-createInBatch
      summary: 'PIM: timetable create in batch'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/timetable/createInBatch).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/timetable/list:
    post:
      operationId: pim-v1-timetable-list
      summary: 'PIM: timetable list'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/timetable/list).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/delist:
    post:
      operationId: pim-v1-products-delist
      summary: 'PIM: products delist'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/delist).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/menu/drafts/create:
    post:
      operationId: pim-v1-menu-drafts-create
      summary: 'PIM: menu drafts create'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/menu/drafts/create).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/menu/drafts/state/retrieve:
    post:
      operationId: pim-v1-menu-drafts-state-retrieve
      summary: 'PIM: menu drafts state retrieve'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/menu/drafts/state/retrieve).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/menu/drafts/reject:
    post:
      operationId: pim-v1-menu-drafts-reject
      summary: 'PIM: menu drafts reject'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/menu/drafts/reject).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/menu/drafts/publish:
    post:
      operationId: pim-v1-menu-drafts-publish
      summary: 'PIM: menu drafts publish'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/menu/drafts/publish).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/menu/publish/list:
    post:
      operationId: pim-v1-menu-publish-list
      summary: 'PIM: menu publish list'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/menu/publish/list).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/menu/publish/cancel:
    post:
      operationId: pim-v1-menu-publish-cancel
      summary: 'PIM: menu publish cancel'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/menu/publish/cancel).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/prices/import:
    post:
      operationId: pim-v1-products-prices-import
      summary: 'PIM: products prices import'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/prices/import).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/products/discount/prices/import:
    post:
      operationId: pim-v1-products-discount-prices-import
      summary: 'PIM: products discount prices import'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/products/discount/prices/import).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/layout/set:
    post:
      operationId: pim-v1-layout-set
      summary: 'PIM: layout set'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/layout/set).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/categoryTree/get:
    post:
      operationId: pim-v1-categoryTree-get
      summary: 'PIM: category tree get'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/categoryTree/get).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/categoryTree/set:
    post:
      operationId: pim-v1-categoryTree-set
      summary: 'PIM: category tree set'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/categoryTree/set).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/category/rearrange:
    post:
      operationId: pim-v1-category-rearrange
      summary: 'PIM: category rearrange'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/category/rearrange).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/category/products/set:
    post:
      operationId: pim-v1-category-products-set
      summary: 'PIM: category products set'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/category/products/set).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/option/upsert:
    post:
      operationId: pim-v1-option-upsert
      summary: 'PIM: option upsert'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/option/upsert).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/option/list:
    post:
      operationId: pim-v1-option-list
      summary: 'PIM: option list'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/option/list).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/optionGroup/upsert:
    post:
      operationId: pim-v1-optionGroup-upsert
      summary: 'PIM: option group upsert'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/optionGroup/upsert).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/optionGroup/list:
    post:
      operationId: pim-v1-optionGroup-list
      summary: 'PIM: option group list'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/optionGroup/list).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/fee/list:
    post:
      operationId: pim-v1-fee-list
      summary: 'PIM: fee list'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/fee/list).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
  /pim/v1/fee/update:
    post:
      operationId: pim-v1-fee-update
      summary: 'PIM: fee update'
      description: Documented upstream at https://developer.bolt.eu/delivery/main/ (/pim/v1/fee/update).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SummarizedResponse'
webhooks:
  sendNewOrder:
    post:
      operationId: webhook-sendNewOrder
      summary: Bolt sends a new order to the partner-hosted endpoint for acceptance.
      description: Outbound webhook - Bolt POSTs to a partner-hosted endpoint. Documented upstream at
        https://developer.bolt.eu/delivery/main/.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Partner acknowledges the event.
  sendCancelOrder:
    post:
      operationId: webhook-sendCancelOrder
      summary: Bolt notifies the partner-hosted endpoint that an order was cancelled.
      description: Outbound webhook - Bolt POSTs to a partner-hosted endpoint. Documented upstream at
        https://developer.bolt.eu/delivery/main/.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Partner acknowledges the event.
  sendOrderUpdate:
    post:
      operationId: webhook-sendOrderUpdate
      summary: Bolt sends order state updates to the partner-hosted endpoint.
      description: Outbound webhook - Bolt POSTs to a partner-hosted endpoint. Documented upstream at
        https://developer.bolt.eu/delivery/main/.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Partner acknowledges the event.
  sendProviderStatus:
    post:
      operationId: webhook-sendProviderStatus
      summary: Bolt notifies the partner-hosted endpoint of provider (store) status changes.
      description: Outbound webhook - Bolt POSTs to a partner-hosted endpoint. Documented upstream at
        https://developer.bolt.eu/delivery/main/.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Partner acknowledges the event.
  sendCourierDetails:
    post:
      operationId: webhook-sendCourierDetails
      summary: Bolt sends courier details for an order to the partner-hosted endpoint.
      description: Outbound webhook - Bolt POSTs to a partner-hosted endpoint. Documented upstream at
        https://developer.bolt.eu/delivery/main/.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SummarizedRequest'
      responses:
        '200':
          description: Partner acknowledges the event.
components:
  securitySchemes:
    boltHmacSignature:
      type: apiKey
      in: header
      name: x-external-integrator-id
      description: Partner-gated HMAC request signing. Every request carries the integrator ID in `x-external-integrator-id`
        plus a `x-server-authorization-hmac-sha256` header containing the base64-encoded HMAC-SHA256 signature
        of the raw payload, computed with a secret key issued by Bolt. Webhook calls from Bolt to the
        partner authenticate with Basic auth or a partner-hosted identity server issuing bearer tokens.
  schemas:
    SummarizedRequest:
      type: object
      description: Request body summarized - see the official Bolt developer portal for the full documented
        schema of each operation.
      additionalProperties: true
    SummarizedResponse:
      type: object
      description: Response body summarized - see the official Bolt developer portal for the full documented
        schema of each operation.
      additionalProperties: true