{"componentChunkName":"component---src-templates-redoc-operation-js","path":"/api/shipping/operation/get-delivery-options/","result":{"data":{"contentItem":{"type":"redoc-operation","link":"/api/shipping/operation/get-delivery-options/","data":{"redocStoreStr":"{\"menu\":{\"activeItemIdx\":-1},\"definition\":{\"data\":{\"openapi\":\"3.0.1\",\"info\":{\"title\":\"Carriyo Shipping API\",\"description\":\"# Carriyo Shipping API\\n[**Download OpenAPI specification**](/oas/shipping.yaml)\\n\\nThe Carriyo Shipping API provides a collection of resources to manage your shipping process.\\n\\nThe Shipping API provides the following resources\\n* [Shipments](/api/shipping/shipment-object.mdx)\\n* [Checkout](./checkout.md)\\n* [Carrier Accounts](./carrier-accounts.md)\\n* [Manifests](./manifests.md)\\n* [Attributes](./attributes.md)\\n* [Automation Rules](./automation-rules.md)\\n* [Service Levels](./service-levels.md)\\n\\nShipping API Error Codes\\n[Click here to see the full list of Shipping error codes](/guides/shipment-error-codes/)\\n\",\"contact\":{\"name\":\"Carriyo Support\",\"url\":\"https://help.carrriyo.com\",\"email\":\"support@carriyo.com\"},\"license\":{\"name\":\"\"},\"version\":\"\"},\"servers\":[{\"url\":\"https://api.carriyo.com\",\"description\":\"Production Server\"},{\"url\":\"https://demo-api.carriyo.com\",\"description\":\"Demo Server\"}],\"security\":[{\"OAuth2-Production\":[]},{\"OAuth2-Demo\":[]}],\"tags\":[{\"name\":\"shipments\",\"description\":\"import { JsonSchema } from '@redocly/developer-portal/ui';\\n\\n## The Shipment Object\\nThe 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. This can include one or multiple parcels.\\n\\nThe type of shipment can be classified as either FORWARD or REVERSE. A FORWARD shipment indicates the movement of items from a merchant to a customer, while a REVERSE shipment is the opposite, representing the return of items from a customer to a merchant.\\n\\nEach shipment is given two distinct identification codes, one generated by Carriyo called the `Shipment ID` and the other, a `Partner Shipment Reference` which is provided by the merchant themselves.\\n\\n<JsonSchema\\n  definitionId=\\\"shipping\\\"\\n  pointer=\\\"#/components/schemas/shipment-object\\\"\\n/>\"},{\"name\":\"carrier-accounts\",\"description\":\"# Carrier Accounts\\nA carrier account in Carriyo holds the settings for a given account with your chosen carrier. The information in the carrier account varies depending upon the carrier and it usually includes infromation such as the account number, the API credentails (API key, username, password etc), the chosen service type etc.\\n\\nIf you are business that uses multiple carriers for shipping, then you will have multiple carrier account. For instance, if you have an account with DHL and UPS, you will create two carrier accounts in Carriyo for each of your carrier with all the mandatory settings necessary to book and track your shipments. You can also setup multiple carrier accounts in Carriyo for the same carrier if you have multiple accounts with them for different service types or different countries etc.\\n\\n## \"},{\"name\":\"manifests\",\"description\":\"# Manifests\\nA manifest is a collection of shipments that are shipped together from the same location with the same shipping partner. It acts as an instruction to the schedule the collection of the shipments with your carrier. \\n\\n## \"},{\"name\":\"attributes\",\"description\":\"# Attributes\\nA shipment attribute allows a merchant to extend the shipment model to pass additional custom information that is not supported natively in the Carriyo data model. As a merchant, you can define your own custom attributes and then use them in your shipment.\\n\\n## \"},{\"name\":\"automation-rules\",\"description\":\"# Automation Rules\\n\\nCarriyo allows merchants to automate carrier selection using Automation Rules. Automation rules are grouped together using Rule Sets, which can be assigned to merchant / country combinations. For example, a merchant can define a set of rules for United States and a different set of rules for Canada.\\n\\nThe automation rules have a set of conditions which assign an inbound shipment to the chosen carrier when the conditions\\nmatch. The rules have a sequence of priorities and are excuted based on this priority. The first rule\\nto match the shipment will determine which carrier the shipment is assigned to. The automation rules are flexible and allow\\nany attribute of the shipment to be used to determine carrier assignment. For example, you can create conditions based\\non the pickup or dropoff location, the delivery type, the parcel weight, dimensions or any other attribute of the\\nshipment as per your requirement and also assign limits on the number shipments that can be assigned to the carrier.\\n\\n##\\n\"},{\"name\":\"service-levels\",\"description\":\"# Service Levels\\nA service level in Carriyo allows merchants to define their expected timeline for a shipment. The service levels can be applied for each stage of the shipment journey, namely processing (time for processing the shipment in the warehouse or store), collection (time for the carrier to collect the shipment) and delivery (time for the carrier to deliver once shipment is collected). You can also setup the expected customer promise covering the end to end timeline for delivery from the time the customer places an order. The service levels work in the same way as automation rules in terms of the sequence of priority and the conditions to allow you to define different service levels based on your requirements for different types of shipments.\\n\\n## \"}],\"paths\":{\"/shipments\":{\"get\":{\"tags\":[\"shipments\"],\"summary\":\"List Shipments\",\"description\":\"This endpoint returns a paginated list of shipments that match the specified search criteria.\\n\\nYou can use the `search_string` parameter to search for shipments alongside other filter, sort, and pagination options.\\n\\n> Note: This endpoint has a monthly usage limit tied to your account's shipment quota. Once the monthly limit is exceeded, further requests to this endpoint will be blocked.\",\"operationId\":\"list-shipments\",\"parameters\":[{\"name\":\"search_string\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The search string to find shipments using shipment data such as carrier tracking number, order reference, shipment reference, customer name, email etc.\"},{\"name\":\"order_ref\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The string to be used to fetch shipments for a given order reference.\"},{\"name\":\"merchant\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The merchant parameter filters shipments for a given merchant. This parameter can be used multiple times to filter results for multiple merchants.\"},{\"name\":\"shipment_type\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The shipment type can either be `forward` or `reverse`. If not passed, then both types of shipments will be included in the results.\"},{\"name\":\"creation_date_from\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The start date in ISO 8601 format to filter the results using shipment creation date.\"},{\"name\":\"creation_date_to\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The end date in ISO 8601 format to filter the results using shipment creation date.\"},{\"name\":\"update_date_from\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The start date in ISO 8601 format to filter results, returning shipments that were either created OR updated during this time period.\"},{\"name\":\"update_date_to\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The end date in ISO 8601 format to filter results, returning shipments that were either created OR updated during this time period.\"},{\"name\":\"page\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The page number of the result set, starting from 0. Defaults to the first page (page 0).\"},{\"name\":\"page_size\",\"in\":\"query\",\"required\":false,\"schema\":{\"type\":\"string\"},\"description\":\"The number of results to be included in the response, ranging from 10 to 100. Defaults to page size of 10.\"},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}}}}},\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Create Shipment\",\"description\":\"The **Create Shipment** endpoint allows the creation of a new shipment in Carriyo, generating a unique shipment ID. Merchants can specify a particular carrier account or rely on Carriyo to automatically assign a carrier based on predefined automation rules.\\n\\n### Key Concepts\\n\\n---\\n\\n#### Forward vs Reverse Shipments\\n\\nThis endpoint supports the creation of both **forward** and **reverse** shipments, determined by the `entity_type` parameter:\\n\\n- **Forward Shipment**: Standard shipment from the merchant to the customer.\\n- **Reverse Shipment**: Return shipment, where the customer sends items back to the merchant.\\n\\n---\\n\\n#### Draft, Confirmed, and Prebooked Shipments\\n\\nYou can create a shipment as either a **draft**, **confirmed**, or **prebooked** shipment:\\n\\n- **Draft Shipments**:\\n  - Used to create a shipment in Carriyo for initial visibility before processing is complete. This is useful when shipment details (e.g., parcel information) aren’t yet available.\\n  - Setting the `draft` query parameter to `true` creates the shipment in draft status without booking it with a carrier.\\n  - Draft shipments remain unbooked until confirmed, and they are not sent to the carrier.\\n\\n- **Confirmed Shipments**:\\n  - If the `draft` query parameter is omitted or set to `false`, Carriyo treats the shipment as confirmed, assigns it to a carrier, and immediately initiates a booking request.\\n  - **Pending Status**: If Carriyo’s validations pass and a valid carrier is assigned, the status is set to **pending**, and Carriyo sends the booking request to the carrier.\\n    > *Note:* The API will respond with the status `pending`, without waiting for the carrier's response.\\n  - **Error Status**: If Carriyo’s validations fail, the shipment status is set to **error**, and the response will include specific error details.\\n\\n- **Prebooked Shipments**:\\n  - If you wish to track a shipment already booked outside Carriyo, create a **prebooked shipment** by setting the `pre_booked` parameter to `true` and providing the carrier’s prebooking information, such as in this example:\\n\\n    ```json\\n    {\\n      \\\"pre_booked\\\": true,\\n      \\\"pre_booking_info\\\": {\\n        \\\"input_carrier\\\": \\\"DHL\\\",\\n        \\\"carrier_tracking_no\\\": \\\"1234567890\\\"\\n      }\\n    }\\n    ```\\n\\n---\\n\\n#### Shipment Booking and Status Updates\\n\\nOnce Carriyo sends the booking request to the carrier:\\n\\n- **Successful Booking**: If the carrier successfully books the shipment, Carriyo updates the shipment status to **booked** and assigns the carrier tracking number.\\n- **Booking Error**: If the carrier rejects the booking request, the shipment status is updated to **error**.\\n\\nAfter booking, a label is generated, and Carriyo pushes all status updates, including label details, back to the merchant via webhooks.\",\"operationId\":\"create-shipment\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"schema\":{\"type\":\"boolean\"},\"in\":\"query\",\"name\":\"draft\",\"description\":\"Pass true for draft shipment\"}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"anyOf\":[{\"$ref\":\"#/components/schemas/shipment-draft-request\"},{\"$ref\":\"#/components/schemas/shipment-request\"}]},\"examples\":{\"Domestic Shipment\":{\"value\":{\"entity_type\":\"FORWARD\",\"merchant\":\"MERCHANT-ID\",\"references\":{\"partner_order_reference\":\"domestic-order-001\",\"partner_shipment_reference\":\"domestic-ship-001\"},\"payment\":{\"payment_mode\":\"PRE_PAID\",\"total_amount\":49.98,\"currency\":\"GBP\"},\"items\":[{\"description\":\"Classic Sneakers - White, Size 42\",\"sku\":\"SNKR-W-42\",\"quantity\":1,\"price\":{\"amount\":34.99,\"currency\":\"GBP\"},\"weight\":{\"value\":1,\"unit\":\"kg\"}},{\"description\":\"Baseball Cap - Navy\",\"sku\":\"CAP-NVY-01\",\"quantity\":1,\"price\":{\"amount\":14.99,\"currency\":\"GBP\"},\"weight\":{\"value\":0.5,\"unit\":\"kg\"}}],\"parcels\":[{\"partner_parcel_reference\":\"parcel-001\",\"weight\":{\"value\":1.5,\"unit\":\"kg\"},\"dimension\":{\"width\":30,\"height\":20,\"depth\":15,\"unit\":\"cm\"}}],\"pickup\":{\"contact_name\":\"Acme Fashion Warehouse\",\"contact_phone\":\"+442071234567\",\"contact_email\":\"warehouse@acmefashion.co.uk\",\"address1\":\"Unit 5, Riverside Industrial Estate\",\"city\":\"Manchester\",\"state\":\"Greater Manchester\",\"country\":\"GB\",\"postcode\":\"M17 1SG\"},\"dropoff\":{\"contact_name\":\"James Wilson\",\"contact_phone\":\"+447700100200\",\"contact_email\":\"james.wilson@example.com\",\"address1\":\"14 Elm Street\",\"city\":\"Birmingham\",\"state\":\"West Midlands\",\"country\":\"GB\",\"postcode\":\"B1 2HL\"},\"order_date\":\"2026-04-15T10:00:00.000+00:00\"}},\"Cash on Delivery Shipment\":{\"value\":{\"entity_type\":\"FORWARD\",\"merchant\":\"MERCHANT-ID\",\"references\":{\"partner_order_reference\":\"cod-order-201\",\"partner_shipment_reference\":\"cod-ship-201\"},\"payment\":{\"payment_mode\":\"CASH_ON_DELIVERY\",\"pending_amount\":350,\"total_amount\":350,\"currency\":\"AED\"},\"items\":[{\"description\":\"Running Shoes - Black, Size 44\",\"sku\":\"SHOE-RUN-BLK-44\",\"quantity\":1,\"price\":{\"amount\":250,\"currency\":\"AED\"},\"weight\":{\"value\":1.2,\"unit\":\"kg\"}},{\"description\":\"Sports Water Bottle - 750ml\",\"sku\":\"BOTTLE-750\",\"quantity\":1,\"price\":{\"amount\":100,\"currency\":\"AED\"},\"weight\":{\"value\":0.3,\"unit\":\"kg\"}}],\"parcels\":[{\"partner_parcel_reference\":\"parcel-201\",\"weight\":{\"value\":1.5,\"unit\":\"kg\"},\"dimension\":{\"width\":35,\"height\":25,\"depth\":15,\"unit\":\"cm\"}}],\"pickup\":{\"contact_name\":\"Acme Sports Store\",\"contact_phone\":\"+97143872701\",\"contact_email\":\"ops@acmesports.ae\",\"address1\":\"Shop 14, Mall of the Emirates\",\"city\":\"Dubai\",\"state\":\"Dubai\",\"country\":\"AE\"},\"dropoff\":{\"contact_name\":\"Ali Hassan\",\"contact_phone\":\"+971561234567\",\"contact_email\":\"ali.hassan@example.com\",\"address1\":\"Villa 12, Al Barsha 1\",\"city\":\"Dubai\",\"state\":\"Dubai\",\"country\":\"AE\",\"coords\":[25.1136,55.2003]},\"order_date\":\"2026-04-15T10:00:00.000+04:00\"}},\"B2B Freight Shipment\":{\"value\":{\"entity_type\":\"FORWARD\",\"merchant\":\"MERCHANT-ID\",\"references\":{\"partner_order_reference\":\"b2b-order-501\",\"partner_shipment_reference\":\"b2b-ship-501\"},\"payment\":{\"payment_mode\":\"PRE_PAID\",\"total_amount\":5000,\"currency\":\"GBP\"},\"items\":[{\"description\":\"Office Desk Chair - Ergonomic\",\"sku\":\"CHAIR-ERGO-BLK\",\"quantity\":20,\"price\":{\"amount\":250,\"currency\":\"GBP\"},\"weight\":{\"value\":15,\"unit\":\"kg\"}}],\"freight\":{\"packages\":[{\"package_reference\":\"pallet-001\",\"type\":\"pallet\",\"weight\":{\"value\":320,\"unit\":\"kg\"},\"dimension\":{\"width\":120,\"height\":150,\"depth\":100,\"unit\":\"cm\"}},{\"package_reference\":\"carton-001\",\"type\":\"carton\",\"weight\":{\"value\":16,\"unit\":\"kg\"},\"dimension\":{\"width\":60,\"height\":70,\"depth\":50,\"unit\":\"cm\"},\"parent\":\"pallet-001\"},{\"package_reference\":\"carton-002\",\"type\":\"carton\",\"weight\":{\"value\":16,\"unit\":\"kg\"},\"dimension\":{\"width\":60,\"height\":70,\"depth\":50,\"unit\":\"cm\"},\"parent\":\"pallet-001\"}]},\"pickup\":{\"contact_name\":\"Acme Furniture Warehouse\",\"company_name\":\"Acme Furniture Co.\",\"contact_phone\":\"+441234567890\",\"contact_email\":\"warehouse@acmefurniture.co.uk\",\"address1\":\"Unit 8, Trafford Park Industrial Estate\",\"city\":\"Manchester\",\"state\":\"Greater Manchester\",\"country\":\"GB\",\"postcode\":\"M17 1HH\"},\"dropoff\":{\"contact_name\":\"Corporate Interiors Receiving\",\"company_name\":\"Corporate Interiors Ltd\",\"contact_phone\":\"+441214567890\",\"contact_email\":\"receiving@corpinteriors.co.uk\",\"address1\":\"25 Victoria Road, Aston\",\"city\":\"Birmingham\",\"state\":\"West Midlands\",\"country\":\"GB\",\"postcode\":\"B6 5HG\"},\"order_date\":\"2026-04-15T08:00:00.000+00:00\"}},\"Cross-Border Shipment\":{\"value\":{\"entity_type\":\"FORWARD\",\"merchant\":\"MERCHANT-ID\",\"references\":{\"partner_order_reference\":\"intl-order-1001\",\"partner_shipment_reference\":\"intl-ship-1001\"},\"payment\":{\"payment_mode\":\"PRE_PAID\",\"total_amount\":139.99,\"currency\":\"USD\"},\"items\":[{\"description\":\"Women's cotton T-shirt, size M, navy blue\",\"sku\":\"TSHIRT-W-M-NAVY\",\"quantity\":2,\"price\":{\"amount\":25,\"currency\":\"USD\"},\"weight\":{\"value\":0.2,\"unit\":\"kg\"},\"hs_code\":\"610910\",\"origin_country\":\"IN\"},{\"description\":\"Wireless Bluetooth earbuds with charging case\",\"sku\":\"EARBUDS-BT-001\",\"quantity\":1,\"price\":{\"amount\":89.99,\"currency\":\"USD\"},\"weight\":{\"value\":0.15,\"unit\":\"kg\"},\"hs_code\":\"851830\",\"origin_country\":\"CN\",\"dangerous_goods\":false,\"battery\":{\"material_type\":\"lithium_ion\",\"packing_type\":\"contained_in_equipment\"}}],\"parcels\":[{\"weight\":{\"value\":0.9,\"unit\":\"kg\"},\"dimension\":{\"width\":30,\"height\":20,\"depth\":15,\"unit\":\"cm\"},\"parcel_items\":[{\"sku\":\"TSHIRT-W-M-NAVY\",\"quantity\":2},{\"sku\":\"EARBUDS-BT-001\",\"quantity\":1}]}],\"customs\":{\"incoterms\":\"DAP\",\"declaration_statement\":\"I hereby certify that the information on this invoice is true and correct and that the contents of this shipment are as stated above.\",\"seller\":{\"contact_name\":\"Ahmed Al Rashid\",\"company_name\":\"Acme Fashion Ltd\",\"contact_phone\":\"+971501234567\",\"contact_email\":\"exports@acmefashion.com\",\"address1\":\"Dubai Internet City, Building 12\",\"city\":\"Dubai\",\"country\":\"AE\",\"postcode\":\"00000\",\"registration_numbers\":[{\"type_code\":\"VAT\",\"value\":\"100234567890003\",\"issuer_country_code\":\"AE\"}]},\"buyer\":{\"contact_name\":\"Jane Smith\",\"contact_phone\":\"+447700900123\",\"contact_email\":\"jane.smith@example.com\",\"address1\":\"42 King's Road\",\"city\":\"London\",\"state\":\"England\",\"country\":\"GB\",\"postcode\":\"SW3 4ND\"},\"exporter\":{\"contact_name\":\"Ahmed Al Rashid\",\"company_name\":\"Acme Fashion Ltd\",\"contact_phone\":\"+971501234567\",\"contact_email\":\"exports@acmefashion.com\",\"address1\":\"Dubai Internet City, Building 12\",\"city\":\"Dubai\",\"country\":\"AE\",\"postcode\":\"00000\",\"registration_numbers\":[{\"type_code\":\"EOR\",\"value\":\"AEXXXXXXXXX\",\"issuer_country_code\":\"AE\"}]},\"importer\":{\"contact_name\":\"Jane Smith\",\"contact_phone\":\"+447700900123\",\"address1\":\"42 King's Road\",\"city\":\"London\",\"state\":\"England\",\"country\":\"GB\",\"postcode\":\"SW3 4ND\",\"registration_numbers\":[{\"type_code\":\"EOR\",\"value\":\"GB205672212000\",\"issuer_country_code\":\"GB\"}]}},\"pickup\":{\"partner_location_code\":\"DUBAI-WH-01\"},\"dropoff\":{\"contact_name\":\"Jane Smith\",\"contact_phone\":\"+447700900123\",\"contact_email\":\"jane.smith@example.com\",\"address1\":\"42 King's Road\",\"city\":\"London\",\"state\":\"England\",\"country\":\"GB\",\"postcode\":\"SW3 4ND\"},\"order_date\":\"2026-04-15T14:30:00.000+04:00\"}},\"Draft Shipment\":{\"description\":\"A draft shipment can be created with partial data using the draft=true query parameter. Missing fields such as pickup and parcels can be added later before confirming.\",\"value\":{\"merchant\":\"MERCHANT-ID\",\"references\":{\"partner_order_reference\":\"draft-order-001\",\"partner_shipment_reference\":\"draft-ship-001\"},\"payment\":{\"payment_mode\":\"PRE_PAID\",\"total_amount\":199.99,\"currency\":\"AED\"},\"items\":[{\"description\":\"Wireless Headphones - Black\",\"sku\":\"WH-BLK-100\",\"quantity\":1,\"price\":{\"amount\":199.99,\"currency\":\"AED\"}}],\"dropoff\":{\"contact_name\":\"Sara Ahmed\",\"contact_phone\":\"+971509876543\",\"contact_email\":\"sara.ahmed@example.com\",\"address1\":\"Apt 1402, Marina Heights Tower\",\"city\":\"Dubai\",\"state\":\"Dubai\",\"country\":\"AE\"}}}}}},\"required\":true,\"description\":\"\"},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"},\"examples\":{\"200 Error Response\":{\"value\":{\"shipment_id\":\"KR22VUXEXGKX1\",\"merchant\":\"MERCHANT-ID\",\"entity_type\":\"FORWARD\",\"carrier_account\":{},\"references\":{\"partner_order_reference\":\"test-order-1\",\"partner_shipment_reference\":\"test-order-1\"},\"payment\":{\"payment_mode\":\"PRE_PAID\",\"pending_amount\":0,\"total_amount\":99,\"currency\":\"USD\"},\"delivery\":{\"delivery_type\":\"STANDARD\",\"scheduled_from\":\"2021-07-15T06:00:00.000Z\",\"scheduled_to\":\"2021-07-15T10:00:00.000Z\"},\"parcels\":[{\"parcel_id\":\"KR22VUXEXGKX1-1\",\"partner_parcel_reference\":\"\",\"description\":\"Parcel 1\",\"weight\":{\"value\":1,\"unit\":\"kg\"},\"dimension\":{\"width\":10,\"height\":10,\"depth\":10,\"unit\":\"cm\"}}],\"items\":[{\"sku\":\"S12345\",\"description\":\"Carriyo T-Shirt\",\"barcode\":\"B12345\",\"image_link\":\"https://mybusiness.com/images/sku1.png\",\"origin_country\":\"US\",\"quantity\":1,\"price\":{\"amount\":99,\"currency\":\"USD\"},\"cost\":{\"amount\":20,\"currency\":\"USD\"},\"weight\":{\"value\":1,\"unit\":\"kg\"},\"dangerous_goods\":false}],\"customs\":{\"declared_value\":{\"amount\":100,\"currency\":\"USD\"},\"incoterms\":\"DDU\"},\"pickup\":{\"partner_location_id\":\"ACCOUNT_bef3862a-b27e-45d4-b077-8e8f4d674849\",\"contact_name\":\"Customer Service\",\"contact_phone\":\"+971561234567\",\"contact_email\":\"crm@mybusiness.com\",\"address1\":\"DIP Delivery Warehouse\",\"area\":\"DUBAI-INVESTMENT-PARK-1\",\"city\":\"DUBAI\",\"state\":\"DUBAI\",\"country\":\"AE\",\"coords\":[29.373420706419914,47.97881566875099]},\"dropoff\":{\"contact_name\":\"Jo Bloggs\",\"contact_phone\":\"+971561234567\",\"contact_email\":\"jo.bloggs@gmail.com\",\"address1\":\"1 Financial Centre Road\",\"address2\":\"Downtown Views, Apartment 101\",\"area\":\"DOWNTOWN-DUBAI\",\"city\":\"DUBAI\",\"state\":\"DUBAI\",\"country\":\"AE\",\"coords\":[29.294045,48.087608]},\"post_shipping_info\":{\"status\":\"error\",\"key_milestones\":{},\"error_details\":[{\"level\":\"ERROR\",\"trigger\":\"BOOKING\",\"source\":\"CARRIYO\",\"type\":\"VALIDATION\",\"message\":\"No carrier assigned. Please provide valid carrier and reprocess booking again.\",\"code\":\"no_carrier_assigned\",\"field\":\"carrier\"},{\"level\":\"WARNING\",\"trigger\":\"BOOKING\",\"source\":\"CARRIYO\",\"type\":\"VALIDATION\",\"message\":\"Contact Email is missing.\",\"code\":\"email_missing\",\"field\":\"dropoff.contact_email\"}]},\"creation_date\":\"2021-07-13T13:16:23.016Z\",\"confirmation_date\":\"2021-07-13T13:16:23.149Z\",\"update_date\":\"2021-08-10T17:31:20.218Z\",\"order_date\":\"2021-07-13T11:42:12.889Z\",\"language\":\"en\"}},\"200 Pending Response\":{\"value\":{\"shipment_id\":\"KR22VUXEXGKX1\",\"merchant\":\"MERCHANT-ID\",\"entity_type\":\"FORWARD\",\"carrier_account\":{\"carrier\":\"ARAMEX\",\"carrier_id\":\"c1053e4b-f2e7-4cee-917f-a390e73887a6\",\"carrier_account_name\":\"ARAMEX UAE\"},\"references\":{\"partner_order_reference\":\"test-order-1\",\"partner_shipment_reference\":\"test-order-1\"},\"payment\":{\"payment_mode\":\"PRE_PAID\",\"pending_amount\":0,\"total_amount\":99,\"currency\":\"USD\"},\"delivery\":{\"delivery_type\":\"STANDARD\",\"scheduled_from\":\"2021-07-15T06:00:00.000Z\",\"scheduled_to\":\"2021-07-15T10:00:00.000Z\"},\"parcels\":[{\"parcel_id\":\"KR22VUXEXGKX1-1\",\"partner_parcel_reference\":\"\",\"description\":\"Parcel 1\",\"weight\":{\"value\":1,\"unit\":\"kg\"},\"dimension\":{\"width\":10,\"height\":10,\"depth\":10,\"unit\":\"cm\"}}],\"items\":[{\"sku\":\"S12345\",\"description\":\"Carriyo T-Shirt\",\"barcode\":\"B12345\",\"image_link\":\"https://mybusiness.com/images/sku1.png\",\"origin_country\":\"US\",\"quantity\":1,\"price\":{\"amount\":99,\"currency\":\"USD\"},\"cost\":{\"amount\":20,\"currency\":\"USD\"},\"weight\":{\"value\":1,\"unit\":\"kg\"},\"dangerous_goods\":false}],\"pickup\":{\"partner_location_id\":\"ACCOUNT_bef3862a-b27e-45d4-b077-8e8f4d674849\",\"contact_name\":\"Customer Service\",\"contact_phone\":\"+971561234567\",\"contact_email\":\"crm@mybusiness.com\",\"address1\":\"DIP Delivery Warehouse\",\"area\":\"DUBAI-INVESTMENT-PARK-1\",\"city\":\"DUBAI\",\"state\":\"DUBAI\",\"country\":\"AE\",\"coords\":[29.373420706419914,47.97881566875099]},\"dropoff\":{\"contact_name\":\"Jo Bloggs\",\"contact_phone\":\"+971561234567\",\"contact_email\":\"jo.bloggs@gmail.com\",\"address1\":\"1 Financial Centre Road\",\"address2\":\"Downtown Views, Apartment 101\",\"area\":\"DOWNTOWN-DUBAI\",\"city\":\"DUBAI\",\"state\":\"DUBAI\",\"country\":\"AE\",\"coords\":[29.294045,48.087608]},\"post_shipping_info\":{\"status\":\"pending\",\"key_milestones\":{}},\"creation_date\":\"2021-07-13T13:16:23.016Z\",\"confirmation_date\":\"2021-07-13T13:16:23.149Z\",\"update_date\":\"2021-08-10T17:31:20.218Z\",\"order_date\":\"2021-07-13T11:42:12.889Z\",\"language\":\"en\"}}}}}},\"400\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"},\"examples\":{\"400 Error Response\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2021-08-10T17:34:22.906Z\",\"errors\":[\"Duplicate partner shipment reference\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}\":{\"get\":{\"tags\":[\"shipments\"],\"summary\":\"Get Shipment\",\"description\":\"This endpoint returns the latest shipment object including the most up-to-date status information.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"get-shipment\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"404\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"},\"examples\":{\"404\":{\"value\":{\"status\":\"404\",\"timestamp\":\"2020-12-07T13:50:11.853Z\",\"errors\":[\"No shipment found with the shipment id: KHNI57EYOAICSdf\"]}}}}}}}},\"put\":{\"tags\":[\"shipments\"],\"summary\":\"Update Shipment\",\"description\":\"This endpoint is used to update a draft shipment. If a shipment is already confirmed, then the endpoint will return a 400 error.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"update-shipment\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-draft-request\"}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"description\":\"\",\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\",\"minLength\":1},\"timestamp\":{\"type\":\"string\",\"minLength\":1},\"errors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"status\",\"timestamp\",\"errors\"],\"x-examples\":{\"example-1\":{\"status\":\"400\",\"timestamp\":\"2022-04-07T13:37:09.855Z\",\"errors\":[\"Shipment L1OJMRKJEPTNB is not [draft, error].\"]}}},\"examples\":{\"update-failed\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2022-04-07T13:37:09.855Z\",\"errors\":[\"Shipment L1OJMRKJEPTNB is not [draft, error].\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"},\"patch\":{\"tags\":[\"shipments\"],\"summary\":\"Update Shipment\",\"description\":\"This endpoint is used to update a draft shipment. If a shipment is already confirmed, then the endpoint will return a 400 error.\\n\\n1. This endpoint supports partial updates. You can partially update certain sections of the shipment without updating the rest of the shipment.\\n2. Partial updates are applied to top level shipment attributes. For example, if you pass the pickup element in the request, then all the pickup fields in the object will be replaced with the new payload.\\n3. The above rule does not apply to custom attributes. Custom attributes can be individually added, updated or removed. To remove a custom attribute, you may pass a null value.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"update-shipment-patch\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-draft-request\"}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"description\":\"\",\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\",\"minLength\":1},\"timestamp\":{\"type\":\"string\",\"minLength\":1},\"errors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"status\",\"timestamp\",\"errors\"],\"x-examples\":{\"example-1\":{\"status\":\"400\",\"timestamp\":\"2022-04-07T13:37:09.855Z\",\"errors\":[\"Shipment L1OJMRKJEPTNB is not [draft, error].\"]}}},\"examples\":{\"update-failed\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2022-04-07T13:37:09.855Z\",\"errors\":[\"Shipment L1OJMRKJEPTNB is not [draft, error].\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/confirm\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Confirm Shipment\",\"description\":\"Confirms a **`draft`** shipment (first-time booking) or retries booking for a shipment in **`error`** status.\\n\\n**Eligible statuses:** `draft`, `error`.\\n\\nFor any other status that still allows re-booking, use `POST /shipments/{shipment_id}/reprocess` instead.\\n\\n**Please Note: The request body is optional when you use this endpoint. You can optionally update the shipment data when confirming the shipment.**\\n1. This endpoint supports partial updates. You can partially update certain sections of the shipment without updating the rest of the shipment.\\n2. Partial updates are applied to top level shipment attributes. For example, if you pass the pickup element in the request, then all the pickup fields in the object will be replaced with the new payload.\\n3. The above rule does not apply to custom attributes. Custom attributes can be individually added, updated or removed. To remove a custom attribute, you may pass a null value.\\n\\nOnce the shipment is submitted for booking, the shipment is set to `pending` status, a carrier is assigned, and a booking request is sent to the assigned carrier. The endpoint returns the shipment immediately in the `pending` status, without waiting for a response from the carrier.\\n\\nIf the carrier successfully confirms the booking, the shipment status is updated to `booked`, along with the tracking number. If the carrier rejects the booking request, the shipment status is set to `error`.\\n\\nThe merchant is notified of the booking update and the subsequent label generation via webhooks.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"confirm-shipment\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-patch-request\"}}},\"required\":false},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"description\":\"\",\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\",\"minLength\":1},\"timestamp\":{\"type\":\"string\",\"minLength\":1},\"errors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"status\",\"timestamp\",\"errors\"],\"x-examples\":{\"example-1\":{\"status\":\"400\",\"timestamp\":\"2022-04-07T13:30:14.500Z\",\"errors\":[\"You can only confirm shipments which are in Draft or Error. Current shipment status: booked.\"]}}},\"examples\":{\"confirmation-failed\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2022-04-07T13:30:14.500Z\",\"errors\":[\"You can only confirm shipments which are in Draft or Error. Current shipment status: booked.\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/cancel\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Cancel Shipment\",\"description\":\"This endpoint is used to cancel a shipment that has not yet been shipped.\\n\\n**Please Note: The request body is optional when you use this endpoint. You can optionally provide a reason code when cancelling a shipment.**\\n\\nThe endpoint also cancels the shipment booking with the carrier if the carrier supports it. Please note that cancellation is only supported if the shipment is not yet shipped. If a shipment is already shipped, then the endpoint will return a 400 error.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"cancel-shipment\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"update_reason_code\":{\"type\":\"string\",\"description\":\"Any one of the standard reason codes (below) or custom reason codes defined by the merchant.\\n\\n[Click here for the list of Standard Reason Codes](https://carriyo.com/docs/guides/shipment-reason-codes/)\"}}}}},\"required\":false},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\"},\"timestamp\":{\"type\":\"string\"},\"errors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"x-examples\":{\"example-1\":{\"status\":\"error\",\"timestamp\":\"2022-03-22T09:29:01.889Z\",\"errors\":[\"Status change is not allowed from current status: 'shipped' to the new status: 'cancelled'\"]}}},\"examples\":{\"cancellation-failed\":{\"value\":{\"status\":\"error\",\"timestamp\":\"2022-03-22T09:29:01.889Z\",\"errors\":[\"Status change is not allowed from current status: 'shipped' to the new status: 'cancelled'\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/label/refresh\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Refresh Label\",\"description\":\"This endpoint refreshes the default label for the given shipment id if the label is missing.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"refresh-label\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"awb\":{\"type\":\"string\"}}}}}}}}},\"/shipments/{shipment_id}/reprocess\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Reprocess Shipment\",\"description\":\"Re-books a shipment when it is not in `draft`. **Confirm Shipment** only accepts `draft` and `error`; this endpoint accepts the wider list below. For status `error`, you may use either **Confirm Shipment** or **Reprocess**.\\n\\n**Eligible statuses:** `booked`, `ready_to_ship`, `error`, `cancelled`, `cancelled_by_carrier`, `out_for_collection`, `failed_collection_attempt`, `ready_for_return`, `return_in_transit`, `returned`.\\n\\nTypical uses include retrying after a booking or carrier error, switching carrier or routing after cancellation, correcting addresses or parcels, or re-booking during return flows.\\n\\n**Please Note: The request body is optional when you use this endpoint. You can optionally update the shipment data when reprocessing the shipment.**\\n1. This endpoint supports partial updates. You can partially update certain sections of the shipment without updating the rest of the shipment.\\n2. Partial updates are applied to top level shipment attributes. For example, if you pass the pickup element in the request, then all the pickup fields in the object will be replaced with the new payload.\\n3. The above rule does not apply to custom attributes. Custom attributes can be individually added, updated or removed. To remove a custom attribute, you may pass a null value.\\n\\nOnce the shipment is submitted for booking, the shipment is set to `pending` status, a carrier is assigned, and a booking request is sent to the assigned carrier. The endpoint returns the shipment immediately in the `pending` status, without waiting for a response from the carrier.\\n\\nIf the carrier successfully confirms the booking, the shipment status is updated to `booked`, along with the tracking number. If the carrier rejects the booking request, the shipment status is set to `error`.\\n\\nThe merchant is notified of the booking update and the subsequent label generation via webhooks.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"reprocess-shipment\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-patch-request\"}}},\"required\":false},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"description\":\"\",\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\",\"minLength\":1},\"timestamp\":{\"type\":\"string\",\"minLength\":1},\"errors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"status\",\"timestamp\",\"errors\"],\"x-examples\":{\"example-1\":{\"status\":\"error\",\"timestamp\":\"2022-04-07T13:30:14.500Z\",\"errors\":[\"Current shipment status [delivered] does not allow it to be reprocessed.\"]}}},\"examples\":{\"reprocess-not-allowed\":{\"value\":{\"status\":\"error\",\"timestamp\":\"2022-04-07T13:30:14.500Z\",\"errors\":[\"Current shipment status [delivered] does not allow it to be reprocessed.\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/ready-to-ship\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Ready to Ship\",\"description\":\"This endpoint sets the shipment as ready-to-ship, and for carriers that support scheduling of collection, it notifies them of the scheduled date and time of collection.\\n\\n**Please Note: The request body is optional when you use this endpoint. You can optionally update the parcel information when setting the shipment as ready-to-ship.**\\n\\nThis process is particularly useful for on-demand carrier service where the carrier only picks up the shipment once they are notified of the collection schedule.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"ready-to-ship\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/update-parcels-request\"}}},\"required\":false},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/update-status\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Update Status\",\"description\":\"This status endpoint allows the merchant to update the status of the shipment. This is useful in following scenarios:\\n\\n1. To set the merchant controlled status such as \\\"shipped\\\", \\\"delivery_confirmed\\\", and \\\"return_confirmed\\\"\\n2. To overide incorrect status received from the carrier. For instance, the carrier incorrectly updated the status as \\\"delivered\\\", the merchant can overide the status to \\\"returned\\\" if the shipment was returned to the merchant\\n3. To manually update missing status. For instance, if the merchant is aware that the carrier delivered the shipment but failed to update the system, then the merchant can mannually set the status to \\\"delviered\\\" using this endpoint.\\n\\nPlease note, that only the following status updates are allowed via this end point\\n\\n1. `shipped`, if the current status is one of the following\\n* booked\\n* ready_to_ship\\n* failed_collection_attempt\\n2. `out_for_delivery`, if the current status is one of the following\\n* shipped\\n* in_transit\\n* failed_delivery_attempt\\n* suspended\\n* missing\\n3. `delivered`, if the current status is one of the following\\n* cancelled\\n* shipped\\n* in_transit\\n* out_for_delivery\\n* awaiting_customer_collection\\n* failed_delivery_attempt\\n* suspended\\n* missing\\n* delayed\\n* returned\\n* delivery_confirmed\\n4. `delivery_confirmed`, if the current status is one of the following\\n* delivered\\n5. `return_in_transit`, if the current status is one of the following\\n* shipped\\n* in_transit\\n* out_for_delivery\\n* awaiting_customer_collection\\n* failed_delivery_attempt\\n* ready_for_return\\n* suspended\\n* missing\\n* delayed\\n6. `returned`, if the current status is one of the following\\n* cancelled\\n* shipped\\n* in_transit\\n* out_for_delivery\\n* awaiting_customer_collection\\n* failed_delivery_attempt\\n* ready_for_return\\n* return_in_transit\\n* suspended\\n* missing\\n* delayed\\n* delivered\\n* return_confirmed\\n7. `return_confirmed`, if the current status is one of the following\\n* returned\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"update-status\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"new_status\":{\"type\":\"string\"},\"update_date\":{\"type\":\"string\"}}}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\"},\"timestamp\":{\"type\":\"string\"},\"errors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"x-examples\":{\"example-1\":{\"status\":\"error\",\"timestamp\":\"2022-05-11T17:39:16.126Z\",\"errors\":[\"Status change is not allowed from current status: 'delivered' to the new status: 'delivered'\"]}}},\"examples\":{\"status-update-failed\":{\"value\":{\"status\":\"error\",\"timestamp\":\"2022-05-11T17:39:16.126Z\",\"errors\":[\"Status change is not allowed from current status: 'delivered' to the new status: 'delivered'\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/bulk/status\":{\"get\":{\"tags\":[\"shipments\"],\"summary\":\"Get Bulk Status\",\"description\":\"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.\",\"operationId\":\"get-bulk-status\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"query\",\"style\":\"form\",\"explode\":false,\"schema\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/bulk-shipment-status-response\"}}}}}}}},\"/shipments/{shipment_id}/parcels\":{\"put\":{\"tags\":[\"shipments\"],\"summary\":\"Update Parcels\",\"description\":\"This endpoint allows the tenant to update the parcel information after the initial shipment is created.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"update-parcels\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/update-parcels-request\"}}},\"required\":false},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/update-delivery-promise\":{\"post\":{\"summary\":\"Update Delivery Promise\",\"tags\":[\"shipments\"],\"operationId\":\"update-delivery-promise\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}}},\"description\":\"This endpoint allows the merchant to update the promised delivery date after the shipment is created. The promised delivery date can be updated as long as the shipment is not in a final status (delivered, returned or cancelled)\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/promised-delivery-date-request\"}}},\"required\":true}}},\"/shipments/{shipment_id}/update-delivery-schedule\":{\"post\":{\"summary\":\"Update Delivery Schedule\",\"tags\":[\"shipments\"],\"operationId\":\"update-delivery-schedule\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}}},\"description\":\"This endpoint allows the merchant to update the scheduled delivery date after the shipment is created.\\n\\nThe delivery schedule can be updated as long as the shipment is not in a final status (delivered, returned or cancelled), however please note that this information is not passed to the carriers after the shipment is booked, as most carriers do not accept a schedule update after booking.\\n\\nIt can be set using one of the following options\\n\\nOption 1: Provide the `scheduled_from` and `scheduled_to` to choose the scheduled date along with start and end time.\\n\\nExample:\\n\\\"delivery\\\": {\\n  \\\"scheduled_from\\\": \\\"2022-01-01'T'10:00:00.000Z\\\",\\n  \\\"scheduled_to\\\": \\\"2022-01-01'T'12:00:00.000Z\\\"\\n}\\n\\nOption 2: Provide the `scheduled_date` only to choose the entire day.\\n\\nExample:\\n\\\"delivery\\\": {\\n  \\\"scheduled_date\\\": \\\"2022-01-01\\\"\\n}\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/collection-request\"},\"examples\":{\"Delivery Slot\":{\"value\":{\"scheduled_from\":\"2022-01-01T10:00:00.000Z\",\"scheduled_to\":\"2022-01-01T12:00:00.000Z\"}},\"Delivery Day\":{\"value\":{\"scheduled_date\":\"2022-01-01\"}}}}},\"required\":true}},\"parameters\":[{\"schema\":{\"type\":\"string\"},\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true}]},\"/shipments/{shipment_id}/update-collection-schedule\":{\"post\":{\"summary\":\"Update Collection Schedule\",\"tags\":[\"shipments\"],\"operationId\":\"update-collection-schedule\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}}},\"description\":\"This endpoint allows the merchant to update the scheduled collection date after the shipment is created.\\n\\nThe collection schedule can be updated as long as the shipment is not in a final status (delivered, returned or cancelled), however please note that this information is not passed to the carriers after the shipment is booked, as most carriers do not accept a schedule update after booking.\\n\\nIt can be set using one of the following options\\n\\nOption 1: Provide the `scheduled_from` and `scheduled_to` to choose the scheduled date along with start and end time.\\n\\nExample:\\n\\\"collection\\\": {\\n  \\\"scheduled_from\\\": \\\"2022-01-01'T'10:00:00.000Z\\\",\\n  \\\"scheduled_to\\\": \\\"2022-01-01'T'12:00:00.000Z\\\"\\n}\\n\\nOption 2: Provide the `scheduled_date` only to choose the entire day.\\n\\nExample:\\n\\\"collection\\\": {\\n  \\\"scheduled_date\\\": \\\"2022-01-01\\\"\\n}\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/collection-request\"},\"examples\":{\"Collection Slot\":{\"value\":{\"scheduled_from\":\"2022-01-01T10:00:00.000Z\",\"scheduled_to\":\"2022-01-01T12:00:00.000Z\"}},\"Collection Day\":{\"value\":{\"scheduled_date\":\"2022-01-01\"}}}}},\"required\":true}},\"parameters\":[{\"schema\":{\"type\":\"string\"},\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true}]},\"/shipments/{shipment_id}/estimate-shipping-cost\":{\"post\":{\"summary\":\"Estimate Shipping Cost for a shipment\",\"tags\":[\"shipments\"],\"operationId\":\"estimate-shipping-cost-for-shipment\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}}},\"description\":\"This endpoint allows the merchant to estimate shipment's cost for a draft shipment before booking the shipment.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\"},\"parameters\":[{\"schema\":{\"type\":\"string\"},\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true}]},\"/shipments/{shipment_id}/documents\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Upload Document\",\"description\":\"This endpoint allows uploading a document to an existing shipment. Documents can be used for shipping purposes such as commercial invoices, packing lists, certificates, etc.\\n\\n**How Document Upload Works:**\\n\\nDocuments are first uploaded and stored in Carriyo, and then synced to the carrier system. You can upload documents at any stage of the shipment lifecycle - before or after the shipment is booked. However, the document will only be uploaded to the carrier **after the shipment is booked**.\\n\\n- **Before booking**: The document is stored in Carriyo and will be automatically uploaded to the carrier once the shipment is booked (if carrier upload is configured).\\n- **After booking**: The document is stored in Carriyo and immediately queued for upload to the carrier (if carrier upload is configured and the carrier supports it).\\n\\n**Prerequisites:**\\n- A document setting must be configured in your Carriyo account before uploading documents.\\n- The document must match an existing document setting either by `document_id` or `document_name`.\\n\\n**Important Behavior:**\\n- If the document setting is not found, the request will be rejected with a 400 error.\\n- If a document with the same document ID already exists in the shipment, the request will be rejected.\\n- The document content must be provided as a Base64-encoded string.\\n- Only PDF format is currently supported.\\n- Security validation is performed on the document content to ensure it matches the expected format.\\n\\n**Automatic Carrier Sync:**\\nIf the document setting is configured for carrier upload, Carriyo will automatically sync the document to the carrier when all of the following conditions are met:\\n- A carrier is assigned to the shipment\\n- The shipment is booked (has a tracking number)\\n- The carrier supports document upload\\n\\n**Supported Carriers:**\\nAt the moment, document upload synchronization to carrier is supported only for:\\n- **DHL**\\n- **FedEx**\\n\\nFor other carriers, documents will be stored in Carriyo but will not be synced to the carrier system.\\n\\nThe sync happens asynchronously. The `carrier_upload_status` field in the document object will indicate the status of this upload:\\n- `pending`: Upload to carrier is in progress\\n- `complete`: Document was successfully uploaded to the carrier\\n- `error`: Upload failed - check the `message` field for details\\n\\nIf the carrier upload fails, you can use the **Retry Document Upload** endpoint to attempt the upload again.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"upload-document\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The Carriyo shipment ID or the merchant provided `partner_shipment_reference`.\"},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/document-upload-request\"},\"examples\":{\"upload-by-document-id\":{\"summary\":\"Upload using document ID\",\"value\":{\"document_id\":\"DOC123\",\"content_base64\":\"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PgplbmRvYmoKMiAwIG9iago...\"}},\"upload-by-document-name\":{\"summary\":\"Upload using document name\",\"value\":{\"document_name\":\"Commercial Invoice\",\"content_base64\":\"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PgplbmRvYmoKMiAwIG9iago...\"}}}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Document uploaded successfully. Returns the updated shipment object.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request - Document settings not found, document already exists, or validation failed.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"},\"examples\":{\"document-settings-not-found\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Not able to find a valid document settings.\"]}},\"document-already-exists\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"This document is already present in the shipment\"]}},\"missing-required-fields\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Either document_id or document_name is required\"]}},\"missing-content\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"content_base64 is required\"]}}}}}},\"404\":{\"description\":\"Shipment not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"},\"examples\":{\"404\":{\"value\":{\"status\":\"404\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"No shipment found with the shipment id: KHNI57EYOAICSdf\"]}}}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/documents/bulk\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Bulk Upload Documents\",\"description\":\"This endpoint allows uploading or updating multiple documents on an existing shipment in a single request.\\n\\n**How Bulk Document Upload Works:**\\nEach document in the request is validated and processed individually. If a document with the same document ID already exists in the shipment, its content will be **updated**. If the document does not exist, it will be **created**. Documents are first uploaded and stored in Carriyo, and then synced to the carrier system. You can upload documents at any stage of the shipment lifecycle - before or after the shipment is booked. However, the documents will only be uploaded to the carrier **after the shipment is booked**.\\n\\n**Prerequisites:**\\n- A document setting must be configured in your Carriyo account for each document being uploaded.\\n- Each document must match an existing document setting either by `document_id` or `document_name`.\\n\\n**Important Behavior:**\\n- If any document setting is not found, the request will be rejected with a 400 error.\\n- If a document with the same document ID already exists in the shipment, its content will be replaced with the new content.\\n- If the document does not exist in the shipment, it will be created.\\n- The document content must be provided as a Base64-encoded string.\\n- Only PDF format is currently supported.\",\"operationId\":\"bulk-upload-documents\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The Carriyo shipment ID or the merchant provided `partner_shipment_reference`.\"},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/document-upload-request\"}},\"examples\":{\"bulk-upload\":{\"summary\":\"Upload multiple documents\",\"value\":[{\"document_id\":\"DOC123\",\"content_base64\":\"JVBERi0xLjQKJeLjz9MKMSAwIG9iago...\"},{\"document_name\":\"Commercial Invoice\",\"content_base64\":\"JVBERi0xLjQKJeLjz9MKMSAwIG9iago...\"}]}}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Documents uploaded or updated successfully. Returns the updated shipment object.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request - Document settings not found or validation failed.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"}}}},\"404\":{\"description\":\"Shipment not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/shipments/{shipment_id}/documents/{document_identifier}\":{\"put\":{\"tags\":[\"shipments\"],\"summary\":\"Update Document\",\"description\":\"This endpoint allows updating the content of an existing document in a shipment.\\n\\n**Document Identifier:**\\nThe `document_identifier` path parameter can be either:\\n- The `document_id` of the document\\n- The `name` of the document (URL-encoded if it contains special characters or spaces)\\n\\n**Important Behavior:**\\n- The document must already exist in the shipment.\\n- The document content must be provided as a Base64-encoded string.\\n- Only PDF format is currently supported.\\n- Security validation is performed on the new content.\\n- The new content will replace the existing document content in storage.\\n\\n**Automatic Carrier Upload:**\\nSimilar to the upload endpoint, if the document setting is configured for carrier upload and the shipment meets the criteria, the updated document will be automatically uploaded to the carrier.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"update-document\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The Carriyo shipment ID or the merchant provided `partner_shipment_reference`.\"},{\"name\":\"document_identifier\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The document ID or document name (URL-encoded) to identify the document to update.\"},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/document-update-request\"},\"examples\":{\"update-document\":{\"summary\":\"Update document content\",\"value\":{\"content_base64\":\"JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFI+PgplbmRvYmoKMiAwIG9iago...\"}}}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"Document updated successfully. Returns the updated shipment object.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request - Document not found or validation failed.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"},\"examples\":{\"no-documents\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"No documents found in shipment\"]}},\"document-not-found\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Document not found: Commercial Invoice\"]}},\"missing-content\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"content_base64 is required\"]}}}}}},\"404\":{\"description\":\"Shipment not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"}}}}},\"x-codegen-request-body-name\":\"body\"},\"delete\":{\"tags\":[\"shipments\"],\"summary\":\"Delete Document\",\"description\":\"This endpoint allows deleting a document from a shipment.\\n\\n**Document Identifier:**\\nThe `document_identifier` path parameter can be either:\\n- The `document_id` of the document\\n- The `name` of the document (URL-encoded if it contains special characters or spaces)\\n\\n**Important Behavior:**\\n- The document must exist in the shipment.\\n- The document content will be deleted from storage (S3).\\n- This operation cannot be undone.\\n- If the document was uploaded to a carrier, deleting it from Carriyo does not remove it from the carrier's system.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"delete-document\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The Carriyo shipment ID or the merchant provided `partner_shipment_reference`.\"},{\"name\":\"document_identifier\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The document ID or document name (URL-encoded) to identify the document to delete.\"},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Document deleted successfully. Returns the updated shipment object.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request - Document not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"},\"examples\":{\"no-documents\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"No documents found in shipment\"]}},\"document-not-found\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Document not found: DOC123\"]}}}}}},\"404\":{\"description\":\"Shipment not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"}}}}}}},\"/shipments/{shipment_id}/documents/{document_identifier}/retry\":{\"post\":{\"tags\":[\"shipments\"],\"summary\":\"Retry Document Upload to Carrier\",\"description\":\"This endpoint allows retrying the upload of a document to the carrier. This is useful when a previous carrier upload failed.\\n\\n**Document Identifier:**\\nThe `document_identifier` path parameter can be either:\\n- The `document_id` of the document\\n- The `name` of the document (URL-encoded if it contains special characters or spaces)\\n\\n**Prerequisites:**\\n- A carrier must be assigned to the shipment.\\n- The document must exist in the shipment.\\n- The document must have a valid URL (i.e., it was previously uploaded successfully to Carriyo).\\n- The carrier must support document upload.\\n\\n**Important Behavior:**\\n- This endpoint triggers an asynchronous upload to the carrier.\\n- The `carrier_upload_status` will be set to `pending` immediately.\\n- Once the carrier processes the document, the status will be updated to `complete` or `error`.\\n- Use webhooks or poll the shipment to get the final upload status.\\n\\nThe `shipment_id` is used as a path parameter to identify the shipment. Alternatively the merchant provided shipment reference (`partner_shipment_reference`) can also be used instead of the `shipment_id`.\",\"operationId\":\"retry-document-upload\",\"parameters\":[{\"name\":\"shipment_id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The Carriyo shipment ID or the merchant provided `partner_shipment_reference`.\"},{\"name\":\"document_identifier\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"},\"description\":\"The document ID or document name (URL-encoded) to identify the document.\"},{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Document upload retry initiated successfully. Returns the updated shipment object with `carrier_upload_status` set to `pending`.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipment-object\"}}}},\"400\":{\"description\":\"Bad Request - Prerequisites not met.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"},\"examples\":{\"no-carrier\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Please assign a carrier first\"]}},\"no-documents\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"No documents found in shipment\"]}},\"document-not-found\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Document not found: DOC123\"]}},\"no-url\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Document has no URL to upload\"]}},\"carrier-not-supported\":{\"value\":{\"status\":\"400\",\"timestamp\":\"2024-01-15T10:30:00.000Z\",\"errors\":[\"Carrier does not support document upload\"]}}}}}},\"404\":{\"description\":\"Shipment not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/create-shipment-error-response\"}}}}}}},\"/checkout/shipping-rates\":{\"post\":{\"summary\":\"Get Shipping Rates\",\"tags\":[\"checkout\"],\"operationId\":\"get-shipping-rates\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipping-rates-request\"}}},\"required\":true},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/shipping-rates-response\"}}}}},\"description\":\"This endpoint allows the merchant to get shipping rates for a future shipment.\"}},\"/checkout/delivery-options\":{\"post\":{\"summary\":\"Get Delivery Options\",\"tags\":[\"checkout\"],\"operationId\":\"get-delivery-options\",\"description\":\"Returns the **delivery options** that match a given order or cart at checkout time.\\n\\nDelivery options are configured per merchant in the Carriyo dashboard. Each option declares the carrier account that fulfils it, a shipping fee, an estimated delivery window, and a set of optional conditions. This endpoint evaluates the configured conditions against the order details you supply and returns the matching options — typically rendered to the shopper as the delivery choices on the checkout page.\\n\\nBoth `DELIVERY` and `COLLECTION` options can be returned. The shopper has not chosen between them at this point — `customer` represents *where the customer is*, not *where the order is being delivered*. For `DELIVERY` options the customer's location is also the delivery destination; for `COLLECTION` options it's used to find applicable collection points.\\n\\n### Identifying the order\\n\\nProvide **one** of the following:\\n\\n| Field | When to use |\\n|---|---|\\n| `order` | Inline order details, when no order has been created in Carriyo yet — the typical live checkout flow. |\\n| `order_id` | Carriyo's internal order ID, when the order already exists in Carriyo. |\\n| `partner_order_reference` | Your own reference for an order that already exists in Carriyo. |\\n\\nWhen `order_id` or `partner_order_reference` is supplied, Carriyo loads the persisted order and uses its data for condition evaluation. When `order` is supplied, only the fields required by the conditions you've configured need to be present.\\n\\n### What gets evaluated\\n\\nEach condition only applies when the merchant has configured it on a delivery option. The corresponding order field is read only if such a condition exists, so callers only need to populate the fields relevant to the rules in use.\\n\\n| Condition (configured on the option) | Evaluated against |\\n|---|---|\\n| Working days / blackout days | `order.order_date` (defaults to now); timezone derived from `order.customer.country` |\\n| Customer geography | `order.customer.{country, state, city, area}` |\\n| Order value range | `order.payment.order_total` |\\n| Weight range | Sum of `order.line_items[].weight` (converted to kg) |\\n| Payment type | Derived: `CASH_ON_DELIVERY` if `order.payment.payment_on_delivery > 0`, otherwise `PRE_PAID` |\\n| Fulfillment location | `order.fulfillment_location` (free-form, or `partner_location_id` for a configured Carriyo location) |\\n\\n### Response\\n\\nAn array of matching delivery options, each with its carrier account, computed shipping fee, and estimated arrival window. The array is empty if no configured option matches the supplied order.\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"required\":true,\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/delivery-options-request\"},\"examples\":{\"Cart Checkout\":{\"summary\":\"Cart at checkout — customer location, items, and order value\",\"description\":\"The most common scenario. A shopper is at checkout, no order yet exists in Carriyo. The request supplies the customer's location (for customer-geography rules and timezone), `payment.order_total` (for order-value range rules), and `line_items` with weights (for weight range rules). Fulfillment location is omitted — Carriyo will fall back to the merchant's default sourcing.\",\"value\":{\"order\":{\"merchant\":\"ACME\",\"payment\":{\"currency\":\"AED\",\"order_total\":285},\"customer\":{\"country\":\"AE\",\"state\":\"DUBAI\",\"city\":\"DUBAI\",\"area\":\"DOWNTOWN-DUBAI\"},\"line_items\":[{\"id\":\"line-1\",\"sku\":\"TSHIRT-BLK-M\",\"quantity\":2,\"weight\":{\"value\":0.25,\"unit\":\"kg\"}},{\"id\":\"line-2\",\"sku\":\"JEANS-W32-L32\",\"quantity\":1,\"weight\":{\"value\":0.6,\"unit\":\"kg\"}}]}}},\"Fulfillment From Specific Location\":{\"summary\":\"Fulfillment location is known (ship-from-store)\",\"description\":\"When the order is being fulfilled from a specific Carriyo location — e.g., a ship-from-store flow or a designated warehouse — pass `fulfillment_location.partner_location_id`. Carriyo enriches the rest of the address from the configured location. Use this when options have a fulfillment-location restriction or when the origin country drives the estimated arrival.\",\"value\":{\"order\":{\"merchant\":\"ACME\",\"payment\":{\"currency\":\"AED\",\"order_total\":450},\"fulfillment_location\":{\"partner_location_id\":\"store-ad-marina-mall\"},\"customer\":{\"country\":\"AE\",\"state\":\"ABU-DHABI\",\"city\":\"ABU-DHABI\"},\"line_items\":[{\"id\":\"line-1\",\"sku\":\"WATCH-SS-42\",\"quantity\":1,\"weight\":{\"value\":0.4,\"unit\":\"kg\"}}]}}},\"Cash on Delivery\":{\"summary\":\"Order paid on delivery\",\"description\":\"Set `payment.payment_on_delivery` to the amount payable to the courier on delivery. Carriyo derives the payment type as `CASH_ON_DELIVERY`, which lets options with a payment-type condition evaluate correctly — pre-payment-only options will be excluded.\",\"value\":{\"order\":{\"merchant\":\"ACME\",\"payment\":{\"currency\":\"AED\",\"order_total\":199,\"payment_on_delivery\":199},\"customer\":{\"country\":\"AE\",\"state\":\"DUBAI\",\"city\":\"DUBAI\"},\"line_items\":[{\"id\":\"line-1\",\"sku\":\"HEADPHONES-BT-OE\",\"quantity\":1,\"weight\":{\"value\":0.3,\"unit\":\"kg\"}}]}}},\"Existing Order by ID\":{\"summary\":\"Existing order — referenced by Carriyo order ID\",\"description\":\"When the order was created in Carriyo earlier in the flow, reference it by `order_id`. Carriyo loads the order — including the customer's address, items, payment, and fulfillment locations — and runs condition matching against that data. Useful for refreshing options after the order has been created but before the shopper picks a delivery method.\",\"value\":{\"order_id\":\"6c5f2a4e-0a3b-4d2e-9f1a-1b2c3d4e5f60\"}},\"Existing Order by Partner Reference\":{\"summary\":\"Existing order — referenced by your own order reference\",\"description\":\"Same as the previous example, but identifies the order using your own reference rather than the Carriyo `order_id`. Use this when you don't store the Carriyo ID in your system.\",\"value\":{\"partner_order_reference\":\"ACME-ORD-2026-04-12345\"}}}}}},\"responses\":{\"200\":{\"description\":\"The delivery options that match the supplied order.\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/delivery-options-response-item\"}},\"examples\":{\"Mixed Delivery and Collection Options\":{\"summary\":\"A mix of DELIVERY and COLLECTION options matching the cart\",\"description\":\"Three options are returned: two `DELIVERY` options and one `COLLECTION` option (customer collects from a store).\\n\\n> **Known limitation:** the response does not currently include the collection-point address for `COLLECTION` options. The shopper's UI typically resolves the collection point separately (e.g., a store locator keyed off the same merchant + customer geography). This is being tracked as a separate enhancement.\",\"value\":[{\"type\":\"DELIVERY\",\"code\":\"STD\",\"name\":\"Standard Delivery\",\"description\":\"Delivered in 2–4 working days\",\"carrier_account_id\":\"ca-aramex-uae-001\",\"shipping_fee\":{\"amount\":15,\"currency\":\"AED\"},\"estimated_arrival_from\":\"2026-05-07T09:00:00.000Z\",\"estimated_arrival_to\":\"2026-05-09T18:00:00.000Z\"},{\"type\":\"DELIVERY\",\"code\":\"NEXT_DAY\",\"name\":\"Next Day Delivery\",\"description\":\"Order before 6pm for next working day\",\"carrier_account_id\":\"ca-fetchr-uae-001\",\"shipping_fee\":{\"amount\":25,\"currency\":\"AED\"},\"estimated_arrival_from\":\"2026-05-06T09:00:00.000Z\",\"estimated_arrival_to\":\"2026-05-06T18:00:00.000Z\"},{\"type\":\"COLLECTION\",\"code\":\"STORE_PICKUP\",\"name\":\"Collect From Store\",\"description\":\"Free pickup from a participating store\",\"carrier_account_id\":\"ca-acme-self-collect\",\"shipping_fee\":{\"amount\":0,\"currency\":\"AED\"},\"estimated_arrival_from\":\"2026-05-06T10:00:00.000Z\",\"estimated_arrival_to\":\"2026-05-06T22:00:00.000Z\"}]}}}}}}}},\"/carrier-accounts\":{\"get\":{\"tags\":[\"carrier-accounts\"],\"summary\":\"List Carrier Accounts\",\"operationId\":\"list-carrier-accounts\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"status\",\"in\":\"query\",\"schema\":{\"type\":\"string\",\"enum\":[\"active\",\"inactive\",\"deleted\"]}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/carrier-account-endpoint-object\"}}}}}},\"description\":\"The carrier list endpoint returns a list of carrier-accounts that you have setup in your Carriyo account. A carrier account can be `inactive` if it is not in use.\\n\\nBy default, the endpoint returns all active and inactive carrier accounts. The `status` query parameter can be passed to return carrier accounts based on the status. You can pass the following values to the `status` parameter.\\n- active\\n- inactive\\n- deleted\\n\\n**Inactive carrier accounts cannot be used for booking. Hence you may want to only fetch active carrier accounts by passing query parameter of `status=active`.**\"},\"post\":{\"tags\":[\"carrier-accounts\"],\"summary\":\"Create Carrier Account\",\"operationId\":\"create-carrier-account\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/carrier-account-endpoint-request\"}}},\"required\":false},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/carrier-account-endpoint-object\"}}}}},\"x-codegen-request-body-name\":\"body\"},\"parameters\":[]},\"/carrier-accounts/{carrier-account-id}\":{\"get\":{\"tags\":[\"carrier-accounts\"],\"summary\":\"Get Carrier Account\",\"operationId\":\"get-carrier-account\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"carrier-account-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/carrier-account-endpoint-object\"}}}}}},\"put\":{\"tags\":[\"carrier-accounts\"],\"summary\":\"Update Carrier Account\",\"operationId\":\"update-carrier-account\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"carrier-account-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/carrier-account-endpoint-request\"}}},\"required\":false},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/carrier-account-endpoint-object\"}}}}},\"x-codegen-request-body-name\":\"body\"},\"delete\":{\"tags\":[\"carrier-accounts\"],\"summary\":\"Delete Carrier Account\",\"operationId\":\"delete-carrier-account\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"carrier-account-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/carrier-account-endpoint-object\"}}}}}},\"parameters\":[{\"schema\":{\"type\":\"string\"},\"name\":\"carrier-account-id\",\"in\":\"path\",\"required\":true}]},\"/manifests\":{\"get\":{\"tags\":[\"manifests\"],\"summary\":\"List Manifests\",\"operationId\":\"list-manifests\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/manifest-response\"}}}}}}},\"post\":{\"tags\":[\"manifests\"],\"summary\":\"Create Manifest\",\"operationId\":\"create-manifest\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/manifest-request\"}}},\"required\":false},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/manifest-response\"}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/manifests/{manifest-id}\":{\"get\":{\"tags\":[\"manifests\"],\"summary\":\"Get Manifest\",\"operationId\":\"get-manifest\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"manifest-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/manifest-response\"}}}}}},\"delete\":{\"tags\":[\"manifests\"],\"summary\":\"Delete Manifest\",\"operationId\":\"delete-manifest\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"manifest-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/manifest-response\"}}}}}}},\"/manifests/{manifest-id}/cancel\":{\"patch\":{\"tags\":[\"manifests\"],\"summary\":\"Cancel Manifest\",\"operationId\":\"cancel-manifest\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"manifest-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}}}},\"/manifests/{manifest-id}/retry\":{\"patch\":{\"tags\":[\"manifests\"],\"summary\":\"Retry Manifest\",\"operationId\":\"retry-manifest\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"manifest-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}}}},\"/manifests/{manifest-id}/ship\":{\"patch\":{\"tags\":[\"manifests\"],\"summary\":\"Ship Manifest\",\"operationId\":\"ship-manifest\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"manifest-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}}}},\"/attributes\":{\"get\":{\"tags\":[\"attributes\"],\"summary\":\"List Attrbutes\",\"operationId\":\"list-attrbutes\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/attribute-response\"}}}}}}},\"post\":{\"tags\":[\"attributes\"],\"summary\":\"Create Attribute\",\"operationId\":\"create-attribute\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/attribute-request\"}}},\"required\":false},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/attribute-response\"}}}}},\"x-codegen-request-body-name\":\"body\"}},\"/attributes/{attribute-id}\":{\"get\":{\"tags\":[\"attributes\"],\"summary\":\"Get Attribute\",\"operationId\":\"get-attribute\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"attribute-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/attribute-response\"}}}}},\"description\":\"\"},\"put\":{\"tags\":[\"attributes\"],\"summary\":\"Update Attribute\",\"operationId\":\"update-attribute\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"attribute-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/attribute-request\"}}},\"required\":false},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/attribute-response\"}}}}},\"x-codegen-request-body-name\":\"body\"},\"delete\":{\"tags\":[\"attributes\"],\"summary\":\"Delete Attribute\",\"operationId\":\"delete-attribute\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"attribute-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/attribute-response\"}}}}}}},\"/automation-rulesets\":{\"post\":{\"tags\":[\"automation-rules\"],\"summary\":\"Create Automation Ruleset\",\"description\":\"This endpoint creates a new automation ruleset with an optional set of rules.\",\"operationId\":\"create-automation-ruleset-and-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-ruleset-with-rules-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-ruleset-with-rules-response\"}}}}}},\"get\":{\"tags\":[\"automation-rules\"],\"summary\":\"List Automation Rulesets\",\"description\":\"This endpoint lists automation rulesets for one or more or all merchants. If no merchant parameter is passed, the endpoint returns all rulesets.\",\"operationId\":\"list-automation-rulesets\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"merchant\",\"description\":\"merchant id\",\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"entity-type\",\"description\":\"Shipment entity type FORWARD or REVERSE\",\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ruleset-response\"}}}}}}}},\"/automation-rulesets/{automation-ruleset-id}\":{\"get\":{\"tags\":[\"automation-rules\"],\"summary\":\"Get Automation Ruleset\",\"description\":\"This endpoint returns the automation ruleset\",\"operationId\":\"get-automation-ruleset\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"automation-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ruleset-response\"}}}}}},\"put\":{\"tags\":[\"automation-rules\"],\"summary\":\"Update Automation Ruleset\",\"description\":\"This endpoint updates the automation ruleset including the rules it contains.\",\"operationId\":\"update-automation-ruleset-and-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"automation-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-ruleset-with-rules-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-ruleset-with-rules-response\"}}}}}},\"patch\":{\"tags\":[\"automation-rules\"],\"summary\":\"Update Automation Ruleset\",\"description\":\"This endpoint updates the automation ruleset without updating the rules.\",\"operationId\":\"patch-automation-ruleset\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"automation-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ruleset-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ruleset-response\"}}}}}},\"delete\":{\"tags\":[\"automation-rules\"],\"summary\":\"Delete Automation Ruleset\",\"description\":\"This endpoint deletes the automation ruleset including the rules it contains.\",\"operationId\":\"delete-automation-ruleset\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"automation-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}}}},\"/automation-rulesets/{automation-ruleset-id}/rules\":{\"post\":{\"tags\":[\"automation-rules\"],\"summary\":\"Create Automation Rule\",\"description\":\"This endpoint adds a new automation rule to the ruleset.\",\"operationId\":\"create-automation-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"automation-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-rule-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-rule-response\"}}}}}},\"get\":{\"tags\":[\"automation-rules\"],\"summary\":\"List automation rules\",\"description\":\"This endpoint lists all the automation rules within the ruleset.\",\"operationId\":\"list-automation-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"automation-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/automation-rule-response\"}}}}}}}},\"/automation-rulesets/{ruleset-id}/rules/{automation-rule-id}\":{\"get\":{\"tags\":[\"automation-rules\"],\"summary\":\"Get Automation Rule\",\"description\":\"This endpoint returns the automation rule.\",\"operationId\":\"get-automation-rule\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"automation-rule-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-rule-response\"}}}}}},\"delete\":{\"tags\":[\"automation-rules\"],\"summary\":\"Delete Automation Rule\",\"description\":\"This endpoint deletes the automation rule.\",\"operationId\":\"delete-automation-rule\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"automation-rule-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}}},\"put\":{\"tags\":[\"automation-rules\"],\"summary\":\"Update Automation Rule\",\"description\":\"This endpoint updates the automation rule.\",\"operationId\":\"update-automation-rule\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"automation-rule-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-rule-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/automation-rule-response\"}}}}}}},\"/automation-rulesets/{ruleset-id}/rules/sequences\":{\"patch\":{\"tags\":[\"automation-rules\"],\"summary\":\"Update Automation Sequence\",\"description\":\"This endpoint updates the sequence or priority of rules in the ruleset.\",\"operationId\":\"update-automation-rules-sequence\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/sequences-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/sequences-request\"}}}}}}},\"/service-level-rulesets\":{\"post\":{\"tags\":[\"service-levels\"],\"summary\":\"Create Service Level Ruleset\",\"description\":\"This endpoint creates a new service level ruleset with an optional set of rules.\",\"operationId\":\"create-service-level-ruleset-and-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-ruleset-with-rules-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-ruleset-with-rules-response\"}}}}}},\"get\":{\"tags\":[\"service-levels\"],\"summary\":\"List Service Level Rulesets\",\"operationId\":\"list-service-level-rulesets\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"merchant\",\"description\":\"merchant id\",\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"entity-type\",\"description\":\"Shipment entity type FORWARD or REVERSE\",\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ruleset-response\"}}}}}}}},\"/service-level-rulesets/{service-level-ruleset-id}\":{\"get\":{\"tags\":[\"service-levels\"],\"summary\":\"Get Service Level Ruleset\",\"description\":\"This endpoint returns the service level ruleset\",\"operationId\":\"get-service-level-ruleset\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"service-level-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ruleset-response\"}}}}}},\"put\":{\"tags\":[\"service-levels\"],\"summary\":\"Update Service Level Ruleset\",\"description\":\"This endpoint updates the service level ruleset including the rules it contains.\",\"operationId\":\"update-service-level-ruleset-and-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"service-level-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-ruleset-with-rules-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-ruleset-with-rules-response\"}}}}}},\"patch\":{\"tags\":[\"service-levels\"],\"summary\":\"Update Service Level Ruleset\",\"description\":\"This endpoint updates the service level ruleset without updating the rules.\",\"operationId\":\"patch-service-level-ruleset\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"service-level-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ruleset-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ruleset-response\"}}}}}},\"delete\":{\"tags\":[\"service-levels\"],\"summary\":\"Delete Service Level Ruleset\",\"description\":\"This endpoint deletes the service level ruleset including the rules it contains.\",\"operationId\":\"delete-service-level-ruleset\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"service-level-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}}}},\"/service-level-rulesets/{service-level-ruleset-id}/rules\":{\"post\":{\"tags\":[\"service-levels\"],\"summary\":\"Create Service Level Rule\",\"description\":\"This endpoint adds a new service level rule to the ruleset.\",\"operationId\":\"create-service-level-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"service-level-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-rule-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-rule-response\"}}}}}},\"get\":{\"tags\":[\"service-levels\"],\"summary\":\"List Service Level Rules\",\"description\":\"This endpoint lists all the service level rules within the ruleset.\",\"operationId\":\"list-service-level-rules\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"service-level-ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/service-level-rule-response\"}}}}}}}},\"/service-level-rulesets/{ruleset-id}/rules/{service-level-rule-id}\":{\"get\":{\"tags\":[\"serice-level-rules\"],\"summary\":\"Get Service Level Rule\",\"description\":\"This endpoint returns the service level rule.\",\"operationId\":\"get-service-level-rule\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"service-level-rule-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-rule-response\"}}}}}},\"delete\":{\"tags\":[\"service-levels\"],\"summary\":\"Delete Service Level Rule\",\"description\":\"This endpoint deletes the service level rule.\",\"operationId\":\"delete-service-level-rule\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"service-level-rule-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}}},\"put\":{\"tags\":[\"service-levels\"],\"summary\":\"Update Service Level Rule\",\"description\":\"This endpoint updates the service level rule.\",\"operationId\":\"update-service-level-rule\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"service-level-rule-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-rule-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/service-level-rule-response\"}}}}}}},\"/service-level-rulesets/{ruleset-id}/rules/sequences\":{\"patch\":{\"tags\":[\"service-levels\"],\"summary\":\"Update Service Level Sequence\",\"description\":\"This endpoint updates the sequence or priority of rules in the ruleset.\",\"operationId\":\"update-service-level-rules-sequence\",\"parameters\":[{\"name\":\"x-api-key\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"tenant-id\",\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Content-Type\",\"in\":\"header\",\"schema\":{\"type\":\"string\",\"default\":\"application/json\"}},{\"name\":\"ruleset-id\",\"in\":\"path\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/sequences-request\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/sequences-request\"}}}}}}}},\"components\":{\"schemas\":{\"attribute-request\":{\"title\":\"Attribute Request\",\"required\":[\"allowed_values\",\"attribute_name\",\"attribute_type\"],\"type\":\"object\",\"properties\":{\"attribute_name\":{\"type\":\"string\"},\"allowed_values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"attribute_type\":{\"type\":\"string\",\"enum\":[\"STRING\",\"NUMBER\",\"ENUM\",\"BOOLEAN\",\"MAP\"]},\"attribute_entity_type\":{\"type\":\"string\",\"enum\":[\"SHIPMENT\",\"ADDRESS\",\"PRODUCT\"]},\"merchants\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"attribute-response\":{\"title\":\"Attribute Response\",\"required\":[\"allowed_values\",\"attribute_name\",\"attribute_type\"],\"type\":\"object\",\"properties\":{\"custom_attribute_id\":{\"type\":\"string\"},\"attribute_name\":{\"type\":\"string\"},\"allowed_values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"attribute_type\":{\"type\":\"string\",\"enum\":[\"STRING\",\"NUMBER\",\"ENUM\",\"BOOLEAN\",\"MAP\"]},\"attribute_entity_type\":{\"type\":\"string\",\"enum\":[\"SHIPMENT\",\"ADDRESS\",\"PRODUCT\"]},\"merchants\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"bulk-shipment-status-response\":{\"title\":\"Bulk Shipment Status Response\",\"type\":\"object\",\"properties\":{\"shipmentId\":{\"type\":\"string\"},\"status\":{\"$ref\":\"#/components/schemas/carriyo-response-status\"},\"milestones\":{\"type\":\"array\",\"description\":\"The list of all shipment statuses\",\"items\":{\"type\":\"object\",\"properties\":{\"status\":{\"$ref\":\"#/components/schemas/carriyo-response-status\"},\"date\":{\"type\":\"string\"}}}}}},\"carrier-account-request\":{\"title\":\"Carrier Account Request\",\"type\":\"object\",\"description\":\"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.\",\"properties\":{\"carrier_id\":{\"type\":\"string\",\"description\":\"The ID of the carrier account assigned to the shipment\"},\"carrier_account_name\":{\"type\":\"string\",\"description\":\"The name of the carrier account assigned to the shipment\"}}},\"carrier-account-object\":{\"title\":\"Carrier Account Object\",\"type\":\"object\",\"description\":\"Carrier account chosen for the shipment.\",\"properties\":{\"carrier\":{\"type\":\"string\",\"description\":\"The actual carrier based on the carrier account assigned to the shipment\",\"example\":\"DHL\"},\"carrier_account_name\":{\"type\":\"string\",\"description\":\"The name of the carrier account assigned to the shipment\",\"example\":\"My DHL Account\"},\"carrier_id\":{\"type\":\"string\",\"description\":\"The id of the carrier account assigned to the shipment\",\"example\":\"act_1261YQIU2eTuokipwqbNBV\"}}},\"carrier-account-endpoint-request\":{\"type\":\"object\",\"x-examples\":{\"example-1\":{\"carrier_account_id\":\"da335c3b-0f99-4558-b54a-851zx3b86975\",\"carrier_account_name\":\"QUIQUP SAME DAY\",\"carrier\":\"QUIQUP\",\"daily_capacity_id\":\"9a4bc256-7884-46c3-aa7f-bded930cca74\",\"costing_profile_id\":\"69f19360-12b0-4f4b-9b44-79653e2155c1\",\"network_id\":\"cd7b4dda-7250-4183-90dc-59344a095b14\",\"property\":{\"CLIENT_ID\":\"client_id_value\",\"CLIENT_SECRET\":\"client_secret_value\",\"BILLING_IDENTIFIER\":\"billing_identifier_value\",\"ORDER_TYPE\":\"partner_same_day\",\"BILLING_IDENTIFIER_MAPPING\":\"{}\",\"URL\":\"https://api.staging.quiqup.com/\"},\"label\":{\"default_label\":\"carrier_pdf\"},\"auto_ready_to_ship\":true,\"auto_return_confirmed\":false,\"auto_translate_to_english\":true}},\"properties\":{\"carrier_account_id\":{\"type\":\"string\"},\"carrier_account_name\":{\"type\":\"string\"},\"carrier\":{\"type\":\"string\"},\"daily_capacity_id\":{\"type\":\"string\"},\"in_flight_capacity_id\":{\"type\":\"string\"},\"costing_profile_id\":{\"type\":\"string\"},\"network_id\":{\"type\":\"string\"},\"property\":{\"type\":\"object\"},\"label\":{\"type\":\"object\",\"properties\":{\"default_label\":{\"type\":\"string\"}}},\"auto_ready_to_ship\":{\"type\":\"boolean\"},\"auto_return_confirmed\":{\"type\":\"boolean\"},\"auto_translate_to_english\":{\"type\":\"boolean\"}},\"description\":\"\"},\"carrier-account-endpoint-object\":{\"type\":\"object\",\"x-examples\":{\"example-1\":{\"carrier_account_id\":\"da335c3b-0f99-4558-b54a-851zx3b86975\",\"carrier_account_name\":\"QUIQUP SAME DAY\",\"carrier\":\"QUIQUP\",\"daily_capacity_id\":\"9a4bc256-7884-46c3-aa7f-bded930cca74\",\"costing_profile_id\":\"69f19360-12b0-4f4b-9b44-79653e2155c1\",\"network_id\":\"cd7b4dda-7250-4183-90dc-59344a095b14\",\"property\":{\"CLIENT_ID\":\"client_id_value\",\"CLIENT_SECRET\":\"client_secret_value\",\"BILLING_IDENTIFIER\":\"billing_identifier_value\",\"ORDER_TYPE\":\"partner_same_day\",\"BILLING_IDENTIFIER_MAPPING\":\"{}\",\"URL\":\"https://api.staging.quiqup.com/\"},\"label\":{\"default_label\":\"carrier_pdf\"},\"update_date\":\"2022-07-12T05:32:19.757Z\",\"auto_ready_to_ship\":true,\"auto_return_confirmed\":false,\"auto_translate_to_english\":true,\"deleted\":false}},\"properties\":{\"carrier_account_id\":{\"type\":\"string\"},\"carrier_account_name\":{\"type\":\"string\"},\"carrier\":{\"type\":\"string\"},\"daily_capacity_id\":{\"type\":\"string\"},\"in_flight_capacity_id\":{\"type\":\"string\"},\"costing_profile_id\":{\"type\":\"string\"},\"network_id\":{\"type\":\"string\"},\"property\":{\"type\":\"object\"},\"label\":{\"type\":\"object\",\"properties\":{\"default_label\":{\"type\":\"string\"}}},\"auto_ready_to_ship\":{\"type\":\"boolean\"},\"auto_return_confirmed\":{\"type\":\"boolean\"},\"auto_translate_to_english\":{\"type\":\"boolean\"},\"update_date\":{\"type\":\"string\"},\"deleted\":{\"type\":\"boolean\"}},\"description\":\"\"},\"carriyo-response-status\":{\"title\":\"Carriyo Response Status\",\"type\":\"string\",\"enum\":[\"pending\",\"error\",\"booked\",\"ready-to-ship\",\"shipped\",\"out_for_delivery\",\"delivered\",\"cancelled\",\"cancelled_by_carrier\",\"failed_collection_attempt\",\"in_transit\",\"awaiting_customer_collection\",\"delivery_confirmed\",\"failed_delivery_attempt\",\"ready_for_return\",\"return_in_transit\",\"returned\",\"return_confirmed\",\"suspended\",\"missing\",\"delayed\"]},\"collection-request\":{\"title\":\"Collection Request\",\"type\":\"object\",\"description\":\"Collection details chosen for the shipment, such as scheduled collection date.\\n\\nIt can be set using one of the following options\\n\\nOption 1: Provide the `scheduled_from` and `scheduled_to` to choose the scheduled date along with start and end time.\\n\\nExample:\\n\\\"collection\\\": {\\n  \\\"scheduled_from\\\": \\\"2022-01-01'T'10:00:00.000+1:00\\\",\\n  \\\"scheduled_to\\\": \\\"2022-01-01'T'12:00:00.000+1:00\\\"\\n}\\n\\nOption 2: Provide the `scheduled_date` only to choose the entire day.\\n\\nExample:\\n\\\"collection\\\": {\\n  \\\"scheduled_date\\\": \\\"2022-01-01\\\"\\n}\",\"properties\":{\"scheduled_date\":{\"type\":\"string\",\"description\":\"Scheduled date for delivery provided by the merchant, represented using only the date part of the ISO 8601 format.\",\"format\":\"date\",\"example\":\"2022-01-01\"},\"scheduled_from\":{\"type\":\"string\",\"description\":\"Start datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.\",\"format\":\"date-time\",\"example\":\"2022-01-01T10:00:000Z\"},\"scheduled_to\":{\"type\":\"string\",\"description\":\"End datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.\",\"format\":\"date-time\",\"example\":\"2022-01-01T12:00:000Z\"}}},\"collection-object\":{\"title\":\"Collection Object\",\"type\":\"object\",\"description\":\"Collection details chosen for the shipment, such as scheduled collection date.\",\"properties\":{\"scheduled_date\":{\"type\":\"string\",\"description\":\"Scheduled date for collection provided by the merchant, represented using only the date part of the ISO 8601 format.\",\"format\":\"date\",\"example\":\"2022-01-01\"},\"scheduled_from\":{\"type\":\"string\",\"description\":\"Start datetime for collection provided by the merchant, represented using both the date and time the ISO 8601 format.\",\"format\":\"date-time\",\"example\":\"2022-01-01T10:00:000Z\"},\"scheduled_to\":{\"type\":\"string\",\"description\":\"End datetime for collection provided by the merchant, represented using both the date and time the ISO 8601 format.\",\"format\":\"date-time\",\"example\":\"2022-01-01T12:00:000Z\"}}},\"create-shipment-error-response\":{\"title\":\"Create Shipment Error Response\",\"type\":\"object\",\"description\":\"The error response returned when a shipment creation request is rejected by Carriyo\",\"properties\":{\"status\":{\"type\":\"string\",\"description\":\"The error status\",\"example\":\"error\"},\"timestamp\":{\"type\":\"string\",\"description\":\"date in format:\\n<code>yyyy-MM-dd'T'HH:mm:ss.SSSXXX</code>\"},\"errors\":{\"type\":\"array\",\"description\":\"Array of validation errors\",\"items\":{\"type\":\"string\"}}}},\"custom-attributes\":{\"title\":\"Custom Attributes\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"description\":\"Custom attributes in the form of a map:\\n```\\n{\\\"attribute1\\\" : [\\\"value1\\\", \\\"value2\\\"], \\\"attribute2\\\" : [\\\"value1\\\", \\\"value2\\\"]}\\n```\\nPlease Note: You can only use custom attributes if you are subscribed to this feature.\"},\"custom-fields\":{\"title\":\"Custom Fields\",\"type\":\"object\",\"additionalProperties\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"description\":\"Custom address fields in the form of a map:\\n```\\n{\\\"field1\\\" : [\\\"value1\\\", \\\"value2\\\"], \\\"field2\\\" : [\\\"value1\\\", \\\"value2\\\"]}\\n```\"},\"address-codes\":{\"title\":\"Address Codes\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/address-code\"}},\"address-code\":{\"title\":\"Address Code\",\"type\":\"object\",\"description\":\"Location-specific address identifier used in certain countries or systems to enhance delivery precision\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"WHAT_3_WORDS\",\"EMIRATES_MAKANI_CODE\",\"KUWAIT_PACI_CODE\",\"SAUDI_SHORT_CODE\"],\"description\":\"Type of address code\"},\"value\":{\"type\":\"string\",\"description\":\"The actual value of the address code corresponding to the selected type\"}}},\"registration-numbers\":{\"title\":\"Registration Numbers\",\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/registration-number\"}},\"registration-number\":{\"title\":\"Registration Number\",\"type\":\"object\",\"description\":\"Registration number associated with the entity.\",\"properties\":{\"type_code\":{\"type\":\"string\",\"enum\":[\"VAT\",\"EIN\",\"GST\",\"SSN\",\"EOR\",\"DUN\",\"FED\",\"STA\",\"CNP\",\"IE\",\"INN\",\"KPP\",\"OGR\",\"OKP\",\"SDT\",\"IOSS\",\"PAN\"],\"description\":\"Type of registration number\"},\"value\":{\"type\":\"string\",\"description\":\"The actual value of the registration number corresponding to the selected type\"},\"issuer_country_code\":{\"type\":\"string\",\"description\":\"Two-letter country code (ISO 3166-1 alpha-2).\"}}},\"delivery-request\":{\"title\":\"Delivery\",\"type\":\"object\",\"properties\":{\"delivery_type\":{\"type\":\"string\",\"description\":\"Pass one of the delivery types you have predefined in Carriyo\"},\"scheduled_from\":{\"type\":\"string\",\"description\":\"Pass the start date-time\",\"format\":\"date-time\"},\"scheduled_to\":{\"type\":\"string\",\"description\":\"Pass the end date-time\",\"format\":\"date-time\"},\"scheduled_date\":{\"type\":\"string\",\"description\":\"Pass the Scheduled Date to select an entire day\",\"format\":\"date\"}},\"description\":\"The delivery options chosen for the shipment, including the delivery type and schedule.\\n\\nIt can be set using one of the following options\\n\\nOption 1: Provide the `scheduled_from` and `scheduled_to` to choose the scheduled date along with start and end time.\\n\\nExample:\\n\\\"delivery\\\": {\\n  \\\"delivery_type\\\": \\\"STANDARD\\\",\\n  \\\"scheduled_from\\\": \\\"2022-01-01'T'10:00:00.000+1:00\\\",\\n  \\\"scheduled_to\\\": \\\"2022-01-01'T'12:00:00.000+1:00\\\"\\n}\\n\\nOption 2: Provide the `scheduled_date` only to choose the entire day.\\n\\nExample:\\n\\\"delivery\\\": {\\n  \\\"delivery_type\\\": \\\"STANDARD\\\",\\n  \\\"scheduled_date\\\": \\\"2022-01-01\\\"\\n}\"},\"delivery-object\":{\"title\":\"Delivery Object\",\"type\":\"object\",\"description\":\"Delivery details chosen for the shipment, such as chosen delivery type and scheduled delivery date.\",\"properties\":{\"delivery_type\":{\"type\":\"string\",\"description\":\"The type of the delivery. The possible values can be one of the delivery types predefined by the merchant.\"},\"scheduled_date\":{\"type\":\"string\",\"description\":\"Scheduled date for delivery provided by the merchant, represented using only the date part of the ISO 8601 format.\",\"format\":\"date\",\"example\":\"2022-01-01\"},\"scheduled_from\":{\"type\":\"string\",\"description\":\"Start datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.\",\"format\":\"date-time\",\"example\":\"2022-01-01T10:00:000Z\"},\"scheduled_to\":{\"type\":\"string\",\"description\":\"End datetime for delivery provided by the merchant, represented using both the date and time the ISO 8601 format.\",\"format\":\"date-time\",\"example\":\"2022-01-01T12:00:000Z\"}}},\"dimension\":{\"title\":\"Dimension\",\"type\":\"object\",\"properties\":{\"width\":{\"type\":\"number\"},\"height\":{\"type\":\"number\"},\"depth\":{\"type\":\"number\"},\"unit\":{\"type\":\"string\",\"enum\":[\"cm\"],\"description\":\"Default dimension unit is `cm` if not provided.\"}}},\"error-detail\":{\"title\":\"Error Detail\",\"type\":\"object\",\"properties\":{\"level\":{\"type\":\"string\",\"description\":\"Possible Values: ERROR, WARNING\"},\"code\":{\"type\":\"string\",\"description\":\"Possible Values:\\nrequired_data_missing, required_data_invalid, merchant_missing, default_merchant_not_configured, phone_number_invalid, email_invalid, email_missing, coordinates_invalid, coordinates_latitude_invalid, coordinates_longitude_invalid, carrier_account_invalid, no_carrier_assigned, partner_location_invalid, time_slot_invalid, status_change_not_allowed, custom_attribute_invalid, custom_attribute_value_invalid, parcel_item_invalid, payment_method_invalid, payment_currency_invalid, country_invalid, postcode_missing, item_origin_country_missing, item_hscode_missing, item_weight_missing, parcel_info_missing, parcel_weight_missing, parcel_dimensions_missing, label_format_invalid, weight_unit_invalid, dimension_unit_invalid, address_field_not_found, template_parsing_failed\"},\"field\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"source\":{\"type\":\"string\",\"description\":\"Possible Values: CARRIYO, CARRIER\"},\"trigger\":{\"type\":\"string\",\"description\":\"Possible Values: BOOKING, CANCELLATION, TRACKING, SCHEDULING\"},\"type\":{\"type\":\"string\",\"description\":\"Possible Values: VALIDATION, TECHNICAL, UNKNOWN\"}}},\"document-object\":{\"title\":\"Document\",\"type\":\"object\",\"description\":\"Represents a document attached to a shipment, such as a commercial invoice, packing list, or certificate.\",\"properties\":{\"document_id\":{\"type\":\"string\",\"description\":\"The unique identifier of the document setting that this document was created from.\"},\"name\":{\"type\":\"string\",\"description\":\"The name of the document (e.g., \\\"Commercial Invoice\\\", \\\"Packing List\\\").\"},\"type\":{\"type\":\"string\",\"description\":\"The type/category of the document.\\nPossible Values:\\ncommercial_invoice, packing_list, customer_receipt, gift_message, label, delivery_advice, manifest, certificate, other\",\"enum\":[\"commercial_invoice\",\"packing_list\",\"customer_receipt\",\"gift_message\",\"label\",\"delivery_advice\",\"manifest\",\"certificate\",\"other\"]},\"source\":{\"type\":\"string\",\"description\":\"Indicates who created/uploaded the document.\\nPossible Values:\\n- carriyo: Document generated by Carriyo\\n- carrier: Document provided by the carrier\\n- user: Document uploaded by the merchant/user via API\",\"enum\":[\"carriyo\",\"carrier\",\"user\"]},\"format\":{\"type\":\"string\",\"description\":\"The file format of the document.\\nPossible Values:\\npdf\",\"enum\":[\"pdf\"]},\"url\":{\"type\":\"string\",\"description\":\"The URL to access/download the document. This URL is a pre-signed URL that expires after a certain period.\"},\"carrier_upload_status\":{\"type\":\"string\",\"description\":\"The status of uploading this document to the carrier (only applicable for documents configured for carrier upload).\\nPossible Values:\\n- pending: Upload is in progress\\n- complete: Document was successfully uploaded to the carrier\\n- error: Upload to carrier failed\",\"enum\":[\"pending\",\"complete\",\"error\"]},\"carrier_upload_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The date and time when the document was successfully uploaded to the carrier (in ISO 8601 format).\"},\"message\":{\"type\":\"string\",\"description\":\"Additional message or error details related to the document, particularly useful when carrier_upload_status is 'error'.\"}}},\"document-upload-request\":{\"title\":\"Document Upload Request\",\"type\":\"object\",\"description\":\"Request body for uploading a new document to a shipment.\",\"properties\":{\"document_id\":{\"type\":\"string\",\"description\":\"The ID of the document setting to use for this upload. The document setting must be pre-configured in your Carriyo account.\\nEither `document_id` or `document_name` must be provided.\"},\"document_name\":{\"type\":\"string\",\"description\":\"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.\\nEither `document_id` or `document_name` must be provided.\"},\"content_base64\":{\"type\":\"string\",\"description\":\"The document content encoded as a Base64 string. Currently only PDF format is supported.\"}},\"required\":[\"content_base64\"]},\"document-update-request\":{\"title\":\"Document Update Request\",\"type\":\"object\",\"description\":\"Request body for updating an existing document's content in a shipment.\",\"properties\":{\"content_base64\":{\"type\":\"string\",\"description\":\"The new document content encoded as a Base64 string. This will replace the existing document content.\"}},\"required\":[\"content_base64\"]},\"customs-object\":{\"title\":\"Customs\",\"type\":\"object\",\"description\":\"Customs declaration details such as total declared value.\",\"properties\":{\"declared_value\":{\"type\":\"object\",\"description\":\"The total value of the shipment (optional) to declare for customs. This value is computed from individual item price if this is not passed.\",\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"incoterms\":{\"type\":\"string\",\"enum\":[\"CFR\",\"CIF\",\"CIP\",\"CPT\",\"DAF\",\"DAP\",\"DAT\",\"DDP\",\"DDU\",\"DEQ\",\"DES\",\"DPU\",\"EXW\",\"FAS\",\"FCA\",\"FOB\"],\"description\":\"Defines the international trade term (Incoterm) that specifies the responsibility for shipping, duties, and taxes between sender and recipient.\"},\"instructions\":{\"type\":\"string\",\"description\":\"Shipment handling instructions or comments intended for customs.\"},\"declaration_statement\":{\"type\":\"string\",\"description\":\"A formal legal statement required for customs clearance, describing the purpose and nature of the shipment.\"},\"seller\":{\"$ref\":\"#/components/schemas/location-object\"},\"buyer\":{\"$ref\":\"#/components/schemas/location-object\"},\"importer\":{\"$ref\":\"#/components/schemas/location-object\"},\"exporter\":{\"$ref\":\"#/components/schemas/location-object\"},\"broker\":{\"$ref\":\"#/components/schemas/location-object\"}}},\"charge-request\":{\"title\":\"Charge\",\"required\":[\"type\",\"amount\"],\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"shipping\",\"cod\",\"insurance\"],\"description\":\"Defines the category of the charge.\"},\"amount\":{\"type\":\"object\",\"properties\":{\"value\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}}}},\"item-request\":{\"title\":\"Item\",\"required\":[\"description\",\"price\",\"quantity\",\"sku\"],\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\",\"description\":\"SKU ID of the item\"},\"product_item_code\":{\"type\":\"string\",\"description\":\"Use your product item code from your product items list, this will be used for shipment item enhancement.\"},\"description\":{\"type\":\"string\",\"maxLength\":1000,\"description\":\"Description of the item\"},\"barcode\":{\"type\":\"string\",\"description\":\"Barcode of the item\"},\"image_link\":{\"type\":\"string\",\"description\":\"Image URL of the item\"},\"quantity\":{\"minimum\":1,\"type\":\"integer\"},\"price\":{\"type\":\"object\",\"description\":\"The unit price of the item\",\"required\":[\"amount\",\"currency\"],\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"cost\":{\"type\":\"object\",\"description\":\"The unit cost of the item. Useful when the selling price is zero (e.g. samples or promotional items) — customs authorities require a monetary value for declaration even when the item is not being sold. In such cases, set `price` to 0 and provide the actual cost here.\",\"required\":[\"amount\",\"currency\"],\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"weight\":{\"type\":\"object\",\"description\":\"The weight of the item\",\"properties\":{\"value\":{\"type\":\"number\"},\"unit\":{\"type\":\"string\",\"enum\":[\"kg\"],\"description\":\"Default weight unit is `kg` if not provided.\"}}},\"origin_country\":{\"type\":\"string\",\"description\":\"Two-letter ISO country code (ISO 3166-1 alpha-2) for the item's country of origin. Usually required for cross-border shipping.\"},\"hs_code\":{\"type\":\"string\",\"description\":\"HS Code of the item. Usually required for cross-border shipping.\"},\"dangerous_goods\":{\"type\":\"boolean\",\"description\":\"If the item is classified as dangerous goods. Usually required for cross-border shipping.\"},\"battery\":{\"type\":\"object\",\"description\":\"Battery details of the item. Usually required for cross-border shipping.\",\"properties\":{\"material_type\":{\"type\":\"string\",\"enum\":[\"lithium_metal\",\"lithium_ion\"]},\"packing_type\":{\"type\":\"string\",\"enum\":[\"contained_in_equipment\",\"packed_with_equipment\",\"stand_alone\"]}}},\"manufacturer_id\":{\"type\":\"string\",\"description\":\"Manufacturer reference for the item. May be required by some carriers for certain destination countries.\"},\"material_composition\":{\"type\":\"string\",\"description\":\"Material details of the item (e.g., \\\"100% cotton\\\", \\\"polyester blend\\\"). Relevant for textile and apparel shipments where customs classification depends on material.\"},\"notes\":{\"type\":\"string\",\"maxLength\":1000,\"description\":\"Additional information about the item\"},\"taxes\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-tax\"}},\"duties\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-duty\"}}}},\"item-tax\":{\"title\":\"Item-level breakdown of taxes\",\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"number\",\"description\":\"Tax amount\"},\"rate\":{\"type\":\"number\",\"description\":\"Tax rate\"},\"description\":{\"type\":\"string\",\"description\":\"Tax description\"}}},\"item-duty\":{\"title\":\"Item-level breakdown of duties\",\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"number\",\"description\":\"Duty amount\"},\"rate\":{\"type\":\"number\",\"description\":\"Duty rate\"},\"description\":{\"type\":\"string\",\"description\":\"Duty description\"},\"taxes\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-tax\"}}}},\"shipping-rate-item-request\":{\"title\":\"Item\",\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\",\"description\":\"SKU ID of the item. Only required when you are passing parcel_items in the parcel.\"},\"product_item_code\":{\"type\":\"string\",\"description\":\"Use your product item code from your product items list, this will be used for shipment item enhancement.\"},\"quantity\":{\"minimum\":1,\"type\":\"integer\"},\"price\":{\"type\":\"object\",\"description\":\"The unit price of the item\",\"required\":[\"amount\",\"currency\"],\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"cost\":{\"type\":\"object\",\"description\":\"The unit cost of the item. Useful when the selling price is zero (e.g. samples or promotional items) — customs authorities require a monetary value for declaration even when the item is not being sold. In such cases, set `price` to 0 and provide the actual cost here.\",\"required\":[\"amount\",\"currency\"],\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"weight\":{\"type\":\"object\",\"description\":\"The weight of the item\",\"properties\":{\"value\":{\"type\":\"number\"},\"unit\":{\"type\":\"string\",\"enum\":[\"kg\"],\"description\":\"Default weight unit is `kg` if not provided.\"}}},\"origin_country\":{\"type\":\"string\",\"description\":\"Two-letter ISO country code (ISO 3166-1 alpha-2) for the item's country of origin. Usually required for cross-border shipping.\"},\"hs_code\":{\"type\":\"string\",\"description\":\"HS Code of the item. Usually required for cross-border shipping.\"},\"dangerous_goods\":{\"type\":\"boolean\",\"description\":\"If the item is classified as dangerous goods. Usually required for cross-border shipping.\"}}},\"item-object\":{\"title\":\"Item Object\",\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\",\"description\":\"SKU ID of the item\"},\"product_item_code\":{\"type\":\"string\",\"description\":\"Use your product item code from your product items list, this will be used for shipment item enhancement.\"},\"description\":{\"type\":\"string\",\"maxLength\":1000,\"description\":\"Description of the item\"},\"barcode\":{\"type\":\"string\",\"description\":\"Barcode of the item\"},\"image_link\":{\"type\":\"string\",\"description\":\"Image URL of the item\"},\"quantity\":{\"minimum\":1,\"type\":\"integer\"},\"price\":{\"type\":\"object\",\"description\":\"The unit price of the item\",\"required\":[\"amount\",\"currency\"],\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"cost\":{\"type\":\"object\",\"description\":\"The unit cost of the item. Useful when the selling price is zero (e.g. samples or promotional items) — customs authorities require a monetary value for declaration even when the item is not being sold. In such cases, set `price` to 0 and provide the actual cost here.\",\"required\":[\"amount\",\"currency\"],\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"weight\":{\"type\":\"object\",\"description\":\"The weight of the item\",\"properties\":{\"value\":{\"type\":\"number\"},\"unit\":{\"type\":\"string\",\"enum\":[\"kg\"],\"description\":\"Default weight unit is `kg` if not provided.\"}}},\"origin_country\":{\"type\":\"string\",\"description\":\"Two-letter ISO country code (ISO 3166-1 alpha-2) for the item's country of origin. Usually required for cross-border shipping.\"},\"hs_code\":{\"type\":\"string\",\"description\":\"HS Code of the item. Usually required for cross-border shipping.\"},\"dangerous_goods\":{\"type\":\"boolean\",\"description\":\"If the item is classified as dangerous goods. Usually required for cross-border shipping.\"},\"battery\":{\"type\":\"object\",\"description\":\"Battery details of the item. Usually required for cross-border shipping.\",\"properties\":{\"material_type\":{\"type\":\"string\",\"enum\":[\"lithium_metal\",\"lithium_ion\"]},\"packing_type\":{\"type\":\"string\",\"enum\":[\"contained_in_equipment\",\"packed_with_equipment\",\"stand_alone\"]}}},\"manufacturer_id\":{\"type\":\"string\",\"description\":\"Manufacturer reference for the item. May be required by some carriers for certain destination countries.\"},\"material_composition\":{\"type\":\"string\",\"description\":\"Material details of the item (e.g., \\\"100% cotton\\\", \\\"polyester blend\\\"). Relevant for textile and apparel shipments where customs classification depends on material.\"},\"notes\":{\"type\":\"string\",\"description\":\"Additional information about the item\"},\"taxes\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-tax\"}},\"duties\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-duty\"}}},\"x-examples\":{}},\"manifest-request\":{\"title\":\"Manifest Request\",\"required\":[\"carrier_account\",\"merchant\",\"pickup\",\"pickup_schedule_from\",\"pickup_schedule_to\",\"ship_manifest_date\",\"shipment_ids\"],\"type\":\"object\",\"properties\":{\"merchant\":{\"type\":\"string\"},\"shipment_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"carrier_account\":{\"type\":\"string\"},\"pickup\":{\"type\":\"object\",\"properties\":{}},\"pickup_schedule_from\":{\"type\":\"string\",\"format\":\"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\"},\"pickup_schedule_to\":{\"type\":\"string\",\"format\":\"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\"},\"ship_manifest_date\":{\"type\":\"string\",\"format\":\"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\"}}},\"manifest-response\":{\"title\":\"Manifest Response\",\"required\":[\"carrier_account\",\"manifest_id\",\"merchant\",\"pickup\",\"pickup_schedule_from\",\"pickup_schedule_to\",\"ship_manifest_date\",\"shipment_ids\"],\"type\":\"object\",\"properties\":{\"manifest_id\":{\"type\":\"string\"},\"merchant\":{\"type\":\"string\"},\"shipment_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"carrier_account\":{\"type\":\"string\"},\"pickup\":{\"type\":\"object\",\"properties\":{}},\"pickup_schedule_from\":{\"type\":\"string\",\"format\":\"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\"},\"pickup_schedule_to\":{\"type\":\"string\",\"format\":\"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\"},\"ship_manifest_date\":{\"type\":\"string\",\"format\":\"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\"}}},\"payment-request\":{\"title\":\"Payment Request\",\"type\":\"object\",\"description\":\"Payment details including the total value of the shipment and any pending Cash on Delivery amount.\",\"properties\":{\"payment_mode\":{\"type\":\"string\",\"enum\":[\"PRE_PAID\",\"CASH_ON_DELIVERY\"],\"description\":\"Payment mode of the shipment can be `PRE_PAID` or `CASH_ON_DELIVERY`. It defaults to `PRE_PAID` for reverse shipment or if no input is provided.\\n\\n`PRE_PAID` is the only valid value for reverse shipments.\"},\"pending_amount\":{\"minimum\":0,\"type\":\"number\",\"format\":\"double\",\"description\":\"Outstanding amount payable on delivery of the shipment. It defaults to 0 for reverse shipment or if no input is provided.\"},\"total_amount\":{\"minimum\":0,\"type\":\"number\",\"format\":\"double\",\"description\":\"Total value of the shipment\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}},\"required\":[\"total_amount\",\"currency\"]},\"payment-object\":{\"title\":\"Payment Object\",\"type\":\"object\",\"description\":\"Payment details including the total value of the shipment and any pending Cash on Delivery amount.\",\"properties\":{\"payment_mode\":{\"type\":\"string\",\"enum\":[\"PRE_PAID\",\"CASH_ON_DELIVERY\"],\"description\":\"Payment mode of the shipment can be `PRE_PAID` or `CASH_ON_DELIVERY`. It defaults to `PRE_PAID` for reverse shipment or if no input is provided.\\n\\n`PRE_PAID` is the only valid value for reverse shipments.\"},\"pending_amount\":{\"minimum\":0,\"type\":\"number\",\"format\":\"double\",\"description\":\"Outstanding amount payable on delivery of the shipment. It defaults to 0 if no input is provided.\"},\"total_amount\":{\"minimum\":0,\"type\":\"number\",\"format\":\"double\",\"description\":\"Total value of the shipment\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"insurance-object\":{\"title\":\"Insurance Object\",\"type\":\"object\",\"description\":\"Insurance details including the total insured value of the shipment.\",\"properties\":{\"amount\":{\"minimum\":0,\"type\":\"number\",\"format\":\"double\",\"description\":\"Total insured amount of the shipment\"},\"currency\":{\"type\":\"string\",\"description\":\"The three-letter currency code (ISO 4217) for the amount. e.g., USD\"}}},\"parcel-request\":{\"title\":\"Parcel Request\",\"type\":\"object\",\"description\":\"List of parcels in a B2C shipment.\",\"maximum\":250,\"properties\":{\"partner_parcel_reference\":{\"type\":\"string\",\"maxLength\":250,\"description\":\"A reference number to identify the parcel\"},\"description\":{\"type\":\"string\",\"maxLength\":1000,\"description\":\"A description for the parcel\"},\"weight\":{\"$ref\":\"#/components/schemas/weight\"},\"dimension\":{\"$ref\":\"#/components/schemas/dimension\"},\"parcel_items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-item\"}}}},\"shipping-rate-parcel-request\":{\"title\":\"Parcel Request\",\"type\":\"object\",\"description\":\"List of parcels in a B2C shipment.\",\"maximum\":250,\"properties\":{\"weight\":{\"$ref\":\"#/components/schemas/weight\"},\"dimension\":{\"$ref\":\"#/components/schemas/dimension\"},\"parcel_items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-item\"}}}},\"freight-request\":{\"title\":\"Freight request\",\"type\":\"object\",\"description\":\"List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"packages\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/package-object\"}}}},\"promised-delivery-date-request\":{\"title\":\"Promised Delivery Date Request\",\"type\":\"object\",\"description\":\"Revised promised delivery date\",\"properties\":{\"revised_promised_delivery_date\":{\"type\":\"string\",\"description\":\"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\",\"example\":\"2022-01-01T09:00:00.000+1:00\",\"format\":\"date-time\"}}},\"parcel-object\":{\"title\":\"Parcel Object\",\"type\":\"object\",\"description\":\"List of parcels in a B2C shipment.\",\"maximum\":250,\"properties\":{\"parcel_id\":{\"type\":\"string\",\"description\":\"Unique parcel ID generated by Carriyo\"},\"partner_parcel_reference\":{\"type\":\"string\",\"maxLength\":250,\"description\":\"Unique parcel reference provided by the merchant\"},\"description\":{\"type\":\"string\",\"maxLength\":1000,\"description\":\"Description for the parcel provided by the merchant\"},\"weight\":{\"$ref\":\"#/components/schemas/weight\"},\"dimension\":{\"$ref\":\"#/components/schemas/dimension\"},\"parcel_items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-item\"}}}},\"parcel-item\":{\"title\":\"Parcel Item\",\"type\":\"object\",\"properties\":{\"sku\":{\"type\":\"string\"},\"quantity\":{\"type\":\"integer\"}}},\"package-object\":{\"title\":\"Package object\",\"type\":\"object\",\"description\":\"List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"package_reference\":{\"type\":\"string\",\"maxLength\":250,\"description\":\"A reference number to identify the package\"},\"type\":{\"enum\":[\"pallet\",\"carton\"]},\"weight\":{\"$ref\":\"#/components/schemas/weight\"},\"dimension\":{\"$ref\":\"#/components/schemas/dimension\"},\"parent\":{\"type\":\"string\",\"description\":\"A reference number to identify the parent package\"}}},\"shipping-rate-package-object\":{\"title\":\"Package object\",\"type\":\"object\",\"description\":\"List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"type\":{\"enum\":[\"pallet\",\"carton\"]},\"weight\":{\"$ref\":\"#/components/schemas/weight\"},\"dimension\":{\"$ref\":\"#/components/schemas/dimension\"}}},\"personal_id\":{\"title\":\"Personal ID\",\"type\":\"object\",\"description\":\"ID of the person to whom the shipment is addressed\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"ID number\",\"example\":\"U123457896\"},\"type\":{\"type\":\"string\",\"description\":\"ID type\",\"example\":\"Passport\"}}},\"free-form-request\":{\"title\":\"Free-Form Request\",\"description\":\"Provide the contact and address information\",\"type\":\"object\",\"properties\":{\"contact_name\":{\"type\":\"string\",\"description\":\"Name of the contact person or business\",\"example\":\"Jo Bloggs\"},\"company_name\":{\"type\":\"string\",\"description\":\"Business or legal entity name. Optional — only needed when it differs from `contact_name`. For domestic shipments, the company name is often passed directly in `contact_name`.\",\"example\":\"Acme Fashion Ltd\"},\"contact_phone\":{\"type\":\"string\",\"description\":\"Primary phone number for contact in E164 Format with country code.  e.g., +16175551212\\nConditionally mandatory based on Account Settings\",\"format\":\"E164 Format (with +<country-code-prefix>)\",\"example\":16175551212},\"alternate_phone\":{\"type\":\"string\",\"description\":\"Alternate phone number for contact in E164 Format with country code.  e.g., +16175551210\",\"format\":\"E164 Format (with +<country-code-prefix>)\",\"example\":16175551210},\"contact_email\":{\"type\":\"string\",\"description\":\"Email address for contact\\nConditionally mandatory based on Account Settings\",\"format\":\"RFC 5322\",\"example\":\"jo.bloggs@gmail.com\"},\"address1\":{\"type\":\"string\",\"description\":\"Address Line 1 (e.g., street, PO Box, or company name).\",\"example\":\"1 Financial Centre Road\"},\"address2\":{\"type\":\"string\",\"description\":\"Address Line 2 (e.g., apartment, floor, unit, or building).\",\"example\":\"Downtown Views, Apartment 101\"},\"area\":{\"type\":\"string\",\"description\":\"District, suburb or neighbourhood, represented by the Carriyo Area Code if known. If not, it's a free text.\\n\\nPlease use the Carriyo standard Area Code when available, to ensure that Carriyo can map this information correctly to the carrier.\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DOWNTOWN-DUBAI\"},\"city\":{\"type\":\"string\",\"description\":\"City, town, or village, represented by the Carriyo City Code if known. If not, it's a free text.\\n\\nPlease use the Carriyo standard City Code when available, to ensure that Carriyo can map this information correctly to the carrier.\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DUBAI\"},\"state\":{\"type\":\"string\",\"description\":\"State, county, province, or region, represented by the Carriyo State Code if known. If not, it's a free text.\\n\\n**Note: The state is automatically set if a standard Carriyo city is passed.**\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DUBAI\"},\"postcode\":{\"type\":\"string\",\"description\":\"ZIP or postal code\",\"example\":\"E1 6AN\"},\"country\":{\"type\":\"string\",\"description\":\"Two-letter country code (ISO 3166-1 alpha-2).\",\"example\":\"AE\",\"format\":\"Two-letter ISO country code\"},\"coords\":{\"type\":\"array\",\"description\":\"Latitude and longitude (decimal degrees) of the address as an array. e.g., [25.19741, 55.27442]\",\"items\":{\"type\":\"number\",\"example\":41.40338}},\"type\":{\"type\":\"string\",\"description\":\"Type of address. i.e. business or residential\",\"enum\":[\"residential\",\"business\"]},\"notes\":{\"type\":\"string\",\"maxLength\":1000,\"description\":\"Any additional notes e.g., \\\"Leave the parcel next to the bin\\\" or \\\"Collect the parcel from the neighbour\\\"\",\"example\":\"Leave the parcel next to the bin\"},\"personal_id\":{\"$ref\":\"#/components/schemas/personal_id\"},\"po_box\":{\"type\":\"string\",\"description\":\"Box number if the address is a PO Box\"},\"collection_point_id\":{\"type\":\"string\",\"description\":\"ID of the carrier's collection point for deliveries held at the carrier location for collection\"},\"custom_fields\":{\"$ref\":\"#/components/schemas/custom-fields\"},\"address_codes\":{\"$ref\":\"#/components/schemas/address-codes\"},\"registration_numbers\":{\"$ref\":\"#/components/schemas/registration-numbers\"}},\"required\":[\"contact_name\",\"address1\",\"city\",\"country\"]},\"shipping-rate-location-request\":{\"title\":\"Shipping Rate Location Request\",\"description\":\"Provide geography information\",\"type\":\"object\",\"properties\":{\"area\":{\"type\":\"string\",\"description\":\"District, suburb or neighbourhood, represented by the Carriyo Area Code if known. If not, it's a free text.\\n\\nPlease use the Carriyo standard Area Code when available, to ensure that Carriyo can map this information correctly to the carrier.\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DOWNTOWN-DUBAI\"},\"city\":{\"type\":\"string\",\"description\":\"City, town, or village, represented by the Carriyo City Code if known. If not, it's a free text.\\n\\nPlease use the Carriyo standard City Code when available, to ensure that Carriyo can map this information correctly to the carrier.\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DUBAI\"},\"state\":{\"type\":\"string\",\"description\":\"State, county, province, or region, represented by the Carriyo State Code if known. If not, it's a free text.\\n\\n**Note: The state is automatically set if a standard Carriyo city is passed.**\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DUBAI\"},\"postcode\":{\"type\":\"string\",\"description\":\"ZIP or postal code\",\"example\":\"E1 6AN\"},\"country\":{\"type\":\"string\",\"description\":\"Two-letter country code (ISO 3166-1 alpha-2).\",\"example\":\"AE\",\"format\":\"Two-letter ISO country code\"},\"coords\":{\"type\":\"array\",\"description\":\"Latitude and longitude (decimal degrees) of the address as an array. e.g., [25.19741, 55.27442]\",\"items\":{\"type\":\"number\",\"example\":41.40338}}},\"required\":[\"city\",\"country\"]},\"location-request\":{\"title\":\"Location Request\",\"type\":\"object\",\"description\":\"Specify the Carriyo location ID (`partner_location_id`), or the location code (`partner_location_code`) you defined when you created the location in Carriyo.\",\"properties\":{\"partner_location_id\":{\"type\":\"string\",\"description\":\"Carriyo's internal location id to use for the pickup\"},\"partner_location_code\":{\"type\":\"string\",\"description\":\"You can also pass the unique locaton code intead of the location id\"}}},\"location-object\":{\"title\":\"Location Object\",\"type\":\"object\",\"description\":\"Either a free-form address or a predefined location.\",\"properties\":{\"partner_location_id\":{\"type\":\"string\",\"description\":\"ID of the location chosen by the merchant\"},\"contact_name\":{\"type\":\"string\",\"description\":\"Name of the contact person or business\",\"example\":\"Jo Bloggs\"},\"company_name\":{\"type\":\"string\",\"description\":\"Business or legal entity name. Optional — only needed when it differs from `contact_name`. For domestic shipments, the company name is often passed directly in `contact_name`.\",\"example\":\"Acme Fashion Ltd\"},\"contact_phone\":{\"type\":\"string\",\"description\":\"Primary phone number for contact in E164 Format with country code.  e.g., +16175551212\\nConditionally mandatory based on Account Settings\",\"format\":\"E164 Format (with +<country-code-prefix>)\",\"example\":16175551212},\"alternate_phone\":{\"type\":\"string\",\"description\":\"Alternate phone number for contact in E164 Format with country code.  e.g., +16175551210\",\"format\":\"E164 Format (with +<country-code-prefix>)\",\"example\":16175551210},\"contact_email\":{\"type\":\"string\",\"description\":\"Email address for contact\\nConditionally mandatory based on Account Settings\",\"format\":\"RFC 5322\",\"example\":\"jo.bloggs@gmail.com\"},\"address1\":{\"type\":\"string\",\"description\":\"Address Line 1 (e.g., street, PO Box, or company name).\",\"example\":\"1 Financial Centre Road\"},\"address2\":{\"type\":\"string\",\"description\":\"Address Line 2 (e.g., apartment, floor, unit, or building).\",\"example\":\"Downtown Views, Apartment 101\"},\"area\":{\"type\":\"string\",\"description\":\"District, suburb or neighbourhood, represented by the Carriyo Area Code if known. If not, it's a free text.\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DOWNTOWN-DUBAI\"},\"input_area\":{\"type\":\"string\",\"description\":\"(Ready-only) Preserves the original input provided for \\\"area\\\". It is useful when Carriyo is instructed to automatically recognise the Carriyo area code.\",\"example\":\"Downtown Dubai\"},\"area_coords\":{\"type\":\"array\",\"description\":\"(Read-only) Approximate latitude and longitude for the area, if found in Carriyo's database. e.g., [25.1949849, 55.2784141]\",\"items\":{\"type\":\"number\"}},\"city\":{\"type\":\"string\",\"description\":\"City, town, or village, represented by the Carriyo City Code if known. If not, it's a free text.\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DUBAI\"},\"input_city\":{\"type\":\"string\",\"description\":\"(Ready-only) Preserves the original input provided for \\\"city\\\". It is useful when Carriyo is instructed to automatically recognise the Carriyo city code.\",\"example\":\"Dubai\"},\"city_coords\":{\"type\":\"array\",\"description\":\"(Read-only) Approximate latitude and longitude for the city, if found in Carriyo's database. e.g., [25.1949849, 55.2784141]\",\"items\":{\"type\":\"number\"}},\"state\":{\"type\":\"string\",\"description\":\"State, county, province, or region, represented by the Carriyo State Code if known. If not, it's a free text.\\n\\n[Please refer to the Carriyo Geo List for more information.](https://carriyo.com/docs/guides/carriyo-geo-list)\",\"example\":\"DUBAI\"},\"input_state\":{\"type\":\"string\",\"description\":\"(Ready-only) Preserves the original input provided for \\\"state\\\". It is useful when Carriyo is instructed to automatically recognise the Carriyo state code.\",\"example\":\"Dubai\"},\"postcode\":{\"type\":\"string\",\"description\":\"ZIP or postal code\",\"example\":\"E1 6AN\"},\"country\":{\"type\":\"string\",\"description\":\"Two-letter country code (ISO 3166-1 alpha-2).\",\"example\":\"AE\",\"format\":\"Two-letter ISO country code\"},\"coords\":{\"type\":\"array\",\"description\":\"Latitude and longitude (decimal degrees) of the address as an array. e.g., [25.19741, 55.27442]\",\"items\":{\"type\":\"number\",\"example\":41.40338}},\"type\":{\"type\":\"string\",\"description\":\"Type of address. i.e. business or residential\",\"enum\":[\"residential\",\"business\"]},\"notes\":{\"type\":\"string\",\"maxLength\":1000,\"description\":\"Any additional notes e.g., \\\"Leave the parcel next to the bin\\\" or \\\"Collect the parcel from the neighbour\\\"\",\"example\":\"Leave the parcel next to the bin\"},\"personal_id\":{\"$ref\":\"#/components/schemas/personal_id\"},\"po_box\":{\"type\":\"string\",\"description\":\"Box number if the address is a PO Box\"},\"collection_point_id\":{\"type\":\"string\",\"description\":\"ID of the carrier's collection point for deliveries held at the carrier location for collection\"},\"custom_fields\":{\"$ref\":\"#/components/schemas/custom-fields\"},\"address_codes\":{\"$ref\":\"#/components/schemas/address-codes\"},\"registration_numbers\":{\"$ref\":\"#/components/schemas/registration-numbers\"}}},\"post-shipping-info\":{\"title\":\"Post Shipping Info\",\"type\":\"object\",\"description\":\"Booking details such as tracking number, labels etc.\",\"properties\":{\"status\":{\"type\":\"string\",\"description\":\"The status of the shipment (one of the standard Carriyo status)\"},\"reason_code\":{\"type\":\"string\",\"description\":\"The reason code linked to the status (one of the standard Carriyo reason codes or a merchant defined status)\"},\"carrier_status\":{\"type\":\"string\",\"description\":\"The raw status provided by the carrier\"},\"carrier_status_description\":{\"type\":\"string\",\"description\":\"The status description provided by the carrier\"},\"carrier_status_date\":{\"type\":\"string\",\"description\":\"The Date when the carrier status was last updated in ISO 8601 format. Example: 2022-01-01T17:07:05.000Z\",\"format\":\"date-time\"},\"carrier_status_location\":{\"type\":\"string\",\"description\":\"The last known location of the shipment provided by the carrier. For example: Dubai\"},\"tracking_no\":{\"type\":\"string\",\"description\":\"The unique shipment tracking number provided by the carrier\"},\"parcel_tracking_numbers\":{\"type\":\"array\",\"description\":\"Tracking numbers for individual parcels if generated by the carrier\",\"items\":{\"type\":\"object\",\"properties\":{\"parcel_id\":{\"type\":\"string\"},\"tracking_number\":{\"type\":\"string\"}}}},\"default_label_url\":{\"type\":\"string\",\"description\":\"The url for the default label - either carrier or carriyo generated\"},\"carrier_pdf_label_url\":{\"type\":\"string\",\"description\":\"The url of PDF label provided by the carrier\"},\"carrier_qrcode_label_url\":{\"type\":\"string\",\"description\":\"The url of QR code label (PNG) provided by the carrier\"},\"carriyo_pdf_label_url\":{\"type\":\"string\",\"description\":\"The url of PDF label generated by Carriyo\"},\"carriyo_zpl_label_url\":{\"type\":\"string\",\"description\":\"The url of ZPL label generated by Carriyo\"},\"carrier_tracking_url\":{\"type\":\"string\",\"description\":\"The url of tracking page provided by the carrier\"},\"carriyo_tracking_url\":{\"type\":\"string\",\"description\":\"The url of tracking page provided by the Carriyo\"},\"carriyo_feedback_url\":{\"type\":\"string\",\"description\":\"The url of feedback page provided by the Carriyo\"},\"carriyo_pinpoint_url\":{\"type\":\"string\",\"description\":\"The url of pinpoint page provided by the Carriyo\"},\"driver_name\":{\"type\":\"string\",\"description\":\"The name of the driver delivering the shipment\"},\"driver_phone\":{\"type\":\"string\",\"description\":\"The phone number of the driver delivering the shipment\"},\"recipient_name\":{\"type\":\"string\",\"description\":\"The name of the recipient to whom shipment was delivered\"},\"proof_of_delivery\":{\"type\":\"string\",\"description\":\"The url of document or image containing the proof of delivery\"},\"key_milestones\":{\"type\":\"object\",\"properties\":{\"pending\":{\"type\":\"string\"},\"error\":{\"type\":\"string\"},\"booked\":{\"type\":\"string\"},\"out_for_collection\":{\"type\":\"string\"},\"ready_to_ship\":{\"type\":\"string\"},\"cancelled\":{\"type\":\"string\"},\"cancelled_by_carrier\":{\"type\":\"string\"},\"failed_collection_attempt\":{\"type\":\"string\"},\"shipped\":{\"type\":\"string\"},\"in_transit\":{\"type\":\"string\"},\"out_for_delivery\":{\"type\":\"string\"},\"awaiting_customer_collection\":{\"type\":\"string\"},\"delivered\":{\"type\":\"string\"},\"delivery_confirmed\":{\"type\":\"string\"},\"failed_delivery_attempt\":{\"type\":\"string\"},\"ready_for_return\":{\"type\":\"string\"},\"return_in_transit\":{\"type\":\"string\"},\"returned\":{\"type\":\"string\"},\"return_confirmed\":{\"type\":\"string\"},\"suspended\":{\"type\":\"string\"},\"missing\":{\"type\":\"string\"},\"delayed\":{\"type\":\"string\"}}},\"failed_delivery_attempts\":{\"type\":\"number\",\"description\":\"The total number of failed delivery attempts on the shipment\"},\"estimated_delivery_date\":{\"type\":\"string\",\"description\":\"The date the shipment is expected to be delivered in ISO 8601 format. Example: 2022-01-01T17:07:05.000Z\",\"format\":\"date-time\"},\"estimated_ship_date\":{\"type\":\"string\",\"description\":\"The date the shipment is expected to be shipped in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z\",\"format\":\"date-time\"},\"error_details\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/error-detail\"}},\"documents\":{\"type\":\"array\",\"description\":\"Shipping documents such as commercial invoice, packing list etc\",\"items\":{\"$ref\":\"#/components/schemas/document-object\"}}}},\"estimated-shipping-cost\":{\"type\":\"object\",\"description\":\"The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response\",\"properties\":{\"amount\":{\"type\":\"number\",\"example\":10},\"currency\":{\"type\":\"string\",\"example\":\"USD\"},\"breakdown\":{\"type\":\"array\",\"description\":\"The breakdown of shipping cost.\",\"items\":{\"$ref\":\"#/components/schemas/breakdown-object\"}}}},\"breakdown-object\":{\"type\":\"object\",\"description\":\"The estimated cost of the shipping based either on the costing profile you have configured for the carrier or carrier costing API response\",\"properties\":{\"amount\":{\"type\":\"number\",\"example\":10},\"currency\":{\"type\":\"string\",\"example\":\"USD\"},\"description\":{\"type\":\"string\",\"example\":\"Total VAT Charge\"}}},\"references-request\":{\"title\":\"References Request\",\"type\":\"object\",\"description\":\"References for a shipment, provided by the merchant.\\n\\nThe `partner_order_reference` is mandatory but not required to be unique. It is usually the customer facing order number.\\n\\nThe `partner_shipment_reference` must be unique for every shipment. It is mandatory, but is copied from `partner_order_reference` if it is not provided.\\n\\nIf a single order has multiple shipments, then they will share the `partner_order_reference` but have unique `partner_shipment_reference`.\",\"properties\":{\"partner_order_reference\":{\"type\":\"string\",\"maxLength\":250,\"description\":\"Order reference provided by the merchant\"},\"partner_shipment_reference\":{\"type\":\"string\",\"maxLength\":250,\"description\":\"Unique shipment reference provided by the merchant\"},\"alternate_reference\":{\"type\":\"string\",\"maxLength\":250,\"description\":\"An alternate reference that can be used for searching shipments in Carriyo or mapping references to the carrier.\"},\"other_references\":{\"type\":\"array\",\"maxLength\":250,\"description\":\"A list of references that can be used for searching shipments in Carriyo\",\"items\":{\"type\":\"string\"}}},\"required\":[\"partner_order_reference\",\"partner_shipment_reference\"]},\"references-object\":{\"title\":\"References Object\",\"type\":\"object\",\"description\":\"References for a shipment, provided by the merchant.\",\"properties\":{\"partner_order_reference\":{\"type\":\"string\",\"description\":\"Order reference provided by the merchant\",\"maxLength\":250},\"partner_shipment_reference\":{\"type\":\"string\",\"description\":\"Unique shipment reference provided by the merchant\",\"maxLength\":250},\"alternate_reference\":{\"type\":\"string\",\"description\":\"An alternate reference that can be used for searching shipments in Carriyo or mapping references to the carrier.\",\"maxLength\":250},\"other_references\":{\"type\":\"array\",\"maxLength\":250,\"description\":\"A list of references that can be used for searching shipments in Carriyo\",\"items\":{\"type\":\"string\"}}}},\"shipment-patch-request\":{\"title\":\"Shipment Patch Update Request\",\"type\":\"object\",\"properties\":{\"order_type\":{\"type\":\"string\",\"description\":\"Pass one of the order types you have predefined in Carriyo\"},\"carrier_account\":{\"$ref\":\"#/components/schemas/carrier-account-request\"},\"payment\":{\"$ref\":\"#/components/schemas/payment-request\"},\"collection\":{\"$ref\":\"#/components/schemas/collection-request\"},\"delivery\":{\"$ref\":\"#/components/schemas/delivery-request\"},\"pickup\":{\"description\":\"Pickup address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor 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.\\n\\nFor reverse shipments, you can pass the customer's pickup address as a free-form pickup address.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/location-request\"},{\"$ref\":\"#/components/schemas/free-form-request\"}]},\"dropoff\":{\"description\":\"Dropoff address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor forward shipments, you can pass the customer's dropoff address as a free-form address.\\n\\nFor 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.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/free-form-request\"},{\"$ref\":\"#/components/schemas/location-request\"}]},\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-request\"},\"description\":\"List of individual items or SKUs in a shipment.\",\"maximum\":250},\"parcels\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-request\"},\"description\":\"List of parcels in a B2C shipment.\",\"maximum\":250},\"freight\":{\"type\":\"object\",\"description\":\"List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"packages\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/package-object\"}}}},\"customs\":{\"$ref\":\"#/components/schemas/customs-object\"},\"charges\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/charge-request\"},\"description\":\"List of individual charge components applied to the shipment.\"},\"custom_attributes\":{\"$ref\":\"#/components/schemas/custom-attributes\"},\"order_date\":{\"type\":\"string\",\"format\":\"date-time\"},\"input_promised_delivery_date\":{\"type\":\"string\",\"description\":\"Optional. The promised delivery date to the end customer, in ISO 8601 format.\\n\\nIf omitted, Carriyo will set the promised delivery date from the scheduled delivery window when present, or otherwise from service level configuration.\\n\\nExample: 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\",\"format\":\"date-time\",\"example\":\"2022-01-01T09:00:00.000Z\"}}},\"shipment-draft-request\":{\"title\":\"Shipment Draft Request\",\"type\":\"object\",\"properties\":{\"entity_type\":{\"type\":\"string\",\"default\":\"FORWARD\",\"enum\":[\"FORWARD\",\"REVERSE\"]},\"merchant\":{\"type\":\"string\",\"description\":\"Merchant ID is mandatory to create a shipment\",\"example\":\"YOUR_MERCHANT_ID\"},\"references\":{\"$ref\":\"#/components/schemas/references-request\"},\"carrier_account\":{\"$ref\":\"#/components/schemas/carrier-account-request\"},\"payment\":{\"$ref\":\"#/components/schemas/payment-request\"},\"collection\":{\"$ref\":\"#/components/schemas/collection-request\"},\"delivery\":{\"$ref\":\"#/components/schemas/delivery-request\"},\"pickup\":{\"description\":\"Pickup address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor 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.\\n\\nFor reverse shipments, you can pass the customer's pickup address as a free-form pickup address.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/location-request\"},{\"$ref\":\"#/components/schemas/free-form-request\"}]},\"dropoff\":{\"description\":\"Dropoff address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor forward shipments, you can pass the customer's dropoff address as a free-form address.\\n\\nFor 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.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/free-form-request\"},{\"$ref\":\"#/components/schemas/location-request\"}]},\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-request\"},\"description\":\"List of individual items or SKUs in a shipment.\",\"maximum\":250},\"parcels\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-request\"},\"description\":\"List of parcels in a B2C shipment.\",\"maximum\":250},\"freight\":{\"title\":\"Freight request\",\"type\":\"object\",\"description\":\"List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"packages\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/package-object\"}}}},\"customs\":{\"$ref\":\"#/components/schemas/customs-object\"},\"charges\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/charge-request\"},\"description\":\"List of individual charge components applied to the shipment.\"},\"custom_attributes\":{\"$ref\":\"#/components/schemas/custom-attributes\"},\"order_date\":{\"type\":\"string\",\"description\":\"Date-time in ISO 8601 format.\\n\\nExample: 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\",\"format\":\"date-time\",\"example\":\"2022-01-01T09:00:00.000+1:00\"},\"input_promised_delivery_date\":{\"type\":\"string\",\"description\":\"Optional. The promised delivery date to the end customer, in ISO 8601 format.\\n\\nIf present, Carriyo will not calculate promise date from service level configuration.\\n\\nExample: 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\",\"format\":\"date-time\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"order_type\":{\"type\":\"string\",\"description\":\"Pass one of the order types you have predefined in Carriyo\",\"example\":\"HOME_DELIVERY\"},\"language\":{\"type\":\"string\",\"description\":\"Two letter ISO 639-1 code. Example: en\",\"example\":\"en\"},\"taxes_included\":{\"type\":\"boolean\",\"description\":\"Indicating whether taxes are included in the item's price\"},\"duties_included\":{\"type\":\"boolean\",\"description\":\"Indicating whether duties are included in the item's price\"}},\"required\":[\"merchant\",\"references\"]},\"shipment-request\":{\"title\":\"Shipment Request\",\"type\":\"object\",\"properties\":{\"entity_type\":{\"type\":\"string\",\"default\":\"FORWARD\",\"enum\":[\"FORWARD\",\"REVERSE\"]},\"merchant\":{\"type\":\"string\",\"description\":\"Merchant ID is mandatory to create a shipment\",\"example\":\"YOUR_MERCHANT_ID\"},\"references\":{\"$ref\":\"#/components/schemas/references-request\"},\"carrier_account\":{\"$ref\":\"#/components/schemas/carrier-account-request\"},\"payment\":{\"$ref\":\"#/components/schemas/payment-request\"},\"collection\":{\"$ref\":\"#/components/schemas/collection-request\"},\"delivery\":{\"$ref\":\"#/components/schemas/delivery-request\"},\"pickup\":{\"description\":\"Pickup address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor 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.\\n\\nFor reverse shipments, you can pass the customer's pickup address as a free-form pickup address.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/location-request\"},{\"$ref\":\"#/components/schemas/free-form-request\"}]},\"dropoff\":{\"description\":\"Dropoff address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor forward shipments, you can pass the customer's dropoff address as a free-form address.\\n\\nFor 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.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/free-form-request\"},{\"$ref\":\"#/components/schemas/location-request\"}]},\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-request\"},\"description\":\"List of individual items or SKUs in a shipment.\",\"maximum\":250},\"customs\":{\"$ref\":\"#/components/schemas/customs-object\"},\"charges\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/charge-request\"},\"description\":\"List of individual charge components applied to the shipment.\"},\"parcels\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-request\"},\"description\":\"List of parcels in a B2C shipment.\",\"maximum\":250},\"freight\":{\"title\":\"Freight request\",\"type\":\"object\",\"description\":\"List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"packages\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/package-object\"}}}},\"custom_attributes\":{\"$ref\":\"#/components/schemas/custom-attributes\"},\"order_date\":{\"type\":\"string\",\"description\":\"Date-time in ISO 8601 format.\\n\\nExample: 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\",\"format\":\"date-time\",\"example\":\"2022-01-01T09:00:00.000+1:00\"},\"input_promised_delivery_date\":{\"type\":\"string\",\"description\":\"Optional. The promised delivery date to the end customer, in ISO 8601 format.\\n\\nIf present, Carriyo will not calculate promise date from service level configuration.\\n\\nExample: 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\",\"format\":\"date-time\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"order_type\":{\"type\":\"string\",\"description\":\"Pass one of the order types you have predefined in Carriyo\",\"example\":\"HOME_DELIVERY\"},\"language\":{\"type\":\"string\",\"description\":\"Two letter ISO 639-1 code. Example: en\",\"example\":\"en\"}},\"required\":[\"merchant\",\"references\",\"payment\",\"pickup\",\"dropoff\",\"items\"]},\"shipping-rates-request\":{\"title\":\"Get shipping rates for one or more carriers.\",\"description\":\"This endpoint will return shipping rates based on either costing profile for that particular carrier or getting rates from the carrier real time.\",\"type\":\"object\",\"properties\":{\"merchant\":{\"type\":\"string\",\"default\":\"Primary merchant ID if only 1 registered\",\"description\":\"ID of the merchant\",\"example\":\"MY_BRAND\"},\"entity_type\":{\"type\":\"string\",\"default\":\"FORWARD\",\"enum\":[\"FORWARD\",\"REVERSE\"]},\"carrier_accounts\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/carrier-account-request\"},\"description\":\"List of carrier accounts for which shipping rate is requested.\"},\"payment\":{\"$ref\":\"#/components/schemas/payment-request\"},\"customs\":{\"$ref\":\"#/components/schemas/customs-object\"},\"collection\":{\"$ref\":\"#/components/schemas/collection-object\"},\"delivery\":{\"$ref\":\"#/components/schemas/delivery-object\"},\"pickup\":{\"description\":\"Pickup address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor 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.\\n\\nFor reverse shipments, you can pass the customer's pickup address as a free-form pickup address.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/location-request\"},{\"$ref\":\"#/components/schemas/shipping-rate-location-request\"}]},\"dropoff\":{\"description\":\"Dropoff address for the shipment. You can either pass a free-form address or a predefined location.\\n\\nFor forward shipments, you can pass the customer's dropoff address as a free-form address.\\n\\nFor 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.\",\"anyOf\":[{\"$ref\":\"#/components/schemas/shipping-rate-location-request\"},{\"$ref\":\"#/components/schemas/location-request\"}]},\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/shipping-rate-item-request\"},\"description\":\"List of individual items or SKUs in a shipment.\",\"maximum\":250},\"parcels\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/shipping-rate-parcel-request\"},\"description\":\"(One of parcels or freight required) List of parcels in a B2C shipment.\",\"maximum\":250},\"freight\":{\"title\":\"Freight request\",\"type\":\"object\",\"description\":\"(One of parcels or freight required) List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"packages\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/shipping-rate-package-object\"}}}},\"custom_attributes\":{\"$ref\":\"#/components/schemas/custom-attributes\"}},\"required\":[\"carrier_account\",\"pickup\",\"dropoff\",\"parcels\"]},\"shipping-rates-response\":{\"title\":\"Shipping rates response\",\"type\":\"object\",\"description\":\"The response returned for shipping rates for one or more carriers.\",\"properties\":{\"shipping_rates\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/shipping-rate\"}}}},\"shipping-rate\":{\"type\":\"object\",\"description\":\"Shipping Rate based on either the costing profile you have configured for the carrier or carrier costing api response\",\"properties\":{\"estimated_shipping_cost\":{\"$ref\":\"#/components/schemas/estimated-shipping-cost\"},\"carrier\":{\"type\":\"string\",\"example\":\"UPS\"},\"carrier_account_id\":{\"type\":\"string\",\"example\":\"ca584701-f531-482f-ab40-923dca644127\"},\"carrier_account_name\":{\"type\":\"string\",\"example\":\"UPS - Dubai\"},\"service_name\":{\"type\":\"string\"},\"service_description\":{\"type\":\"string\"},\"delivery_promise\":{\"type\":\"string\"},\"estimated_days\":{\"type\":\"integer\"},\"error_details\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/error-detail\"}}}},\"delivery-options-request\":{\"title\":\"Delivery Options Request\",\"type\":\"object\",\"description\":\"Provide **one** of `order_id`, `partner_order_reference`, or `order`. The first two refer to an order already persisted in Carriyo; `order` supplies the order details inline for an unpersisted cart.\",\"properties\":{\"order_id\":{\"type\":\"string\",\"description\":\"The Carriyo order ID. Use this to evaluate delivery options for an order that already exists in Carriyo. When supplied, Carriyo loads the order's customer address, items, payment, and fulfillment locations from storage.\"},\"partner_order_reference\":{\"type\":\"string\",\"description\":\"Your own reference for an order that already exists in Carriyo. Equivalent to `order_id` but uses your reference instead of Carriyo's internal ID.\"},\"order\":{\"$ref\":\"#/components/schemas/delivery-options-order\"}}},\"delivery-options-order\":{\"title\":\"Delivery Options Order\",\"type\":\"object\",\"description\":\"Inline order details used to evaluate delivery option conditions when the order has not yet been persisted in Carriyo. Only `merchant` is strictly required; populate the remaining fields based on which conditions the merchant has configured (see the operation description).\",\"properties\":{\"merchant\":{\"type\":\"string\",\"description\":\"The merchant the order belongs to. The API key must have access to this merchant.\",\"example\":\"ACME\"},\"order_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The date the order was placed (ISO 8601). Defaults to the time of the request. Used as the reference date for working-day and blackout-day evaluation.\",\"example\":\"2026-05-05T10:30:00.000Z\"},\"payment\":{\"$ref\":\"#/components/schemas/delivery-options-payment\"},\"line_items\":{\"type\":\"array\",\"description\":\"The items in the order. The total order weight used for weight range condition evaluation is the sum of `weight.value` across line items, converted to kg.\\n\\n**Quantity is not factored in.** If a line ships multiple units, set `weight.value` to the total weight contributed by that line, not the per-unit weight.\",\"items\":{\"$ref\":\"#/components/schemas/delivery-options-line-item\"}},\"parcels\":{\"type\":\"array\",\"description\":\"Parcels in the order. Used by the carrier rate calculator when a matching option's pricing strategy is `PASS_THROUGH` (i.e., the carrier-quoted rate is shown to the shopper). Not used by condition matching — weight conditions are evaluated against `line_items`.\",\"items\":{\"$ref\":\"#/components/schemas/delivery-options-parcel\"}},\"fulfillment_location\":{\"allOf\":[{\"$ref\":\"#/components/schemas/delivery-options-address\"}],\"description\":\"The location the order is fulfilled from (origin/warehouse/store). May be supplied as a free-form address or — for a configured Carriyo location — as `partner_location_id` only, in which case the rest of the address is populated from the location record. Used by options that restrict eligible fulfillment locations and by estimated-arrival calculations that depend on origin country.\\n\\nAligns with `FulfillmentOrder.location_id` on the order model.\"},\"customer\":{\"allOf\":[{\"$ref\":\"#/components/schemas/delivery-options-address\"}],\"description\":\"The customer's location. Drives customer-geography conditions and the timezone used for working-day / blackout-day evaluation. Strongly recommended for any non-trivial result.\\n\\nFor `DELIVERY` options this is also the implicit delivery destination. For `COLLECTION` options it's used to find applicable collection points. The shopper has not chosen between the two at this stage — the field captures *where the customer is*, not *where the order is being delivered*.\\n\\nAligns with `Order.customer` on the order model.\"},\"carriyo_metadata\":{\"type\":\"array\",\"description\":\"Custom name/value pairs attached to the order. Stored on the order but not currently used by condition evaluation.\",\"items\":{\"$ref\":\"#/components/schemas/carriyo-metadata-entry\"}}},\"required\":[\"merchant\"]},\"delivery-options-payment\":{\"title\":\"Delivery Options Payment\",\"type\":\"object\",\"description\":\"Payment details for the order. Drives `order_value` and `payment_type` conditions.\",\"properties\":{\"currency\":{\"type\":\"string\",\"description\":\"ISO 4217 three-letter currency code.\",\"example\":\"AED\"},\"order_total\":{\"type\":\"number\",\"format\":\"double\",\"description\":\"Total order value. Compared against `order_value` range conditions on each delivery option.\",\"example\":285},\"payment_on_delivery\":{\"type\":\"number\",\"format\":\"double\",\"description\":\"Amount payable on delivery. A value greater than zero is treated as Cash on Delivery (`payment_type` = `CASH_ON_DELIVERY`); zero or absent is treated as `PRE_PAID`. Omit this field for prepaid orders.\",\"example\":199}}},\"delivery-options-line-item\":{\"title\":\"Delivery Options Line Item\",\"type\":\"object\",\"description\":\"A single line item in the order. Only the fields read by **condition matching** are listed here.\\n\\nAdditional line-item fields accepted by Carriyo's order model — such as `description`, `origin_country`, `unit_price`, `unit_cost`, `hs_code`, `barcode`, `image_link`, `manufacturer_id`, `material_composition`, `category`, `dangerous_goods`, `battery`, `taxes`, and `duties` — are accepted on this endpoint and forwarded to the carrier rate calculator when a matching option uses the `PASS_THROUGH` pricing strategy. They do not affect which options match.\",\"properties\":{\"id\":{\"type\":\"string\",\"description\":\"Your line item identifier.\"},\"sku\":{\"type\":\"string\"},\"product_id\":{\"type\":\"string\"},\"product_ref\":{\"type\":\"string\"},\"quantity\":{\"type\":\"integer\",\"description\":\"Number of units of this item. Defaults to 1.\"},\"weight\":{\"allOf\":[{\"$ref\":\"#/components/schemas/weight\"}],\"description\":\"Total weight contributed by this line item. Used to evaluate weight range conditions; required when an option has such a condition configured.\\n\\nNote that `quantity` is not multiplied with this value during weight evaluation — supply the total weight for the line.\"}}},\"delivery-options-parcel\":{\"title\":\"Delivery Options Parcel\",\"type\":\"object\",\"properties\":{\"weight\":{\"$ref\":\"#/components/schemas/weight\"},\"dimension\":{\"$ref\":\"#/components/schemas/dimension\"}}},\"delivery-options-address\":{\"title\":\"Delivery Options Address\",\"type\":\"object\",\"description\":\"Address used to evaluate geography-based conditions and (for `fulfillment_location`) location-based routing. Only `country`, `state`, `city`, and `area` are needed for condition evaluation; additional contact and street-level fields are accepted and may be useful for downstream order persistence.\\n\\nFor a pre-configured Carriyo location, supply only `partner_location_id` — Carriyo will populate the remaining address fields from the location record.\",\"properties\":{\"partner_location_id\":{\"type\":\"string\",\"description\":\"Carriyo location ID. When supplied, the rest of the address is populated from the configured location record (any other address fields supplied alongside are overridden by the location's data).\\n\\nPrimarily intended for `fulfillment_location` (a configured warehouse or store). It is also honoured on `customer` for completeness, but a customer's location is rarely a Carriyo-configured location.\",\"example\":\"warehouse-dxb-01\"},\"country\":{\"type\":\"string\",\"description\":\"Two-letter ISO 3166-1 alpha-2 country code. Required for evaluating geography conditions; for the `customer` field, also used to resolve the timezone for working-day and blackout-day evaluation.\",\"example\":\"AE\"},\"state\":{\"type\":\"string\",\"description\":\"State, province, or region. Use the Carriyo State Code where available.\",\"example\":\"DUBAI\"},\"city\":{\"type\":\"string\",\"description\":\"City. Use the Carriyo City Code where available.\",\"example\":\"DUBAI\"},\"area\":{\"type\":\"string\",\"description\":\"District, suburb, or neighbourhood. Use the Carriyo Area Code where available.\",\"example\":\"DOWNTOWN-DUBAI\"},\"postcode\":{\"type\":\"string\"},\"address1\":{\"type\":\"string\"},\"address2\":{\"type\":\"string\"},\"contact_name\":{\"type\":\"string\"},\"contact_phone\":{\"type\":\"string\"},\"contact_email\":{\"type\":\"string\"},\"coords\":{\"type\":\"array\",\"items\":{\"type\":\"number\"},\"description\":\"Latitude and longitude as `[lat, lng]`.\",\"example\":[25.19741,55.27442]}}},\"carriyo-metadata-entry\":{\"title\":\"Carriyo Metadata Entry\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"value\":{\"type\":\"string\"}}},\"delivery-options-response-item\":{\"title\":\"Delivery Option\",\"type\":\"object\",\"description\":\"A delivery option that matched the supplied order.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"COLLECTION\",\"DELIVERY\",\"DIGITAL\"],\"description\":\"The type of fulfilment for this option.\"},\"code\":{\"type\":\"string\",\"description\":\"The merchant-defined code identifying the delivery option.\"},\"name\":{\"type\":\"string\",\"description\":\"Display name of the delivery option (shown to the shopper).\"},\"description\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\",\"description\":\"URL to an icon or image associated with the option.\"},\"carrier_account_id\":{\"type\":\"string\",\"description\":\"The Carriyo carrier account that fulfils this option.\"},\"shipping_fee\":{\"$ref\":\"#/components/schemas/delivery-options-shipping-fee\"},\"estimated_arrival_from\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Earliest estimated arrival date/time (ISO 8601).\"},\"estimated_arrival_to\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"Latest estimated arrival date/time (ISO 8601).\"}}},\"delivery-options-shipping-fee\":{\"title\":\"Delivery Options Shipping Fee\",\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"number\",\"format\":\"double\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO 4217 three-letter currency code.\"}}},\"shipment-object\":{\"title\":\"Shipment Object\",\"type\":\"object\",\"properties\":{\"shipment_id\":{\"type\":\"string\",\"description\":\"Unique identifier for the shipment\",\"example\":\"XYZABC123\"},\"entity_type\":{\"type\":\"string\",\"enum\":[\"FORWARD\",\"REVERSE\"],\"description\":\"The type of the shipment is either FORWARD or REVERSE\"},\"merchant\":{\"type\":\"string\",\"description\":\"ID of the merchant that created this shipment\",\"example\":\"MY_BRAND\"},\"references\":{\"$ref\":\"#/components/schemas/references-object\"},\"carrier_account\":{\"$ref\":\"#/components/schemas/carrier-account-object\"},\"payment\":{\"$ref\":\"#/components/schemas/payment-object\"},\"insurance\":{\"$ref\":\"#/components/schemas/insurance-object\"},\"collection\":{\"$ref\":\"#/components/schemas/collection-object\"},\"delivery\":{\"$ref\":\"#/components/schemas/delivery-object\"},\"pickup\":{\"$ref\":\"#/components/schemas/location-object\"},\"dropoff\":{\"$ref\":\"#/components/schemas/location-object\"},\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/item-object\"},\"description\":\"List of individual items or SKUs in a shipment.\",\"maximum\":250},\"freight\":{\"title\":\"Freight request\",\"type\":\"object\",\"description\":\"List of packages of type pallet or carton in a B2B shipment.\",\"maximum\":250,\"properties\":{\"packages\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/package-object\"}}}},\"customs\":{\"$ref\":\"#/components/schemas/customs-object\"},\"charges\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/charge-request\"},\"description\":\"List of individual charge components applied to the shipment.\"},\"parcels\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-object\"},\"description\":\"List of parcels in a B2C shipment.\",\"maximum\":250},\"post_shipping_info\":{\"$ref\":\"#/components/schemas/post-shipping-info\"},\"custom_attributes\":{\"type\":\"object\",\"description\":\"Additional custom attributes provided by the merchant.\"},\"order_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The date the customer order was received by the merchant\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"order_type\":{\"type\":\"string\",\"description\":\"The type of the order. The possible values can be one of the order types predefined by the merchant.\",\"example\":\"HOME_DELIVERY\"},\"creation_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The date the shipment was created in Carriyo\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"update_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The date the shipment was last updated in Carriyo\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"confirmation_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The date the shipment was confirmed for booking\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"estimated_process_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The date the shipment is expected to be processed in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z\"},\"promised_delivery_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The promised delivery date for the shipment in ISO 8601 format. Example: 2022-03-01T17:07:05.000Z\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"original_promised_delivery_date\":{\"type\":\"string\",\"format\":\"date-time\",\"description\":\"The original promised delivery date for the shipment in ISO 8601 format (if the promise is updated). Example: 2022-03-01T17:07:05.000Z\",\"example\":\"2022-01-01T09:00:00.000Z\"},\"estimated_shipping_cost\":{\"$ref\":\"#/components/schemas/estimated-shipping-cost\"},\"language\":{\"type\":\"string\",\"description\":\"Two letter ISO 639-1 code. Example: en\",\"example\":\"en\"},\"return_request_id\":{\"type\":\"string\",\"description\":\"ID of the Return request that initiated the reverse shipment\",\"example\":\"rma_123abcXYZ\"}}},\"update-parcels-request\":{\"title\":\"Update Parcels Request\",\"type\":\"object\",\"properties\":{\"parcels\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/parcel-request\"}}}},\"weight\":{\"title\":\"Weight\",\"type\":\"object\",\"properties\":{\"value\":{\"type\":\"number\"},\"unit\":{\"type\":\"string\",\"enum\":[\"kg\"],\"description\":\"Default weight unit is `kg` if not provided.\"}}},\"automation-ruleset-with-rules-request\":{\"title\":\"Automation Ruleset with Rules Request\",\"type\":\"object\",\"properties\":{\"automation_rule_set\":{\"$ref\":\"#/components/schemas/ruleset-request\"},\"automation_rules\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/automation-rule-request\"}}},\"required\":[\"automation_rule_set\"]},\"automation-ruleset-with-rules-response\":{\"title\":\"Automation Ruleset with Rules Response\",\"type\":\"object\",\"properties\":{\"automation_rule_set\":{\"$ref\":\"#/components/schemas/ruleset-response\"},\"automation_rules\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/automation-rule-response\"}}},\"required\":[\"automation_rule_set\"]},\"service-level-ruleset-with-rules-request\":{\"title\":\"Service Level Ruleset with Rules Request\",\"type\":\"object\",\"properties\":{\"automation_rule_set\":{\"$ref\":\"#/components/schemas/ruleset-request\"},\"automation_rules\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/service-level-rule-request\"}}},\"required\":[\"automation_rule_set\"]},\"service-level-ruleset-with-rules-response\":{\"title\":\"Service Level Ruleset with Rules Response\",\"type\":\"object\",\"properties\":{\"automation_rule_set\":{\"$ref\":\"#/components/schemas/ruleset-response\"},\"automation_rules\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/service-level-rule-response\"}}},\"required\":[\"automation_rule_set\"]},\"ruleset-request\":{\"title\":\"Ruleset Request\",\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"entity_type\":{\"type\":\"string\",\"enum\":[\"FORWARD\",\"REVERSE\"]},\"merchants\":{\"type\":\"array\",\"description\":\"List of Merchant ids used in Ruleset. Use [\\\"_ANY\\\"] for all merchants\",\"items\":{\"type\":\"string\"}},\"countries\":{\"type\":\"array\",\"description\":\"List of country iso2 codes used in Ruleset. Use [\\\"_ANY\\\"] for all countries\",\"items\":{\"type\":\"string\"}},\"status\":{\"$ref\":\"#/components/schemas/status-field\"}},\"required\":[\"name\",\"entity_type\",\"merchants\",\"countries\",\"status\"]},\"ruleset-response\":{\"title\":\"Ruleset Response\",\"type\":\"object\",\"properties\":{\"tenant\":{\"type\":\"string\"},\"rule_set_id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"entity_type\":{\"type\":\"string\",\"enum\":[\"FORWARD\",\"REVERSE\"]},\"merchants\":{\"type\":\"array\",\"description\":\"List of Merchant ids used in Ruleset. Use [\\\"_ANY\\\"] for all merchants\",\"items\":{\"type\":\"string\"}},\"countries\":{\"type\":\"array\",\"description\":\"List of country iso2 codes used in Ruleset. Use [\\\"_ANY\\\"] for all countries\",\"items\":{\"type\":\"string\"}},\"status\":{\"$ref\":\"#/components/schemas/status-field\"},\"creation_date\":{\"type\":\"string\",\"format\":\"date-time\"},\"update_date\":{\"type\":\"string\",\"format\":\"date-time\"}}},\"automation-rule-request\":{\"title\":\"Automation Rule Request\",\"type\":\"object\",\"properties\":{\"rule_name\":{\"type\":\"string\"},\"carrier_accounts\":{\"description\":\"Carrier accounts result\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"carrier_account_id\":{\"type\":\"string\"}}}},\"carrier_choice\":{\"description\":\"Mandatory if 'carrier_accounts' contains more than 1 entry. Used to select the best carrier\",\"type\":\"string\",\"enum\":[\"CHEAPEST_CARRIER\"]},\"sequence\":{\"type\":\"number\",\"description\":\"Sequence number used for rules prioritisation (lower is more important)\"},\"description\":{\"type\":\"string\"},\"status\":{\"$ref\":\"#/components/schemas/status-field\"},\"source_type\":{\"description\":\"shipment.source.source_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"payment_type\":{\"description\":\"shipment.payment.payment_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"delivery_type\":{\"description\":\"shipment.delivery.delivery_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"order_type\":{\"description\":\"shipment.order_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"merchant\":{\"description\":\"shipment.merchant matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"pickup_partner_location_ids\":{\"description\":\"shipment.pickup.partner_location_id matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"dropoff_partner_location_ids\":{\"description\":\"shipment.dropoff.partner_location_id matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"dropoff_v2\":{\"description\":\"shipment.dropoff country state city area condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/geography-condition-field\"}]},\"pickup_v2\":{\"description\":\"shipment.pickup country state city area condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/geography-condition-field\"}]},\"volumetric_weight\":{\"description\":\"shipment.parcels volumetric weight is inside range\",\"allOf\":[{\"$ref\":\"#/components/schemas/number-area-condition-field\"}]},\"gross_weight\":{\"description\":\"shipment.parcels gross weight is inside range\",\"allOf\":[{\"$ref\":\"#/components/schemas/number-area-condition-field\"}]},\"chargeable_weight\":{\"description\":\"shipment.parcels chargeable (gross or volumetric which higher) weight is inside range\",\"allOf\":[{\"$ref\":\"#/components/schemas/number-area-condition-field\"}]},\"parcel_count\":{\"description\":\"shipment.parcels items count is inside range\",\"allOf\":[{\"$ref\":\"#/components/schemas/number-area-condition-field\"}]},\"custom_conditions\":{\"description\":\"shipment.custom_attributes matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/custom-attributes-condition-field\"}]},\"order_value_min\":{\"description\":\"shipment.payment.total_amount not less. Use -1 value for infinite\",\"type\":\"number\"},\"order_value_max\":{\"description\":\"shipment.payment.total_amount not more. Use -1 value for infinite\",\"type\":\"number\"},\"dangerous_goods\":{\"description\":\"shipment.[items].dangerous_goods is any item matches\",\"type\":\"boolean\"},\"start_time\":{\"description\":\"Time range when rule applies\",\"type\":\"number\"},\"end_time\":{\"description\":\"Time range when rule applies\",\"type\":\"number\"},\"days\":{\"description\":\"Days when rule applies\",\"allOf\":[{\"$ref\":\"#/components/schemas/days-field\"}]},\"customer_address_verified\":{\"description\":\"Customer is verified or not\",\"type\":\"boolean\"}},\"required\":[\"rule_name\",\"carrier_accounts\",\"sequence\",\"status\",\"order_value_min\",\"order_value_max\"]},\"service-level-rule-request\":{\"title\":\"Service Level Rule Request\",\"type\":\"object\",\"properties\":{\"rule_name\":{\"type\":\"string\"},\"config_type\":{\"type\":\"string\",\"enum\":[\"FULFILLMENT\",\"SHIPPING\",\"DELIVERY\",\"PROMISED\"]},\"carrier_ids\":{\"description\":\"shipment.source.source_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"sequence\":{\"type\":\"number\",\"description\":\"Sequence number used for rules prioritisation (lower is more important)\"},\"description\":{\"type\":\"string\"},\"status\":{\"$ref\":\"#/components/schemas/status-field\"},\"source_type\":{\"description\":\"shipment.source.source_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"delivery_type\":{\"description\":\"shipment.delivery.delivery_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"order_type\":{\"description\":\"shipment.order_type matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"merchants\":{\"description\":\"shipment.merchant matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"pickup_partner_location_ids\":{\"description\":\"shipment.pickup.partner_location_id matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"dropoff_partner_location_ids\":{\"description\":\"shipment.dropoff.partner_location_id matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/string-condition-field\"}]},\"dropoff_v2\":{\"description\":\"shipment.dropoff country state city area condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/geography-condition-field\"}]},\"pickup_v2\":{\"description\":\"shipment.pickup country state city area condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/geography-condition-field\"}]},\"volumetric_weight\":{\"description\":\"shipment.parcels volumetric weight is inside range\",\"allOf\":[{\"$ref\":\"#/components/schemas/number-area-condition-field\"}]},\"gross_weight\":{\"description\":\"shipment.parcels gross weight is inside range\",\"allOf\":[{\"$ref\":\"#/components/schemas/number-area-condition-field\"}]},\"custom_conditions\":{\"description\":\"shipment.custom_attributes matches condition\",\"allOf\":[{\"$ref\":\"#/components/schemas/custom-attributes-condition-field\"}]},\"start_time\":{\"description\":\"Time range when rule applies\",\"type\":\"number\"},\"end_time\":{\"description\":\"Time range when rule applies\",\"type\":\"number\"},\"days\":{\"description\":\"Days when rule applies\",\"allOf\":[{\"$ref\":\"#/components/schemas/days-field\"}]}},\"required\":[\"rule_name\",\"carrier_accounts\",\"sequence\",\"status\"]},\"automation-rule-response\":{\"title\":\"Automation Rule Response\",\"type\":\"object\",\"properties\":{\"tenant\":{\"type\":\"string\"},\"rule_id\":{\"type\":\"string\"},\"rule_set_id\":{\"type\":\"string\"},\"rule_name\":{\"type\":\"string\"},\"carrier_accounts\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"carrier_account_id\":{\"type\":\"string\"}}}},\"carrier_choice\":{\"type\":\"string\",\"enum\":[\"CHEAPEST_CARRIER\"]},\"sequence\":{\"type\":\"number\"},\"description\":{\"type\":\"string\"},\"status\":{\"$ref\":\"#/components/schemas/status-field\"},\"source_type\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"payment_type\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"delivery_type\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"order_type\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"merchant\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"pickup_partner_location_ids\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"dropoff_partner_location_ids\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"dropoff_v2\":{\"$ref\":\"#/components/schemas/geography-condition-field\"},\"pickup_v2\":{\"$ref\":\"#/components/schemas/geography-condition-field\"},\"volumetric_weight\":{\"$ref\":\"#/components/schemas/number-area-condition-field\"},\"gross_weight\":{\"$ref\":\"#/components/schemas/number-area-condition-field\"},\"chargeable_weight\":{\"$ref\":\"#/components/schemas/number-area-condition-field\"},\"parcel_count\":{\"$ref\":\"#/components/schemas/number-area-condition-field\"},\"custom_conditions\":{\"$ref\":\"#/components/schemas/custom-attributes-condition-field\"},\"order_value_min\":{\"type\":\"number\"},\"order_value_max\":{\"type\":\"number\"},\"dangerous_goods\":{\"type\":\"boolean\"},\"start_time\":{\"type\":\"number\"},\"end_time\":{\"type\":\"number\"},\"days\":{\"$ref\":\"#/components/schemas/days-field\"},\"customer_address_verified\":{\"type\":\"boolean\"},\"creation_date\":{\"type\":\"string\",\"format\":\"date-time\"},\"update_date\":{\"type\":\"string\",\"format\":\"date-time\"}}},\"service-level-rule-response\":{\"title\":\"Service Level Rule Response\",\"type\":\"object\",\"properties\":{\"tenant\":{\"type\":\"string\"},\"rule_id\":{\"type\":\"string\"},\"rule_set_id\":{\"type\":\"string\"},\"rule_name\":{\"type\":\"string\"},\"sequence\":{\"type\":\"number\"},\"description\":{\"type\":\"string\"},\"config_type\":{\"type\":\"string\",\"enum\":[\"FULFILLMENT\",\"SHIPPING\",\"DELIVERY\",\"PROMISED\"]},\"status\":{\"$ref\":\"#/components/schemas/status-field\"},\"source_type\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"delivery_type\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"carrier_ids\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"order_type\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"merchants\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"pickup_partner_location_ids\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"dropoff_partner_location_ids\":{\"$ref\":\"#/components/schemas/string-condition-field\"},\"dropoff_v2\":{\"$ref\":\"#/components/schemas/geography-condition-field\"},\"pickup_v2\":{\"$ref\":\"#/components/schemas/geography-condition-field\"},\"volumetric_weight\":{\"$ref\":\"#/components/schemas/number-area-condition-field\"},\"gross_weight\":{\"$ref\":\"#/components/schemas/number-area-condition-field\"},\"custom_conditions\":{\"$ref\":\"#/components/schemas/custom-attributes-condition-field\"},\"start_time\":{\"type\":\"number\"},\"end_time\":{\"type\":\"number\"},\"days\":{\"$ref\":\"#/components/schemas/days-field\"},\"creation_date\":{\"type\":\"string\",\"format\":\"date-time\"},\"update_date\":{\"type\":\"string\",\"format\":\"date-time\"}}},\"status-field\":{\"type\":\"string\",\"enum\":[\"ACTIVE\",\"INACTIVE\",\"DELETED\"]},\"days-field\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"MONDAY\",\"TUESDAY\",\"WEDNESDAY\",\"THURSDAY\",\"FRIDAY\",\"SATURDAY\",\"SUNDAY\"]}},\"string-condition-field\":{\"type\":\"object\",\"properties\":{\"operator\":{\"type\":\"string\",\"enum\":[\"INCLUSION\",\"EXCLUSION\"]},\"value\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"number-area-condition-field\":{\"type\":\"object\",\"properties\":{\"min_value\":{\"type\":\"number\"},\"max_value\":{\"type\":\"number\"}}},\"custom-attributes-condition-field\":{\"type\":\"object\",\"properties\":{\"operator\":{\"type\":\"string\",\"enum\":[\"INCLUSION\",\"EXCLUSION\"]},\"value\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"attribute_name\":{\"type\":\"string\"},\"operation\":{\"type\":\"string\",\"enum\":[\"CONTAINS\"]},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}}},\"geography-condition-field\":{\"type\":\"object\",\"properties\":{\"operator\":{\"type\":\"string\",\"enum\":[\"INCLUSION\",\"EXCLUSION\"]},\"value\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"country\":{\"type\":\"string\",\"description\":\"ISO2 country code\"},\"state_cities\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"state\":{\"type\":\"string\"},\"city_areas\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"},\"areas\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}}}}}}}}}}},\"sequences-request\":{\"title\":\"Update Rules Sequences\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"rule_id\":{\"type\":\"string\"},\"sequence\":{\"type\":\"number\"}}},\"required\":[\"rule_id\",\"sequence\"]}},\"securitySchemes\":{\"OAuth2-Production\":{\"type\":\"oauth2\",\"flows\":{\"clientCredentials\":{\"tokenUrl\":\"https://api.carriyo.com/oauth/token\",\"scopes\":{}}}},\"OAuth2-Demo\":{\"type\":\"oauth2\",\"flows\":{\"clientCredentials\":{\"tokenUrl\":\"https://demo-api.carriyo.com/oauth/token\",\"scopes\":{}}}}}}}},\"options\":{\"hideTryItPanel\":false,\"pagination\":\"item\",\"noAutoAuth\":true,\"generateCodeSamples\":{\"languages\":[{\"lang\":\"curl\",\"label\":\"cURL\"},{\"lang\":\"JavaScript\",\"label\":\"JS\"},{\"lang\":\"Java\"},{\"lang\":\"Python\"},{\"lang\":\"Go\"},{\"lang\":\"PHP\"},{\"lang\":\"C#\"}]},\"disableSearch\":true,\"ctrlFHijack\":false,\"disableSidebar\":true,\"theme\":{\"overrides\":{\"DownloadButton\":{\"custom\":\"\"},\"NextSectionButton\":{\"custom\":\"\"}},\"codeBlock\":{\"tokens\":{}},\"schema\":{\"constraints\":{},\"examples\":{}},\"rightPanel\":{\"textColor\":\"#eeeeee\"},\"typography\":{\"heading1\":{},\"heading2\":{},\"heading3\":{},\"rightPanelHeading\":{}}}}}","redocHasSecurityDefinitions":false,"redocInfoPageLink":"/api/shipping/overview/","redocItemId":"tag/checkout/operation/get-delivery-options","redocHasInfoPage":false,"settings":{"noAutoAuth":true,"generateCodeSamples":{"languages":[{"lang":"curl","label":"cURL"},{"lang":"JavaScript","label":"JS"},{"lang":"Java"},{"lang":"Python"},{"lang":"Go"},{"lang":"PHP"},{"lang":"C#"}]}},"requestLogin":false,"lastModified":"2026-05-13T08:06:47.000Z"},"seo":{"title":"Get Delivery Options"}}},"pageContext":{"id":"3f60f50a-7e83-5a79-bd99-c3f6f1a42878operation/get-delivery-options__redocly content/api/shipping/operation/get-delivery-options/","seo":{"title":"Get Delivery Options","description":"Returns the **delivery options** that match a given order or cart at checkout time.\n\nDelivery options are configured per merchant in the Carriyo dashboard. Each option declares the carrier account that fulfils it, a shipping fee, an estimated delivery window, and a set of optional conditions. This endpoint evaluates the configured conditions against the order details you supply and returns the matching options — typically rendered to the shopper as the delivery choices on the checkout page.\n\nBoth `DELIVERY` and `COLLECTION` options can be returned. The shopper has not chosen between them at this point — `customer` represents *where the customer is*, not *where the order is being delivered*. For `DELIVERY` options the customer's location is also the delivery destination; for `COLLECTION` options it's used to find applicable collection points.\n\n### Identifying the order\n\nProvide **one** of the following:\n\n| Field | When to use |\n|---|---|\n| `order` | Inline order details, when no order has been created in Carriyo yet — the typical live checkout flow. |\n| `order_id` | Carriyo's internal order ID, when the order already exists in Carriyo. |\n| `partner_order_reference` | Your own reference for an order that already exists in Carriyo. |\n\nWhen `order_id` or `partner_order_reference` is supplied, Carriyo loads the persisted order and uses its data for condition evaluation. When `order` is supplied, only the fields required by the conditions you've configured need to be present.\n\n### What gets evaluated\n\nEach condition only applies when the merchant has configured it on a delivery option. The corresponding order field is read only if such a condition exists, so callers only need to populate the fields relevant to the rules in use.\n\n| Condition (configured on the option) | Evaluated against |\n|---|---|\n| Working days / blackout days | `order.order_date` (defaults to now); timezone derived from `order.customer.country` |\n| Customer geography | `order.customer.{country, state, city, area}` |\n| Order value range | `order.payment.order_total` |\n| Weight range | Sum of `order.line_items[].weight` (converted to kg) |\n| Payment type | Derived: `CASH_ON_DELIVERY` if `order.payment.payment_on_delivery > 0`, otherwise `PRE_PAID` |\n| Fulfillment location | `order.fulfillment_location` (free-form, or `partner_location_id` for a configured Carriyo location) |\n\n### Response\n\nAn array of matching delivery options, each with its carrier account, computed shipping fee, and estimated arrival window. The array is empty if no configured option matches the supplied order.","image":"","keywords":null,"jsonLd":null,"lang":null,"siteUrl":null},"pageId":"api/shipping.page.yaml#operation/get-delivery-options","pageBaseUrl":"/api/shipping","type":"redoc-operation","toc":{"enable":true,"maxDepth":4,"headings":null},"data":{},"catalogInfo":null,"link":"/api/shipping/operation/get-delivery-options/","sidebarName":"api","isLanding":false,"showPrevButton":null,"showNextButton":null,"apiVersions":[{"definitionId":"shipping","id":"shipping","title":"shipping","isDefault":true,"apiId":null}],"apiVersionId":null,"isDefaultApiVersion":true}},"staticQueryHashes":["1123603147","1302185487","1344209882","1398840060","1520077861","1975142765","2667623876","2950305614","3240152602","3743992808","561138138"]}