API reference

Shipping API

Manage individual shipments: create, confirm, cancel, and track parcels from booking through delivery. Covers the full shipment lifecycle including label and document retrieval, status overrides, consolidated (master) shipments, manifests, and bulk operations.

Shipment booking is asynchronous. Creating or confirming a shipment returns pending; the carrier-confirmed outcome (tracking number, label, or booking error) arrives by webhook.

Serverhttps://api.carriyo.comAuthOAuth 2.0 + API KeySpecshipping.yaml

Shipments

The shipment object

The shipment object is the backbone of the Shipping API. It represents a grouping of items that are transported together from a starting point to a final destination, in one or more parcels.

The type of shipment can be classified as either FORWARD or REVERSE. A forward shipment moves items from a merchant to a customer; a reverse shipment is the opposite, returning items from a customer to a merchant.

Each shipment is given two identifiers: a shipment_id generated by Carriyo, and a partner_shipment_reference supplied by the merchant.

25 operations · 1 object

Object

The Shipment object

The Shipment object is the central entity of the Shipping API. It carries everything Carriyo needs to book a shipment with a carrier and track it through delivery — origin and destination addresses, items being shipped, parcels and their dimensions, payment information, customs data for cross-border, and the shipment's lifecycle status.

A shipment can be created in draft state (held in Carriyo until your team confirms) or confirmed directly (booked with a carrier immediately). Reverse shipments — returns from a customer back to your warehouse — use the same object with entity_type: REVERSE.

For the conceptual relationship between shipments, orders, and fulfillment orders, see the Domain model.

Properties

  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
post/shipments

Create shipment

Create a shipment. Returns a unique shipment_id. Either name a carrier_account explicitly or let Carriyo's predefined automation rules pick one.

Forward vs reverse

Set entity_type to either:

  • FORWARD: a normal outbound shipment from the merchant to the customer.
  • REVERSE: a return shipment, where the customer sends items back to the merchant.

Draft, confirmed, prebooked

Three creation modes, each with different behaviour against the carrier:

  • Draft (?draft=true): the shipment is saved in Carriyo for visibility but is not sent to the carrier. Use this when parcel details aren't final yet. The shipment stays in draft until you call Confirm shipment.

  • Confirmed (default, no ?draft query parameter): Carriyo validates the payload, assigns a carrier, and immediately submits the booking request to that carrier. The API responds with status pending straight away, without waiting for the carrier's response. The carrier's outcome (acceptance, rejection, label) arrives via webhook. If Carriyo's own validations fail, the shipment is created in error status with the validation errors in the response.

  • Prebooked (pre_booked: true): register a shipment that was booked outside Carriyo so Carriyo can track it. Once registered, the shipment shows up alongside the rest of your shipments in operational monitoring, reporting, and the branded customer tracking experience. Carriyo does not call the carrier's booking endpoint in this mode, but it does take ownership of tracking the shipment with the carrier from this point on. Supply the existing carrier and tracking number in pre_booking_info:

    {
      "pre_booked": true,
      "pre_booking_info": {
        "input_carrier": "DHL",
        "carrier_tracking_no": "1234567890"
      }
    }
    

After booking

Once the carrier accepts the booking, the shipment status moves to booked and the carrier's tracking number is attached. A label is generated. From that point, all subsequent status changes and label updates are pushed to your webhooks; the response from this endpoint represents only the moment of submission, not the carrier's final decision.

Query parameters

NameTypeRequiredDescription
draftbooleanNoPass true for draft shipment

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: shipment-requestrequired
  • entity_typestring
    Values:FORWARDREVERSE
  • merchantstringrequired
    Merchant ID is mandatory to create a shipment
  • referencesreferences-requestrequired
    References for a shipment, provided by the merchant. The partner_order_reference is mandatory but not required to be unique. It is usually the customer facing order number. The partner_shipment_reference must be unique for every shipment. It is mandatory, but is copied from partner_order_reference if it is not provided. If a single order has multiple shipments, then they will share the partner_order_reference but have unique partner_shipment_reference.
  • carrier_accountcarrier-account-request
    Carrier account chosen for the shipment. Should contain either the carrier account id or carrier account name. Carrier account id takes precedence if both fields are passed.
  • paymentpayment-request
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • collectioncollection-request
    Collection details chosen for the shipment, such as scheduled collection date. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "collection": { "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "collection": { "scheduled_date": "2022-01-01" }
  • deliverydelivery-request
    The delivery options chosen for the shipment, including the delivery type and schedule. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_date": "2022-01-01" }
  • pickuplocation-request | free-form-request
    Pickup address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you must pass a predefined pickup location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) as defined when you created the location in Carriyo. For reverse shipments, you can pass the customer's pickup address as a free-form pickup address.
  • dropofffree-form-request | location-request
    Dropoff address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you can pass the customer's dropoff address as a free-form address. For reverse shipments, you must pass a predefined dropoff location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) as defined when you created the location in Carriyo.
  • itemsitem-request[]
    List of individual items or SKUs in a shipment.
  • parcelsparcel-request[]
    List of parcels in a B2C shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • custom_attributescustom-attributes
    Custom attributes in the form of a map: {"attribute1" : ["value1", "value2"], "attribute2" : ["value1", "value2"]} Please Note: You can only use custom attributes if you are subscribed to this feature.
  • order_datestringformat: date-time
    Date-time in ISO 8601 format. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • input_promised_delivery_datestringformat: date-time
    Optional. The promised delivery date to the end customer, in ISO 8601 format. If present, Carriyo will not calculate promise date from service level configuration. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • order_typestring
    Pass one of the order types you have predefined in Carriyo
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • taxes_includedboolean
    Indicating whether taxes are included in the item's price
  • duties_includedboolean
    Indicating whether duties are included in the item's price
  • consolidatedboolean
    Set to true to create this shipment as a consolidated parent. Requires consolidated_child_shipments to be supplied. This is a deferred validation: if consolidated_child_shipments is missing when Carriyo books the shipment with the carrier, the shipment is set to status error. It is not rejected at create time.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments to consolidate under this one. Only used when consolidated is true.
  • estimated_shipping_costestimated-shipping-cost
    Optionally pre-populate the estimated shipping cost. Carriyo will recompute this where possible.
  • fulfillment_order_idstring
    ID of the fulfillment order this shipment fulfills (when creating a shipment for an order managed by the Carriyo Orders API).
  • order_idstring
    ID of the parent order (when creating a shipment for an order managed by the Carriyo Orders API).
  • return_request_idstring
    ID of the return request that triggered this (reverse) shipment.
  • insuranceinsurance-object
    Insurance details for the shipment.
  • pre_bookedboolean
    Set to true when registering a shipment that has already been booked with a carrier outside Carriyo. Requires pre_booking_info. This is a deferred validation: if pre_booking_info is missing when Carriyo books the shipment, the shipment is set to status error. It is not rejected at create time.
  • pre_booking_infopre-booking-info
    Carrier tracking details for a pre-booked shipment. Required when pre_booked is true.

Responses

200Shipment created.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Validation error.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

get/shipments

List shipments

Return a paginated list of shipments matching the search and filter parameters. The search_string parameter does a substring match across carrier tracking number, order reference, shipment reference, customer name, email, and similar fields; combine it with the other filters, sort, and pagination parameters as needed.

Quota: this endpoint is subject to your account's monthly shipment quota. Once the monthly limit is exceeded, further requests are blocked until the quota resets.

Query parameters

NameTypeRequiredDescription
search_stringstringNoThe search string to find shipments using shipment data such as carrier tracking number, order reference, shipment reference, customer name, email etc.
order_refstringNoThe string to be used to fetch shipments for a given order reference.
merchantstringNoThe merchant parameter filters shipments for a given merchant. This parameter can be used multiple times to filter results for multiple merchants.
shipment_typestringNoThe shipment type can either be `forward` or `reverse`. If not passed, then both types of shipments will be included in the results.
creation_date_fromstringNoThe start date in ISO 8601 format to filter the results using shipment creation date.
creation_date_tostringNoThe end date in ISO 8601 format to filter the results using shipment creation date.
update_date_fromstringNoThe start date in ISO 8601 format to filter results, returning shipments that were either created OR updated during this time period.
update_date_tostringNoThe end date in ISO 8601 format to filter results, returning shipments that were either created OR updated during this time period.
pagestringNoThe page number of the result set, starting from 0. Defaults to the first page (page 0).
page_sizestringNoThe number of results to be included in the response, ranging from 10 to 100. Defaults to page size of 10.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Matching shipments.
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

get/shipments/{shipment_id}

Get shipment

Return the latest shipment object, including the most up-to-date status and tracking information.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference. The reference variant is useful when your own system only retained the value it originally supplied.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Returns the requested shipment.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
404Shipment not found.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

patch/shipments/{shipment_id}

Update shipment

Partially update an existing shipment. Allowed when the shipment is in draft, error, or cancelled; any other status returns 400. (Cancelled shipments are editable so you can correct them before reprocessing.)

Merge rules

  • Top-level fields you include are replaced wholesale. For example, to change only the pickup postcode, you still pass the entire pickup object; any field you omit there is reset to its default. Plan your payload accordingly.
  • Custom attributes are the exception and merge key-by-key. You can add or change a single attribute without supplying the others. To remove an attribute, set its value to null.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: shipment-requestrequired
  • entity_typestring
    Values:FORWARDREVERSE
  • merchantstringrequired
    Merchant ID is mandatory to create a shipment
  • referencesreferences-requestrequired
    References for a shipment, provided by the merchant. The partner_order_reference is mandatory but not required to be unique. It is usually the customer facing order number. The partner_shipment_reference must be unique for every shipment. It is mandatory, but is copied from partner_order_reference if it is not provided. If a single order has multiple shipments, then they will share the partner_order_reference but have unique partner_shipment_reference.
  • carrier_accountcarrier-account-request
    Carrier account chosen for the shipment. Should contain either the carrier account id or carrier account name. Carrier account id takes precedence if both fields are passed.
  • paymentpayment-request
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • collectioncollection-request
    Collection details chosen for the shipment, such as scheduled collection date. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "collection": { "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "collection": { "scheduled_date": "2022-01-01" }
  • deliverydelivery-request
    The delivery options chosen for the shipment, including the delivery type and schedule. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_date": "2022-01-01" }
  • pickuplocation-request | free-form-request
    Pickup address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you must pass a predefined pickup location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) as defined when you created the location in Carriyo. For reverse shipments, you can pass the customer's pickup address as a free-form pickup address.
  • dropofffree-form-request | location-request
    Dropoff address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you can pass the customer's dropoff address as a free-form address. For reverse shipments, you must pass a predefined dropoff location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) as defined when you created the location in Carriyo.
  • itemsitem-request[]
    List of individual items or SKUs in a shipment.
  • parcelsparcel-request[]
    List of parcels in a B2C shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • custom_attributescustom-attributes
    Custom attributes in the form of a map: {"attribute1" : ["value1", "value2"], "attribute2" : ["value1", "value2"]} Please Note: You can only use custom attributes if you are subscribed to this feature.
  • order_datestringformat: date-time
    Date-time in ISO 8601 format. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • input_promised_delivery_datestringformat: date-time
    Optional. The promised delivery date to the end customer, in ISO 8601 format. If present, Carriyo will not calculate promise date from service level configuration. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • order_typestring
    Pass one of the order types you have predefined in Carriyo
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • taxes_includedboolean
    Indicating whether taxes are included in the item's price
  • duties_includedboolean
    Indicating whether duties are included in the item's price
  • consolidatedboolean
    Set to true to create this shipment as a consolidated parent. Requires consolidated_child_shipments to be supplied. This is a deferred validation: if consolidated_child_shipments is missing when Carriyo books the shipment with the carrier, the shipment is set to status error. It is not rejected at create time.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments to consolidate under this one. Only used when consolidated is true.
  • estimated_shipping_costestimated-shipping-cost
    Optionally pre-populate the estimated shipping cost. Carriyo will recompute this where possible.
  • fulfillment_order_idstring
    ID of the fulfillment order this shipment fulfills (when creating a shipment for an order managed by the Carriyo Orders API).
  • order_idstring
    ID of the parent order (when creating a shipment for an order managed by the Carriyo Orders API).
  • return_request_idstring
    ID of the return request that triggered this (reverse) shipment.
  • insuranceinsurance-object
    Insurance details for the shipment.
  • pre_bookedboolean
    Set to true when registering a shipment that has already been booked with a carrier outside Carriyo. Requires pre_booking_info. This is a deferred validation: if pre_booking_info is missing when Carriyo books the shipment, the shipment is set to status error. It is not rejected at create time.
  • pre_booking_infopre-booking-info
    Carrier tracking details for a pre-booked shipment. Required when pre_booked is true.

Responses

200Shipment updated.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request
  • statusstringrequired
  • timestampstringrequired
  • errorsstring[]required

Need the full machine-readable spec? Download the OpenAPI document →

put/shipments/{shipment_id}

Replace shipment

Fully replace a draft shipment. The request body overwrites the existing shipment in its entirety: any field you omit is reset to the schema default, including nested objects like pickup, dropoff, parcels, and items. If you want to change only a few fields and leave the rest intact, use Update shipment (PATCH) instead.

Only draft shipments can be replaced. Confirmed shipments return 400.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: shipment-requestrequired
  • entity_typestring
    Values:FORWARDREVERSE
  • merchantstringrequired
    Merchant ID is mandatory to create a shipment
  • referencesreferences-requestrequired
    References for a shipment, provided by the merchant. The partner_order_reference is mandatory but not required to be unique. It is usually the customer facing order number. The partner_shipment_reference must be unique for every shipment. It is mandatory, but is copied from partner_order_reference if it is not provided. If a single order has multiple shipments, then they will share the partner_order_reference but have unique partner_shipment_reference.
  • carrier_accountcarrier-account-request
    Carrier account chosen for the shipment. Should contain either the carrier account id or carrier account name. Carrier account id takes precedence if both fields are passed.
  • paymentpayment-request
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • collectioncollection-request
    Collection details chosen for the shipment, such as scheduled collection date. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "collection": { "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "collection": { "scheduled_date": "2022-01-01" }
  • deliverydelivery-request
    The delivery options chosen for the shipment, including the delivery type and schedule. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_date": "2022-01-01" }
  • pickuplocation-request | free-form-request
    Pickup address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you must pass a predefined pickup location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) as defined when you created the location in Carriyo. For reverse shipments, you can pass the customer's pickup address as a free-form pickup address.
  • dropofffree-form-request | location-request
    Dropoff address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you can pass the customer's dropoff address as a free-form address. For reverse shipments, you must pass a predefined dropoff location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) as defined when you created the location in Carriyo.
  • itemsitem-request[]
    List of individual items or SKUs in a shipment.
  • parcelsparcel-request[]
    List of parcels in a B2C shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • custom_attributescustom-attributes
    Custom attributes in the form of a map: {"attribute1" : ["value1", "value2"], "attribute2" : ["value1", "value2"]} Please Note: You can only use custom attributes if you are subscribed to this feature.
  • order_datestringformat: date-time
    Date-time in ISO 8601 format. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • input_promised_delivery_datestringformat: date-time
    Optional. The promised delivery date to the end customer, in ISO 8601 format. If present, Carriyo will not calculate promise date from service level configuration. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • order_typestring
    Pass one of the order types you have predefined in Carriyo
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • taxes_includedboolean
    Indicating whether taxes are included in the item's price
  • duties_includedboolean
    Indicating whether duties are included in the item's price
  • consolidatedboolean
    Set to true to create this shipment as a consolidated parent. Requires consolidated_child_shipments to be supplied. This is a deferred validation: if consolidated_child_shipments is missing when Carriyo books the shipment with the carrier, the shipment is set to status error. It is not rejected at create time.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments to consolidate under this one. Only used when consolidated is true.
  • estimated_shipping_costestimated-shipping-cost
    Optionally pre-populate the estimated shipping cost. Carriyo will recompute this where possible.
  • fulfillment_order_idstring
    ID of the fulfillment order this shipment fulfills (when creating a shipment for an order managed by the Carriyo Orders API).
  • order_idstring
    ID of the parent order (when creating a shipment for an order managed by the Carriyo Orders API).
  • return_request_idstring
    ID of the return request that triggered this (reverse) shipment.
  • insuranceinsurance-object
    Insurance details for the shipment.
  • pre_bookedboolean
    Set to true when registering a shipment that has already been booked with a carrier outside Carriyo. Requires pre_booking_info. This is a deferred validation: if pre_booking_info is missing when Carriyo books the shipment, the shipment is set to status error. It is not rejected at create time.
  • pre_booking_infopre-booking-info
    Carrier tracking details for a pre-booked shipment. Required when pre_booked is true.

Responses

200Shipment replaced.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request
  • statusstringrequired
  • timestampstringrequired
  • errorsstring[]required

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/confirm

Confirm shipment

Book a draft shipment for the first time, or retry booking a shipment that's currently in error status.

Eligible statuses: draft, error. For any other status that still allows re-booking (e.g. booked, cancelled, returned), use Reprocess shipment (POST /shipments/{shipment_id}/reprocess) instead.

Optional updates

The request body is optional. Supply it if you want to amend the shipment as part of confirming. Merge rules match Update shipment (PATCH):

  • Top-level fields you include are replaced wholesale; omitted fields reset to defaults.
  • Custom attributes are the exception and merge key-by-key. Pass null to remove one.

Booking flow

Carriyo moves the shipment to pending, assigns a carrier, and submits the booking request to that carrier. The API responds immediately with status pending, without waiting for the carrier's reply. If the carrier accepts, the status becomes booked and the tracking number is attached. If the carrier rejects, the status becomes error with the carrier's reason in post_shipping_info.error_details.

Booking outcomes and label generation are delivered via webhooks, not in the response to this call.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: shipment-patch-request
  • order_typestring
    Pass one of the order types you have predefined in Carriyo
  • carrier_accountcarrier-account-request
    Carrier account chosen for the shipment. Should contain either the carrier account id or carrier account name. Carrier account id takes precedence if both fields are passed.
  • paymentpayment-request
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • collectioncollection-request
    Collection details chosen for the shipment, such as scheduled collection date. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "collection": { "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "collection": { "scheduled_date": "2022-01-01" }
  • deliverydelivery-request
    The delivery options chosen for the shipment, including the delivery type and schedule. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_date": "2022-01-01" }
  • pickuplocation-request | free-form-request
    Pickup address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you must pass a predefined pickup location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) defined when you created the location in Carriyo. For reverse shipments, you can pass the customer's pickup address as a free-form pickup address.
  • dropofffree-form-request | location-request
    Dropoff address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you can pass the customer's dropoff address as a free-form address. For reverse shipments, you must pass a predefined dropoff location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) defined when you created the location in Carriyo.
  • itemsitem-request[]
    List of individual items or SKUs in a shipment.
  • parcelsparcel-request[]
    List of parcels in a B2C shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • custom_attributescustom-attributes
    Custom attributes in the form of a map: {"attribute1" : ["value1", "value2"], "attribute2" : ["value1", "value2"]} Please Note: You can only use custom attributes if you are subscribed to this feature.
  • order_datestringformat: date-time
  • input_promised_delivery_datestringformat: date-time
    Optional. The promised delivery date to the end customer, in ISO 8601 format. If omitted, Carriyo will set the promised delivery date from the scheduled delivery window when present, or otherwise from service level configuration. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • consolidatedboolean
    Mark this shipment as a consolidated parent. Requires consolidated_child_shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments to consolidate under this one. Only used when consolidated is true.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • estimated_shipping_costestimated-shipping-cost
    Override the estimated shipping cost. Carriyo will recompute where possible.
  • insuranceinsurance-object
    Insurance details for the shipment.
  • languagestring
    Two-letter ISO 639-1 language code for customer-facing communications.
  • pre_bookedboolean
    Mark as true for a shipment already booked with a carrier outside Carriyo. Requires pre_booking_info.
  • pre_booking_infopre-booking-info
    Carrier tracking details for a pre-booked shipment. Required when pre_booked is true.
  • referencesreferences-request
    Merchant-supplied references (order reference, partner reference, etc.).
  • skip_validationsstring[]
    Names of validation groups to skip on this request. Used in advanced flows where the caller wants to bypass specific validation rules, for example accepting a shipment without a confirmed pickup window.

Responses

200Shipment confirmed.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request
  • statusstringrequired
  • timestampstringrequired
  • errorsstring[]required

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/reprocess

Reprocess shipment

Re-book a shipment that's no longer in draft. Confirm shipment only handles draft and error; this endpoint covers the wider list of statuses below. For error, either endpoint works.

Eligible statuses: booked, ready_to_ship, error, cancelled, cancelled_by_carrier, out_for_collection, failed_collection_attempt, ready_for_return, return_in_transit, returned.

Typical uses:

  • Retry after a transient carrier error.
  • Switch carrier or routing after the original carrier cancelled or rejected the booking.
  • Correct addresses, parcels, or other shipment data and re-submit.
  • Re-book during a return or reverse-logistics flow.

Optional updates

The request body is optional. Supply it to amend shipment data as part of reprocessing. Merge rules match Update shipment (PATCH):

  • Top-level fields you include are replaced wholesale; omitted fields reset to defaults.
  • Custom attributes are the exception and merge key-by-key. Pass null to remove one.

Booking flow

Carriyo moves the shipment to pending, re-assigns a carrier (or keeps the one specified in the body), and submits the booking request. The API responds immediately as pending, without waiting for the carrier. If the carrier accepts, status becomes booked with the tracking number attached; if rejected, status becomes error with details in post_shipping_info.error_details. Subsequent booking outcomes and label updates flow through webhooks.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: shipment-patch-request
  • order_typestring
    Pass one of the order types you have predefined in Carriyo
  • carrier_accountcarrier-account-request
    Carrier account chosen for the shipment. Should contain either the carrier account id or carrier account name. Carrier account id takes precedence if both fields are passed.
  • paymentpayment-request
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • collectioncollection-request
    Collection details chosen for the shipment, such as scheduled collection date. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "collection": { "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "collection": { "scheduled_date": "2022-01-01" }
  • deliverydelivery-request
    The delivery options chosen for the shipment, including the delivery type and schedule. It can be set using one of the following options Option 1: Provide the scheduled_from and scheduled_to to choose the scheduled date along with start and end time. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_from": "2022-01-01'T'10:00:00.000+1:00", "scheduled_to": "2022-01-01'T'12:00:00.000+1:00" } Option 2: Provide the scheduled_date only to choose the entire day. Example: "delivery": { "delivery_type": "STANDARD", "scheduled_date": "2022-01-01" }
  • pickuplocation-request | free-form-request
    Pickup address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you must pass a predefined pickup location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) defined when you created the location in Carriyo. For reverse shipments, you can pass the customer's pickup address as a free-form pickup address.
  • dropofffree-form-request | location-request
    Dropoff address for the shipment. You can either pass a free-form address or a predefined location. For forward shipments, you can pass the customer's dropoff address as a free-form address. For reverse shipments, you must pass a predefined dropoff location. Carriyo will copy the contact and address fields from the specified location. To specify the location, you can use Carriyo's internal location ID (partner_location_id), or your own location code (partner_location_code) defined when you created the location in Carriyo.
  • itemsitem-request[]
    List of individual items or SKUs in a shipment.
  • parcelsparcel-request[]
    List of parcels in a B2C shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • custom_attributescustom-attributes
    Custom attributes in the form of a map: {"attribute1" : ["value1", "value2"], "attribute2" : ["value1", "value2"]} Please Note: You can only use custom attributes if you are subscribed to this feature.
  • order_datestringformat: date-time
  • input_promised_delivery_datestringformat: date-time
    Optional. The promised delivery date to the end customer, in ISO 8601 format. If omitted, Carriyo will set the promised delivery date from the scheduled delivery window when present, or otherwise from service level configuration. Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone
  • consolidatedboolean
    Mark this shipment as a consolidated parent. Requires consolidated_child_shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments to consolidate under this one. Only used when consolidated is true.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • estimated_shipping_costestimated-shipping-cost
    Override the estimated shipping cost. Carriyo will recompute where possible.
  • insuranceinsurance-object
    Insurance details for the shipment.
  • languagestring
    Two-letter ISO 639-1 language code for customer-facing communications.
  • pre_bookedboolean
    Mark as true for a shipment already booked with a carrier outside Carriyo. Requires pre_booking_info.
  • pre_booking_infopre-booking-info
    Carrier tracking details for a pre-booked shipment. Required when pre_booked is true.
  • referencesreferences-request
    Merchant-supplied references (order reference, partner reference, etc.).
  • skip_validationsstring[]
    Names of validation groups to skip on this request. Used in advanced flows where the caller wants to bypass specific validation rules, for example accepting a shipment without a confirmed pickup window.

Responses

200Shipment reprocessed.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request
  • statusstringrequired
  • timestampstringrequired
  • errorsstring[]required

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/ready-to-ship

Ready to ship

Mark a shipment as ready to ship.

For carriers that support scheduled collection (typically on-demand couriers), this also notifies the carrier of the scheduled collection date and time so they can arrange pickup.

Use with care. For carriers that operate pre-agreed line hauls or fixed daily pickup routes, sending an ad-hoc ready-to-ship notification can interfere with the carrier's own scheduling. Only call this endpoint for carriers and accounts configured to expect it.

The body is optional. Include it to update parcel information (weight, dimensions, count) at the same time, which is often when the final parcel details become known.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: update-parcels-request
  • parcelsparcel-request[]

Responses

200Shipment marked ready to ship.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/cancel

Cancel shipment

Cancel a shipment that has not yet shipped. Returns 400 if the shipment is already in transit or beyond.

Where the carrier supports it, Carriyo also issues the cancellation against the carrier's booking; for carriers that don't support cancellation, the Carriyo record is cancelled but no carrier call is made. Either way, the resulting shipment object reflects the cancelled state.

The body is optional. Include update_reason_code to record why; the value can be one of Carriyo's standard reason codes or a custom code configured for your merchant.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/json

Responses

200Shipment cancelled.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request
  • statusstring
  • timestampstring
  • errorsstring[]

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/update-status

Update status

Set the shipment status manually. Use this when:

  1. Recording a merchant-controlled status such as shipped, delivery_confirmed, or return_confirmed, which the carrier doesn't emit.
  2. Overriding an incorrect carrier status. For example, if the carrier reported delivered but the parcel actually came back to the warehouse, set the status to returned.
  3. Filling in a status the carrier failed to report. For example, if you know the parcel was delivered but no delivered event came through, set it manually here.

Allowed transitions

The full transition matrix below shows every current → new_status change permitted by the platform. Any transition not listed returns 400.

new_status Allowed current status
shipped booked, cancelled_by_carrier, failed_collection_attempt, ready_to_ship, out_for_collection
out_for_delivery awaiting_customer_collection, delayed, failed_delivery_attempt, in_transit, missing, ready_for_return, return_in_transit, shipped, suspended
delivered awaiting_customer_collection, cancelled, delayed, delivery_confirmed, failed_delivery_attempt, in_transit, missing, out_for_delivery, ready_for_return, return_in_transit, returned, shipped, suspended
delivery_confirmed delivered
return_in_transit awaiting_customer_collection, delayed, failed_delivery_attempt, in_transit, missing, out_for_delivery, ready_for_return, shipped, suspended, out_for_collection
returned awaiting_customer_collection, cancelled, delayed, delivered, failed_delivery_attempt, in_transit, missing, out_for_delivery, ready_for_return, return_confirmed, return_in_transit, shipped, suspended
return_confirmed returned

Most integrations only ever set the merchant-controlled statuses (shipped, delivery_confirmed, return_confirmed). The wider matrix exists for override and correction scenarios.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • new_statusstring
  • update_datestring

Responses

200Status updated.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request
  • statusstring
  • timestampstring
  • errorsstring[]

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/label/refresh

Refresh label

Re-request the default shipping label from the carrier when the label is missing on a booked shipment. Use this if the label URL is absent or returned a download error and you need Carriyo to fetch a fresh one.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Label refreshed.
  • awbstring

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/commercial-invoice/refresh

Refresh commercial invoice

Re-fetch or regenerate the commercial invoice for a cross-border shipment from the carrier.

Use this when customs data was corrected after the original booking and you need the carrier to issue a new commercial invoice that reflects the corrected information. Typical triggers include:

  • Item descriptions or quantities updated post-booking.
  • HS code added or corrected.
  • A registration number (VAT, IOSS, EOR, etc.) added on the seller, importer, or exporter.
  • Incoterms changed mid-flight, for example flipping DAP to DDP.

Carriyo asks the carrier for a refreshed invoice and replaces the existing commercial_invoice reference on the shipment with the new one. The previous invoice URL stops being valid once the refresh completes.

Only meaningful for carriers that produce commercial invoices via API (DHL Express, FedEx, and similar). Carriers without invoice-refresh support return an error.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesCarriyo shipment ID.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Shipment with the refreshed `commercial_invoice` reference.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/estimate-shipping-cost

Estimate shipping cost

Get a cost estimate for a draft shipment before booking it. The estimate is sourced from the configured costing profile or, where available, from the carrier's live rating API, and is attached to the returned shipment object.

Useful for rate-shopping or for surfacing shipping cost on a checkout page before committing to the booking.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Shipping cost estimated.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/update-delivery-promise

Update delivery promise

Update the promised delivery date displayed to the customer on the branded tracking page and used in your own SLA tracking. Allowed at any time until the shipment reaches a final status (delivered, returned, cancelled).

This only updates the promise in Carriyo. It does not change the carrier's actual delivery commitment.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: promised-delivery-date-requestrequired
  • revised_promised_delivery_datestringformat: date-time
    Revised promised delivery date in ISO 8601 format. For Example: 2020-09-03T17:07:05.000+1:00 represents the date-time in UTC+1 time zone or 2020-09-03T17:07:05.000Z represents date-time in UTC (zulu) time zone

Responses

200Delivery promise updated.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/update-delivery-schedule

Update delivery schedule

Update the scheduled delivery date for a shipment. Allowed at any time until the shipment reaches a final status (delivered, returned, cancelled).

Note: most carriers don't accept schedule updates after the original booking, so this change is recorded in Carriyo (and reflected on the branded tracking page) but is not propagated to the carrier post-booking.

Two shapes are supported:

  • Time window, using scheduled_from and scheduled_to:

    { "delivery": { "scheduled_from": "2022-01-01T10:00:00.000Z", "scheduled_to": "2022-01-01T12:00:00.000Z" } }
    
  • Whole day, using just scheduled_date:

    { "delivery": { "scheduled_date": "2022-01-01" } }
    

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: collection-requestrequired
  • scheduled_datestringformat: date
    Scheduled date for delivery provided by the merchant, represented using only the date part of the ISO 8601 format.
  • scheduled_fromstringformat: date-time
    Start datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.
  • scheduled_tostringformat: date-time
    End datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.

Responses

200Delivery schedule updated.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/update-collection-schedule

Update collection schedule

Update the scheduled collection date for a shipment. Allowed at any time until the shipment reaches a final status (delivered, returned, cancelled).

Note: most carriers don't accept schedule updates after the original booking, so this change is recorded in Carriyo but is not propagated to the carrier post-booking.

Two shapes are supported:

  • Time window, using scheduled_from and scheduled_to:

    { "collection": { "scheduled_from": "2022-01-01T10:00:00.000Z", "scheduled_to": "2022-01-01T12:00:00.000Z" } }
    
  • Whole day, using just scheduled_date:

    { "collection": { "scheduled_date": "2022-01-01" } }
    

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: collection-requestrequired
  • scheduled_datestringformat: date
    Scheduled date for delivery provided by the merchant, represented using only the date part of the ISO 8601 format.
  • scheduled_fromstringformat: date-time
    Start datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.
  • scheduled_tostringformat: date-time
    End datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.

Responses

200Collection schedule updated.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

put/shipments/{shipment_id}/parcels

Update parcels

Replace the parcel list on a shipment after it's been created. Use this when the original parcel data (weight, dimensions, count) was wrong, or when the final parcel details only become known after picking and packing.

The request body is optional; if omitted, the parcel list is unchanged. If supplied, it fully replaces the existing parcels.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: update-parcels-request
  • parcelsparcel-request[]

Responses

200Parcels updated.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

patch/shipments/{shipment_id}/custom-attributes

Update custom attributes

Update the tenant-defined custom attribute values on an existing shipment, without touching the rest of the shipment data.

Use this when your tenant has configured custom attributes (for example an SAP order number, a 3PL pick-batch reference, or a warehouse zone code) and you want to set or replace those values on an already-created shipment.

A common scenario is when an upstream system becomes aware of metadata after the shipment has been created. For example, a WMS may assign a pick-batch ID once items are picked, or an ERP may issue a tax document number after the fact. Rather than re-sending the entire shipment via PUT /shipments/{shipment_id}, you can patch just the attributes that changed.

Only attributes registered for your tenant via the Attributes API are accepted. Unknown attribute names return a custom_attribute_invalid error.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesCarriyo shipment ID.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • custom_attributesobjectrequired
    Map of attribute name → value. Both string and numeric values are accepted, depending on how the attribute was registered.

Responses

200Updated shipment with the new attribute values.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/documents

Upload document

Attach a document to a shipment, such as a commercial invoice, packing list, or certificate. The document is stored against the shipment in Carriyo and, when the carrier-upload prerequisites are met, also pushed to the carrier asynchronously.

Request

Identify the target document setting by either document_id or document_name; one is required. When both are supplied, document_id takes precedence. content_base64 is required and must be a valid PDF (the only currently supported format).

Validation

The request is rejected with 400 when:

  • No document setting in your tenant matches the supplied document_id or document_name.
  • A document for the same setting is already attached to the shipment. To replace existing content, use Update document or Bulk upload documents, which upserts.

Carrier sync

After Carriyo stores the document, it is pushed to the carrier asynchronously only when all of the following are true:

  • The document setting is configured to be uploaded to the carrier.
  • A carrier account is assigned to the shipment.
  • The shipment has progressed past the pre-booking statuses (i.e. its status is not draft, pending, or error).
  • The assigned carrier supports document upload. Today, that's DHL, FedEx, and UPS.
  • The carrier account has a document-type mapping configured for the matched document setting.

If any of those conditions is not met, the document is still stored in Carriyo and the carrier upload simply does not run. You can call Retry document upload later once the missing condition is in place.

Sync runs asynchronously. The carrier_upload_status field on the document reflects progress: pending while in flight, complete once the carrier accepts it, or error if the carrier rejects it (the document's message field then carries the carrier's reason).

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesThe Carriyo shipment ID or the merchant provided `partner_shipment_reference`.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: document-upload-requestrequired
  • document_idstring
    The ID of the document setting to use for this upload. The document setting must be pre-configured in your Carriyo account. Either document_id or document_name must be provided.
  • document_namestring
    The name of the document setting to use for this upload. If multiple document settings have the same name, the first match will be used. Either document_id or document_name must be provided.
  • content_base64stringrequired
    The document content encoded as a Base64 string. Currently only PDF format is supported.

Responses

200Document uploaded successfully. Returns the updated shipment object.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request - Document settings not found, document already exists, or validation failed.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors
404Shipment not found.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

put/shipments/{shipment_id}/documents/{document_identifier}

Update document

Replace the content of a document that already exists on a shipment. Useful when a commercial invoice, packing list, or certificate has been amended after upload.

Identifying the document

The document_identifier path parameter accepts either:

  • The document's document_id.
  • The document's name. URL-encode it if it contains special characters or spaces.

Behaviour

  • The document must already exist on the shipment; otherwise the call returns 400.
  • Content is supplied as a Base64-encoded string. Only PDF is supported, and the content is security-validated against the declared format.
  • The new content fully replaces the existing content in storage; the previous version is not retained.

Carrier sync

The same carrier-upload prerequisites as Upload document apply: the document setting is configured for carrier upload, a carrier account is assigned, the shipment is past the pre-booking statuses, the carrier supports document upload, and the carrier account has a document-type mapping for the matched setting. When all are met, the updated content is re-pushed to the carrier asynchronously.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesThe Carriyo shipment ID or the merchant provided `partner_shipment_reference`.
document_identifierstringYesThe document ID or document name (URL-encoded) to identify the document to update.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: document-update-requestrequired
  • content_base64stringrequired
    The new document content encoded as a Base64 string. This will replace the existing document content.

Responses

200Document updated successfully. Returns the updated shipment object.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request - Document not found or validation failed.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors
404Shipment not found.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

delete/shipments/{shipment_id}/documents/{document_identifier}

Delete document

Remove a document from a shipment.

Identifying the document

The document_identifier path parameter accepts either:

  • The document's document_id.
  • The document's name. URL-encode it if it contains special characters or spaces.

Behaviour

  • The document must exist on the shipment; otherwise the call returns 400.
  • The content is deleted from Carriyo storage (S3). This operation cannot be undone.
  • If the document was already uploaded to a carrier, deleting it from Carriyo does not remove it from the carrier's system.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesThe Carriyo shipment ID or the merchant provided `partner_shipment_reference`.
document_identifierstringYesThe document ID or document name (URL-encoded) to identify the document to delete.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Document deleted successfully. Returns the updated shipment object.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request - Document not found.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors
404Shipment not found.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/documents/{document_identifier}/retry

Retry document upload to carrier

Re-attempt the upload of an existing document to the carrier after a previous carrier upload failed.

Identifying the document

The document_identifier path parameter accepts either:

  • The document's document_id.
  • The document's name. URL-encode it if it contains special characters or spaces.

Prerequisites

All of the following must hold; any missing one returns 400 with the specific reason:

  • A carrier account is assigned to the shipment.
  • The document exists on the shipment.
  • The document has a stored URL (i.e. it was previously uploaded successfully to Carriyo).
  • The assigned carrier supports document upload. Today, that's DHL, FedEx, and UPS.
  • The carrier account has a document-type mapping configured for this document.

Behaviour

The retry runs asynchronously. The document's carrier_upload_status is set to pending immediately, then transitions to complete or error once the carrier processes the upload. Watch the shipment via webhooks or polling to observe the final state.

The path parameter accepts either the Carriyo shipment_id or the merchant's partner_shipment_reference.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesThe Carriyo shipment ID or the merchant provided `partner_shipment_reference`.
document_identifierstringYesThe document ID or document name (URL-encoded) to identify the document.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Document upload retry initiated successfully. Returns the updated shipment object with `carrier_upload_status` set to `pending`.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request - Prerequisites not met.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors
404Shipment not found.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/documents/bulk

Bulk upload documents

Upload or update multiple documents on a shipment in a single request. Unlike single Upload document, which rejects duplicates, this endpoint upserts: existing documents are replaced and missing ones are created.

How it works

Each entry in the array is validated individually, then processed. For each entry, if a document for that setting already exists on the shipment, its content is replaced. Otherwise a new document is created. After all entries are persisted in one save, carrier sync is triggered per document following the same rules as Upload document.

Prerequisites

A document setting must exist for every entry in the request, matched by document_id or document_name. If any entry fails to match, the entire request is rejected with 400; there is no partial success. content_base64 is required on each entry, and is validated against the matching document setting's format (currently PDF only).

Carrier sync

Per-document carrier sync is asynchronous and follows the same prerequisites as Upload document. Track each document's carrier_upload_status to observe progress.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesThe Carriyo shipment ID or the merchant provided `partner_shipment_reference`.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • document_idstring
    The ID of the document setting to use for this upload. The document setting must be pre-configured in your Carriyo account. Either document_id or document_name must be provided.
  • document_namestring
    The name of the document setting to use for this upload. If multiple document settings have the same name, the first match will be used. Either document_id or document_name must be provided.
  • content_base64stringrequired
    The document content encoded as a Base64 string. Currently only PDF format is supported.

Responses

200Documents uploaded or updated successfully. Returns the updated shipment object.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.
400Bad Request - Document settings not found or validation failed.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors
404Shipment not found.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

get/shipments/{shipment_id}/live-tracking

Get live tracking

Fetch real-time driver location and ETA for a shipment that is currently being collected or delivered. Designed for same-day, hyper-local carriers whose drivers move continuously through the day; the response is a snapshot of where the driver is right now, not a list of past events.

Carrier support

Only supported by carriers whose handlers integrate with the carrier's live driver-tracking API. Today that means Careem Express and Quiqup. Calling this endpoint on a shipment whose carrier doesn't support live tracking returns an error.

Status requirements

The shipment must be in a live-trackable status: out_for_collection or out_for_delivery. Calling on a shipment in any other status returns 400 with "Shipment is not in a live trackable status.".

Caching

Results are cached for 15 seconds per (carrier account, shipment) to protect the carrier's API. Repeated calls within that window return the cached payload.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesCarriyo shipment ID.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Driver location and ETA for the in-flight shipment.Schema: live-tracking-info
  • driver_locationobject
    Current geographic position of the driver, as reported by the carrier.
  • driver_namestring
    Driver's name, where the carrier exposes it.
  • driver_phonestring
    Driver's contact phone, where the carrier exposes it.
  • estimated_timestringformat: date-time
    Carrier-reported estimated arrival time for the next stop.
400Returned when the shipment is not in a live-trackable status (`out_for_collection`, `out_for_delivery`), or when the assigned carrier doesn't support live tracking.Schema: create-shipment-error-response
  • statusstring
    The error status
  • timestampstring
    date in format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • errorsstring[]
    Array of validation errors

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/redact

Redact shipment PII

Permanently remove personally identifiable information (PII) from a shipment, for privacy and data-protection compliance.

Use this when a customer exercises a right of erasure under GDPR, CCPA, or similar regulation, or when your data retention policy reaches its scrub window. Call the endpoint on each affected shipment.

After redaction:

  • Contact fields are cleared: contact_name, contact_phone, contact_email, address1, address2, coords, and customer-supplied notes.
  • Operational fields are kept: status, tracking number, carrier, dates, weights, and dimensions.
  • The shipment remains usable for analytics, audit, and tracking statistics, but the recipient can no longer be identified from it.

This action is irreversible. The original PII cannot be recovered. Webhooks that fired before the redaction are not retroactively scrubbed, so you remain responsible for redacting any copies of shipment data held in your own systems.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesCarriyo shipment ID.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/json
  • reasonstring
    Free-text reason captured in the audit log (e.g. "GDPR Article 17 request, ticket #4421").

Responses

200Shipment object with PII fields cleared.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

Manifests

A manifest is a collection of shipments shipped together from the same location with the same carrier. It acts as an instruction to schedule the collection of the shipments with your carrier.

9 operations · 0 objects

post/manifests

Create manifest

Creates a new manifest. The request body lists the shipments to include and the planned pickup details (location, schedule, and carrier).

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: manifest-request
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Responses

201Manifest created.Schema: manifest-response
  • manifest_idstringrequired
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Need the full machine-readable spec? Download the OpenAPI document →

get/manifests

List manifests

Returns the merchant's manifests, with optional filters for status, date range, and carrier.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Matching manifests.
  • manifest_idstringrequired
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Need the full machine-readable spec? Download the OpenAPI document →

patch/manifests/{manifest-id}

Update manifest

Update a draft manifest. Once a manifest has been moved to ready-to-ship or shipped, it can no longer be edited.

Path parameters

NameTypeRequiredDescription
manifest-idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonSchema: manifest-requestrequired
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Responses

200Manifest updated.Schema: manifest-response
  • manifest_idstringrequired
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Need the full machine-readable spec? Download the OpenAPI document →

get/manifests/{manifest-id}

Get manifest

Returns the specified manifest by ID, including its list of shipments and current status.

Path parameters

NameTypeRequiredDescription
manifest-idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Returns the requested manifest.Schema: manifest-response
  • manifest_idstringrequired
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Need the full machine-readable spec? Download the OpenAPI document →

delete/manifests/{manifest-id}

Delete manifest

Permanently deletes the specified manifest. Only allowed while the manifest is in a non-shipped status.

Path parameters

NameTypeRequiredDescription
manifest-idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Manifest deleted.Schema: manifest-response
  • manifest_idstringrequired
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Need the full machine-readable spec? Download the OpenAPI document →

post/manifests/{manifest-id}/ready-to-ship

Mark manifest ready to ship

Lock the contents of a draft manifest. After this call, no more shipments can be added or removed. The manifest must be in draft when called. Once locked, ship the manifest with POST /manifests/{manifest-id}/ship to dispatch it to the carrier.

Path parameters

NameTypeRequiredDescription
manifest-idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Manifest marked ready to ship.Schema: manifest-response
  • manifest_idstringrequired
  • merchantstringrequired
  • shipment_idsstring[]required
  • carrier_accountstringrequired
  • pickupobjectrequired
  • pickup_schedule_fromstringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • pickup_schedule_tostringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
  • ship_manifest_datestringrequiredformat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX

Need the full machine-readable spec? Download the OpenAPI document →

post/manifests/{manifest-id}/cancel

Cancel manifest

Cancel the manifest. The constituent shipments are not cancelled; they are released from the manifest and can be added to another one.

Path parameters

NameTypeRequiredDescription
manifest-idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Manifest cancellation requested.

Need the full machine-readable spec? Download the OpenAPI document →

post/manifests/{manifest-id}/retry

Retry manifest

Retries a manifest that failed at the carrier. Used when the carrier rejected the initial manifest submission and a transient cause has been resolved.

Path parameters

NameTypeRequiredDescription
manifest-idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Manifest retry triggered.

Need the full machine-readable spec? Download the OpenAPI document →

post/manifests/{manifest-id}/ship

Ship manifest

Marks the manifest as shipped and submits it to the carrier. Triggers carrier-side processing and finalises the pickup arrangement.

Path parameters

NameTypeRequiredDescription
manifest-idstringYes

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Manifest ship request submitted to the carrier.

Need the full machine-readable spec? Download the OpenAPI document →

Consolidated Shipments

Consolidated (master) shipments group multiple child shipments under a single parent. Useful for multi-parcel consignments and freight where one master tracking number aggregates several physical movements.

2 operations · 0 objects

post/shipments/{shipment_id}/add-child-shipments

Link child shipments

Adds one or more existing shipments as children of a consolidated (master) shipment. The parent must already be marked as consolidated. Children must be in draft or error status and not already linked to another consolidated parent. Linked children inherit certain routing and lifecycle behaviour from the parent.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesIdentifier of the consolidated parent shipment.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • child_shipment_idsstring[]required
    Carriyo shipment IDs to link as children.

Responses

200Updated consolidated parent shipment, including the new child references.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/{shipment_id}/remove-child-shipments

Unlink child shipments

Remove one or more child shipments from a consolidated parent. The unlinked children become independent shipments again; they are not deleted, just disassociated from the parent.

Path parameters

NameTypeRequiredDescription
shipment_idstringYesIdentifier of the consolidated parent shipment.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • child_shipment_idsstring[]required
    Carriyo shipment IDs to unlink.

Responses

200Updated consolidated parent shipment, with the listed children removed.Schema: shipment-object
  • shipment_idstring
    Unique identifier for the shipment
  • tenantstring
    Identifier of the Carriyo tenant that owns this shipment. Derived from the authenticated credentials at create time; you cannot set it directly.
  • entity_typestring
    The type of the shipment is either FORWARD or REVERSE
    Values:FORWARDREVERSE
  • merchantstring
    ID of the merchant that created this shipment
  • referencesreferences-object
    References for a shipment, provided by the merchant.
  • carrier_accountcarrier-account-object
    Carrier account chosen for the shipment.
  • paymentpayment-object
    Payment details including the total value of the shipment and any pending Cash on Delivery amount.
  • insuranceinsurance-object
    Insurance details including the total insured value of the shipment.
  • collectioncollection-object
    Collection details chosen for the shipment, such as scheduled collection date.
  • deliverydelivery-object
    Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.
  • pickuplocation-object
    Either a free-form address or a predefined location.
  • dropofflocation-object
    Either a free-form address or a predefined location.
  • itemsitem-object[]
    List of individual items or SKUs in a shipment.
  • freightobject
    List of packages of type pallet or carton in a B2B shipment.
  • customscustoms-object
    Customs declaration details such as total declared value.
  • chargescharge-request[]
    List of individual charge components applied to the shipment.
  • parcelsparcel-object[]
    List of parcels in a B2C shipment.
  • post_shipping_infopost-shipping-info
    Booking details such as tracking number, labels etc.
  • custom_attributesobject
    Additional custom attributes provided by the merchant.
  • order_datestringformat: date-time
    The date the customer order was received by the merchant
  • order_typestring
    The type of the order. The possible values can be one of the order types predefined by the merchant.
  • creation_datestringformat: date-time
    The date the shipment was created in Carriyo
  • update_datestringformat: date-time
    The date the shipment was last updated in Carriyo
  • confirmation_datestringformat: date-time
    The date the shipment was confirmed for booking
  • estimated_process_datestringformat: date-time
    The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • promised_delivery_datestringformat: date-time
    The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z
  • original_promised_delivery_datestringformat: date-time
    The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z
  • estimated_shipping_costestimated-shipping-cost
    The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response
  • languagestring
    Two letter ISO 639-1 code. Example: en
  • return_request_idstring
    ID of the Return request that initiated the reverse shipment
  • consolidatedboolean
    True when this shipment is a consolidated parent containing other shipments.
  • consolidated_child_shipmentsstring[]
    Shipment IDs of the child shipments. Populated when consolidated is true.
  • consolidated_parent_shipmentstring
    Shipment ID of the consolidated parent. Populated when this shipment is a child of a consolidated parent.
  • creation_sourcerequest-source
    Identifies the system or actor that created the shipment.
  • update_sourcerequest-source
    Identifies the system or actor that last updated the shipment.
  • customer_keystring
    Derived stable identifier for the customer on this shipment, used for repeat-customer matching. Derived from contact details on the dropoff/pickup; you cannot set it directly.
  • duties_includedboolean
    Whether duties are already included in the item prices.
  • taxes_includedboolean
    Whether taxes are already included in the item prices.
  • fulfillment_order_idstring
    ID of the fulfillment order that this shipment fulfills (if created via the Orders API).
  • order_idstring
    ID of the order this shipment belongs to (if created via the Orders API).
  • manifest_idstring
    ID of the manifest this shipment has been added to (if any).
  • input_promised_delivery_datestringformat: date-time
    The originally-requested promised delivery date as supplied on create, before any rule-based or carrier-driven adjustment. Carriyo uses this to detect customer-visible changes.
  • pre_bookedboolean
    True when the shipment was already booked with a carrier outside Carriyo and ingested into Carriyo for tracking only.
  • pre_booking_infopre-booking-info
    Pre-booking details. Required when pre_booked is true.
  • suppress_communicationboolean
    When true, Carriyo will not send customer-facing communications (tracking emails, SMS) for this shipment.
  • translatedtranslated
    Translated pickup and dropoff details. Populated when the language field requested a translation that Carriyo has generated.

Need the full machine-readable spec? Download the OpenAPI document →

Bulk Operations

Do-X-to-many-shipments operations: kick off a batch, poll for status, validate before booking, retry, force a status refresh.

Unlike Consolidated shipments, which represents a master shipment containing child shipments, these endpoints operate over arbitrary sets of independent shipments in a single call. Useful for high-volume booking flows and back-office bulk corrections.

5 operations · 0 objects

get/shipments/bulk/status

Get bulk status

This endpoint is designed to provide user with the statuses of requested shipments. Parameter shipment_id can be specified multiple times. The result of this operation is the list of shipments' current statuses and all milestones.

Query parameters

NameTypeRequiredDescription
shipment_idarrayNo

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.

Responses

200Status of a bulk operation.
  • shipmentIdstring
  • statusstring
    Values:pendingerrorbookedready_to_shipshippedout_for_deliverydeliveredcancelledcancelled_by_carrierfailed_collection_attemptin_transitawaiting_customer_collectiondelivery_confirmedfailed_delivery_attemptready_for_returnreturn_in_transitreturnedreturn_confirmedsuspendedmissingdelayed
  • milestonesobject[]
    The list of all shipment statuses

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/bulk/import

Bulk import shipments

Asynchronously creates a batch of shipments from a single request. Optionally confirms (books with the carrier) every shipment in the batch via the confirm query parameter; otherwise shipments are created in the same state as a single POST /shipments would produce. Subject to per-tenant batch size limits.

Query parameters

NameTypeRequiredDescription
confirmbooleanNoIf `true`, every imported shipment is auto-confirmed (booked with the carrier).

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • shipmentsshipment-request[]required
    Shipment requests to create. Each follows the same shape as the body of POST /shipments.

Responses

202Batch accepted for asynchronous processing.
  • bulk_idstring
    Identifier for the batch. Use it to query status via GET /shipments/bulk/status.
  • totalinteger
    Number of shipments accepted into the batch.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/bulk/validate

Validate shipment batch

Pre-validate a batch of shipment payloads without creating them. Applies the same request-time validations as POST /shipments (required fields, schema shape, and duplicate partner_shipment_reference detection across the batch) and returns per-shipment validation errors so you can fix issues before calling POST /shipments/bulk/import.

Deferred validations (the kind that would set a created shipment's status to error rather than reject the request outright) are not surfaced here.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • shipmentsshipment-request[]required
    Shipment requests to validate.

Responses

200Per-shipment validation results.
  • resultsobject[]
    One result per input shipment, in the same order as the request.

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/bulk/reprocess

Reprocess shipment batch

Asynchronously retries booking for a list of shipment IDs. Useful when many shipments errored due to a transient carrier issue and need to be rebooked together.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • shipment_idsstring[]required
    Carriyo shipment IDs to reprocess.

Responses

202Batch accepted for asynchronous reprocessing.
  • bulk_idstring
  • totalinteger

Need the full machine-readable spec? Download the OpenAPI document →

post/shipments/bulk/status/refresh

Refresh status batch

Triggers a carrier status refresh for a list of shipments. The latest carrier-reported status is fetched and persisted; webhook events fire on any state change. Subject to per-tenant batch size limits.

Headers

NameValueRequiredDescription
AuthorizationBearer YOUR-ACCESS-TOKENYesOAuth 2.0 bearer token obtained from `POST /oauth/token`.
x-api-keyYOUR-API-KEYYesYour tenant's API key, issued in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
tenant-idYOUR-TENANT-IDYesYour Carriyo tenant ID, shown in the Carriyo Dashboard. Required on every request except `POST /oauth/token`.
Content-Typeapplication/jsonYesMedia type of the request body.

Request body

Content type: application/jsonrequired
  • shipment_idsstring[]required
    Carriyo shipment IDs to refresh.

Responses

202Refresh batch accepted.
  • totalinteger

Need the full machine-readable spec? Download the OpenAPI document →