OpenAPI Specification
openapi: 3.0.3
info:
title: Flipdish API - Apps Accounts CatalogProducts API
version: v1.0
description: Flipdish Open API v1.0 — Apps operations. Flipdish is an online ordering and branded-app platform for restaurants and takeaways. This specification was derived from the official Flipdish Swagger document and grouped by resource domain.
contact:
name: Flipdish Support
email: help@flipdish.com
url: https://help.flipdish.com
x-generated-from: https://api.flipdish.co/swagger/docs/v1.0
x-last-validated: '2026-06-02'
servers:
- url: https://api.flipdish.co
description: Flipdish production API
security:
- oauth2:
- api
tags:
- name: CatalogProducts
description: Operations for Catalog Products.
paths:
/api/v1.0/{appId}/catalog/products/{catalogItemId}:
get:
tags:
- CatalogProducts
summary: Flipdish Get Product by Id
description: Get Product by Id via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/catalog/products/{catalogItemId}).
operationId: GetProductById
parameters:
- name: appId
in: path
description: The app id path parameter.
required: true
schema:
type: string
example: '500123'
- name: catalogItemId
in: path
description: The catalog item id path parameter.
required: true
schema:
type: string
example: '500123'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Product'
examples:
GetProductById200Example:
summary: Default GetProductById 200 response
x-microcks-default: true
value:
CatalogItemId: '500123'
IsArchived: true
Groups: []
Metafields: []
ProductType: Product
Sku: string
Name: Example Name
Description: string
Price: 12.5
ImageFileName: Example Name
Alcohol: true
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProductById400Example:
summary: Default GetProductById 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProductById401Example:
summary: Default GetProductById 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProductById403Example:
summary: Default GetProductById 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProductById500Example:
summary: Default GetProductById 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
tags:
- CatalogProducts
summary: Flipdish Update Product
description: Update Product via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/catalog/products/{catalogItemId}).
operationId: UpdateProduct
parameters:
- name: appId
in: path
description: The app id path parameter.
required: true
schema:
type: string
example: '500123'
- name: catalogItemId
in: path
description: The catalog item id path parameter.
required: true
schema:
type: string
example: '500123'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProduct'
examples:
UpdateProductRequestExample:
summary: Default UpdateProduct request
x-microcks-default: true
value:
Sku: string
Name: Example Name
Description: string
Price: 12.5
ImageFileName: Example Name
Alcohol: true
Groups: []
Metafields: []
responses:
'200':
description: OK
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
UpdateProduct400Example:
summary: Default UpdateProduct 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
UpdateProduct401Example:
summary: Default UpdateProduct 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
UpdateProduct403Example:
summary: Default UpdateProduct 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
UpdateProduct404Example:
summary: Default UpdateProduct 404 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
UpdateProduct500Example:
summary: Default UpdateProduct 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v1.0/{appId}/catalog/products:
get:
tags:
- CatalogProducts
summary: Flipdish Get Products
description: Get Products via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/catalog/products).
operationId: GetProducts
parameters:
- name: appId
in: path
description: The app id path parameter.
required: true
schema:
type: string
example: '500123'
- name: productTypes
in: query
description: The product types query parameter.
required: true
explode: true
schema:
type: array
items:
type: string
enum:
- Product
- Modifier
example:
- Product
- name: searchTerm
in: query
description: The search term query parameter.
required: false
schema:
type: string
example: string
- name: page
in: query
description: The page query parameter.
required: false
schema:
type: integer
format: int32
example: 1
- name: limit
in: query
description: The limit query parameter.
required: false
schema:
type: integer
format: int32
example: 1
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiPaginationResult_Product_'
examples:
GetProducts200Example:
summary: Default GetProducts 200 response
x-microcks-default: true
value:
Page: 1
Limit: 1
TotalRecordCount: 12.5
Data: []
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProducts400Example:
summary: Default GetProducts 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProducts401Example:
summary: Default GetProducts 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProducts403Example:
summary: Default GetProducts 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetProducts500Example:
summary: Default GetProducts 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
tags:
- CatalogProducts
summary: Flipdish Create Product
description: Create Product via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/catalog/products).
operationId: CreateProduct
parameters:
- name: appId
in: path
description: The app id path parameter.
required: true
schema:
type: string
example: '500123'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProduct'
examples:
CreateProductRequestExample:
summary: Default CreateProduct request
x-microcks-default: true
value:
Groups: []
Metafields: []
ProductType: Product
Sku: string
Name: Example Name
Description: string
Price: 12.5
ImageFileName: Example Name
Alcohol: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResult_Product_'
examples:
CreateProduct200Example:
summary: Default CreateProduct 200 response
x-microcks-default: true
value:
Data:
CatalogItemId: '500123'
IsArchived: true
Groups: []
Metafields: []
ProductType: Product
Sku: string
Name: Example Name
Description: string
Price: 12.5
ImageFileName: Example Name
Alcohol: true
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
CreateProduct400Example:
summary: Default CreateProduct 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
CreateProduct401Example:
summary: Default CreateProduct 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
CreateProduct403Example:
summary: Default CreateProduct 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
CreateProduct500Example:
summary: Default CreateProduct 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v1.0/{appId}/catalog/products/{catalogItemId}/archive:
post:
tags:
- CatalogProducts
summary: Flipdish Archive Product
description: Archive Product via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/catalog/products/{catalogItemId}/archive).
operationId: ArchiveProduct
parameters:
- name: appId
in: path
description: The app id path parameter.
required: true
schema:
type: string
example: '500123'
- name: catalogItemId
in: path
description: The catalog item id path parameter.
required: true
schema:
type: string
example: '500123'
responses:
'200':
description: OK
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
ArchiveProduct400Example:
summary: Default ArchiveProduct 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
ArchiveProduct401Example:
summary: Default ArchiveProduct 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
ArchiveProduct403Example:
summary: Default ArchiveProduct 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
ArchiveProduct404Example:
summary: Default ArchiveProduct 404 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
ArchiveProduct500Example:
summary: Default ArchiveProduct 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v1.0/{appId}/catalog/products/{catalogItemId}/duplicate:
post:
tags:
- CatalogProducts
summary: Flipdish Duplicate Product
description: Duplicate Product via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/catalog/products/{catalogItemId}/duplicate).
operationId: DuplicateProduct
parameters:
- name: appId
in: path
description: The app id path parameter.
required: true
schema:
type: string
example: '500123'
- name: catalogItemId
in: path
description: The catalog item id path parameter.
required: true
schema:
type: string
example: '500123'
responses:
'200':
description: OK
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
DuplicateProduct400Example:
summary: Default DuplicateProduct 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
DuplicateProduct401Example:
summary: Default DuplicateProduct 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
DuplicateProduct403Example:
summary: Default DuplicateProduct 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
DuplicateProduct404Example:
summary: Default DuplicateProduct 404 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
DuplicateProduct500Example:
summary: Default DuplicateProduct 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
GroupReference:
description: Reference to an existing {Flipdish.Menus.PublicModels.V1.Catalog.Groups.Group}
required:
- CatalogItemId
- GroupType
type: object
properties:
Group:
$ref: '#/components/schemas/Group'
CatalogItemId:
description: Identifier of the ProductId to use as SubProduct
maxLength: 30
minLength: 0
type: string
example: '500123'
GroupType:
description: Type of the SupProduct
enum:
- ModifierGroup
type: string
example: ModifierGroup
Product:
description: Product
required:
- ProductType
- Sku
- Name
- Price
type: object
properties:
CatalogItemId:
description: Unique catalog Item id
maxLength: 30
minLength: 0
type: string
example: '500123'
IsArchived:
description: Returns true if the item is archived
type: boolean
example: true
Groups:
description: Collection of groups associated with this item
type: array
items:
$ref: '#/components/schemas/GroupReference'
example: []
Metafields:
description: Collection of metafields
type: array
items:
$ref: '#/components/schemas/Metafield'
example: []
ProductType:
description: Type of item (Product, Modifier, etc)
enum:
- Product
- Modifier
type: string
example: Product
Sku:
description: Stock Keeping Unit (SKU)
maxLength: 30
minLength: 0
type: string
example: string
Name:
description: Product name
maxLength: 300
minLength: 0
type: string
example: Example Name
Description:
description: Product description
maxLength: 3000
minLength: 0
type: string
example: string
Price:
format: double
description: Product price
minimum: 0
type: number
example: 12.5
ImageFileName:
description: Image File Name
maxLength: 512
minLength: 0
type: string
example: Example Name
Alcohol:
description: Product contains alcohol
type: boolean
example: true
UpdateGroupReference:
description: Data to update a {Flipdish.Menus.PublicModels.V1.Catalog.Products.GroupReference}
required:
- CatalogItemId
- GroupType
type: object
properties:
CatalogItemId:
description: Identifier of the ProductId to use as SubProduct
maxLength: 30
minLength: 0
type: string
example: '500123'
GroupType:
description: Type of the SupProduct
enum:
- ModifierGroup
type: string
example: ModifierGroup
CreateGroupReference:
description: Information to create a reference to a {System.Text.RegularExpressions.Group}
required:
- CatalogItemId
- GroupType
type: object
properties:
CatalogItemId:
description: Identifier of the ProductId to use as SubProduct
maxLength: 30
minLength: 0
type: string
example: '500123'
GroupType:
description: Type of the SupProduct
enum:
- ModifierGroup
type: string
example: ModifierGroup
ProductReference:
description: Catalog Item associated
required:
- CatalogItemId
- ProductType
type: object
properties:
Item:
$ref: '#/components/schemas/Product'
Product:
$ref: '#/components/schemas/Product'
CatalogItemId:
description: Identifier of the CatalogItemId to use as SubProduct
maxLength: 30
minLength: 0
type: string
example: '500123'
ProductType:
description: Type of the SupProduct
enum:
- Product
- Modifier
type: string
example: Product
PreselectedQuantity:
format: int32
description: Quantity of the modifier that will be set when the parent product is placed in the basket
type: integer
example: 3
CreateProduct:
description: Create a Catalog Item
required:
- ProductType
- Sku
- Name
- Price
type: object
properties:
Groups:
description: Collection of groups associated with this item
type: array
items:
$ref: '#/components/schemas/CreateGroupReference'
example: []
Metafields:
description: Collection of metafields
type: array
items:
$ref: '#/components/schemas/Metafield'
example: []
ProductType:
description: Type of item (Product, Modifier, etc)
enum:
- Product
- Modifier
type: string
example: Product
Sku:
description: Stock Keeping Unit (SKU)
maxLength: 30
minLength: 0
type: string
example: string
Name:
description: Product name
maxLength: 300
minLength: 0
type: string
example: Example Name
Description:
description: Product description
maxLength: 3000
minLength: 0
type: string
example: string
Price:
format: double
description: Product price
minimum: 0
type: number
example: 12.5
ImageFileName:
description: Image File Name
maxLength: 512
minLength: 0
type: string
example: Example Name
Alcohol:
description: Product contains alcohol
type: boolean
example: true
Metafield:
description: Metafield
required:
- Key
- Value
type: object
properties:
Key:
description: "Key of the metafield.\r\nAllowed characters: lowercase letters, numbers, hyphen, underscore and dot"
type: string
example: string
Value:
description: Value of the metafield.
type: string
example: string
FlipdishError:
type: object
description: Standard Flipdish API error response. Errors are returned as a JSON objec
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flipdish/refs/heads/main/openapi/flipdish-catalogproducts-api-openapi.yml