Skip to Content
API ReferenceSplit Rules

Split Rules

Split rules define how orders are automatically divided into multiple sub-orders based on line item attributes, such as warehouse location, fulfillment type, or product category.

List Split Rules

GET/api/split-rules

List all split rules for the organization.

Requiredorders:read

Returns a paginated list of split rules with their configuration and priority.

Query Parameters

ParameterTypeDescription
pagenumberPage number (default: 1)
limitnumberItems per page (default: 20, max: 100)
curl -X GET "https://api.orderly.dev/api/split-rules" \ -H "Authorization: Bearer ord_sk_..."

Response

{ "data": [ { "id": "uuid", "name": "Split by warehouse", "field": "line_items.warehouse_code", "strategy": "group_by", "priority": 10, "enabled": true, "created_at": "2026-01-01T00:00:00Z" } ], "pagination": { "page": 1, "limit": 20, "total": 2, "totalPages": 1, "hasMore": false } }

Create Split Rule

POST/api/split-rules

Create a new order split rule.

Requiredorders:write

Creates a new split rule. Rules are evaluated in priority order (lower number runs first).

Request Body

FieldTypeRequiredDescription
namestringYesDisplay name
fieldstringYesDot-notation path to the field to split on
strategystringYesSplit strategy: group_by, threshold, custom
configobjectNoStrategy-specific configuration
prioritynumberNoExecution priority (lower runs first, default: 100)
enabledbooleanNoWhether the rule is active (default: true)
curl -X POST "https://api.orderly.dev/api/split-rules" \ -H "Authorization: Bearer ord_sk_..." \ -H "Content-Type: application/json" \ -d '{ "name": "Split by warehouse", "field": "line_items.warehouse_code", "strategy": "group_by", "priority": 10 }'

Update Split Rule

PATCH/api/split-rules/:id

Update a split rule's configuration.

Requiredorders:write

Updates a split rule. Changes take effect for new orders processed after the update.

curl -X PATCH "https://api.orderly.dev/api/split-rules/550e8400-e29b-41d4-a716-446655440000" \ -H "Authorization: Bearer ord_sk_..." \ -H "Content-Type: application/json" \ -d '{"priority": 5, "enabled": false}'

Delete Split Rule

DELETE/api/split-rules/:id

Delete a split rule.

Requiredorders:write

Permanently deletes a split rule. Orders that were previously split by this rule are not affected.

curl -X DELETE "https://api.orderly.dev/api/split-rules/550e8400-e29b-41d4-a716-446655440000" \ -H "Authorization: Bearer ord_sk_..."