Register a document for a label
<aside class="access" aria-label="Endpoint access"> <table class="access__table"> <thead> <tr> <th class="access__table-header">Products</th> <th class="access__table-header">Plans</th> </tr> </thead> <tbody> <tr> <td class="access__table-cell access__product"> <img class="access__logo" src="/static/logos/shipstation-api-logo.svg" alt="ShipStation API Logo" loading="lazy" decoding="async"/> <div class="access__sub">Formerly ShipEngine</div> </td> <td class="access__table-cell access__plans"> <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-free.md" class="access__plan">Free</a> <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Advanced</a> <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Enterprise</a> </td> </tr> <tr> <td class="access__table-cell"> <img class="access__logo" src="/static/logos/shipstation-logo.svg" alt="ShipStation Logo" loading="lazy" decoding="async"/> </td> <td class="access__table-cell access__plans"> <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Free</a> <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Starter</a> <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan access__plan--off">Standard</a> <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan access__plan--off">Premium</a> </td> </tr> </tbody> </table> <footer class="access__footer"> <a class="access__help" href="/apis/@shipstation-v2/docs/getting-started/products-and-plans.md"> Learn about products and plans <img src="/static/icons/external-link.svg" alt="External Link Icon" style="width: 16px;" loading="lazy" decoding="async"/> </a> </footer> </aside>Register a carrier document against a label. The response returns an upload target; upload the document file to that target, then call the send documents endpoint to transmit it to the carrier. Carrier information is resolved automatically from the label.
Request body
Example request
{
"type": "usmca_commercial_invoice_certification_of_origin",
"format": "PDF",
"file_name": "usmca-certification-of-origin.pdf"
}Response
The document was registered successfully.
Example response
{
"document_id": "019eb24e-cd4e-7609-b740-c2324fe93272",
"upload": {
"url": "https://carrier-doc-upload.s3.amazonaws.com",
"fields": {
"Content-Type": "application/pdf",
"key": "019eb24e-cd4e-7609-b740-c2324fe93272.pdf",
"x-amz-meta-document-id": "019eb24e-cd4e-7609-b740-c2324fe93272",
"x-amz-meta-seller-id": "8801990",
"X-Amz-Algorithm": "AWS4-HMAC-SHA256",
"X-Amz-Credential": "ASIA.../20260610/us-east-1/s3/aws4_request",
"X-Amz-Date": "20260610T161249Z",
"Policy": "eyJleHBpcmF0aW9uIjoi...",
"X-Amz-Signature": "b81189b9df29...",
"X-Amz-Security-Token": "IQoJb3JpZ2lu..."
}
}
}Changes
Changed in 1 of the 6 revisions of this API.12
- ●
added the new
freight_connection_inactiveenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status400response-property-enum-value-added
- ●
added the new
freight_connection_inactiveenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status404response-property-enum-value-added
- ●
added the new
freight_provider_id_requiredenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status400response-property-enum-value-added
- ●
added the new
freight_provider_id_requiredenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status404response-property-enum-value-added
- ●
added the new
freight_shipment_not_batchableenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status400response-property-enum-value-added
- ●
added the new
freight_shipment_not_batchableenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status404response-property-enum-value-added
- ●
added the new
freight_shipment_not_foundenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status400response-property-enum-value-added
- ●
added the new
freight_shipment_not_foundenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status404response-property-enum-value-added
- ●
added the new
freight_tracking_not_availableenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status400response-property-enum-value-added
- ●
added the new
freight_tracking_not_availableenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status404response-property-enum-value-added
- ●
added the new
freight_tracking_not_foundenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status400response-property-enum-value-added
- ●
added the new
freight_tracking_not_foundenum value to theerrors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/response property for the response status404response-property-enum-value-added
- ●