openapi: 3.2.0 info: description: "\nKarrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services.\n\nThe Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded\nrequest bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.\n\nThe Karrio API differs for every account as we release new versions.\nThese docs are customized to your version of the API.\n\n\n## Versioning\n\nWhen backwards-incompatible changes are made to the API, a new, dated version is released.\nThe current version is `2026.1.32`.\n\nRead our API changelog to learn more about backwards compatibility.\n\nAs a precaution, use API versioning to check a new API version before committing to an upgrade.\n\n\n## Environments\n\nThe Karrio API offer the possibility to create and retrieve certain objects in `test_mode`.\nIn development, it is therefore possible to add carrier connections, get live rates,\nbuy labels, create trackers and schedule pickups in `test_mode`.\n\n\n## Pagination\n\nAll top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses,\nlist shipments, and list trackers. These list API methods share a common structure, taking at least these\ntwo parameters: limit, and offset.\n\nKarrio utilizes offset-based pagination via the offset and limit parameters.\nBoth parameters take a number as value (see below) and return objects in reverse chronological order.\nThe offset parameter returns objects listed after an index.\nThe limit parameter take a limit on the number of objects to be returned from 1 to 100.\n\n\n```json\n{\n \"count\": 100,\n \"next\": \"/v1/shipments?limit=25&offset=50\",\n \"previous\": \"/v1/shipments?limit=25&offset=25\",\n \"results\": [\n { ... },\n ]\n}\n```\n\n## Metadata\n\nUpdateable Karrio objects—including Shipment and Order have a metadata parameter.\nYou can use this parameter to attach key-value data to these Karrio objects.\n\nMetadata is useful for storing additional, structured information on an object.\nAs an example, you could store your user's full name and corresponding unique identifier\nfrom your system on a Karrio Order object.\n\nDo not store any sensitive information as metadata.\n\n## Authentication\n\nAPI keys are used to authenticate requests. You can view and manage your API keys in the Dashboard.\n\nYour API keys carry many privileges, so be sure to keep them secure! Do not share your secret\nAPI keys in publicly accessible areas such as GitHub, client-side code, and so forth.\n\nAuthentication to the API is performed via HTTP Basic Auth. Provide your API token as\nthe basic auth username value. You do not need to provide a password.\n\n```shell\n$ curl https://instance.api.com/v1/shipments \\\n -u key_xxxxxx:\n# The colon prevents curl from asking for a password.\n```\n\nIf you need to authenticate via bearer auth (e.g., for a cross-origin request),\nuse `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`.\n\nAll API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure).\nAPI requests without authentication will also fail.\n" title: Karrio Proxy API version: 2026.1.32 tags: - name: Proxy description: "In some scenarios, all we need is to send request to a carrier using the Karrio unified API.\n The Proxy API comes handy for that as it turn Karrio into a simple middleware that converts and\n validate your request and simply forward it to the shipping carrier server.
\n **Note:**
\n When using the proxy API, no objects are created in the Karrio system.\n excpet API logs and tracing records for debugging purposes.\n " paths: /v1/proxy/manifest: post: operationId: '@@@$generate_manifest' description: ' Some carriers require shipment manifests to be created for pickups and dropoff. Creating a manifest for a shipment also kicks off billing as a commitment or confirmation of the shipment. ' summary: Create a manifest tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/ManifestRequest' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ManifestResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: generateManifest /v1/proxy/pickups/{carrier_name}: post: operationId: '@schedule_pickup' description: Schedule one or many parcels pickup summary: Schedule a pickup parameters: - in: path name: carrier_name schema: type: string enum: - aramex - asendia - asendia_us - australiapost - boxknight - bpost - canadapost - canpar - chronopost - colissimo - dhl_express - dhl_parcel_de - dhl_poland - dhl_universal - dicom - dpd - dpd_meta - dtdc - easypost - easyship - eshipper - fedex - freightcom - generic - geodis - gls - hay_post - hermes - landmark - laposte - locate2u - mydhl - nationex - parcelone - postat - purolator - roadie - royalmail - sapient - seko - sendle - shipengine - smartkargo - spring - teleship - tge - tnt - ups - usps - usps_international - veho - zoom2u required: true tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/PickupRequest' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/PickupResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: pickupSchedule /v1/proxy/pickups/{carrier_name}/cancel: post: operationId: '@cancel_pickup' description: Cancel a pickup previously scheduled summary: Cancel a pickup parameters: - in: path name: carrier_name schema: type: string enum: - aramex - asendia - asendia_us - australiapost - boxknight - bpost - canadapost - canpar - chronopost - colissimo - dhl_express - dhl_parcel_de - dhl_poland - dhl_universal - dicom - dpd - dpd_meta - dtdc - easypost - easyship - eshipper - fedex - freightcom - generic - geodis - gls - hay_post - hermes - landmark - laposte - locate2u - mydhl - nationex - parcelone - postat - purolator - roadie - royalmail - sapient - seko - sendle - shipengine - smartkargo - spring - teleship - tge - tnt - ups - usps - usps_international - veho - zoom2u required: true tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/PickupCancelRequest' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/OperationResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: pickupCancel /v1/proxy/pickups/{carrier_name}/update: post: operationId: '@update_pickup' description: Modify a scheduled pickup summary: Update a pickup parameters: - in: path name: carrier_name schema: type: string enum: - aramex - asendia - asendia_us - australiapost - boxknight - bpost - canadapost - canpar - chronopost - colissimo - dhl_express - dhl_parcel_de - dhl_poland - dhl_universal - dicom - dpd - dpd_meta - dtdc - easypost - easyship - eshipper - fedex - freightcom - generic - geodis - gls - hay_post - hermes - landmark - laposte - locate2u - mydhl - nationex - parcelone - postat - purolator - roadie - royalmail - sapient - seko - sendle - shipengine - smartkargo - spring - teleship - tge - tnt - ups - usps - usps_international - veho - zoom2u required: true tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/PickupUpdateRequest' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PickupResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: pickupUpdate /v1/proxy/rates: post: operationId: '@@fetch_rates' description: ' The Shipping process begins by fetching rates for your shipment. Use this service to fetch a shipping rates available. ' summary: Fetch shipment rates tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/RateRequest' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/RateResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: fetchRates /v1/proxy/shipping: post: operationId: '@@@buy_label' description: 'Once the shipping rates are retrieved, provide the required info to submit the shipment by specifying your preferred rate.' summary: Buy a shipment label tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/ShippingRequest' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/ShippingResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: buyLabel /v1/proxy/shipping/{carrier_name}/cancel: post: operationId: '@@@void_label' description: Cancel a shipment and the label previously created summary: Void a shipment label parameters: - in: path name: carrier_name schema: type: string enum: - aramex - asendia - asendia_us - australiapost - boxknight - bpost - canadapost - canpar - chronopost - colissimo - dhl_express - dhl_parcel_de - dhl_poland - dhl_universal - dicom - dpd - dpd_meta - dtdc - easypost - easyship - eshipper - fedex - freightcom - generic - geodis - gls - hay_post - hermes - landmark - laposte - locate2u - mydhl - nationex - parcelone - postat - purolator - roadie - royalmail - sapient - seko - sendle - shipengine - smartkargo - spring - teleship - tge - tnt - ups - usps - usps_international - veho - zoom2u required: true tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/ShipmentCancelRequest' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '202': content: application/json: schema: $ref: '#/components/schemas/OperationResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' x-operationId: voidLabel /v1/proxy/tracking: post: operationId: '@@@@get_tracking' description: You can track a shipment by specifying the carrier and the shipment tracking number. summary: Get tracking details parameters: - in: query name: hub schema: type: string tags: - Proxy requestBody: content: application/json: schema: $ref: '#/components/schemas/TrackingData' required: true security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/TrackingResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: getTracking /v1/proxy/tracking/{carrier_name}/{tracking_number}: get: operationId: '@@@@track_shipment' description: You can track a shipment by specifying the carrier and the shipment tracking number. summary: Track a shipment parameters: - in: path name: carrier_name schema: type: string enum: - aramex - asendia - asendia_us - australiapost - boxknight - bpost - canadapost - canpar - chronopost - colissimo - dhl_express - dhl_parcel_de - dhl_poland - dhl_universal - dicom - dpd - dpd_meta - dtdc - fedex - generic - geodis - gls - hay_post - hermes - landmark - laposte - locate2u - mydhl - nationex - postat - purolator - roadie - royalmail - seko - sendle - smartkargo - spring - teleship - tge - tnt - ups - usps - usps_international - veho - zoom2u required: true - in: query name: hub schema: type: string - in: path name: tracking_number schema: type: string required: true tags: - Proxy security: - TokenBasic: [] - Token: [] - OAuth2: [] - JWT: [] deprecated: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/TrackingResponse' description: '' '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' '424': content: application/json: schema: $ref: '#/components/schemas/ErrorMessages' description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' description: '' x-operationId: trackShipment components: schemas: Documents: type: object properties: label: type: - string - 'null' description: A shipping label in base64 string invoice: type: - string - 'null' description: A shipping invoice in base64 string extra_documents: type: array items: $ref: '#/components/schemas/ShippingDocument' default: [] description: Additional shipping documents (return labels, COD documents, etc.) Parcel: type: object properties: id: type: string description: A unique identifier weight: type: number format: double description: The parcel's weight width: type: - number - 'null' format: double description: The parcel's width height: type: - number - 'null' format: double description: The parcel's height length: type: - number - 'null' format: double description: The parcel's length packaging_type: type: - string - 'null' description: "The parcel's packaging type.
\n **Note that the packaging is optional when using a package preset.**
\n values:
\n `envelope` `pak` `tube` `pallet` `small_box` `medium_box` `your_packaging`
\n For carrier specific packaging types, please consult the reference.\n " maxLength: 100 package_preset: type: - string - 'null' description: "The parcel's package preset.
\n For carrier specific package presets, please consult the reference.\n " maxLength: 100 description: type: - string - 'null' description: The parcel's description maxLength: 250 content: type: - string - 'null' description: The parcel's content description maxLength: 100 is_document: type: - boolean - 'null' default: false description: Indicates if the parcel is composed of documents only weight_unit: enum: - KG - LB - OZ - G type: string x-spec-enum-id: 3a766910e8401666 description: The parcel's weight unit dimension_unit: enum: - CM - IN - null type: - string - 'null' x-spec-enum-id: 41993cb8117c279c description: The parcel's dimension unit items: type: array items: $ref: '#/components/schemas/Commodity' description: The parcel items. reference_number: type: - string - 'null' description: "The parcel reference number.
\n (can be used as tracking number for custom carriers)\n " maxLength: 100 freight_class: type: - string - 'null' description: The parcel's freight class for pallet and freight shipments. maxLength: 6 options: type: object additionalProperties: {} default: {} description: "
\n Parcel specific options.\n\n {\n \"insurance\": \"100.00\",\n \"insured_by\": \"carrier\",\n }\n
\n " meta: type: - object - 'null' additionalProperties: {} description: "Template metadata for template identification.\n Structure: {\"label\": \"Standard Box\", \"is_default\": true}\n " object_type: type: string default: parcel description: Specifies the object type required: - weight - weight_unit Rate: type: object properties: id: type: string description: A unique identifier object_type: type: string default: rate description: Specifies the object type carrier_name: type: string description: The rate's carrier carrier_id: type: string description: The targeted carrier's name (unique identifier) currency: type: string description: The rate monetary values currency code service: type: - string - 'null' description: The carrier's rate (quote) service total_charge: type: number format: double default: 0.0 description: "The rate's monetary amount of the total charge.
\n This is the gross amount of the rate after adding the additional charges\n " transit_days: type: - integer - 'null' description: The estimated delivery transit days extra_charges: type: array items: $ref: '#/components/schemas/Charge' default: [] description: list of the rate's additional charges estimated_delivery: type: - string - 'null' description: The delivery estimated date meta: type: - object - 'null' additionalProperties: {} description: provider specific metadata test_mode: type: boolean description: Specified whether it was created with a carrier in test mode required: - carrier_id - carrier_name - test_mode RateRequest: type: object properties: shipper: allOf: - $ref: '#/components/schemas/AddressData' description: "The address of the party
\n Origin address (ship from) for the **shipper**
\n Destination address (ship to) for the **recipient**\n " recipient: allOf: - $ref: '#/components/schemas/AddressData' description: "The address of the party
\n Origin address (ship from) for the **shipper**
\n Destination address (ship to) for the **recipient**\n " parcels: type: array items: $ref: '#/components/schemas/ParcelData' description: The shipment's parcels services: type: - array - 'null' items: type: string default: [] description: "The requested carrier service for the shipment.
\n Please consult the reference for specific carriers services.
\n Note that this is a list because on a Multi-carrier rate request you could specify a service per carrier.\n " options: type: object additionalProperties: {} default: {} description: "
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"insured_by\": \"carrier\",\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"shipper_instructions\": \"This is a shipper instruction\",\n \"recipient_instructions\": \"This is a recipient instruction\",\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n " reference: type: - string - 'null' description: The shipment reference payment: allOf: - $ref: '#/components/schemas/Payment' description: The payment details customs: allOf: - $ref: '#/components/schemas/CustomsData' description: "The customs details.
\n **Note that this is required for international shipments.**\n " return_address: allOf: - $ref: '#/components/schemas/AddressData' description: The return address for this shipment. Defaults to the shipper address. billing_address: allOf: - $ref: '#/components/schemas/AddressData' description: The billing address for this shipment. is_return: type: boolean default: false description: Indicates whether this is a return shipment rate request. carrier_ids: type: - array - 'null' items: type: string default: [] description: The list of configured carriers you wish to get rates from. required: - parcels - recipient - shipper TrackingData: type: object properties: tracking_number: type: string description: The package tracking number carrier_name: enum: - aramex - asendia - asendia_us - australiapost - boxknight - bpost - canadapost - canpar - chronopost - colissimo - dhl_express - dhl_parcel_de - dhl_poland - dhl_universal - dicom - dpd - dpd_meta - dtdc - fedex - generic - geodis - gls - hay_post - hermes - landmark - laposte - locate2u - mydhl - nationex - postat - purolator - roadie - royalmail - seko - sendle - smartkargo - spring - teleship - tge - tnt - ups - usps - usps_international - veho - zoom2u type: string x-spec-enum-id: b6c8e3114206d815 description: The tracking carrier account_number: type: - string - 'null' description: The shipper account number reference: type: - string - 'null' description: The shipment reference info: allOf: - $ref: '#/components/schemas/TrackingInfo' description: The package and shipment tracking details metadata: type: object additionalProperties: {} default: {} description: The carrier user metadata. required: - carrier_name - tracking_number TrackingInfo: type: object properties: carrier_tracking_link: type: - string - 'null' description: The carrier tracking link customer_name: type: - string - 'null' description: The customer name expected_delivery: type: - string - 'null' description: The expected delivery date note: type: - string - 'null' description: A tracking note order_date: type: - string - 'null' description: The package order date order_id: type: - string - 'null' description: The package order id or number package_weight: type: - string - 'null' description: The package weight package_weight_unit: type: - string - 'null' description: The package weight unit shipment_package_count: type: - string - 'null' description: The package count shipment_pickup_date: type: - string - 'null' description: The shipment pickup date shipment_delivery_date: type: - string - 'null' description: The shipment delivery date shipment_service: type: - string - 'null' description: The shipment service shipment_origin_country: type: - string - 'null' description: The shipment origin country shipment_origin_postal_code: type: - string - 'null' description: The shipment origin postal code shipment_destination_country: type: - string - 'null' description: The shipment destination country shipment_destination_postal_code: type: - string - 'null' description: The shipment destination postal code shipping_date: type: - string - 'null' description: The shipping date signed_by: type: - string - 'null' description: The person who signed for the package source: type: - string - 'null' description: The tracker source PickupRequest: type: object properties: carrier_code: type: - string - 'null' description: "The carrier code for the pickup (e.g., 'canadapost', 'fedex').
\n Required when using `POST /v1/pickups`." pickup_date: type: string description: "The expected pickup date.
\n Date Format: `YYYY-MM-DD`\n " address: allOf: - $ref: '#/components/schemas/AddressData' description: The pickup address parcels: type: array items: $ref: '#/components/schemas/ParcelData' description: The shipment parcels to pickup. parcels_count: type: - integer - 'null' minimum: 1 description: The number of parcels to be picked up (alternative to providing parcels array) ready_time: type: string description: "The ready time for pickup.
\n Time Format: `HH:MM`\n " closing_time: type: string description: "The closing or late time of the pickup.
\n Time Format: `HH:MM`\n " instruction: type: - string - 'null' description: "The pickup instruction.
\n eg: Handle with care.\n " maxLength: 50 package_location: type: - string - 'null' description: "The package(s) location.
\n eg: Behind the entrance door.\n " maxLength: 50 pickup_type: enum: - one_time - daily - recurring type: string x-spec-enum-id: f6e56facfab73bf5 default: one_time description: "The pickup scheduling type.
\n - one_time: Single pickup on a specific date
\n - daily: Recurring pickup every business day
\n - recurring: Custom recurring schedule\n " recurrence: type: - object - 'null' additionalProperties: {} description: "Recurrence configuration for recurring pickups.
\n Example: {\"frequency\": \"weekly\", \"days_of_week\": [\"monday\", \"wednesday\", \"friday\"], \"end_date\": \"2024-12-31\"}\n " options: type: - object - 'null' additionalProperties: {} description: Advanced carrier specific pickup options required: - closing_time - pickup_date - ready_time RateResponse: type: object properties: messages: type: array items: $ref: '#/components/schemas/Message' description: The list of note or warning messages rates: type: array items: $ref: '#/components/schemas/Rate' description: The list of returned rates required: - rates TrackerDetails: type: object properties: id: type: string description: A unique identifier carrier_name: type: string description: The tracking carrier carrier_id: type: string description: The tracking carrier configured identifier tracking_number: type: string description: The shipment tracking number info: allOf: - $ref: '#/components/schemas/TrackingInfo' default: carrier_tracking_link: null customer_name: null expected_delivery: null note: null order_date: null order_id: null package_weight: null package_weight_unit: null shipment_package_count: null shipment_pickup_date: null shipment_delivery_date: null shipment_service: null shipment_origin_country: null shipment_origin_postal_code: null shipment_destination_country: null shipment_destination_postal_code: null shipping_date: null signed_by: null source: null description: The package and shipment tracking details events: type: - array - 'null' items: $ref: '#/components/schemas/TrackingEvent' description: The tracking details events delivered: type: boolean description: Specified whether the related shipment was delivered test_mode: type: boolean description: Specified whether the object was created with a carrier in test mode status: enum: - pending - picked_up - unknown - on_hold - cancelled - delivered - in_transit - delivery_delayed - out_for_delivery - ready_for_pickup - delivery_failed - return_to_sender type: string x-spec-enum-id: 74b67d0ba94b1fa9 default: pending description: The current tracking status estimated_delivery: type: string description: The delivery estimated date meta: type: - object - 'null' additionalProperties: {} description: provider specific metadata images: allOf: - $ref: '#/components/schemas/Images' description: The tracker documents object_type: type: string default: tracker description: Specifies the object type is_archived: type: boolean default: false description: Indicates whether this tracker is archived. archived_at: type: - string - 'null' description: Timestamp when the tracker was archived. metadata: type: object additionalProperties: {} default: {} description: User metadata for the tracker messages: type: array items: $ref: '#/components/schemas/Message' default: [] description: The list of note or warning messages required: - carrier_id - carrier_name - test_mode - tracking_number CustomsData: type: object properties: commodities: type: array items: $ref: '#/components/schemas/CommodityData' description: The parcel content items duty: allOf: - $ref: '#/components/schemas/Duty' description: "The payment details.
\n **Note that this is required for a Dutiable parcel shipped internationally.**\n " duty_billing_address: allOf: - $ref: '#/components/schemas/AddressData' description: The duty payor address. content_type: enum: - documents - gift - sample - merchandise - return_merchandise - other - '' - null type: - string - 'null' x-spec-enum-id: b8935f22b570da75 content_description: type: - string - 'null' incoterm: enum: - CFR - CIF - CIP - CPT - DAP - DAF - DDP - DDU - DEQ - DES - EXW - FAS - FCA - FOB - null type: - string - 'null' x-spec-enum-id: 61b2121fbcca17a7 description: The customs 'term of trade' also known as 'incoterm' invoice: type: - string - 'null' description: The invoice reference number maxLength: 50 invoice_date: type: - string - 'null' description: "The invoice date.
\n Date Format: `YYYY-MM-DD`\n " commercial_invoice: type: - boolean - 'null' description: Indicates if the shipment is commercial certify: type: - boolean - 'null' description: Indicate that signer certified confirmed all signer: type: - string - 'null' maxLength: 50 options: type: object additionalProperties: {} default: {} description: "
\n Customs identification options.\n\n {\n \"aes\": \"5218487281\",\n \"eel_pfc\": \"5218487281\",\n \"license_number\": \"5218487281\",\n \"certificate_number\": \"5218487281\",\n \"nip_number\": \"5218487281\",\n \"eori_number\": \"5218487281\",\n \"vat_registration_number\": \"5218487281\",\n }\n
\n " required: - commodities ErrorMessages: type: object properties: messages: type: array items: $ref: '#/components/schemas/Message' description: The list of error messages OperationResponse: type: object properties: messages: type: array items: $ref: '#/components/schemas/Message' description: The list of note or warning messages confirmation: allOf: - $ref: '#/components/schemas/OperationConfirmation' description: The operation details ShipmentCancelRequest: type: object properties: shipment_identifier: type: string description: The shipment identifier returned during creation. service: type: - string - 'null' description: The selected shipment service carrier_id: type: string description: The shipment carrier_id for specific connection selection. options: type: object additionalProperties: {} default: {} description: Advanced carrier specific cancellation options. required: - shipment_identifier CommodityData: type: object properties: weight: type: number format: double description: The commodity's weight weight_unit: enum: - KG - LB - OZ - G type: string x-spec-enum-id: 3a766910e8401666 description: The commodity's weight unit title: type: - string - 'null' description: A description of the commodity maxLength: 200 description: type: - string - 'null' description: A description of the commodity maxLength: 200 quantity: type: integer default: 1 description: The commodity's quantity (number or item) sku: type: - string - 'null' description: The commodity's sku number maxLength: 100 hs_code: type: - string - 'null' description: The commodity's hs_code number maxLength: 100 value_amount: type: - number - 'null' format: double description: The monetary value of the commodity value_currency: enum: - EUR - AED - USD - XCD - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - XOF - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - XAF - CHF - NZD - CLP - CNY - COP - CRC - CUC - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - FJD - GBP - GEL - GHS - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - XPF - NGN - NIO - NOK - NPR - OMR - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SRD - SSP - STD - SYP - SZL - THB - TJS - TND - TOP - TRY - TTD - TWD - TZS - UAH - UYU - UZS - VEF - VND - VUV - WST - YER - ZAR - null type: - string - 'null' x-spec-enum-id: fd73376ae25ab80b description: The currency of the commodity value amount origin_country: enum: - AC - AD - AE - AF - AG - AI - AL - AM - AN - AO - AR - AS - AT - AU - AW - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BM - BN - BO - BR - BS - BT - BW - BY - BZ - CA - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GT - GU - GW - GY - HK - HN - HR - HT - HU - IC - ID - IE - IL - IN - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KV - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PR - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SK - SL - SM - SN - SO - SR - SS - ST - SV - SY - SZ - TC - TD - TG - TH - TJ - TL - TN - TO - TR - TT - TV - TW - TZ - UA - UG - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WS - XB - XC - XE - XM - XN - XS - XY - YE - YT - ZA - ZM - ZW - EH - IM - BL - MF - SX - null type: - string - 'null' x-spec-enum-id: b4b44aee15c8daa0 description: The origin or manufacture country product_url: type: - string - 'null' description: The product url image_url: type: - string - 'null' description: The image url product_id: type: - string - 'null' description: The product id variant_id: type: - string - 'null' description: The variant id parent_id: type: - string - 'null' description: The id of the related order line item. metadata: type: - object - 'null' additionalProperties: {} description: "
\n Commodity user references metadata.\n\n {\n \"part_number\": \"5218487281\",\n \"reference1\": \"# ref 1\",\n \"reference2\": \"# ref 2\",\n \"reference3\": \"# ref 3\",\n ...\n }\n
\n " meta: type: - object - 'null' additionalProperties: {} description: "Template metadata for template identification.\n Structure: {\"label\": \"Widget Pro\", \"is_default\": false}\n " required: - weight - weight_unit Message: type: object properties: message: type: string description: The error or warning message code: type: string description: The message code level: type: string description: The message level details: type: object additionalProperties: {} description: any additional details carrier_name: type: string description: The targeted carrier carrier_id: type: string description: The targeted carrier name (unique identifier) ManifestDetails: type: object properties: id: type: string description: A unique manifest identifier object_type: type: string default: manifest description: Specifies the object type carrier_name: type: string description: The manifest carrier carrier_id: type: string description: The manifest carrier configured name doc: allOf: - $ref: '#/components/schemas/ManifestDocument' description: The manifest documents meta: type: - object - 'null' additionalProperties: {} description: provider specific metadata test_mode: type: boolean description: Specified whether it was created with a carrier in test mode required: - carrier_id - carrier_name - test_mode AddressData: type: object properties: id: type: - string - 'null' description: A unique identifier for the address (used in JSON embedded data) postal_code: type: - string - 'null' description: "The address postal code\n **(required for shipment purchase)**\n " maxLength: 20 city: type: - string - 'null' description: "The address city.\n **(required for shipment purchase)**\n " maxLength: 50 federal_tax_id: type: - string - 'null' description: The party frederal tax id maxLength: 50 state_tax_id: type: - string - 'null' description: The party state id maxLength: 50 person_name: type: - string - 'null' description: "Attention to\n **(required for shipment purchase)**\n " maxLength: 100 company_name: type: - string - 'null' description: The company name if the party is a company maxLength: 100 country_code: enum: - AC - AD - AE - AF - AG - AI - AL - AM - AN - AO - AR - AS - AT - AU - AW - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BM - BN - BO - BR - BS - BT - BW - BY - BZ - CA - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GT - GU - GW - GY - HK - HN - HR - HT - HU - IC - ID - IE - IL - IN - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KV - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PR - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SK - SL - SM - SN - SO - SR - SS - ST - SV - SY - SZ - TC - TD - TG - TH - TJ - TL - TN - TO - TR - TT - TV - TW - TZ - UA - UG - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WS - XB - XC - XE - XM - XN - XS - XY - YE - YT - ZA - ZM - ZW - EH - IM - BL - MF - SX type: string x-spec-enum-id: b4b44aee15c8daa0 description: The address country code email: type: - string - 'null' description: The party email phone_number: type: - string - 'null' description: The party phone number. maxLength: 50 state_code: type: - string - 'null' description: The address state code maxLength: 50 residential: type: - boolean - 'null' default: false description: Indicate if the address is residential or commercial (enterprise) street_number: type: - string - 'null' description: The address street number maxLength: 100 address_line1: type: - string - 'null' description: "The address line with street number
\n **(required for shipment purchase)**\n " maxLength: 100 address_line2: type: - string - 'null' description: The address line with suite number maxLength: 100 validate_location: type: - boolean - 'null' default: false description: Indicate if the address should be validated meta: type: - object - 'null' additionalProperties: {} description: "Template metadata for template identification.\n Structure: {\"label\": \"Warehouse A\", \"is_default\": true, \"usage\": [\"sender\", \"return\"]}\n " required: - country_code TrackingEvent: type: object properties: date: type: string description: 'The tracking event''s date. Format: `YYYY-MM-DD`' time: type: - string - 'null' description: 'The tracking event''s time. Format: `HH:MM AM/PM`' timestamp: type: - string - 'null' description: 'The tracking event''s timestamp. Format: `YYYY-MM-DDTHH:MM:SS.sssZ` (ISO 8601)' status: enum: - pending - picked_up - unknown - on_hold - cancelled - delivered - in_transit - delivery_delayed - out_for_delivery - ready_for_pickup - delivery_failed - return_to_sender - '' - null type: - string - 'null' x-spec-enum-id: 74b67d0ba94b1fa9 description: The normalized status of this specific event code: type: - string - 'null' description: The tracking event's code reason: enum: - carrier_damaged_parcel - carrier_sorting_error - carrier_address_not_found - carrier_parcel_lost - carrier_not_enough_time - carrier_vehicle_issue - carrier_capacity_exceeded - carrier_mechanical_delay - retailer_cancelled - retailer_incorrect_data - retailer_not_ready - retailer_incorrect_parcel - retailer_incorrect_dimensions - retailer_packaging_issue - consignee_refused - consignee_business_closed - consignee_not_available - consignee_not_home - consignee_cancelled - consignee_verification_failed - consignee_incorrect_address - consignee_access_restricted - consignee_safe_place_unavailable - customs_delay - customs_documentation - customs_duties_unpaid - customs_prohibited - customs_inspection - weather_delay - natural_disaster - force_majeure - parcel_being_researched - security_issue - regulatory_hold - unknown - '' - null type: - string - 'null' x-spec-enum-id: 8b6be95e78b07e31 description: The normalized incident reason (for exception events only) description: type: - string - 'null' description: The tracking event's description location: type: string description: The tracking event's location latitude: type: - number - 'null' format: double description: The tracking event's latitude. longitude: type: - number - 'null' format: double description: The tracking event's longitude. Images: type: object properties: delivery_image: type: - string - 'null' description: A delivery image in base64 string signature_image: type: - string - 'null' description: A signature image in base64 string Duty: type: object properties: paid_by: enum: - sender - recipient - third_party - '' - null type: - string - 'null' x-spec-enum-id: 26ff4db10d761aa1 description: The duty payer currency: enum: - EUR - AED - USD - XCD - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - XOF - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - XAF - CHF - NZD - CLP - CNY - COP - CRC - CUC - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - FJD - GBP - GEL - GHS - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - XPF - NGN - NIO - NOK - NPR - OMR - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SRD - SSP - STD - SYP - SZL - THB - TJS - TND - TOP - TRY - TTD - TWD - TZS - UAH - UYU - UZS - VEF - VND - VUV - WST - YER - ZAR - '' - null type: - string - 'null' x-spec-enum-id: fd73376ae25ab80b description: The declared value currency declared_value: type: - number - 'null' format: double description: The package declared value account_number: type: - string - 'null' description: The duty payment account number ShippingDocument: type: object description: Serializer for shipping document download response. properties: category: type: string description: The document category (e.g., 'label', 'invoice', 'manifest') format: type: string description: The document format (e.g., 'PDF', 'ZPL') print_format: type: - string - 'null' description: The document print format (e.g., 'A4', '6x4', '8.5x11') url: type: - string - 'null' description: The document URL base64: type: - string - 'null' description: The document content encoded in base64 required: - category - format Address: type: object properties: id: type: string description: A unique identifier postal_code: type: - string - 'null' description: "The address postal code\n **(required for shipment purchase)**\n " maxLength: 20 city: type: - string - 'null' description: "The address city.\n **(required for shipment purchase)**\n " maxLength: 50 federal_tax_id: type: - string - 'null' description: The party frederal tax id maxLength: 50 state_tax_id: type: - string - 'null' description: The party state id maxLength: 50 person_name: type: - string - 'null' description: "Attention to\n **(required for shipment purchase)**\n " maxLength: 100 company_name: type: - string - 'null' description: The company name if the party is a company maxLength: 100 country_code: enum: - AC - AD - AE - AF - AG - AI - AL - AM - AN - AO - AR - AS - AT - AU - AW - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BM - BN - BO - BR - BS - BT - BW - BY - BZ - CA - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GT - GU - GW - GY - HK - HN - HR - HT - HU - IC - ID - IE - IL - IN - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KV - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PR - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SK - SL - SM - SN - SO - SR - SS - ST - SV - SY - SZ - TC - TD - TG - TH - TJ - TL - TN - TO - TR - TT - TV - TW - TZ - UA - UG - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WS - XB - XC - XE - XM - XN - XS - XY - YE - YT - ZA - ZM - ZW - EH - IM - BL - MF - SX type: string x-spec-enum-id: b4b44aee15c8daa0 description: The address country code email: type: - string - 'null' description: The party email phone_number: type: - string - 'null' description: The party phone number. maxLength: 50 state_code: type: - string - 'null' description: The address state code maxLength: 50 residential: type: - boolean - 'null' default: false description: Indicate if the address is residential or commercial (enterprise) street_number: type: - string - 'null' description: The address street number maxLength: 100 address_line1: type: - string - 'null' description: "The address line with street number
\n **(required for shipment purchase)**\n " maxLength: 100 address_line2: type: - string - 'null' description: The address line with suite number maxLength: 100 validate_location: type: - boolean - 'null' default: false description: Indicate if the address should be validated meta: type: - object - 'null' additionalProperties: {} description: "Template metadata for template identification.\n Structure: {\"label\": \"Warehouse A\", \"is_default\": true, \"usage\": [\"sender\", \"return\"]}\n " object_type: type: string default: address description: Specifies the object type validation: allOf: - $ref: '#/components/schemas/AddressValidation' description: Specify address validation result required: - country_code Charge: type: object properties: name: type: - string - 'null' description: The charge description amount: type: - number - 'null' format: double description: The charge monetary value currency: type: - string - 'null' description: The charge amount currency id: type: - string - 'null' description: A surcharge id ErrorResponse: type: object properties: errors: type: array items: $ref: '#/components/schemas/APIError' description: The list of API errors PickupUpdateRequest: type: object properties: pickup_date: type: string description: "The expected pickup date.
\n Date Format: `YYYY-MM-DD`\n " address: allOf: - $ref: '#/components/schemas/Address' description: The pickup address parcels: type: array items: $ref: '#/components/schemas/Parcel' description: The shipment parcels to pickup. confirmation_number: type: string description: pickup identification number ready_time: type: string description: "The ready time for pickup.\n Time Format: `HH:MM`\n " closing_time: type: string description: "The closing or late time of the pickup.
\n Time Format: `HH:MM`\n " instruction: type: - string - 'null' description: "The pickup instruction.
\n eg: Handle with care.\n " maxLength: 50 package_location: type: - string - 'null' description: "The package(s) location.
\n eg: Behind the entrance door.\n " maxLength: 50 pickup_type: enum: - one_time - daily - recurring type: string x-spec-enum-id: f6e56facfab73bf5 default: one_time description: "The pickup scheduling type.
\n - one_time: Single pickup on a specific date
\n - daily: Recurring pickup every business day
\n - recurring: Custom recurring schedule\n " recurrence: type: - object - 'null' additionalProperties: {} description: "Recurrence configuration for recurring pickups.
\n Example: {\"frequency\": \"weekly\", \"days_of_week\": [\"monday\", \"wednesday\", \"friday\"], \"end_date\": \"2024-12-31\"}\n " options: type: - object - 'null' additionalProperties: {} description: Advanced carrier specific pickup options required: - address - closing_time - confirmation_number - parcels - pickup_date - ready_time TrackingResponse: type: object properties: messages: type: array items: $ref: '#/components/schemas/Message' description: The list of note or warning messages tracking: allOf: - $ref: '#/components/schemas/TrackerDetails' description: The tracking details retrieved ManifestDocument: type: object properties: manifest: type: - string - 'null' description: A manifest file in base64 string ShippingResponse: type: object properties: id: type: string description: A unique identifier object_type: type: string default: shipment description: Specifies the object type tracking_url: type: - string - 'null' format: uri description: The shipment tracking url shipper: allOf: - $ref: '#/components/schemas/Address' description: "The address of the party.
\n Origin address (ship from) for the **shipper**
\n Destination address (ship to) for the **recipient**\n " recipient: allOf: - $ref: '#/components/schemas/Address' description: "The address of the party.
\n Origin address (ship from) for the **shipper**
\n Destination address (ship to) for the **recipient**\n " return_address: allOf: - $ref: '#/components/schemas/Address' description: The return address for this shipment. Defaults to the shipper address. billing_address: allOf: - $ref: '#/components/schemas/Address' description: The payor address. parcels: type: array items: $ref: '#/components/schemas/Parcel' description: The shipment's parcels services: type: - array - 'null' items: type: string default: [] description: "The carriers services requested for the shipment.
\n Please consult the reference for specific carriers services.
\n **Note that this is a list because on a Multi-carrier rate request you could specify a service per carrier.**\n " options: type: object additionalProperties: {} default: {} description: "
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"shipper_instructions\": \"This is a shipper instruction\",\n \"recipient_instructions\": \"This is a recipient instruction\",\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n " payment: allOf: - $ref: '#/components/schemas/Payment' default: paid_by: sender currency: null account_number: null description: The payment details customs: allOf: - $ref: '#/components/schemas/CustomsData' description: "The customs details.
\n **Note that this is required for the shipment of an international Dutiable parcel.**\n " rates: type: array items: $ref: '#/components/schemas/Rate' default: [] description: The list for shipment rates fetched previously reference: type: - string - 'null' description: The shipment reference order_id: type: - string - 'null' description: The order identifier associated with this shipment label_type: enum: - PDF - ZPL - PNG - '' - null type: - string - 'null' x-spec-enum-id: 49b2c844813c9a67 description: The shipment label file type. carrier_ids: type: - array - 'null' items: type: string default: [] description: "The list of configured carriers you wish to get rates from.
\n **Note that the request will be sent to all carriers in nothing is specified**\n " tracker_id: type: - string - 'null' description: The attached tracker id created_at: type: string description: "The shipment creation datetime.
\n Date Format: `YYYY-MM-DD HH:MM:SS.mmmmmmz`\n " metadata: type: object additionalProperties: {} default: {} description: User metadata for the shipment messages: type: array items: $ref: '#/components/schemas/Message' default: [] description: The list of note or warning messages is_archived: type: boolean default: false description: Indicates whether this shipment is archived. archived_at: type: - string - 'null' description: Timestamp when the shipment was archived. status: enum: - draft - created - cancelled - shipped - in_transit - delivered - needs_attention - out_for_delivery - delivery_failed type: string x-spec-enum-id: f4c394c6818de493 default: draft description: The current Shipment status carrier_name: type: - string - 'null' description: The shipment carrier carrier_id: type: - string - 'null' description: The shipment carrier configured identifier tracking_number: type: - string - 'null' description: The shipment tracking number shipment_identifier: type: - string - 'null' description: The shipment carrier system identifier selected_rate: allOf: - $ref: '#/components/schemas/Rate' description: The shipment selected rate docs: allOf: - $ref: '#/components/schemas/Documents' description: The shipment documents meta: type: - object - 'null' additionalProperties: {} description: provider specific metadata return_shipment: type: - object - 'null' additionalProperties: {} description: Return shipment details when a return label is provided with outbound shipment service: type: - string - 'null' description: The selected service selected_rate_id: type: - string - 'null' description: The shipment selected rate. test_mode: type: boolean description: Specified whether it was created with a carrier in test mode is_return: type: boolean default: false description: Indicates whether this shipment is a return shipment. required: - created_at - parcels - recipient - shipper - test_mode OperationConfirmation: type: object properties: operation: type: string description: Operation performed success: type: boolean description: Specify whether the operation was successful carrier_name: type: string description: The operation carrier carrier_id: type: - string - 'null' description: The targeted carrier's name (unique identifier) required: - carrier_name - operation - success ShippingRequest: type: object properties: recipient: allOf: - $ref: '#/components/schemas/AddressData' description: "The address of the party.
\n Origin address (ship from) for the **shipper**
\n Destination address (ship to) for the **recipient**\n " shipper: allOf: - $ref: '#/components/schemas/AddressData' description: "The address of the party.
\n Origin address (ship from) for the **shipper**
\n Destination address (ship to) for the **recipient**\n " return_address: allOf: - $ref: '#/components/schemas/AddressData' description: The return address for this shipment. Defaults to the shipper address. billing_address: allOf: - $ref: '#/components/schemas/AddressData' description: The payor address. parcels: type: array items: $ref: '#/components/schemas/ParcelData' description: The shipment's parcels options: type: object additionalProperties: {} default: {} description: "
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"shipper_instructions\": \"This is a shipper instruction\",\n \"recipient_instructions\": \"This is a recipient instruction\",\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n " payment: allOf: - $ref: '#/components/schemas/Payment' default: paid_by: sender currency: null account_number: null description: The payment details customs: allOf: - $ref: '#/components/schemas/CustomsData' description: "The customs details.
\n **Note that this is required for the shipment of an international Dutiable parcel.**\n " reference: type: - string - 'null' description: The shipment reference maxLength: 100 order_id: type: - string - 'null' description: The order identifier associated with this shipment maxLength: 50 label_type: enum: - PDF - ZPL - PNG type: string x-spec-enum-id: 49b2c844813c9a67 default: PDF description: The shipment label file type. is_return: type: boolean default: false description: Indicates whether this shipment is a return shipment. When true, addresses are auto-swapped and the request is routed to the carrier's return shipment API. selected_rate_id: type: string description: The shipment selected rate. rates: type: array items: $ref: '#/components/schemas/Rate' description: The list for shipment rates fetched previously required: - parcels - rates - recipient - selected_rate_id - shipper Commodity: type: object properties: id: type: string description: A unique identifier weight: type: number format: double description: The commodity's weight weight_unit: enum: - KG - LB - OZ - G type: string x-spec-enum-id: 3a766910e8401666 description: The commodity's weight unit title: type: - string - 'null' description: A description of the commodity maxLength: 200 description: type: - string - 'null' description: A description of the commodity maxLength: 200 quantity: type: integer default: 1 description: The commodity's quantity (number or item) sku: type: - string - 'null' description: The commodity's sku number maxLength: 100 hs_code: type: - string - 'null' description: The commodity's hs_code number maxLength: 100 value_amount: type: - number - 'null' format: double description: The monetary value of the commodity value_currency: enum: - EUR - AED - USD - XCD - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - XOF - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - XAF - CHF - NZD - CLP - CNY - COP - CRC - CUC - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - FJD - GBP - GEL - GHS - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - XPF - NGN - NIO - NOK - NPR - OMR - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SRD - SSP - STD - SYP - SZL - THB - TJS - TND - TOP - TRY - TTD - TWD - TZS - UAH - UYU - UZS - VEF - VND - VUV - WST - YER - ZAR - null type: - string - 'null' x-spec-enum-id: fd73376ae25ab80b description: The currency of the commodity value amount origin_country: enum: - AC - AD - AE - AF - AG - AI - AL - AM - AN - AO - AR - AS - AT - AU - AW - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BM - BN - BO - BR - BS - BT - BW - BY - BZ - CA - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GT - GU - GW - GY - HK - HN - HR - HT - HU - IC - ID - IE - IL - IN - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KP - KR - KV - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PR - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SK - SL - SM - SN - SO - SR - SS - ST - SV - SY - SZ - TC - TD - TG - TH - TJ - TL - TN - TO - TR - TT - TV - TW - TZ - UA - UG - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WS - XB - XC - XE - XM - XN - XS - XY - YE - YT - ZA - ZM - ZW - EH - IM - BL - MF - SX - null type: - string - 'null' x-spec-enum-id: b4b44aee15c8daa0 description: The origin or manufacture country product_url: type: - string - 'null' description: The product url image_url: type: - string - 'null' description: The image url product_id: type: - string - 'null' description: The product id variant_id: type: - string - 'null' description: The variant id parent_id: type: - string - 'null' description: The id of the related order line item. metadata: type: - object - 'null' additionalProperties: {} description: "
\n Commodity user references metadata.\n\n {\n \"part_number\": \"5218487281\",\n \"reference1\": \"# ref 1\",\n \"reference2\": \"# ref 2\",\n \"reference3\": \"# ref 3\",\n ...\n }\n
\n " meta: type: - object - 'null' additionalProperties: {} description: "Template metadata for template identification.\n Structure: {\"label\": \"Widget Pro\", \"is_default\": false}\n " object_type: type: string default: commodity description: Specifies the object type required: - weight - weight_unit Pickup: type: object properties: id: type: string description: A unique pickup identifier object_type: type: string default: pickup description: Specifies the object type is_archived: type: boolean default: false description: Indicates whether this pickup is archived. archived_at: type: - string - 'null' description: Timestamp when the pickup was archived. carrier_name: type: string description: The pickup carrier carrier_id: type: string description: The pickup carrier configured name confirmation_number: type: string description: The pickup confirmation identifier status: enum: - scheduled - picked_up - cancelled - closed type: string x-spec-enum-id: 04b3c4e318bbbc64 default: scheduled description: The current pickup status pickup_date: type: - string - 'null' description: The pickup date pickup_charge: allOf: - $ref: '#/components/schemas/Charge' description: The pickup cost details ready_time: type: - string - 'null' description: The pickup expected ready time closing_time: type: - string - 'null' description: The pickup expected closing or late time pickup_type: enum: - one_time - daily - recurring - null type: - string - 'null' x-spec-enum-id: f6e56facfab73bf5 default: one_time description: "The pickup scheduling type.
\n - one_time: Single pickup on a specific date
\n - daily: Recurring pickup every business day
\n - recurring: Custom recurring schedule\n " recurrence: type: - object - 'null' additionalProperties: {} description: "Recurrence configuration for recurring pickups.
\n Example: {\"frequency\": \"weekly\", \"days_of_week\": [\"monday\", \"wednesday\", \"friday\"]}\n " metadata: type: object additionalProperties: {} default: {} description: User metadata for the pickup meta: type: - object - 'null' additionalProperties: {} description: provider specific metadata carrier_code: type: - string - 'null' description: "The carrier code for the pickup (e.g., 'canadapost', 'fedex').
\n Required when using `POST /v1/pickups`." address: allOf: - $ref: '#/components/schemas/Address' description: The pickup address parcels: type: array items: $ref: '#/components/schemas/Parcel' description: The shipment parcels to pickup. parcels_count: type: - integer - 'null' minimum: 1 description: The number of parcels to be picked up (alternative to providing parcels array) instruction: type: - string - 'null' description: "The pickup instruction.
\n eg: Handle with care.\n " maxLength: 50 package_location: type: - string - 'null' description: "The package(s) location.
\n eg: Behind the entrance door.\n " maxLength: 50 options: type: - object - 'null' additionalProperties: {} description: Advanced carrier specific pickup options test_mode: type: boolean description: Specified whether it was created with a carrier in test mode required: - address - carrier_id - carrier_name - confirmation_number - parcels - test_mode ParcelData: type: object properties: weight: type: number format: double description: The parcel's weight width: type: - number - 'null' format: double description: The parcel's width height: type: - number - 'null' format: double description: The parcel's height length: type: - number - 'null' format: double description: The parcel's length packaging_type: type: - string - 'null' description: "The parcel's packaging type.
\n **Note that the packaging is optional when using a package preset.**
\n values:
\n `envelope` `pak` `tube` `pallet` `small_box` `medium_box` `your_packaging`
\n For carrier specific packaging types, please consult the reference.\n " maxLength: 100 package_preset: type: - string - 'null' description: "The parcel's package preset.
\n For carrier specific package presets, please consult the reference.\n " maxLength: 100 description: type: - string - 'null' description: The parcel's description maxLength: 250 content: type: - string - 'null' description: The parcel's content description maxLength: 100 is_document: type: - boolean - 'null' default: false description: Indicates if the parcel is composed of documents only weight_unit: enum: - KG - LB - OZ - G type: string x-spec-enum-id: 3a766910e8401666 description: The parcel's weight unit dimension_unit: enum: - CM - IN - null type: - string - 'null' x-spec-enum-id: 41993cb8117c279c description: The parcel's dimension unit items: type: array items: $ref: '#/components/schemas/CommodityData' description: The parcel items. reference_number: type: - string - 'null' description: "The parcel reference number.
\n (can be used as tracking number for custom carriers)\n " maxLength: 100 freight_class: type: - string - 'null' description: The parcel's freight class for pallet and freight shipments. maxLength: 6 options: type: object additionalProperties: {} default: {} description: "
\n Parcel specific options.\n\n {\n \"insurance\": \"100.00\",\n \"insured_by\": \"carrier\",\n }\n
\n " meta: type: - object - 'null' additionalProperties: {} description: "Template metadata for template identification.\n Structure: {\"label\": \"Standard Box\", \"is_default\": true}\n " required: - weight - weight_unit AddressValidation: type: object properties: success: type: boolean description: True if the address is valid meta: type: - object - 'null' additionalProperties: {} description: validation service details required: - success Payment: type: object properties: paid_by: enum: - sender - recipient - third_party type: string x-spec-enum-id: 26ff4db10d761aa1 default: sender description: The payor type currency: enum: - EUR - AED - USD - XCD - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - XOF - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BZD - CAD - CDF - XAF - CHF - NZD - CLP - CNY - COP - CRC - CUC - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - FJD - GBP - GEL - GHS - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - XPF - NGN - NIO - NOK - NPR - OMR - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SRD - SSP - STD - SYP - SZL - THB - TJS - TND - TOP - TRY - TTD - TWD - TZS - UAH - UYU - UZS - VEF - VND - VUV - WST - YER - ZAR - '' - null type: - string - 'null' x-spec-enum-id: fd73376ae25ab80b description: The payment amount currency account_number: type: - string - 'null' description: The payor account number APIError: type: object properties: message: type: string description: The error or warning message code: type: string description: The message code level: type: string description: The message level details: type: object additionalProperties: {} description: any additional details PickupCancelRequest: type: object properties: confirmation_number: type: string description: The pickup confirmation identifier address: allOf: - $ref: '#/components/schemas/AddressData' description: The pickup address pickup_date: type: - string - 'null' description: "The pickup date.
\n Date Format: `YYYY-MM-DD`\n " reason: type: string description: The reason of the pickup cancellation required: - confirmation_number PickupResponse: type: object properties: messages: type: array items: $ref: '#/components/schemas/Message' description: The list of note or warning messages pickup: allOf: - $ref: '#/components/schemas/Pickup' description: The scheduled pickup's summary ManifestResponse: type: object properties: messages: type: array items: $ref: '#/components/schemas/Message' description: The list of note or warning messages manifest: allOf: - $ref: '#/components/schemas/ManifestDetails' description: The manifest details ManifestRequest: type: object properties: carrier_name: type: string description: The manifest's carrier address: allOf: - $ref: '#/components/schemas/AddressData' description: The address of the warehouse or location where the shipments originate. options: type: object additionalProperties: {} default: {} description: "
\n The options available for the manifest.\n\n {\n \"shipments\": [\n {\n \"tracking_number\": \"123456789\",\n ...\n \"meta\": {...}\n }\n ]\n }\n
\n " reference: type: - string - 'null' description: The manifest reference shipment_identifiers: type: array items: type: string description: "The list of shipment identifiers you want to add to your manifest.
\n shipment_identifier is often a tracking_number or shipment_id returned when you purchase a label.\n " required: - address - carrier_name - shipment_identifiers securitySchemes: JWT: in: header type: apiKey scheme: bearer bearerFormat: JWT name: Authorization description: 'Authorization: Bearer xxx.xxx.xxx' OAuth2: type: oauth2 in: header name: Authorization flows: authorizationCode: authorizationUrl: /oauth/authorize/ tokenUrl: /oauth/token/ scopes: read: Read access to Karrio data write: Write access to Karrio data openid: OpenID connect description: 'Authorization: Bearer xxxxxxxx' Token: type: apiKey in: header name: Authorization description: 'Authorization: Token key_xxxxxxxx' TokenBasic: type: http scheme: basic name: Authorization description: '-u key_xxxxxxxx:'