OpenAPI Specification
openapi: 3.1.0
info:
title: Sysco Food Distribution Accounts Orders API
description: The Sysco Food Distribution API provides programmatic access to Sysco's food distribution platform for product ordering, catalog browsing, delivery tracking, account management, and supply chain integration. Available through the Sysco API Central developer portal, the API enables restaurants, food service operators, and partners to integrate with Sysco's distribution operations and ordering systems.
version: '1.0'
contact:
url: https://apic-devportal.sysco.com/
servers:
- url: https://api.sysco.com
description: Production
- url: https://api-stg.sysco.com
description: Staging
security:
- bearerAuth: []
tags:
- name: Orders
description: Create and manage food distribution orders.
paths:
/orders:
get:
operationId: listOrders
summary: List Orders
description: Retrieves a list of orders placed with Sysco, including order status, items, and delivery scheduling information. Supports up to 14 months of order history.
tags:
- Orders
parameters:
- name: status
in: query
schema:
type: string
enum:
- pending
- confirmed
- shipped
- delivered
- cancelled
- name: dateFrom
in: query
schema:
type: string
format: date
- name: dateTo
in: query
schema:
type: string
format: date
- name: page
in: query
schema:
type: integer
responses:
'200':
description: Order list returned
content:
application/json:
schema:
$ref: '#/components/schemas/OrderList'
post:
operationId: createOrder
summary: Create Order
description: Creates a new food distribution order with specified products, quantities, delivery date, and preferences.
tags:
- Orders
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderRequest'
responses:
'201':
description: Order created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'400':
description: Bad request
/orders/{orderId}:
get:
operationId: getOrder
summary: Get Order
description: Retrieves details for a specific order including items and status.
tags:
- Orders
parameters:
- name: orderId
in: path
required: true
schema:
type: string
responses:
'200':
description: Order details returned
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'404':
description: Order not found
delete:
operationId: cancelOrder
summary: Cancel Order
description: Cancels a pending order that has not yet been shipped.
tags:
- Orders
parameters:
- name: orderId
in: path
required: true
schema:
type: string
responses:
'200':
description: Order cancelled
'404':
description: Order not found
components:
schemas:
OrderItem:
type: object
required:
- productId
- quantity
properties:
productId:
type: string
quantity:
type: integer
unitOfMeasure:
type: string
price:
type: number
OrderList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Order'
totalCount:
type: integer
OrderRequest:
type: object
required:
- items
- deliveryDate
properties:
items:
type: array
items:
$ref: '#/components/schemas/OrderItem'
deliveryDate:
type: string
format: date
specialInstructions:
type: string
Order:
type: object
properties:
orderId:
type: string
status:
type: string
enum:
- pending
- confirmed
- shipped
- delivered
- cancelled
deliveryDate:
type: string
format: date
totalAmount:
type: number
items:
type: array
items:
$ref: '#/components/schemas/OrderItem'
createdAt:
type: string
format: date-time
securitySchemes:
bearerAuth:
type: http
scheme: bearer