Karrio Manifests API
This is an object representing your Karrio manifest details. Some carriers require manifests to be created after labels are generated. A manifest is a summary of all the shipments that are being sent out.
This is an object representing your Karrio manifest details. Some carriers require manifests to be created after labels are generated. A manifest is a summary of all the shipments that are being sent out.
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/karrio-manifests-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:
description: Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services.
title: Karrio Manifests API
version: 2026.1.32
tags:
- name: Manifests
description: 'This is an object representing your Karrio manifest details.
Some carriers require manifests to be created after labels are generated.
A manifest is a summary of all the shipments that are being sent out.'
paths:
/v1/manifests:
get:
operationId: $$$$&&list
description: Retrieve all manifests.
summary: List manifests
parameters:
- in: query
name: carrier_name
schema:
type: string
description: 'The unique carrier slug. <br/>Values: `aramex`, `asendia`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpd_meta`, `dtdc`, `easypost`, `easyship`, `eshipper`, `fedex`, `freightcom`, `generic`, `geodis`, `gls`, `hay_post`, `hermes`, `landmark`, `laposte`, `locate2u`, `mydhl`, `nationex`, `parcelone`, `postat`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `shipengine`, `smartkargo`, `spring`, `teleship`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `veho`, `zoom2u`'
- in: query
name: created_after
schema:
type: string
format: date-time
- in: query
name: created_before
schema:
type: string
format: date-time
tags:
- Manifests
security:
- TokenBasic: []
- Token: []
- OAuth2: []
- JWT: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManifestList'
description: ''
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
x-operationId: listManifests
post:
operationId: $$$$&&create
description: Create a manifest for one or many shipments with labels already purchased.
summary: Create a manifest
tags:
- Manifests
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManifestData'
required: true
security:
- TokenBasic: []
- Token: []
- OAuth2: []
- JWT: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Manifest'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
'424':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorMessages'
description: ''
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
x-operationId: createManifest
/v1/manifests/{id}:
get:
operationId: $$$$&&retrieve
description: Retrieve a shipping manifest.
summary: Retrieve a manifest
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Manifests
security:
- TokenBasic: []
- Token: []
- OAuth2: []
- JWT: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Manifest'
description: ''
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
x-operationId: retrieveManifest
/v1/manifests/{id}/document:
post:
operationId: $$$$&&document
description: Retrieve a manifest document as base64 encoded content.
summary: Retrieve a manifest document
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Manifests
security:
- TokenBasic: []
- Token: []
- OAuth2: []
- JWT: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ShippingDocument'
description: ''
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: ''
x-operationId: retrieveManifestDocument
components:
schemas:
Manifest:
type: object
properties:
id:
type: string
description: A unique manifest identifier
object_type:
type: string
default: manifest
description: Specifies the object type
carrier_name:
type: string
description: The manifest carrier
carrier_id:
type: string
description: The manifest carrier configured name
meta:
type:
- object
- 'null'
additionalProperties: {}
description: provider specific metadata
test_mode:
type: boolean
description: Specified whether it was created with a carrier in test mode
address:
allOf:
- $ref: '#/components/schemas/AddressData'
description: The address of the warehouse or location where the shipments originate.
options:
type: object
additionalProperties: {}
default: {}
description: "<details>\n <summary>The options available for the manifest.</summary>\n\n {\n \"shipments\": [\n {\n \"tracking_number\": \"123456789\",\n ...\n \"meta\": {...}\n }\n ]\n }\n </details>\n "
reference:
type:
- string
- 'null'
description: The manifest reference
shipment_identifiers:
type: array
items:
type: string
description: "The list of shipment identifiers you want to add to your manifest.<br/>\n shipment_identifier is often a tracking_number or shipment_id returned when you purchase a label.\n "
metadata:
type: object
additionalProperties: {}
default: {}
description: User metadata for the pickup
manifest_url:
type:
- string
- 'null'
format: uri
description: The Manifest file URL
messages:
type: array
items:
$ref: '#/components/schemas/Message'
default: []
description: The list of note or warning messages
required:
- address
- carrier_id
- carrier_name
- shipment_identifiers
- test_mode
ShippingDocument:
type: object
description: Serializer for shipping document download response.
properties:
category:
type: string
description: The document category (e.g., 'label', 'invoice', 'manifest')
format:
type: string
description: The document format (e.g., 'PDF', 'ZPL')
print_format:
type:
- string
- 'null'
description: The document print format (e.g., 'A4', '6x4', '8.5x11')
url:
type:
- string
- 'null'
description: The document URL
base64:
type:
- string
- 'null'
description: The document content encoded in base64
required:
- category
- format
Message:
type: object
properties:
message:
type: string
description: The error or warning message
code:
type: string
description: The message code
level:
type: string
description: The message level
details:
type: object
additionalProperties: {}
description: any additional details
carrier_name:
type: string
description: The targeted carrier
carrier_id:
type: string
description: The targeted carrier name (unique identifier)
ErrorResponse:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/APIError'
description: The list of API errors
ManifestList:
type: object
properties:
count:
type:
- integer
- 'null'
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/Manifest'
required:
- results
ErrorMessages:
type: object
properties:
messages:
type: array
items:
$ref: '#/components/schemas/Message'
description: The list of error messages
APIError:
type: object
properties:
message:
type: string
description: The error or warning message
code:
type: string
description: The message code
level:
type: string
description: The message level
details:
type: object
additionalProperties: {}
description: any additional details
ManifestData:
type: object
properties:
carrier_name:
type: string
description: The manifest's carrier
address:
allOf:
- $ref: '#/components/schemas/AddressData'
description: The address of the warehouse or location where the shipments originate.
options:
type: object
additionalProperties: {}
default: {}
description: "<details>\n <summary>The options available for the manifest.</summary>\n\n {\n \"shipments\": [\n {\n \"tracking_number\": \"123456789\",\n ...\n \"meta\": {...}\n }\n ]\n }\n </details>\n "
reference:
type:
- string
- 'null'
description: The manifest reference
shipment_ids:
type: array
items:
type: string
description: The list of existing shipment object ids with label purchased.
required:
- address
- carrier_name
- shipment_ids
AddressData:
type: object
properties:
id:
type:
- string
- 'null'
description: A unique identifier for the address (used in JSON embedded data)
postal_code:
type:
- string
- 'null'
description: "The address postal code\n **(required for shipment purchase)**\n "
maxLength: 20
city:
type:
- string
- 'null'
description: "The address city.\n **(required for shipment purchase)**\n "
maxLength: 50
federal_tax_id:
type:
- string
- 'null'
description: The party frederal tax id
maxLength: 50
state_tax_id:
type:
- string
- 'null'
description: The party state id
maxLength: 50
person_name:
type:
- string
- 'null'
description: "Attention to\n **(required for shipment purchase)**\n "
maxLength: 100
company_name:
type:
- string
- 'null'
description: The company name if the party is a company
maxLength: 100
country_code:
enum:
- AC
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AN
- AO
- AR
- AS
- AT
- AU
- AW
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BM
- BN
- BO
- BR
- BS
- BT
- BW
- BY
- BZ
- CA
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CR
- CU
- CV
- CY
- CZ
- DE
- DJ
- DK
- DM
- DO
- DZ
- EC
- EE
- EG
- ER
- ES
- ET
- FI
- FJ
- FK
- FM
- FO
- FR
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GT
- GU
- GW
- GY
- HK
- HN
- HR
- HT
- HU
- IC
- ID
- IE
- IL
- IN
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KV
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PR
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SG
- SH
- SI
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SV
- SY
- SZ
- TC
- TD
- TG
- TH
- TJ
- TL
- TN
- TO
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WS
- XB
- XC
- XE
- XM
- XN
- XS
- XY
- YE
- YT
- ZA
- ZM
- ZW
- EH
- IM
- BL
- MF
- SX
type: string
x-spec-enum-id: b4b44aee15c8daa0
description: The address country code
email:
type:
- string
- 'null'
description: The party email
phone_number:
type:
- string
- 'null'
description: The party phone number.
maxLength: 50
state_code:
type:
- string
- 'null'
description: The address state code
maxLength: 50
residential:
type:
- boolean
- 'null'
default: false
description: Indicate if the address is residential or commercial (enterprise)
street_number:
type:
- string
- 'null'
description: The address street number
maxLength: 100
address_line1:
type:
- string
- 'null'
description: "The address line with street number <br/>\n **(required for shipment purchase)**\n "
maxLength: 100
address_line2:
type:
- string
- 'null'
description: The address line with suite number
maxLength: 100
validate_location:
type:
- boolean
- 'null'
default: false
description: Indicate if the address should be validated
meta:
type:
- object
- 'null'
additionalProperties: {}
description: "Template metadata for template identification.\n Structure: {\"label\": \"Warehouse A\", \"is_default\": true, \"usage\": [\"sender\", \"return\"]}\n "
required:
- country_code
securitySchemes:
JWT:
in: header
type: apiKey
scheme: bearer
bearerFormat: JWT
name: Authorization
description: 'Authorization: Bearer xxx.xxx.xxx'
OAuth2:
type: oauth2
in: header
name: Authorization
flows:
authorizationCode:
authorizationUrl: /oauth/authorize/
tokenUrl: /oauth/token/
scopes:
read: Read access to Karrio data
write: Write access to Karrio data
openid: OpenID connect
description: 'Authorization: Bearer xxxxxxxx'
Token:
type: apiKey
in: header
name: Authorization
description: 'Authorization: Token key_xxxxxxxx'
TokenBasic:
type: http
scheme: basic
name: Authorization
description: '-u key_xxxxxxxx:'