Flipdish Catalog Items API
The Catalog Items API from Flipdish — 4 operation(s) for catalog items.
The Catalog Items API from Flipdish — 4 operation(s) for catalog items.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/flipdish:flipdish-catalog-items-api"
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.
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: 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