Flipdish Catalog Items API

The Catalog Items API from Flipdish — 4 operation(s) for catalog items.

Operations 6

GET /api/v1.0/{appId}/catalog/items/{catalogItemId} Get item by Id #
POST /api/v1.0/{appId}/catalog/items/{catalogItemId} Update Catalog Item #
GET /api/v1.0/{appId}/catalog/items Get paginated items by app name id filtered by types #
POST /api/v1.0/{appId}/catalog/items Create a Catalog Item #
POST /api/v1.0/{appId}/catalog/items/{catalogItemId}/archive Archive Catalog Item #
POST /api/v1.0/{appId}/catalog/items/{catalogItemId}/duplicate Duplicate Catalog Item #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/flipdish:flipdish-catalog-items-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

flipdish-catalog-items-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1.0
  title: Flipdish Open API v1.0 Catalog Items API
servers:
- url: https://api.flipdish.co
tags:
- name: Catalog Items
paths:
  /api/v1.0/{appId}/catalog/items/{catalogItemId}:
    get:
      tags:
      - Catalog Items
      summary: Get item by Id
      description: '[BETA - this endpoint is under development, do not use it in your production system]'
      operationId: GetCatalogItemById
      parameters:
      - name: appId
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: catalogItemId
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogItem'
            text/json:
              schema:
                $ref: '#/components/schemas/CatalogItem'
            application/xml:
              schema:
                $ref: '#/components/schemas/CatalogItem'
            text/xml:
              schema:
                $ref: '#/components/schemas/CatalogItem'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
      security:
      - oauth2:
        - api
    post:
      tags:
      - Catalog Items
      summary: Update Catalog Item
      description: '[BETA - this endpoint is under development, do not use it in your production system]'
      operationId: UpdateCatalogItem
      parameters:
      - name: appId
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: catalogItemId
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
        '404':
          description: NotFound
      security:
      - oauth2:
        - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCatalogItem'
          text/json:
            schema:
              $ref: '#/components/schemas/UpdateCatalogItem'
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateCatalogItem'
          text/xml:
            schema:
              $ref: '#/components/schemas/UpdateCatalogItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateCatalogItem'
        required: true
  /api/v1.0/{appId}/catalog/items:
    get:
      tags:
      - Catalog Items
      summary: Get paginated items by app name id filtered by types
      description: '[BETA - this endpoint is under development, do not use it in your production system]'
      operationId: GetItems
      parameters:
      - name: appId
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: itemTypes
        in: query
        description: ''
        required: true
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            enum:
            - Product
            - Modifier
      - name: searchTerm
        in: query
        description: ''
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: ''
        required: false
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: ''
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiPaginationResult_CatalogItem'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiPaginationResult_CatalogItem'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiPaginationResult_CatalogItem'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiPaginationResult_CatalogItem'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
      security:
      - oauth2:
        - api
    post:
      tags:
      - Catalog Items
      summary: Create a Catalog Item
      description: '[BETA - this endpoint is under development, do not use it in your production system]'
      operationId: CreateCatalogItem
      parameters:
      - name: appId
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_CatalogItem'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_CatalogItem'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_CatalogItem'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_CatalogItem'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
      security:
      - oauth2:
        - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCatalogItem'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateCatalogItem'
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateCatalogItem'
          text/xml:
            schema:
              $ref: '#/components/schemas/CreateCatalogItem'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateCatalogItem'
        required: true
  /api/v1.0/{appId}/catalog/items/{catalogItemId}/archive:
    post:
      tags:
      - Catalog Items
      summary: Archive Catalog Item
      description: '[BETA - this endpoint is under development, do not use it in your production system]'
      operationId: ArchiveCatalogItem
      parameters:
      - name: appId
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: catalogItemId
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
        '404':
          description: NotFound
      security:
      - oauth2:
        - api
  /api/v1.0/{appId}/catalog/items/{catalogItemId}/duplicate:
    post:
      tags:
      - Catalog Items
      summary: Duplicate Catalog Item
      description: '[BETA - this endpoint is under development, do not use it in your production system]'
      operationId: DuplicateCatalogItem
      parameters:
      - name: appId
        in: path
        description: ''
        required: true
        schema:
          type: string
      - name: catalogItemId
        in: path
        description: ''
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
        '404':
          description: NotFound
      security:
      - oauth2:
        - api
components:
  schemas:
    ProductReference:
      description: Catalog Item associated
      required:
      - CatalogItemId
      - ProductType
      type: object
      properties:
        Item:
          $ref: '#/components/schemas/Product'
          description: Details of the referenced {Flipdish.Menus.PublicModels.V1.Catalog.Groups.ProductReference.Product}
        Product:
          $ref: '#/components/schemas/Product'
          description: Details of the referenced {Flipdish.Menus.PublicModels.V1.Catalog.Groups.ProductReference.Product}
        CatalogItemId:
          description: Identifier of the CatalogItemId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        ProductType:
          description: Type of the SupProduct
          enum:
          - Product
          - Modifier
          type: string
        PreselectedQuantity:
          format: int32
          description: Quantity of the modifier that will be set when the parent product is placed in the basket
          type: integer
    UpdateCatalogItem:
      description: Update Catalog Item
      type: object
      properties:
        Sku:
          description: Stock Keeping Unit (SKU)
          maxLength: 30
          minLength: 0
          type: string
        Name:
          description: Product name
          maxLength: 300
          minLength: 0
          type: string
        Description:
          description: Product description
          maxLength: 3000
          minLength: 0
          type: string
        Price:
          format: double
          description: Product price
          minimum: 0
          type:
          - number
          - 'null'
        ImageFileName:
          description: Image File Name
          maxLength: 512
          minLength: 0
          type: string
        Alcohol:
          description: Product contains alcohol
          type:
          - boolean
          - 'null'
        Groups:
          description: Collection of groups associated with this item
          type: array
          items:
            $ref: '#/components/schemas/UpdateCatalogGroupReference'
        Metafields:
          description: Collection of metafields
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
    RestApiForbiddenResult:
      description: Rest Api Forbidden Result
      required:
      - Message
      type: object
      properties:
        Message:
          description: Message
          type: string
          readOnly: true
    Group:
      description: CatalogGroup
      required:
      - GroupType
      - Sku
      - Name
      type: object
      properties:
        CatalogGroupId:
          description: Unique catalog group id
          maxLength: 30
          minLength: 0
          type: string
        CatalogItemId:
          description: Unique catalog item id
          maxLength: 30
          minLength: 0
          type: string
        IsArchived:
          description: Returns true if the group is archived
          type: boolean
        MinSelectCount:
          format: int32
          description: Minimum number of items that the user has to select
          type: integer
        MaxSelectCount:
          format: int32
          description: Maximum number of items that the user has to select
          type:
          - integer
          - 'null'
        Products:
          description: Collection of items associated with this product
          type: array
          items:
            $ref: '#/components/schemas/ProductReference'
        Metafields:
          description: Collection of metafields
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        GroupType:
          description: Type of group (ModifierGroup, etc)
          enum:
          - ModifierGroup
          type: string
        Sku:
          description: Stock Keeping Unit (SKU)
          maxLength: 30
          minLength: 0
          type: string
        Name:
          description: Group name
          maxLength: 300
          minLength: 0
          type: string
        AutogenerateDisplayText:
          description: Autogenerate display text in ordering applications
          type: boolean
        ImageFileName:
          description: Image File Name
          maxLength: 512
          minLength: 0
          type: string
    CatalogGroupReference:
      description: Reference to an existing {Flipdish.Menus.PublicModels.V1.Catalog.Groups.Group}
      required:
      - CatalogGroupId
      - GroupType
      type: object
      properties:
        Group:
          $ref: '#/components/schemas/Group'
          description: Details of the referenced {Flipdish.Menus.PublicModels.V1.Catalog.Items.CatalogItem}
        CatalogGroupId:
          description: Identifier of the ProductId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        CatalogItemId:
          description: Identifier of the ProductId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        GroupType:
          description: Type of the SupProduct
          enum:
          - ModifierGroup
          type: string
    Metafield:
      description: Metafield
      required:
      - Key
      - Value
      type: object
      properties:
        Key:
          description: 'Key of the metafield.

            Allowed characters: lowercase letters, numbers, hyphen, underscore and dot'
          type: string
        Value:
          description: Value of the metafield.
          type: string
    CatalogItem:
      description: CatalogItem
      required:
      - ItemType
      - Sku
      - Name
      - Price
      type: object
      properties:
        CatalogItemId:
          description: Unique catalog Item id
          maxLength: 30
          minLength: 0
          type: string
        IsArchived:
          description: Returns true if the item is archived
          type: boolean
        Groups:
          description: Collection of groups associated with this item
          type: array
          items:
            $ref: '#/components/schemas/CatalogGroupReference'
        Metafields:
          description: Collection of metafields
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        ItemType:
          description: Type of item (Product, Modifier, etc)
          enum:
          - Product
          - Modifier
          type: string
        Sku:
          description: Stock Keeping Unit (SKU)
          maxLength: 30
          minLength: 0
          type: string
        Name:
          description: Item name
          maxLength: 300
          minLength: 0
          type: string
        Description:
          description: Item description
          maxLength: 3000
          minLength: 0
          type: string
        Price:
          format: double
          description: Item price
          minimum: 0
          type: number
        ImageFileName:
          description: Image File Name
          maxLength: 512
          minLength: 0
          type: string
        Alcohol:
          description: item contains alcohol
          type: boolean
    Product:
      description: Product
      required:
      - ProductType
      - Sku
      - Name
      - Price
      type: object
      properties:
        CatalogItemId:
          description: Unique catalog Item id
          maxLength: 30
          minLength: 0
          type: string
        IsArchived:
          description: Returns true if the item is archived
          type: boolean
        Groups:
          description: Collection of groups associated with this item
          type: array
          items:
            $ref: '#/components/schemas/GroupReference'
        Metafields:
          description: Collection of metafields
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        ProductType:
          description: Type of item (Product, Modifier, etc)
          enum:
          - Product
          - Modifier
          type: string
        Sku:
          description: Stock Keeping Unit (SKU)
          maxLength: 30
          minLength: 0
          type: string
        Name:
          description: Product name
          maxLength: 300
          minLength: 0
          type: string
        Description:
          description: Product description
          maxLength: 3000
          minLength: 0
          type: string
        Price:
          format: double
          description: Product price
          minimum: 0
          type: number
        ImageFileName:
          description: Image File Name
          maxLength: 512
          minLength: 0
          type: string
        Alcohol:
          description: Product contains alcohol
          type: boolean
    CreateCatalogGroupReference:
      description: Information to create a reference to a {Flipdish.Menus.PublicModels.V1.Catalog.Groups.Group}
      required:
      - CatalogGroupId
      - GroupType
      type: object
      properties:
        CatalogGroupId:
          description: Identifier of the ProductId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        CatalogItemId:
          description: Identifier of the ProductId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        GroupType:
          description: Type of the SupProduct
          enum:
          - ModifierGroup
          type: string
    RestApiPaginationResult_CatalogItem:
      description: Rest api pagination result
      required:
      - Page
      - Limit
      - TotalRecordCount
      - Data
      type: object
      properties:
        Page:
          format: int32
          description: Current page index
          type: integer
        Limit:
          format: int32
          description: Current page size
          type: integer
        TotalRecordCount:
          format: int32
          description: Total record count
          type: integer
        Data:
          description: Generic data object.
          type: array
          items:
            $ref: '#/components/schemas/CatalogItem'
    CreateCatalogItem:
      description: Create a Catalog Item
      required:
      - ItemType
      - Sku
      - Name
      - Price
      type: object
      properties:
        Groups:
          description: Collection of groups associated with this item
          type: array
          items:
            $ref: '#/components/schemas/CreateCatalogGroupReference'
        Metafields:
          description: Collection of metafields
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        ItemType:
          description: Type of item (Product, Modifier, etc)
          enum:
          - Product
          - Modifier
          type: string
        Sku:
          description: Stock Keeping Unit (SKU)
          maxLength: 30
          minLength: 0
          type: string
        Name:
          description: Item name
          maxLength: 300
          minLength: 0
          type: string
        Description:
          description: Item description
          maxLength: 3000
          minLength: 0
          type: string
        Price:
          format: double
          description: Item price
          minimum: 0
          type: number
        ImageFileName:
          description: Image File Name
          maxLength: 512
          minLength: 0
          type: string
        Alcohol:
          description: item contains alcohol
          type: boolean
    RestApiUnauthorizedResult:
      description: Rest api unauthorized result
      required:
      - Message
      type: object
      properties:
        Message:
          description: Message
          type: string
          readOnly: true
    ValidationErrorResult:
      description: Validation error result
      type: object
      properties:
        FieldName:
          description: Field name
          type: string
        Errors:
          description: List of errors relates to field
          type: array
          items:
            type: string
    GroupReference:
      description: Reference to an existing {Flipdish.Menus.PublicModels.V1.Catalog.Groups.Group}
      required:
      - CatalogItemId
      - GroupType
      type: object
      properties:
        Group:
          $ref: '#/components/schemas/Group'
          description: Details of the referenced {Flipdish.Menus.PublicModels.V1.Catalog.Products.GroupReference.Group}
        CatalogItemId:
          description: Identifier of the ProductId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        GroupType:
          description: Type of the SupProduct
          enum:
          - ModifierGroup
          type: string
    RestApiErrorResult:
      description: Rest api error result
      required:
      - Message
      type: object
      properties:
        Message:
          description: Error message
          type: string
        ErrorCode:
          format: int32
          description: Error code
          type: integer
        StackTrace:
          description: Stack trace
          type: string
        Errors:
          description: List of errors grouped by field name
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorResult'
    UpdateCatalogGroupReference:
      description: Data to update a {Flipdish.Menus.PublicModels.V1.Catalog.Items.CatalogGroupReference}
      required:
      - CatalogGroupId
      - GroupType
      type: object
      properties:
        CatalogGroupId:
          description: Identifier of the ProductId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        CatalogItemId:
          description: Identifier of the ProductId to use as SubProduct
          maxLength: 30
          minLength: 0
          type: string
        GroupType:
          description: Type of the SupProduct
          enum:
          - ModifierGroup
          type: string
    RestApiResult_CatalogItem:
      description: Rest api result
      required:
      - Data
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/CatalogItem'
          description: Generic data object.
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        implicit:
          scopes:
            api: Access to Flipdish API
          authorizationUrl: https://api.flipdish.co/identity/connect/authorize
      description: OAuth2 Implicit Grant
x-samples-languages:
- curl
- node
- csharp
- ruby
- javascript
- python
- swift
x-send-defaults: true
x-flipdish-signalr:
- hubName: AnalyticsHub
  events:
  - eventName: analytics.website
    eventType: AnalyticsClientEvent
- hubName: AppHub
  events:
  - eventName: app.created
    eventType: AppCreatedEvent
  - eventName: app.updated
    eventType: AppUpdatedEvent
- hubName: AuthorizationHub
  events: []
- hubName: BankAccountHub
  events:
  - eventName: bankaccount.created
    eventType: BankAccountCreatedEvent
  - eventName: bankaccount.updated
    eventType: BankAccountUpdatedEvent
  - eventName: bankaccount.deleted
    eventType: BankAccountDeletedEvent


# --- truncated at 32 KB (37 KB total) ---
# Full source: https://artifacts.apis.io/flipdish/openapi/flipdish-catalog-items-api-openapi.yml