Create a product
POST/v1/menu/products
Creates a product with 1-30 variants and an optional image.
Accepts application/json (no image) or multipart/form-data (field product = the same JSON as a string, field image = the file). The image must be jpeg, jpg, png or webp, up to 5 MB.
Prices are decimals, not minor units — unlike GET /v1/menu.
Required scope: menu:write
Request
Responses
- 201
- 401
- 403
- 404
- 422
The created product.
Unauthenticated — the request is missing a credential, or the Bearer token / API key is invalid, expired, or revoked.
Insufficient scope — the credential is authenticated but lacks a scope the endpoint requires.
Not found — no resource matches the id in the path (or it belongs to a different company).
Validation failed — the request body failed schema validation. errors[] lists every offending field.