Flipdish Catalog API
Manage catalog groups, items, products, images, changes, and metafield definitions.
Manage catalog groups, items, products, images, changes, and metafield definitions.
{
"openapi": "3.0.3",
"info": {
"title": "Flipdish API - Catalog",
"version": "v1.0",
"description": "Flipdish Open API v1.0 \u2014 Catalog 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": "[email protected]",
"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": "CatalogChanges",
"description": "Operations for Catalog Changes."
},
{
"name": "CatalogGroups",
"description": "Operations for Catalog Groups."
},
{
"name": "CatalogImages",
"description": "Operations for Catalog Images."
},
{
"name": "CatalogItems",
"description": "Operations for Catalog Items."
},
{
"name": "CatalogProducts",
"description": "Operations for Catalog Products."
},
{
"name": "MetafieldDefinitions",
"description": "Operations for Metafield Definitions."
}
],
"paths": {
"/api/v1.0/{appId}/menus/catalog-changes/summaries": {
"get": {
"tags": [
"CatalogChanges"
],
"summary": "Flipdish Get Pending Menu Changes Summaries",
"operationId": "GetPendingMenuChangesSummaries",
"parameters": [
{
"name": "appId",
"in": "path",
"description": "The app id path parameter.",
"required": true,
"schema": {
"type": "string"
},
"example": "500123"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RestApiArrayResult_PendingMenuChangesSummaries_"
},
"examples": {
"GetPendingMenuChangesSummaries200Example": {
"summary": "Default GetPendingMenuChangesSummaries 200 response",
"x-microcks-default": true,
"value": {
"Data": []
}
}
}
}
}
},
"400": {
"description": "BadRequest",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlipdishError"
},
"examples": {
"GetPendingMenuChangesSummaries400Example": {
"summary": "Default GetPendingMenuChangesSummaries 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": {
"GetPendingMenuChangesSummaries401Example": {
"summary": "Default GetPendingMenuChangesSummaries 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": {
"GetPendingMenuChangesSummaries403Example": {
"summary": "Default GetPendingMenuChangesSummaries 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": {
"GetPendingMenuChangesSummaries500Example": {
"summary": "Default GetPendingMenuChangesSummaries 500 response",
"x-microcks-default": true,
"value": {
"error": {
"errorMessage": "Invalid or missing parameters.",
"errorCode": "BadRequest",
"details": "Validation failed for field 'storeId'."
}
}
}
}
}
}
}
},
"security": [
{
"oauth2": [
"api"
]
}
],
"description": "Get Pending Menu Changes Summaries via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/menus/catalog-changes/summaries).",
"x-microcks-operation": {
"delay": 0,
"dispatcher": "FALLBACK"
}
}
},
"/api/v1.0/{appId}/menus/catalog-changes": {
"get": {
"tags": [
"CatalogChanges"
],
"summary": "Flipdish Get Pending Menu Changes",
"description": "Get Pending Menu Changes via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/menus/catalog-changes).",
"operationId": "GetPendingMenuChanges",
"parameters": [
{
"name": "appId",
"in": "path",
"description": "The app id path parameter.",
"required": true,
"schema": {
"type": "string"
},
"example": "500123"
},
{
"name": "menuId",
"in": "query",
"description": "The menu id query parameter.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
},
"example": 500123
},
{
"name": "catalogItemId",
"in": "query",
"description": "The catalog item id query parameter.",
"required": false,
"schema": {
"type": "string"
},
"example": "500123"
},
{
"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_PendingMenuChanges_"
},
"examples": {
"GetPendingMenuChanges200Example": {
"summary": "Default GetPendingMenuChanges 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": {
"GetPendingMenuChanges400Example": {
"summary": "Default GetPendingMenuChanges 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": {
"GetPendingMenuChanges401Example": {
"summary": "Default GetPendingMenuChanges 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": {
"GetPendingMenuChanges403Example": {
"summary": "Default GetPendingMenuChanges 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": {
"GetPendingMenuChanges500Example": {
"summary": "Default GetPendingMenuChanges 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}/menus/catalog-changes/publish": {
"post": {
"tags": [
"CatalogChanges"
],
"summary": "Flipdish Publish Pending Menu Changes",
"description": "Publish Pending Menu Changes via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/menus/catalog-changes/publish).",
"operationId": "PublishPendingMenuChanges",
"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/PublishMenuChanges"
},
"examples": {
"PublishPendingMenuChangesRequestExample": {
"summary": "Default PublishPendingMenuChanges request",
"x-microcks-default": true,
"value": {
"CatalogItemId": "500123",
"MenuIds": [
1
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlipdishError"
},
"examples": {
"PublishPendingMenuChanges400Example": {
"summary": "Default PublishPendingMenuChanges 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": {
"PublishPendingMenuChanges401Example": {
"summary": "Default PublishPendingMenuChanges 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": {
"PublishPendingMenuChanges403Example": {
"summary": "Default PublishPendingMenuChanges 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": {
"PublishPendingMenuChanges404Example": {
"summary": "Default PublishPendingMenuChanges 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": {
"PublishPendingMenuChanges500Example": {
"summary": "Default PublishPendingMenuChanges 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/groups/{catalogItemId}": {
"get": {
"tags": [
"CatalogGroups"
],
"summary": "Flipdish Get Group by Id",
"description": "Get Group by Id via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/catalog/groups/{catalogItemId}).",
"operationId": "GetGroupById",
"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/Group"
},
"examples": {
"GetGroupById200Example": {
"summary": "Default GetGroupById 200 response",
"x-microcks-default": true,
"value": {
"CatalogGroupId": "500123",
"CatalogItemId": "500123",
"IsArchived": true,
"MinSelectCount": 3,
"MaxSelectCount": 3,
"Products": [],
"Metafields": [],
"GroupType": "ModifierGroup",
"Sku": "string",
"Name": "Example Name",
"AutogenerateDisplayText": true,
"ImageFileName": "Example Name"
}
}
}
}
}
},
"400": {
"description": "BadRequest",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlipdishError"
},
"examples": {
"GetGroupById400Example": {
"summary": "Default GetGroupById 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": {
"GetGroupById401Example": {
"summary": "Default GetGroupById 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": {
"GetGroupById403Example": {
"summary": "Default GetGroupById 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": {
"GetGroupById500Example": {
"summary": "Default GetGroupById 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": [
"CatalogGroups"
],
"summary": "Flipdish Update Group",
"description": "Update Group via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/catalog/groups/{catalogItemId}).",
"operationId": "UpdateGroup",
"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/UpdateGroup"
},
"examples": {
"UpdateGroupRequestExample": {
"summary": "Default UpdateGroup request",
"x-microcks-default": true,
"value": {
"Sku": "string",
"Name": "Example Name",
"AutogenerateDisplayText": true,
"ImageFileName": "Example Name",
"MinSelectCount": 3,
"MaxSelectCount": 3,
"Products": [],
"Metafields": []
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK"
},
"400": {
"description": "BadRequest",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FlipdishError"
},
"examples": {
"UpdateGroup400Example": {
"summary": "Default UpdateGroup 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": {
"UpdateGroup401Example": {
"summary": "Default UpdateGroup 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": {
"UpdateGroup403Example": {
"summary": "Default UpdateGroup 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": {
"UpdateGroup404Example": {
"summary": "Default UpdateGroup 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": {
"UpdateGroup500Example": {
"summary": "Default UpdateGroup 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/groups": {
"get": {
"tags": [
"CatalogGroups"
],
"summary": "Flipdish Get Groups",
"description": "Get Groups via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/catalog/groups).",
"operationId": "GetGroups",
"parameters": [
{
"name": "appId",
"in": "path",
"description": "The app id path parameter.",
"required": true,
"schema": {
"type": "string"
},
"example": "500123"
},
{
"name": "groupTypes",
"in": "query",
"description": "The group types query parameter.",
"required": true,
"explode": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ModifierGroup"
]
}
},
"example": [
"ModifierGroup"
]
},
{
"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
}
],
"r
# --- truncated at 32 KB (214 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flipdish/refs/heads/main/openapi/flipdish-catalog-openapi.json