United Natural Foods (UNFI) Orders API
Purchase orders and fulfillment
Purchase orders and fulfillment
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/united-natural-foods-orders-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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:
title: UNFI Supplier and Data Insights Orders API
description: United Natural Foods, Inc. (UNFI) provides APIs for suppliers, retailers, and data partners to interact with UNFI's distribution network. The UNFI API suite includes the Harmony Core API for read-only access to supply chain data files, the Supplier Portal API for product catalog and order management, and EDI integration for automated procure-to-pay workflows.
version: 1.0.0
contact:
name: UNFI Supplier Support
url: https://unfinc.zendesk.com/hc/en-us
termsOfService: https://suppliers.unfi.com
servers:
- url: https://api.unfi.com/v1
description: UNFI Production API
tags:
- name: Orders
description: Purchase orders and fulfillment
paths:
/orders:
get:
operationId: listOrders
summary: List Orders
description: Retrieve purchase orders for the supplier or retailer account.
tags:
- Orders
parameters:
- name: status
in: query
schema:
type: string
enum:
- pending
- confirmed
- shipped
- delivered
- cancelled
description: Filter by order status
- name: startDate
in: query
schema:
type: string
format: date
description: Start date filter
- name: endDate
in: query
schema:
type: string
format: date
description: End date filter
- name: warehouseId
in: query
schema:
type: string
description: Filter by UNFI warehouse
responses:
'200':
description: Orders returned successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Order'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
/orders/{orderId}:
get:
operationId: getOrder
summary: Get Order
description: Retrieve details for a specific purchase order.
tags:
- Orders
parameters:
- name: orderId
in: path
required: true
schema:
type: string
description: Purchase order identifier
responses:
'200':
description: Order details returned
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'404':
$ref: '#/components/responses/NotFound'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
/orders/{orderId}/fulfillment:
post:
operationId: submitFulfillment
summary: Submit Order Fulfillment
description: Submit fulfillment information for a purchase order including ship date and tracking.
tags:
- Orders
parameters:
- name: orderId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/FulfillmentRequest'
responses:
'200':
description: Fulfillment submitted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
components:
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
FulfillmentRequest:
type: object
required:
- shipDate
- carrier
- trackingNumber
properties:
shipDate:
type: string
format: date
carrier:
type: string
trackingNumber:
type: string
lineItems:
type: array
items:
type: object
properties:
lineId:
type: string
quantityShipped:
type: integer
OrderLineItem:
type: object
properties:
lineId:
type: string
productId:
type: string
upc:
type: string
quantityOrdered:
type: integer
quantityShipped:
type: integer
unitCost:
type: number
format: double
totalCost:
type: number
format: double
Order:
type: object
properties:
orderId:
type: string
purchaseOrderNumber:
type: string
status:
type: string
enum:
- pending
- confirmed
- shipped
- delivered
- cancelled
supplierId:
type: string
warehouseId:
type: string
orderDate:
type: string
format: date
requiredDeliveryDate:
type: string
format: date
lineItems:
type: array
items:
$ref: '#/components/schemas/OrderLineItem'
totalAmount:
type: number
format: double
Error:
type: object
properties:
code:
type: string
message:
type: string
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: UNFI supplier API key