The ChannelShipper & Royal Mail Public API lets you create, retrieve, update status, and delete orders, generate shipping labels (including customs and return labels), and manage shipment manifests for batch processing.
pageSize(query, limit) — The number of items to return
startDateTime(query) — Date and time lower bound for items filtering
endDateTime(query) — Date and time upper bound for items filtering
continuationToken(query) — The token for retrieving the next page of items
POST
/orders
Create orders
GET
/orders/full
Retrieve pageable list of orders with details
pageSize(query, limit) — The number of items to return
startDateTime(query) — Date and time lower bound for items filtering
endDateTime(query) — Date and time upper bound for items filtering
continuationToken(query) — The token for retrieving the next page of items
PUT
/orders/status
Set order status
DELETE
/orders/{orderIdentifiers}
Delete orders
orderIdentifiers(path, required) — One or several Order Identifiers or Order References separated by semicolon. Order Identifiers are integer numbers. Order References are strings - each must be percent-encoded and surrounded by double quotation marks.
GET
/orders/{orderIdentifiers}
Retrieve specific orders
orderIdentifiers(path, required) — One or several Order Identifiers or Order References separated by semicolon. Order Identifiers are integer numbers. Order References are strings - each must be percent-encoded and surrounded by double quotation marks.
GET
/orders/{orderIdentifiers}/full
Retrieve details of the specific orders
orderIdentifiers(path, required) — One or several Order Identifiers or Order References separated by semicolon. Order Identifiers are integer numbers. Order References are strings - each must be percent-encoded and surrounded by double quotation marks.
GET
/orders/{orderIdentifiers}/label
Return a single PDF file with generated label and/or associated document(s)
orderIdentifiers(path, required) — One or several Order Identifiers or Order References separated by semicolon. Order Identifiers are integer numbers. Order References are strings - each must be percent-encoded and surrounded by double quotation marks.
documentType(query, required) — Document generation mode. When documentType is set to "postageLabel" the additional parameters below must be used. These additional parameters will be ignored when documentType is not set to "postageLabel"
includeReturnsLabel(query) — Include returns label. Required when documentType is set to 'postageLabel'
includeCN(query) — Include CN22/CN23 with label. Optional parameter. If this parameter is used the setting will override the default account behaviour specified in the "Label format" setting "Generate customs declarations with orders"
GET
/version
Get API version details.
12 endpoints auto-detected
Authentication
This API uses an API key, passed in the "Authorization" header. No OAuth required.
curl -X POST \
"https://royalmail.com/manifests" \
-H "Authorization: YOUR_API_KEY"