Cuboh Menu API

Menu retrieval, push, creation, update, and validation.

OpenAPI Specification

cuboh-menu-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Cuboh Integration Locations Menu API
  description: 'Partner-gated integration API for Cuboh, a restaurant online-ordering management platform. This document consolidates the publicly documented surface of Cuboh''s Direct API (v2.0) and Connect API (v0.1) covering orders, menus, merchant locations, and webhooks.


    Access is not self-serve. Cuboh provisions an integration token to approved technology partners during onboarding and QA certification (contact integrations@cuboh.com). Requests authenticate with an Authorization header in the form `Token <your token>`; tokens are unique per partner and a single token works across all endpoints. Cuboh delivers events to partner-hosted webhook URLs, signed with an X-Cuboh-Signature HMAC-SHA256 header.


    Endpoint paths, methods, base URL, and the authentication scheme below are transcribed from Cuboh''s published OpenAPI documents at https://docs.cuboh.com/direct and https://docs.cuboh.com/connect. Request and response schemas are not reproduced here; consult the Cuboh documentation for full payload definitions.'
  termsOfService: https://www.cuboh.com/
  contact:
    name: Cuboh Integrations
    email: integrations@cuboh.com
  version: '2.0'
servers:
- url: https://core.cuboh.net
  description: Production server
- url: https://core-staging.cuboh.net
  description: Staging / development server
security:
- ApiKeyAuth: []
tags:
- name: Menu
  description: Menu retrieval, push, creation, update, and validation.
paths:
  /api/v2/external-integration/merchant/{external_integration_merchant_uuid}/menus:
    post:
      tags:
      - Menu
      summary: New Menu
      description: Create a new menu for a merchant (Connect API).
      parameters:
      - name: external_integration_merchant_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Menu created.
    get:
      tags:
      - Menu
      summary: Find Menus
      description: List menus for a merchant (Connect API).
      parameters:
      - name: external_integration_merchant_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of menus.
    patch:
      tags:
      - Menu
      summary: Update Menu
      description: Update a merchant menu (Connect API).
      parameters:
      - name: external_integration_merchant_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Menu updated.
  /api/v2/external-integration/merchant/{external_integration_merchant_uuid}/menus/{external_menu_id}:
    get:
      tags:
      - Menu
      summary: Find Single Menu
      description: Retrieve a single merchant menu by external menu id (Connect API).
      parameters:
      - name: external_integration_merchant_uuid
        in: path
        required: true
        schema:
          type: string
      - name: external_menu_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The requested menu.
  /api/v2/external-integration/merchant/{external_integration_merchant_uuid}/validate/{external_menu_id}:
    post:
      tags:
      - Menu
      summary: Validate Menu
      description: Trigger validation of a merchant menu (Connect API).
      parameters:
      - name: external_integration_merchant_uuid
        in: path
        required: true
        schema:
          type: string
      - name: external_menu_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Validation initiated.
    get:
      tags:
      - Menu
      summary: Validate Menu (status)
      description: Retrieve menu validation status (Connect API).
      parameters:
      - name: external_integration_merchant_uuid
        in: path
        required: true
        schema:
          type: string
      - name: external_menu_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Validation status.
  /api/v2/external-integration/merchant/{external_integration_merchant_uuid}/item/status-update:
    post:
      tags:
      - Menu
      summary: Item Status Update
      description: Update item and modifier availability status for a merchant (Connect API).
      parameters:
      - name: external_integration_merchant_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Item status updated.
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Partner integration token supplied by Cuboh, sent as `Authorization: Token <your token>`. Tokens are unique per partner and a single token authenticates all endpoints.'