MarginEdge Restaurant Units API
Restaurants, groups, and group categories you can access
Restaurants, groups, and group categories you can access
openapi: 3.0.3
info:
title: MarginEdge Public Categories Restaurant Units 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: Restaurant Units
description: Restaurants, groups, and group categories you can access
paths:
/restaurantUnits:
get:
operationId: getRestaurantUnits
summary: MarginEdge Get Restaurant Units
tags:
- Restaurant Units
description: Get Restaurant Units.
parameters: []
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/GetAvailableRestaurantUnitsResponseModel'
examples:
GetRestaurantUnits200Example:
summary: Default getRestaurantUnits 200 response
x-microcks-default: true
value:
restaurants:
- name: Sample Name
id: 12345
'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
/restaurantUnits/groupCategories:
get:
operationId: getRestaurantUnitGroupCategories
summary: MarginEdge Get Restaurant Unit Group Categories
tags:
- Restaurant Units
description: Get Restaurant Unit Group Categories.
parameters:
- name: conceptId
in: query
required: false
schema:
type: string
example: 678
- name: companyId
in: query
required: false
schema:
type: string
example: 678
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/GetGroupCategoriesResponseModel'
examples:
GetRestaurantUnitGroupCategories200Example:
summary: Default getRestaurantUnitGroupCategories 200 response
x-microcks-default: true
value:
groupCategories:
- companyId: 12345
conceptName: Sample Concept
companyName: Sample Company
name: Sample Name
conceptId: 12345
permission: example
id: me--9f3a2b
'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
/restaurantUnits/groups:
get:
operationId: getRestaurantUnitGroups
summary: MarginEdge Get Restaurant Unit Groups
tags:
- Restaurant Units
description: Get Restaurant Unit Groups.
parameters:
- name: conceptId
in: query
required: false
schema:
type: string
example: 678
- name: companyId
in: query
required: false
schema:
type: string
example: 678
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/GetGroupsResponseModel'
examples:
GetRestaurantUnitGroups200Example:
summary: Default getRestaurantUnitGroups 200 response
x-microcks-default: true
value:
groups:
- companyId: 12345
conceptName: Sample Concept
lastModifiedDate: '2026-05-01'
companyName: Sample Company
name: Sample Name
groupCategoryName: Sample Groupcategory
conceptId: 12345
id: me--9f3a2b
groupCategoryId: me-groupcategory-9f3a2b
units:
- unitName: Sample Unit
unitId: 12345
'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:
GetGroupsResponseModel:
type: object
properties:
groups:
type: array
description: List of restaurant unit groups accessible to the user
items:
type: object
properties:
companyId:
type: number
description: Unique identifier of the company this group belongs to
example: 12345
conceptName:
type: string
description: Name of the concept
example: Sample Concept
lastModifiedDate:
type: string
description: Timestamp when the group was last modified (ISO 8601 format)
example: '2026-05-01'
companyName:
type: string
description: Name of the company
example: Sample Company
name:
type: string
description: Name of the group
example: Sample Name
groupCategoryName:
type: string
description: Name of the group category (nullable)
example: Sample Groupcategory
conceptId:
type: number
description: Unique identifier of the concept this group belongs to
example: 12345
id:
type: string
description: Unique identifier for the group (UUID)
example: me--9f3a2b
groupCategoryId:
type: string
description: UUID of the group category this group belongs to (nullable)
example: me-groupcategory-9f3a2b
units:
type: array
description: List of restaurant units in this group
items:
type: object
properties:
unitName:
type: string
description: Name of the restaurant unit
example: Sample Unit
unitId:
type: number
description: Unique identifier of the restaurant unit
example: 12345
GetAvailableRestaurantUnitsResponseModel:
type: object
properties:
restaurants:
type: array
items:
type: object
properties:
name:
type: string
description: Name of the restaurant in MarginEdge
example: Sample Name
id:
type: number
description: Unique identifier of this restaurant that will be used in the request to all other API endpoints
example: 12345
GetGroupCategoriesResponseModel:
type: object
properties:
groupCategories:
type: array
description: List of group categories accessible to the user
items:
type: object
properties:
companyId:
type: number
description: Unique identifier of the company this category belongs to
example: 12345
conceptName:
type: string
description: Name of the concept
example: Sample Concept
companyName:
type: string
description: Name of the company
example: Sample Company
name:
type: string
description: Name of the category
example: Sample Name
conceptId:
type: number
description: Unique identifier of the concept this category belongs to
example: 12345
permission:
type: string
description: Permission level for the category (PUBLIC or RESTRICTED)
example: example
id:
type: string
description: Unique identifier for the category (UUID)
example: me--9f3a2b
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: API key issued through the MarginEdge developer portal.