OpenAPI Specification
openapi: 3.0.3
info:
title: MarginEdge Public Categories Products API
version: 1.0.0
description: Read-only public API for retrieving invoice, order, product, vendor, category, and restaurant-unit data from the MarginEdge restaurants you are authorized to access. The API supports one-way data retrieval only (MarginEdge to your application) and is included with any MarginEdge subscription. Authentication uses an API key sent in the x-api-key header. List responses are paged via an opaque nextPage cursor.
contact:
name: MarginEdge Developer Support
url: https://developer.marginedge.com/
x-spec-source: Derived from the published MarginEdge developer portal (developer.marginedge.com) API reference and embedded API definitions.
servers:
- url: https://api.marginedge.com/public
description: MarginEdge Public API
security:
- ApiKeyAuth: []
tags:
- name: Products
description: Products tracked in a restaurant
paths:
/products:
get:
operationId: getProducts
summary: MarginEdge Get Products
tags:
- Products
description: Get Products.
parameters:
- name: restaurantUnitId
in: query
required: true
schema:
type: string
example: 12345
- name: nextPage
in: query
required: false
schema:
type: string
example: eyJsYXN0SWQiOiAiMTIzNDUifQ==
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/GetProductsResponseModel'
examples:
GetProducts200Example:
summary: Default getProducts 200 response
x-microcks-default: true
value:
nextPage: eyJsYXN0SWQiOiAiMTIzNDUifQ==
products:
- centralProductId: me-centralproduct-9f3a2b
latestPrice: 42.75
reportByUnit: case
taxExempt: true
companyConceptProductId: me-companyconceptproduct-9f3a2b
categories:
- percentAllocation: 1
categoryId: me-category-9f3a2b
productName: Sample Product
itemCount: 3
'400':
$ref: '#/components/responses/BadRequest'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
responses:
NotFound:
description: Resource not found
Forbidden:
description: Forbidden (missing or invalid API key, or restaurant not authorized)
ServerError:
description: Internal server error
BadRequest:
description: Bad request
schemas:
GetProductsResponseModel:
type: object
properties:
nextPage:
type: string
description: Unique key for the next page of results
example: eyJsYXN0SWQiOiAiMTIzNDUifQ==
products:
type: array
items:
type: object
properties:
centralProductId:
type: string
description: Identifier of the product across all restaurants in MarginEdge, if applicable. Not all products have a central identifier.
example: me-centralproduct-9f3a2b
latestPrice:
type: number
description: Most recent price of this product based on purchasing data
example: 42.75
reportByUnit:
type: string
description: Unit that this product is reported by in MarginEdge (e.g., EACH, POUND)
example: case
taxExempt:
type: boolean
description: Indicates whether this product is marked tax exempt
example: true
companyConceptProductId:
type: string
description: Identifier of the product unique within the company concept this restaurant belongs to
example: me-companyconceptproduct-9f3a2b
categories:
type: array
items:
type: object
properties:
percentAllocation:
type: number
description: Percent allocation of the product to this category
example: 1
categoryId:
type: string
description: Identifier of a category to which this product belongs
example: me-category-9f3a2b
productName:
type: string
description: Name of the product
example: Sample Product
itemCount:
type: number
description: Number of vendor items assigned to this product (in this restaurant)
example: 3
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: API key issued through the MarginEdge developer portal.