Flipdish Menus API

Build and maintain menus, sections, items, option sets, zones, and nutrition information.

OpenAPI Specification

flipdish-menus-openapi.json Raw ↑
{
  "openapi": "3.0.3",
  "info": {
    "title": "Flipdish API - Menus",
    "version": "v1.0",
    "description": "Flipdish Open API v1.0 \u2014 Menus 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": "MenuOptionSetItems",
      "description": "Operations for Menu Option Set Items."
    },
    {
      "name": "MenuOptionSets",
      "description": "Operations for Menu Option Sets."
    },
    {
      "name": "MenuSectionItems",
      "description": "Operations for Menu Section Items."
    },
    {
      "name": "MenuSections",
      "description": "Operations for Menu Sections."
    },
    {
      "name": "MenuZones",
      "description": "Operations for Menu Zones."
    },
    {
      "name": "Menus",
      "description": "Operations for Menus."
    },
    {
      "name": "MenusNutritionInfo",
      "description": "Operations for Menus Nutrition Info."
    },
    {
      "name": "MenusNutritionInfoV2",
      "description": "Operations for Menus Nutrition Info V2."
    }
  ],
  "paths": {
    "/api/v1.0/menus/{menuId}/sections/{menuSectionId}/sectionitems/{menuSectionItemId}/optionsets/{optionSetId}/optionsetitems": {
      "get": {
        "tags": [
          "MenuOptionSetItems"
        ],
        "summary": "Flipdish Get Menu Item Option Set Items",
        "operationId": "GetMenuItemOptionSetItems",
        "parameters": [
          {
            "name": "menuId",
            "in": "path",
            "description": "Menu identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionId",
            "in": "path",
            "description": "Menu section identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionItemId",
            "in": "path",
            "description": "Menu section item identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "optionSetId",
            "in": "path",
            "description": "Option set identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiArrayResult_MenuItemOptionSetItem_"
                },
                "examples": {
                  "GetMenuItemOptionSetItems200Example": {
                    "summary": "Default GetMenuItemOptionSetItems 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetMenuItemOptionSetItems400Example": {
                    "summary": "Default GetMenuItemOptionSetItems 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": {
                  "GetMenuItemOptionSetItems401Example": {
                    "summary": "Default GetMenuItemOptionSetItems 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": {
                  "GetMenuItemOptionSetItems403Example": {
                    "summary": "Default GetMenuItemOptionSetItems 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": {
                  "GetMenuItemOptionSetItems404Example": {
                    "summary": "Default GetMenuItemOptionSetItems 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": {
                  "GetMenuItemOptionSetItems500Example": {
                    "summary": "Default GetMenuItemOptionSetItems 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 Menu Item Option Set Items via the Flipdish Open API v1.0 (GET /api/v1.0/menus/{menuId}/sections/{menuSectionId}/sectionitems/{menuSectionItemId}/optionsets/{optionSetId}/optionsetitems).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "tags": [
          "MenuOptionSetItems"
        ],
        "summary": "Flipdish Add Menu Item Option Set Item",
        "operationId": "AddMenuItemOptionSetItem",
        "parameters": [
          {
            "name": "menuId",
            "in": "path",
            "description": "Menu identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionId",
            "in": "path",
            "description": "Menu section identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionItemId",
            "in": "path",
            "description": "Menu section item identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "optionSetId",
            "in": "path",
            "description": "Option set identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MenuItemOptionSetItemBase"
              },
              "examples": {
                "AddMenuItemOptionSetItemRequestExample": {
                  "summary": "Default AddMenuItemOptionSetItem request",
                  "x-microcks-default": true,
                  "value": {
                    "Name": "Example Name",
                    "Price": 12.5,
                    "DepositReturnFee": 12.5,
                    "IsAvailable": true,
                    "DisplayOrder": 1,
                    "CellLayoutType": "Small",
                    "ImageUrl": "https://api.flipdish.co/example",
                    "PublicId": "00000000-0000-0000-0000-000000000000"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "examples": {
                  "AddMenuItemOptionSetItem200Example": {
                    "summary": "Default AddMenuItemOptionSetItem 200 response",
                    "x-microcks-default": true,
                    "value": {}
                  }
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiResult_MenuItemOptionSetItem_"
                },
                "examples": {
                  "AddMenuItemOptionSetItem201Example": {
                    "summary": "Default AddMenuItemOptionSetItem 201 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": {
                        "MenuItemOptionSetItemId": 500123,
                        "PublicId": "00000000-0000-0000-0000-000000000000",
                        "Metadata": [],
                        "NextMenuItemOptionSetId": 500123,
                        "CatalogItemId": "500123",
                        "TaxRateName": "Example Name",
                        "TaxRateId": 500123,
                        "TaxValue": 1.0,
                        "Name": "Example Name",
                        "Price": 12.5,
                        "DepositReturnFee": 12.5,
                        "IsAvailable": true,
                        "DisplayOrder": 1,
                        "CellLayoutType": "Small",
                        "ImageUrl": "https://api.flipdish.co/example"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "AddMenuItemOptionSetItem400Example": {
                    "summary": "Default AddMenuItemOptionSetItem 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": {
                  "AddMenuItemOptionSetItem401Example": {
                    "summary": "Default AddMenuItemOptionSetItem 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": {
                  "AddMenuItemOptionSetItem403Example": {
                    "summary": "Default AddMenuItemOptionSetItem 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": {
                  "AddMenuItemOptionSetItem404Example": {
                    "summary": "Default AddMenuItemOptionSetItem 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": {
                  "AddMenuItemOptionSetItem500Example": {
                    "summary": "Default AddMenuItemOptionSetItem 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": "Add Menu Item Option Set Item via the Flipdish Open API v1.0 (POST /api/v1.0/menus/{menuId}/sections/{menuSectionId}/sectionitems/{menuSectionItemId}/optionsets/{optionSetId}/optionsetitems).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/menus/{menuId}/sections/{menuSectionId}/sectionitems/{menuSectionItemId}/optionsets/{optionSetId}/optionsetitems/{menuItemOptionSetItemId}": {
      "get": {
        "tags": [
          "MenuOptionSetItems"
        ],
        "summary": "Flipdish Get Menu Item Option Set Item by Id",
        "operationId": "GetMenuItemOptionSetItemById",
        "parameters": [
          {
            "name": "menuId",
            "in": "path",
            "description": "Menu identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionId",
            "in": "path",
            "description": "Menu section identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionItemId",
            "in": "path",
            "description": "Menu section item identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "optionSetId",
            "in": "path",
            "description": "Option set identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuItemOptionSetItemId",
            "in": "path",
            "description": "Option set item identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiResult_MenuItemOptionSetItem_"
                },
                "examples": {
                  "GetMenuItemOptionSetItemById200Example": {
                    "summary": "Default GetMenuItemOptionSetItemById 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": {
                        "MenuItemOptionSetItemId": 500123,
                        "PublicId": "00000000-0000-0000-0000-000000000000",
                        "Metadata": [],
                        "NextMenuItemOptionSetId": 500123,
                        "CatalogItemId": "500123",
                        "TaxRateName": "Example Name",
                        "TaxRateId": 500123,
                        "TaxValue": 1.0,
                        "Name": "Example Name",
                        "Price": 12.5,
                        "DepositReturnFee": 12.5,
                        "IsAvailable": true,
                        "DisplayOrder": 1,
                        "CellLayoutType": "Small",
                        "ImageUrl": "https://api.flipdish.co/example"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetMenuItemOptionSetItemById400Example": {
                    "summary": "Default GetMenuItemOptionSetItemById 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": {
                  "GetMenuItemOptionSetItemById401Example": {
                    "summary": "Default GetMenuItemOptionSetItemById 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": {
                  "GetMenuItemOptionSetItemById403Example": {
                    "summary": "Default GetMenuItemOptionSetItemById 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": {
                  "GetMenuItemOptionSetItemById404Example": {
                    "summary": "Default GetMenuItemOptionSetItemById 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": {
                  "GetMenuItemOptionSetItemById500Example": {
                    "summary": "Default GetMenuItemOptionSetItemById 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 Menu Item Option Set Item by Id via the Flipdish Open API v1.0 (GET /api/v1.0/menus/{menuId}/sections/{menuSectionId}/sectionitems/{menuSectionItemId}/optionsets/{optionSetId}/optionsetitems/{menuItemOptionSetItemId}).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "tags": [
          "MenuOptionSetItems"
        ],
        "summary": "Flipdish Update Menu Item Option Set Item",
        "operationId": "UpdateMenuItemOptionSetItem",
        "parameters": [
          {
            "name": "menuId",
            "in": "path",
            "description": "Menu identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionId",
            "in": "path",
            "description": "Menu section identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuSectionItemId",
            "in": "path",
            "description": "Menu section item identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "optionSetId",
            "in": "path",
            "description": "Option set identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "menuItemOptionSetItemId",
            "in": "path",
            "description": "Option set item identifier",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 500123
          },
          {
            "name": "undoAfter",
            "in": "query",
            "description": "An optional time period, in hours, after which the hide-section operation will be undone.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double"
            },
            "example": 1.0
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MenuItemOptionSetItemBase"
              },
              "examples": {
                "UpdateMenuItemOptionSetItemRequestExample": {
                  "summary": "Default UpdateMenuItemOptionSetItem request",
                  "x-microcks-default": true,
                  "value": {
                    "Name": "Example Name",
                    "Price": 12.5,
                    "DepositReturnFee": 12.5,
                    "IsAvailable": true,
                    "DisplayOrder": 1,
                    "CellLayoutType": "Small",
                    "ImageUrl": "https://api.flipdish.co/example",
                    "PublicId": "00000000-0000-0000-0000-000000000000"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "UpdateMenuItemOptionSetItem400Example": {
                    "summary": "Default UpdateMenuItemOptionSetItem 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": {
                  "UpdateMenuItemOptionSetItem401Example": {
                    "summary": "Default UpdateMenuItemOptionSetItem 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": {
                  "UpdateMenuItemOptionSetItem403Example": {
                    "summary": "Default UpdateMenuItemOptionSetItem 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": {
                  "UpdateMenuItemOptionSetItem404Example": {
                    "summary": "Default UpdateMenuItemOptionSetItem 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": {
                "sc

# --- truncated at 32 KB (643 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flipdish/refs/heads/main/openapi/flipdish-menus-openapi.json