API reference

Orders API

The Carriyo Orders API manages the customer order lifecycle from creation through fulfillment handoff. Create orders with line items and delivery details, split across multiple fulfillment locations, and cancel or update orders before they ship.

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

Orders

The order object represents a customer order containing one or more items to be fulfilled. Orders serve as the foundation for the fulfillment process in Carriyo.

Key concepts

Order structure

Each order contains:

  • Customer information: shipping address, billing address, and customer details.
  • Line items: products ordered with quantities and prices.
  • Fulfillment orders: groups of line items assigned to specific locations for fulfillment.
  • Payment information: payment status and method details.

Order status

Orders progress through the following statuses:

  • open: order created, not yet allocated.
  • partially_allocated: some items allocated to fulfillment locations.
  • allocated: all items allocated to fulfillment locations.
  • processing: one or more fulfillment orders are being picked, packed, or shipped.
  • fulfilled: all items have been fulfilled.
  • cancelled: order has been cancelled.
  • closed: order is complete and closed.

Reference keys

Orders can be retrieved using:

  • order_id: Carriyo's unique identifier for the order.
  • partner_order_reference: your system's order reference (with key=partner_order_reference).

This allows flexible integration with your existing order management systems.

Fulfillment orders

When an order is created, Carriyo automatically generates fulfillment orders based on:

  • Inventory availability across locations
  • Location-based allocation rules
  • Explicit fulfillment order specifications in the request

Each fulfillment order represents items to be shipped from a single location.

Lifecycle: orders move from open (created, awaiting allocation) to partially_allocated or allocated (fulfillment orders assigned to locations), then processing (items being picked, packed, or shipped), fulfilled, and closed. An order can be cancelled before its items are in transit.

6 operations · 1 object

Object

The Order object

The Order object represents a customer order in Carriyo — line items the customer purchased, shipping and billing addresses, payment, and the references that tie back to your e-commerce or OMS system.

An Order doesn't directly book a shipment. Instead, Carriyo splits the Order into one or more fulfillment orders allocated across your locations, and each fulfillment order produces one or more Shipments. For the full relationship model, see the Domain model.

Properties

  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
post/orders

Create order

Creates a new order in Carriyo with the specified line items, customer details, and delivery method.

Order creation flow

When you create an order:

  1. Carriyo validates the request and creates the order
  2. Fulfillment orders are generated based on your specifications or automatic allocation
  3. If inventory management is enabled, inventory is reserved for the allocated items
  4. Webhooks are triggered to notify your systems

Delivery Method

Each fulfillment order can have one of three delivery methods:

  • DELIVERY: standard delivery to the customer's address (delivery_address + delivery_schedule).
  • COLLECTION: customer collects from a pickup point (customer_collection_address + customer_collection_schedule).
  • DIGITAL: no physical delivery; fulfilled digitally.

The top-level delivery_method, delivery_type, delivery_address, delivery_schedule, customer_collection_address, and customer_collection_schedule are request-only convenience fields. They are propagated to each auto-allocated fulfillment order and persisted there, but are not stored on the Order itself. To set them per fulfillment order, provide them inside each entry of the fulfillment_orders array.

Fulfillment order allocation

You can control how fulfillment orders are created:

  • Automatic: Omit fulfillment_orders and Carriyo allocates based on inventory and rules
  • Manual: Specify fulfillment_orders to control which items go to which locations

Line items

Each line item represents a product in the order with:

  • Product identification (id, sku, product_id, barcode)
  • Quantity ordered
  • Pricing information (unit_price, unit_cost, taxes, duties, discount allocations)
  • Physical attributes (weight, dimension, dangerous_goods, battery)

Response

The API returns the complete order object including:

  • Generated order_id for future reference
  • Fulfillment orders with their allocations
  • Initial order status

Headers

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

Request body

Content type: application/jsonSchema: create-order-requestrequired
  • merchantstringrequired
    The merchant identifier for this order.
  • partner_order_referencestringrequired
    Your system's unique order reference for correlation.
  • languagestring
    Language code for customer communications (e.g., "en", "ar").
  • order_datestringformat: date-time
    The date when the order was placed (ISO 8601 format).
  • sales_channelstring
    The sales channel where the order originated (e.g., "web", "mobile", "store").
  • delivery_methodstring
    The delivery method to apply to all auto-allocated fulfillment orders. Request-only field, stored on each fulfillment order, not on the Order.
    Values:DELIVERYCOLLECTIONDIGITAL
  • delivery_typestring
    The delivery service level (e.g., standard, express, same_day). Configurable per tenant. Only applicable when delivery_method is DELIVERY. Request-only field, stored on each fulfillment order, not on the Order.
  • delivery_optiondelivery-option
    The chosen delivery option reference. Carriyo resolves the underlying carrier and service level from this reference.
  • delivery_addressaddress
    The address where the order should be delivered. Used when delivery_method is DELIVERY. Request-only field, stored on each fulfillment order, not on the Order.
  • delivery_schedulefo-schedule
    The scheduled delivery window. Only applicable when delivery_method is DELIVERY. Request-only field, stored on each fulfillment order, not on the Order.
  • customer_collection_addressaddress
    The address from which the customer will collect the order (e.g., a store, locker, or pickup point). Only applicable when delivery_method is COLLECTION. Request-only field, stored on each fulfillment order, not on the Order.
  • customer_collection_schedulefo-schedule
    The window during which the customer can collect the order. Only applicable when delivery_method is COLLECTION. Request-only field, stored on each fulfillment order, not on the Order.
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • paymentorder-payment
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
    Discounts applied to the order.
  • line_itemsline-item[]required
    Products ordered with quantities and prices.
  • fulfillment_ordersfulfillment-order-request[]
    Optional explicit fulfillment order specifications. When omitted, Carriyo auto-allocates fulfillment orders based on inventory and rules.
  • shipping_linesshipping-line[]
    Shipping methods and costs.

Responses

201Order created successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Invalid request payload.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

get/orders/{reference}

Get order

Retrieves the complete details of an order by its reference.

Reference Types

You can retrieve an order using:

  • Carriyo Order ID: The unique identifier generated by Carriyo (default)
  • partner_order_reference: Your system's order reference by setting key=partner_order_reference

Response

Returns the full order object including:

  • Order details and status
  • All fulfillment orders and their current states
  • Line item details and fulfillment status
  • Customer and address information

Path parameters

NameTypeRequiredDescription
referencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used: - `order_id`: Carriyo's unique order identifier (default) - `partner_order_reference`: Your system's order reference

Headers

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

Responses

200Order retrieved successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
404Order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

patch/orders/{reference}

Update order

Apply partial updates to an order's details, line items, and fulfillment orders.

Important warning

Used incorrectly, this endpoint can destroy data. The fulfillment_orders field is a full replacement: any fulfillment order not included in the request is permanently removed.

Update behaviour

Simple fields (partial update)

The following fields are updated only if provided in the request:

  • partner_order_reference, order_date, merchant, language, sales_channel
  • taxes_included, duties_included
  • delivery_address, billing_address, customer
  • payment, discount_applications, shipping_lines

Line items (full replacement)

If line_items is provided, it completely replaces the existing line items. Include every line item you want to keep.

Fulfillment orders (full replacement with preservation rules)

If fulfillment_orders is provided:

  • Any FO not included is removed. Always include every FO you want to keep.
  • FOs are matched by fulfillment_order_id or partner_fulfillment_order_reference.
  • An FO without a matching ID is created with a new fulfillment_order_id.

Fulfillment order line items: critical rules

When updating FO line items:

What to include

Only pass line items with pending statuses:

  • open: items not yet allocated.
  • allocated: items allocated but not fulfilled.

What is preserved automatically

Line items with terminal statuses are preserved without you re-sending them:

  • fulfilled: items that have been fulfilled.
  • cancelled: items that have been cancelled.
  • closed: items that are closed.

Don't include fulfilled, cancelled, or closed line items in your request; they're preserved automatically and including them may cause unexpected behaviour.

Example scenarios

Scenario 1: adding a new line item to an FO

If you have an FO with 2 items (item-1: open, item-2: fulfilled) and want to add item-3:

{
  "fulfillment_orders": [{
    "fulfillment_order_id": "FO-123",
    "line_items": [
      { "id": "item-1", "quantity": 1 },
      { "id": "item-3", "quantity": 2 }
    ]
  }]
}

Result: the FO has item-1 (open), item-2 (fulfilled, preserved), item-3 (open).

Scenario 2: removing a pending line item from an FO

If you have an FO with 3 items and want to remove item-2 (which is open):

{
  "fulfillment_orders": [{
    "fulfillment_order_id": "FO-123",
    "line_items": [
      { "id": "item-1", "quantity": 1 },
      { "id": "item-3", "quantity": 1 }
    ]
  }]
}

Scenario 3: moving a line item between FOs

To move item-2 from FO-A to FO-B:

{
  "fulfillment_orders": [
    {
      "fulfillment_order_id": "FO-A",
      "line_items": [{ "id": "item-1", "quantity": 1 }]
    },
    {
      "fulfillment_order_id": "FO-B",
      "line_items": [
        { "id": "item-2", "quantity": 1 },
        { "id": "item-3", "quantity": 1 }
      ]
    }
  ]
}

Common mistakes to avoid

  1. Forgetting to include all FOs. If you include only one FO in the request, every other FO is deleted.
  2. Including fulfilled or cancelled items. They're preserved automatically; re-sending them may cause unexpected behaviour.
  3. Not matching FO identifiers. Use fulfillment_order_id or partner_fulfillment_order_reference to match existing FOs.
  4. Treating line items as a partial update. The line_items array replaces all pending items, so include every pending item you want to keep.

Order status restrictions

An order can be updated in any status except cancelled. That covers open, partially_allocated, allocated, processing, fulfilled, and closed.

Inventory impact

If inventory management is enabled, updating FOs automatically:

  • Reserves inventory for new FO allocations.
  • Releases inventory for removed FO allocations.
  • Adjusts inventory for quantity changes.

Path parameters

NameTypeRequiredDescription
referencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used: - `order_id`: Carriyo's unique order identifier (default) - `partner_order_reference`: Your system's order reference

Headers

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

Request body

Content type: application/jsonSchema: update-order-requestrequired
  • partner_order_referencestring
    Your system's unique order reference.
  • order_datestringformat: date-time
    The date when the order was placed (ISO 8601 format).
  • merchantstring
    The merchant identifier.
  • languagestring
    Language code for customer communications.
  • sales_channelstring
    The sales channel where the order originated.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • paymentorder-payment
  • discount_applicationsdiscount-application[]
  • shipping_linesshipping-line[]
  • line_itemsupdate-line-item-request[]
    Full replacement - If provided, completely replaces all existing line items. Include all line items you want to keep.
  • fulfillment_ordersupdate-fulfillment-order-request[]
    Full replacement with preservation rules. ⚠️ Critical: Any fulfillment order NOT included in this array will be PERMANENTLY REMOVED. For each FO's line_items: - Only include items with pending statuses (open, allocated, pick_in_progress, picked, pack_in_progress) - Items with terminal statuses (fulfilled, cancelled, closed) are automatically preserved
  • delivery_optiondelivery-option
    The chosen delivery option reference. Carriyo resolves the underlying carrier and service level from this reference.

Responses

200Order updated successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Invalid request or order cannot be updated in current status.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
409Concurrent update detected. Retry the request.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/{reference}/cancel

Cancel order

Cancels an order and all its associated fulfillment orders.

Status requirements

An order can be cancelled only while it is still in an allocation phase:

  • open: created but not yet allocated.
  • partially_allocated: some items allocated to fulfillment locations.
  • allocated: all items allocated to fulfillment locations.

Once fulfillment is under way or finished, cancellation is no longer allowed:

  • processing: one or more fulfillment orders are being picked, packed, or shipped.
  • fulfilled: all items have been fulfilled.
  • closed: order is complete and closed.
  • cancelled: order is already cancelled.

Cancellation effects

When an order is successfully cancelled:

  • Every line item's quantity is set to 0 and its removed quantity is recorded.
  • Every fulfillment order line item is marked cancelled.
  • Reserved inventory is released back to stock.
  • The order status is updated to cancelled.
  • Webhooks fire to notify your systems.

Cancellation reason

Provide a cancellation_reason, one of:

  • CUSTOMER_CANCELLATION: customer requested cancellation.
  • AUTO_ALLOCATION_FAILED: automatic fulfillment allocation failed.
  • INVENTORY_OUT_OF_STOCK: items are out of stock.
  • STAFF_ERROR: staff made an error.
  • PAYMENT_ISSUE: a payment problem occurred.
  • OTHER: any other reason.

Path parameters

NameTypeRequiredDescription
referencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used: - `order_id`: Carriyo's unique order identifier (default) - `partner_order_reference`: Your system's order reference

Headers

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

Request body

Content type: application/jsonSchema: cancel-order-request
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER

Responses

200Order cancelled successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Order cannot be cancelled.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/{reference}/redact

Redact order

Anonymises the personal data on an order and propagates the redaction to dropoff fields on every linked shipment. This action is irreversible.

See also: Data Redaction, the full feature page covering order and shipment redaction scope, downstream sync, and GDPR compliance guidance.

Path parameters

NameTypeRequiredDescription
referencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used: - `order_id`: Carriyo's unique order identifier (default) - `partner_order_reference`: Your system's order reference

Headers

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

Responses

200Order redacted successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Order cannot be redacted.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/bulk/import

Bulk import orders

Create multiple orders in a single request for batch processing.

Processing

Each order in the batch is processed independently:

  • Valid orders are created.
  • Invalid orders return error details.
  • Processing continues even if some orders fail.

Limits

  • Up to 20 orders per request by default (configurable per tenant). Chunk larger imports client-side.
  • Each order follows the same validation as single order creation.

Duplicates

Bulk import is create-only; it does not upsert. A row whose partner_order_reference already exists in Carriyo, or that appears more than once within the batch, is rejected rather than updated. The successful rows in the same batch are unaffected.

Response

Returns one entry per input row, in the same order as the request. Each entry carries:

  • result: SUCCESS when the order was created; otherwise an error code such as DUPLICATE or VALIDATION_ERROR.
  • reason: human-readable detail when result is not SUCCESS.
  • The full order object when result is SUCCESS.

Treat DUPLICATE as a no-op (the order is already in Carriyo) rather than a retryable failure.

Headers

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

Request body

Content type: application/jsonSchema: bulk-order-import-requestrequired
  • order_requestscreate-order-request[]
    Array of orders to create (maximum 20).

Responses

200Bulk import processed.
  • orderorder
  • errorstring
    Error message if order creation failed.
  • partner_order_referencestring
    The partner reference from the request for correlation.
400Invalid request payload.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

Fulfillment Orders

Fulfillment orders represent groups of line items from an order that are assigned to a specific location for fulfillment. They enable split-shipment workflows and multi-location fulfillment.

Key concepts

Fulfillment order lifecycle

  1. Created: when an order is created, fulfillment orders are generated automatically or based on your specifications.
  2. Pending: items are awaiting fulfillment at the assigned location.
  3. Fulfilled: items have been picked, packed, and are ready for shipping.
  4. Shipped: shipments have been created and items are in transit.
  5. Completed: all items have been delivered.

Operations

Fulfill

Mark items as fulfilled and ready for shipping. This operation:

  • Updates line item statuses to fulfilled
  • Optionally creates a draft shipment automatically
  • Triggers inventory updates

Unfulfill

Reverse a fulfillment when items cannot be shipped. This allows:

  • Correcting fulfillment errors
  • Handling out-of-stock situations discovered after fulfillment
  • Reallocating items to different locations

Split

Divide a fulfillment order when items need to ship from different sources:

  • Create a new fulfillment order with selected line items
  • Assign to a different location if needed
  • Maintain order integrity across splits

Merge

Combine fulfillment orders when consolidation makes sense:

  • Reduce shipping costs by combining shipments
  • Improve customer experience with fewer deliveries
  • Optimize fulfillment operations

Ship

Create shipments for fulfilled items:

  • Specify carrier account and parcel details
  • Include delivery preferences
  • Generate shipping labels through the Carriyo Shipping API

Cancel

Cancel specific line items within a fulfillment order:

  • Provide cancellation reason
  • Automatically updates inventory
  • Triggers order status recalculation

Location management

Fulfillment orders are tied to locations. You can:

  • Update the assigned location before fulfillment
  • Move items between locations using split and merge operations
  • Track inventory across all fulfillment locations

11 operations · 0 objects

post/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/fulfill

Fulfill order

Marks items in a fulfillment order as fulfilled and creates a shipment.

Line item status requirements

Only items in pending status (open or allocated) can be fulfilled:

  • open - Item awaiting allocation
  • allocated - Item assigned to a location
  • fulfilled - Already fulfilled
  • cancelled - Cannot be fulfilled
  • closed - Cannot be fulfilled

Fulfillment process

When you fulfill an order, Carriyo:

  1. Validates that the requested line items exist and are in a pending status.
  2. Validates that the requested quantities don't exceed available quantities.
  3. Creates a shipment (unless skip_shipping=true).
  4. Marks line items as fulfilled with a unique fulfillment ID.
  5. Updates the order status based on overall fulfillment progress.
  6. Fires webhooks.

Line items (required)

Provide a line_items array specifying which items to fulfill. Each entry needs:

  • id: matching an order line item.
  • quantity: the quantity to fulfill, which must be ≤ the pending quantity.

Shipment creation

Control shipment creation with query parameters:

  • create_draft_shipment=true: creates a draft shipment for review before carrier booking.
  • skip_shipping=true: fulfills without creating any shipment (items auto-close).

Inventory impact

If inventory management is enabled with stock_reduction_timing = ON_ORDER_FULFILLED, both on_hand and reserved are reduced by the fulfilled quantity.

If shipping is not required (or skip_shipping=true), items are automatically set to closed.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.
create_draft_shipmentbooleanNoIf true, creates a draft shipment instead of immediately booking with a carrier.
skip_shippingbooleanNoIf true, fulfills the order without creating a shipment.

Headers

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

Request body

Content type: application/jsonSchema: create-fulfillment-request
  • partner_fulfillment_referencestring
    Your system's reference for this fulfillment.
  • line_itemsfo-line-item-request[]
    Specific line items to fulfill. Omit to fulfill all pending items.
  • carrier_accountcarrier-account-request
    Identifies a specific carrier account configured in Carriyo.
  • parcelsparcel-request[]
    Parcel details for the shipment.
  • deliveryfulfillment-delivery
    Scheduling window for a fulfillment.
  • paymentfulfillment-payment
  • pre_booking_infopre-booking-info
    Information about a shipment that has already been booked with a carrier outside Carriyo.

Responses

200Fulfillment order fulfilled successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Invalid request or fulfillment not possible.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/unfulfill

Unfulfill order

Reverse a previous fulfillment, returning items to allocated status.

When to unfulfill

Use this endpoint when items were fulfilled in error, stock turns out to be unavailable after fulfillment, the fulfillment needs to move to another location, or a shipment was cancelled before pickup.

Request requirements

Provide fulfillment_ids, an array of the fulfillment IDs to reverse. Each must exist among the fulfillment order's fulfilled line items.

Effects

When you unfulfill, Carriyo:

  1. Cancels associated shipments, if not already cancelled.
  2. Returns line items to allocated status.
  3. Clears the fulfillment ID, shipment IDs, and partner reference from the items.
  4. Merges items that share the same ID and status.
  5. Recalculates the order status.
  6. Fires webhooks.

Inventory impact

If inventory management is enabled, on_hand is increased by the unfulfilled quantity, restoring stock.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: unfulfill-fulfillment-requestrequired
  • fulfillment_idsstring[]
    List of fulfillment IDs to reverse.
  • partner_fulfillment_order_referencestring
    Partner reference to identify the fulfillment to reverse.

Responses

200Fulfillment reversed successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Cannot unfulfill - items may already be shipped.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/{orderReference}/fulfillment-orders/merge

Merge fulfillment orders

Combine line items from one fulfillment order into another.

Merge process

Specify:

  • Source: the fulfillment order (with specific line items) to merge from.
  • Destination: the fulfillment order to merge into.

After merging, source line items move to the destination fulfillment order. If all items are moved, the source fulfillment order is removed. The order status is recalculated and webhooks fire.

Restrictions

The source and destination fulfillment orders:

  • ❌ Cannot contain any fulfilled line items; only pending items can be merged.
  • ✅ Must share the same location_id.
  • ✅ Must share the same delivery_type (when specified).
  • ✅ Must share the same delivery method.
  • ❌ Cannot mix items where some require shipping and some don't.

Inventory impact

No inventory changes occur during a merge; items are only reorganised between fulfillment orders.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: merge-fulfillment-order-requestrequired
  • sourceobjectrequired
    The fulfillment order to merge from.
  • destinationobjectrequired
    The fulfillment order to merge into.

Responses

200Fulfillment orders merged successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Cannot merge fulfillment orders.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment orders not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/split

Split fulfillment order

Split selected line items from a fulfillment order into a new fulfillment order. Use it to ship available items immediately while backordered items wait, to fulfill from multiple locations when only partial inventory exists, or to separate items with different shipping requirements.

Line item status requirements

Only items in a pending status can be split:

  • open: can be split.
  • allocated: can be split.
  • fulfilled, cancelled, closed: cannot be split.

Split process

Specify:

  • line_items (required): the items and quantities to move to the new FO.
  • location_id (optional): a location for the split items. Defaults to the original FO's location.
  • partner_fulfillment_order_reference (optional): your reference for the new FO.

After splitting, a new fulfillment order is created with a new fulfillment_order_id, inheriting delivery from the original. Split line items get status allocated when a location is set, otherwise open. The original FO's quantities are reduced (items are removed if their quantity reaches 0). The order status is recalculated and webhooks fire.

Inventory impact

No inventory changes occur during a split; items are only reorganised.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order to split.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: split-fulfillment-requestrequired
  • line_itemsfo-line-item-request[]required
    Line items to move to the new fulfillment order.
  • partner_fulfillment_order_referencestring
    Partner reference for the new fulfillment order.
  • location_idstring
    Optional new location for the split fulfillment order.

Responses

200Fulfillment order split successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Cannot split fulfillment order.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/ship

Ship fulfillment order

Create a shipment for items in a fulfillment order.

Line item status requirements

Items must be in allocated or fulfilled status:

  • allocated: can be shipped.
  • fulfilled: can be shipped (as an additional shipment).
  • open: must be allocated first.
  • cancelled, closed: cannot be shipped.

Request requirements

Provide line_items, the items to ship with their quantities.

Shipping process

When you ship, Carriyo:

  1. Validates that the requested items are in allocated or fulfilled status.
  2. Validates that the requested quantities don't exceed available quantities.
  3. Creates a draft shipment in the Carriyo Shipping API.
  4. Confirms the shipment with the carrier (unless create_draft_shipment=true).
  5. Links the shipment ID to the specified line items.
  6. Fires webhooks.

Shipment configuration

The request mirrors the Shipping API's create-shipment body. You can set the carrier account (or let automation rules decide), parcels, delivery instructions and scheduling, payment details including cash on delivery, and pre-booking information for externally booked shipments.

Draft shipments

Set create_draft_shipment=true to create a draft for review before booking with the carrier.

Inventory impact

No inventory changes occur here; inventory is managed during the fulfill and cancel operations.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.
create_draft_shipmentbooleanNoIf true, creates a draft shipment instead of immediately booking with a carrier.

Headers

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

Request body

Content type: application/jsonSchema: ship-fo-line-items-request
  • line_itemsfo-line-item-request[]
    Specific fulfilled items to ship. Omit to ship all fulfilled items.
  • carrier_accountcarrier-account-request
    Identifies a specific carrier account configured in Carriyo.
  • parcelsparcel-request[]
  • deliveryfulfillment-delivery
    Scheduling window for a fulfillment.
  • paymentfulfillment-payment
  • pre_booking_infopre-booking-info
    Information about a shipment that has already been booked with a carrier outside Carriyo.

Responses

200Shipment created successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Cannot create shipment.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

patch/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/update-location

Update fulfillment order location

Reassign a fulfillment order to a different location, for example to a location with available inventory or one closer to the customer.

Request requirements

Provide location_id, the new location's ID or code.

Location resolution

The value is resolved first by partner_location_id, then, if not found, by location_code for the merchant.

Effects

The fulfillment order's location_id is updated, the order status is recalculated, and webhooks fire.

Inventory impact

No inventory changes occur during a location update. Manage inventory reservations across the location change separately through the Inventory API if you need to.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: update-location-requestrequired
  • location_idstringrequired
    The new location ID for the fulfillment order.

Responses

200Location updated successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Cannot update location.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

patch/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/update-delivery-method

Update fulfillment order delivery method

Switches the delivery method of a fulfillment order between DELIVERY, COLLECTION, and DIGITAL, and updates the corresponding address and schedule in a single call.

Behaviour

Depending on the new delivery_method, the request body fields are interpreted as follows:

New delivery_method address is set as scheduled_from/scheduled_to are set as
DELIVERY delivery_address delivery_schedule
COLLECTION customer_collection_address customer_collection_schedule
DIGITAL not used not used

Switching to a new delivery method clears the address and schedule fields associated with the previous method.

Use cases

  • Convert an online order from home delivery to a click-and-collect pickup at a store.
  • Switch a fulfillment order from COLLECTION back to DELIVERY if the customer changes their mind.
  • Mark a fulfillment order as DIGITAL when no physical delivery is required.

Constraints

This endpoint cannot be called on fulfillment orders that have already started processing (e.g., shipments created, items fulfilled). Use unfulfill or cancel flows first if you need to change the method on an in-progress FO.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: update-fulfillment-order-delivery-method-requestrequired
  • delivery_methodstringrequired
    How the order is delivered to the customer: - DELIVERY: standard delivery to the customer's address (uses delivery_address and delivery_schedule). - COLLECTION: customer collects the order from a specified location (uses customer_collection_address and customer_collection_schedule). - DIGITAL: no physical delivery; the order is fulfilled digitally.
    Values:DELIVERYCOLLECTIONDIGITAL
  • addressaddress
    The new address for the fulfillment order. - For DELIVERY: the new delivery address. - For COLLECTION: the new customer collection address. - For DIGITAL: not required.
  • scheduled_fromstringformat: date-time
    Start of the new scheduled window (delivery or customer-collection, depending on delivery_method).
  • scheduled_tostringformat: date-time
    End of the new scheduled window.
  • delivery_typestring
    The delivery service level (e.g., standard, express). Only applicable when delivery_method is DELIVERY.
  • delivery_optionobject
    Carriyo delivery option reference.

Responses

200Delivery method updated successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Invalid request.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

patch/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/update-address

Update fulfillment order address

Updates the address on the fulfillment order according to its current delivery_method:

delivery_method address updates
DELIVERY delivery_address
COLLECTION customer_collection_address

Use Update Delivery Method first if you need to switch between delivery and collection before setting the correct address type.

Not applicable when delivery_method is DIGITAL.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: update-fulfillment-order-address-requestrequired
  • addressaddressrequired
    The new address. Applies to delivery_address when delivery_method is DELIVERY, or customer_collection_address when delivery_method is COLLECTION.

Responses

200Address updated successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Invalid request.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

patch/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/update-schedule

Update fulfillment order schedule

Update the delivery schedule window for a fulfillment order, for example when the customer changes their preferred window or a missed delivery needs rescheduling.

Replaces the FO's scheduled_from and scheduled_to, then fires webhooks.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: update-fulfillment-order-schedule-requestrequired
  • scheduled_fromstringformat: date-time
    Start of the scheduled window.
  • scheduled_tostringformat: date-time
    End of the scheduled window.

Responses

200Schedule updated successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Invalid request.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

patch/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/update-partner-references

Update fulfillment order partner references

Update partner references on a fulfillment order or its individual fulfillments.

Updatable fields

Provide one of the following per request:

  • partner_fulfillment_order_reference: your external reference for the FO.
  • fulfillments: an array of { fulfillment_id, partner_fulfillment_reference } pairs that set references on already-fulfilled line items.

If both are present, only partner_fulfillment_order_reference is applied.

Constraints

The fulfillment order must not have active picks. This endpoint only updates reference fields and makes no inventory changes.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: update-fulfillment-order-partner-references-requestrequired
  • partner_fulfillment_order_referencestring
    Updated partner reference for the fulfillment order.
  • fulfillmentsupdate-fulfillment-request[]
    Updates to existing fulfillments' partner references.

Responses

200Partner references updated successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Invalid request.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

post/orders/{orderReference}/fulfillment-orders/{fulfillmentOrderId}/cancel

Cancel fulfillment order line items

Cancel specific line items within a fulfillment order.

Line item status requirements

Only items in a pending status can be cancelled:

  • open: can be cancelled.
  • allocated: can be cancelled.
  • fulfilled: cannot be cancelled directly; unfulfill it first.
  • cancelled: already cancelled.
  • closed: cannot be cancelled.

Request requirements

Both fields are required:

  • cancellation_reason: one of the values below.
  • line_items: the items to cancel, with quantities.

Cancellation reason values

  • CUSTOMER_CANCELLATION: customer requested cancellation.
  • AUTO_ALLOCATION_FAILED: automatic fulfillment allocation failed.
  • INVENTORY_OUT_OF_STOCK: items are out of stock.
  • STAFF_ERROR: staff made an error.
  • PAYMENT_ISSUE: a payment problem occurred.
  • OTHER: any other reason.

Cancellation effects

When items are cancelled, Carriyo updates each item's status to cancelled with the reason, updates the order line item's removed_quantities, recalculates the order status, and fires webhooks.

Inventory impact

If inventory management is enabled and the FO has a location_id, reserved is decreased by the cancelled quantity, releasing the reserved stock.

Path parameters

NameTypeRequiredDescription
orderReferencestringYesThe order reference (order_id or partner_order_reference based on the key parameter).
fulfillmentOrderIdstringYesThe unique identifier of the fulfillment order.

Query parameters

NameTypeRequiredDescription
keystringNoSpecifies which reference type is being used for the order reference.

Headers

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

Request body

Content type: application/jsonSchema: cancel-fo-line-items-request
  • cancellation_reasonstringrequired
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • line_itemsfo-line-item-request[]required
    The line items to cancel.

Responses

200Line items cancelled successfully.Schema: order
  • tenantstring
    The tenant identifier.
  • order_idstring
    Carriyo's unique identifier for the order.
  • merchantstring
    The merchant identifier.
  • partner_order_referencestring
    Your system's order reference.
  • languagestring
    Language code for customer communications.
  • order_datestringformat: date-time
    The date when the order was placed.
  • sales_channelstring
    The sales channel where the order originated.
  • creation_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • update_sourcerequest-source
    Describes which system or actor triggered an order create or update.
  • statusstring
    Current status of the order: - open - Order created, not yet allocated - partially_allocated - Some items allocated to fulfillment locations - allocated - All items allocated to fulfillment locations - processing - One or more fulfillment orders are being processed (picked, packed, shipped or partially fulfilled) - fulfilled - All items have been fulfilled - cancelled - Order has been cancelled - closed - Order is complete and closed
    Values:openpartially_allocatedallocatedprocessingfulfilledcancelledclosed
  • auto_allocation_failedboolean
    Whether automatic fulfillment allocation failed.
  • cancellation_reasonstring
    The reason for cancellation. Must be one of the following values: - CUSTOMER_CANCELLATION - Customer requested cancellation - AUTO_ALLOCATION_FAILED - Automatic fulfillment allocation failed - INVENTORY_OUT_OF_STOCK - Items are out of stock - STAFF_ERROR - Staff made an error - PAYMENT_ISSUE - Payment problem occurred - OTHER - Other reason
    Values:CUSTOMER_CANCELLATIONAUTO_ALLOCATION_FAILEDINVENTORY_OUT_OF_STOCKSTAFF_ERRORPAYMENT_ISSUEOTHER
  • billing_addressaddress
    Carriyo address object used for customer, billing, delivery and customer-collection addresses. You can either pass a fully free-form address (contact_name, address1, city, country, etc.) or reference a pre-configured location in Carriyo using partner_location_id, partner_location_name, or partner_location_code.
  • customeraddress
    The customer's contact and address details.
  • customer_keystring
    A derived key that uniquely identifies the customer based on email/phone, used to link orders to a customer record.
  • paymentorder-payment
  • redactedboolean
    Whether personal data has been redacted.
  • taxes_includedboolean
    Whether prices include taxes.
  • duties_includedboolean
    Whether prices include duties.
  • discount_applicationsdiscount-application[]
  • line_itemsline-item[]
  • fulfillment_ordersfulfillment-order[]
  • shipping_linesshipping-line[]
  • error_detailserror-detail[]
    Any errors that occurred during order processing.
  • creation_datestringformat: date-time
    When the order was created in Carriyo.
  • update_datestringformat: date-time
    When the order was last updated.
400Cannot cancel line items.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.
404Order or fulfillment order not found.Schema: error-response
  • errorstring
    Error message describing what went wrong.
  • codestring
    Error code for programmatic handling.
  • detailsobject[]
    Detailed error information for specific fields.

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

Order Allocation Rules

Order allocation rules determine how orders are routed to fulfillment locations based on order attributes and constraints.

6 operations · 0 objects

post/order-allocation-rules

Create order allocation rule

Setup endpoint
Manage this in the Carriyo Dashboard, not the API.

Create an order allocation rule. Allocation rules determine how an order is split into one or more fulfillment orders across your fulfillment locations. New rules are ordered by sequence; use Update rule sequence to set their evaluation priority.

Headers

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

Request body

Content type: application/jsonrequired

Responses

201Created.

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

get/order-allocation-rules

List order allocation rules

Setup endpoint
Manage this in the Carriyo Dashboard, not the API.

List the order allocation rules configured for the merchant, ordered by evaluation priority (sequence).

Headers

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

Responses

200Success.

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

get/order-allocation-rules/{rule_id}

Get order allocation rule

Setup endpoint
Manage this in the Carriyo Dashboard, not the API.

Return a single order allocation rule by its rule_id.

Path parameters

NameTypeRequiredDescription
rule_idstringYesAllocation rule ID.

Headers

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

Responses

200Success.

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

put/order-allocation-rules/{rule_id}

Update order allocation rule

Setup endpoint
Manage this in the Carriyo Dashboard, not the API.

Replace an order allocation rule. The request body fully replaces the existing rule; fields you omit are reset to defaults. The rule's evaluation priority is managed separately via Update rule sequence.

Path parameters

NameTypeRequiredDescription
rule_idstringYesAllocation rule ID.

Headers

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

Request body

Content type: application/jsonrequired

Responses

200Success.

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

delete/order-allocation-rules/{rule_id}

Delete order allocation rule

Setup endpoint
Manage this in the Carriyo Dashboard, not the API.

Delete an order allocation rule. Orders that would have matched this rule fall through to the next matching rule in evaluation order.

Path parameters

NameTypeRequiredDescription
rule_idstringYesAllocation rule ID.

Headers

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

Responses

204Deleted.

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

patch/order-allocation-rules/sequences

Update rule sequence

Setup endpoint
Manage this in the Carriyo Dashboard, not the API.

Set the priority order in which allocation rules are evaluated. Carriyo evaluates rules in this order when splitting an order into fulfillment orders.

Headers

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

Request body

Content type: application/jsonrequired
  • ruleIdstring
  • sequenceinteger

Responses

200Updated.

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