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.'