MarketMan Deliveries API
Vendor-side delivery note endpoints (GetDeliveryNotesByDate, ValidateDoc, SetDocs) used to submit and retrieve delivery documents tied to fulfilled orders.
Vendor-side delivery note endpoints (GetDeliveryNotesByDate, ValidateDoc, SetDocs) used to submit and retrieve delivery documents tied to fulfilled orders.
openapi: 3.0.1
info:
title: MarketMan API V3
description: >-
MarketMan provides a JSON REST API for integration with third-party
applications such as accounting, ERP, e-commerce, and self-service portals.
The V3 API exposes separate Buyer and Vendor surfaces for inventory, items,
vendors, purchase orders, invoices/docs, deliveries, recipes/menu costing,
POS sales, and webhooks. All operations are HTTP POST that accept and return
JSON. Authentication is token-based: call /v3/buyers/auth/GetToken (or the
vendor equivalent) with an APIKey and APIPassword to obtain a Token, then
send that token on every subsequent request in the AUTH_TOKEN header.
Endpoints, request fields, and response shapes here reflect the publicly
published MarketMan API V3 Postman documentation; field-level detail not
documented publicly is left unconstrained.
termsOfService: https://www.marketman.com/
contact:
name: MarketMan
url: https://www.marketman.com/
version: '3.0'
servers:
- url: https://api.marketman.com/v3
description: MarketMan API V3 production base URL
security:
- AuthToken: []
tags:
- name: Authentication
description: Token acquisition and token status.
- name: Accounts
description: Authorised buyer accounts and connected POS systems.
- name: Inventory
description: Inventory items, counts, transfers, waste, and UOM types.
- name: Items
description: Vendors connected to a buyer account.
- name: Recipes
description: Menu items, availability, and menu profitability.
- name: Orders
description: Purchase orders and vendor catalog items.
- name: Docs
description: Invoices and accounting documents.
- name: Deliveries
description: Vendor delivery notes and document submission.
- name: Webhooks
description: Webhook subscriptions for order and account events.
paths:
/buyers/auth/GetToken:
post:
operationId: getToken
tags:
- Authentication
summary: Obtain an access token
description: >-
Exchanges an APIKey and APIPassword for an access Token used in the
AUTH_TOKEN header on all subsequent requests.
security: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetTokenRequest'
responses:
'200':
description: Authentication result with a token on success.
content:
application/json:
schema:
$ref: '#/components/schemas/GetTokenResponse'
/buyers/auth/GetTokenDetails:
post:
operationId: getTokenDetails
tags:
- Authentication
summary: Get details about the current token
responses:
'200':
description: Token details.
content:
application/json:
schema:
type: object
/buyers/partneraccounts/GetAuthorisedAccounts:
post:
operationId: getAuthorisedAccounts
tags:
- Accounts
summary: List authorised buyer accounts
description: >-
Returns the buyer accounts (each identified by a Guid) that the
authenticated API credentials may operate on.
responses:
'200':
description: Authorised accounts.
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorisedAccountsResponse'
/buyers/inventory/GetItems:
post:
operationId: getItems
tags:
- Inventory
summary: Get catalog/inventory items
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetItemsRequest'
responses:
'200':
description: Inventory items.
content:
application/json:
schema:
$ref: '#/components/schemas/InventoryItemsResponse'
/buyers/inventory/GetInventoryItems:
post:
operationId: getInventoryItems
tags:
- Inventory
summary: Get inventory items for a buyer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Inventory items.
content:
application/json:
schema:
$ref: '#/components/schemas/InventoryItemsResponse'
/buyers/inventory/SetInventoryCount:
post:
operationId: setInventoryCount
tags:
- Inventory
summary: Submit an inventory count
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Result of the count submission.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
/buyers/inventory/GetUOMTypes:
post:
operationId: getUOMTypes
tags:
- Inventory
summary: Get units of measure
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Units of measure.
content:
application/json:
schema:
type: object
/buyers/items/GetVendors:
post:
operationId: getVendors
tags:
- Items
summary: Get vendors connected to a buyer
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Vendors connected to the buyer account.
content:
application/json:
schema:
$ref: '#/components/schemas/VendorsResponse'
/buyers/inventory/GetMenuItems:
post:
operationId: getMenuItems
tags:
- Recipes
summary: Get menu items (recipes)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GetMenuItemsRequest'
responses:
'200':
description: Menu items.
content:
application/json:
schema:
type: object
/buyers/inventory/GetMenuItemsAvailability:
post:
operationId: getMenuItemsAvailability
tags:
- Recipes
summary: Get menu item availability
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Menu item availability.
content:
application/json:
schema:
type: object
/buyers/inventory/GetMenuProfitability:
post:
operationId: getMenuProfitability
tags:
- Recipes
summary: Get menu profitability report
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Menu profitability data.
content:
application/json:
schema:
type: object
/buyers/orders/GetOrdersByDeliveryDate:
post:
operationId: getOrdersByDeliveryDate
tags:
- Orders
summary: Get purchase orders by delivery date
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DateRangeRequest'
responses:
'200':
description: Orders within the delivery date range.
content:
application/json:
schema:
type: object
/buyers/orders/GetOrdersBySentDate:
post:
operationId: getOrdersBySentDate
tags:
- Orders
summary: Get purchase orders by sent date
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DateRangeRequest'
responses:
'200':
description: Orders within the sent date range.
content:
application/json:
schema:
type: object
/buyers/orders/GetCatalogItems:
post:
operationId: getCatalogItems
tags:
- Orders
summary: Get a vendor catalog
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogItemsRequest'
responses:
'200':
description: Catalog items for a vendor.
content:
application/json:
schema:
type: object
/buyers/orders/CreateOrder:
post:
operationId: createOrder
tags:
- Orders
summary: Create a purchase order
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrderRequest'
responses:
'200':
description: Result of the order creation.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
/buyers/docs/GetDocsByDocDate:
post:
operationId: getDocsByDocDate
tags:
- Docs
summary: Get invoices/documents by document date
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DateRangeRequest'
responses:
'200':
description: Documents within the date range.
content:
application/json:
schema:
type: object
/buyers/docs/SetDocsExported:
post:
operationId: setDocsExported
tags:
- Docs
summary: Mark documents as exported
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Result of the export-flag update.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
/vendors/docs/GetDeliveryNotesByDate:
post:
operationId: getDeliveryNotesByDate
tags:
- Deliveries
summary: Get delivery notes by date
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DateRangeRequest'
responses:
'200':
description: Delivery notes within the date range.
content:
application/json:
schema:
type: object
/vendors/docs/ValidateDoc:
post:
operationId: validateDoc
tags:
- Deliveries
summary: Validate a delivery/invoice document
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Validation result.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
/vendors/docs/SetDocs:
post:
operationId: setDocs
tags:
- Deliveries
summary: Submit delivery/invoice documents
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: Result of the document submission.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
/buyers/webhooks/CreateWebhook:
post:
operationId: createWebhook
tags:
- Webhooks
summary: Create a webhook subscription
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebhookRequest'
responses:
'200':
description: Result of the webhook creation.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
/buyers/webhooks/GetWebhooks:
post:
operationId: getWebhooks
tags:
- Webhooks
summary: List webhook subscriptions
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Webhook subscriptions.
content:
application/json:
schema:
type: object
/buyers/webhooks/GetWebhookEventByOrder:
post:
operationId: getWebhookEventByOrder
tags:
- Webhooks
summary: Get webhook events by order
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BuyerRequest'
responses:
'200':
description: Webhook events for the order.
content:
application/json:
schema:
type: object
/buyers/webhooks/DeleteWebhook:
post:
operationId: deleteWebhook
tags:
- Webhooks
summary: Delete a webhook subscription
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteWebhookRequest'
responses:
'200':
description: Result of the webhook deletion.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericResponse'
components:
securitySchemes:
AuthToken:
type: apiKey
in: header
name: AUTH_TOKEN
description: >-
Access token returned by GetToken, sent on every authenticated request
in the AUTH_TOKEN header.
schemas:
GetTokenRequest:
type: object
required:
- APIKey
- APIPassword
properties:
APIKey:
type: string
description: API key issued by MarketMan support.
APIPassword:
type: string
description: API password issued by MarketMan support.
GetTokenResponse:
type: object
properties:
Token:
type: string
description: Access token to send in the AUTH_TOKEN header.
IsSuccess:
type: boolean
ErrorMessage:
type: string
nullable: true
BuyerRequest:
type: object
required:
- BuyerGuid
properties:
BuyerGuid:
type: string
description: GUID identifying the buyer account to operate on.
GetItemsRequest:
allOf:
- $ref: '#/components/schemas/BuyerRequest'
- type: object
properties:
itemIDs:
type: array
items:
type: string
nullable: true
Take:
type: integer
Skip:
type: integer
GetMenuItemsRequest:
allOf:
- $ref: '#/components/schemas/BuyerRequest'
- type: object
properties:
GetDeleted:
type: boolean
itemIDs:
type: array
items:
type: string
nullable: true
DateRangeRequest:
allOf:
- $ref: '#/components/schemas/BuyerRequest'
- type: object
required:
- DateTimeFromUTC
- DateTimeToUTC
properties:
DateTimeFromUTC:
type: string
description: Start of the range in UTC, format yyyy/MM/dd HH:mm:ss.
example: '2025/02/18 00:00:00'
DateTimeToUTC:
type: string
description: End of the range in UTC, format yyyy/MM/dd HH:mm:ss.
example: '2025/02/20 23:59:59'
CatalogItemsRequest:
allOf:
- $ref: '#/components/schemas/BuyerRequest'
- type: object
required:
- VendorGuid
properties:
VendorGuid:
type: string
description: GUID identifying the vendor whose catalog to retrieve.
CreateOrderRequest:
allOf:
- $ref: '#/components/schemas/BuyerRequest'
- type: object
required:
- VendorGuid
- catalogItems
properties:
VendorGuid:
type: string
OrderStatus:
type: string
example: Sent
deliveryDateUTC:
type: string
example: '2020/05/06 00:00:00'
sentDateUTC:
type: string
example: '2020/05/06 00:00:00'
BuyerUserGuid:
type: string
comment:
type: string
catalogItems:
type: array
items:
$ref: '#/components/schemas/OrderCatalogItem'
OrderCatalogItem:
type: object
properties:
CatalogItemCode:
type: string
Quantity:
type: number
CreateWebhookRequest:
allOf:
- $ref: '#/components/schemas/BuyerRequest'
- type: object
required:
- Type
- URL
properties:
Type:
type: string
description: Event type to subscribe to, e.g. "Order create".
example: Order create
URL:
type: string
description: Destination URL that will receive webhook payloads.
DeleteWebhookRequest:
allOf:
- $ref: '#/components/schemas/BuyerRequest'
- type: object
required:
- Guid
properties:
Guid:
type: string
description: GUID of the webhook to delete.
AuthorisedAccountsResponse:
type: object
properties:
Buyers:
type: array
items:
type: object
properties:
Guid:
type: string
Name:
type: string
IsSuccess:
type: boolean
InventoryItemsResponse:
type: object
properties:
InventoryItems:
type: array
items:
type: object
IsSuccess:
type: boolean
VendorsResponse:
type: object
properties:
Vendors:
type: array
items:
type: object
IsSuccess:
type: boolean
GenericResponse:
type: object
properties:
IsSuccess:
type: boolean
ErrorMessage:
type: string
nullable: true