Order Configs
The OrderConfig object
idstringoptionalPublic order-config identifier. Prefixed order_config_.
keystringoptionalShort identifier (e.g. transport). Stable across companies for system configs.
namestringoptionalHuman-readable name.
namespacestringoptionalFully-qualified identifier (e.g. system:order-config:transport). Unique per company.
descriptionstringoptionalFree-form description.
tagsarray of stringsoptionalFree-form tags.
statusstringoptionalConfig lifecycle status. Newly created configs default to private; system configs may be active.
versionstringoptionalSemver-style schema version (e.g. 0.0.1).
flowobjectoptionalThe activity graph as an object keyed by activity code. Each value is an Activity object — a node in the order's state machine. Activities are linked via their own activities field (an array of child activity codes), forming a directed graph from created through to a terminal state (complete: true). The well-known canonical codes are created, dispatched, started, enroute, completed, and canceled.
The map's key order reflects the order activities are declared in the underlying JSON — not graph progression. To walk the workflow, start from flow.created (or whichever activity has no inbound edges) and follow each activity's activities array. Treat each activity's code (and the map key) as the stable identifier; everything else is editable through the operator console.
keystringoptionalCanonical activity code. Mirrors the map key and the activity's code.
codestringoptionalCanonical activity code (e.g. created, dispatched, started, enroute, completed, canceled). Treat this as the stable identifier when rendering UI.
statusstringoptionalHuman-readable label for the activity (e.g. Driver Enroute).
detailsstringoptionalLong-form description of what this activity represents.
colorstringoptionalHex colour hint for status UI (e.g. #1f2937).
sequenceintegeroptionalEditor-managed ordering hint, used by the operator UI when laying out the graph.
completebooleanoptionaltrue for terminal activities. The order is considered complete when it reaches an activity with complete: true. Multiple activities can be terminal (e.g. completed, canceled).
activitiesarray of stringsoptionalChild activity codes — the activities reachable from this one. This is the graph edge list; an empty array marks a terminal (leaf) node.
pod_methodstringoptionalProof-of-delivery method required at this activity. One of scan, signature, photo, or null when no POD is configured.
require_podbooleanoptionalWhether proof-of-delivery must be captured before the order can advance past this activity.
logicarray of objectsoptionalConditional logic gates evaluated before this activity is considered reachable. Each gate has:
type(string) —and,or,not, orifconditions(array of objects) — each\{ field, operator, value \}, whereoperatoris one ofexists,in/has,notIn/doesntHave,contains,beginsWith,endsWith, or a standard comparison (=,!=,<,>,<=,>=) The default transport config carries an emptylogicarray (no gating).
eventsarray of stringsoptionalEvent names fired when this activity is entered (e.g. notification or webhook hooks). The default transport config carries an empty events array.
actionsarray of objectsoptionalActions wired to this activity (reserved for editor-managed handlers). The default transport config carries an empty actions array.
optionsarray of objectsoptionalActivity options exposed by the operator UI. The default transport config carries an empty options array.
entitiesarray of objectsoptionalEntities (parcels, packages, line items) attached specifically to this activity. Most configs carry entities at the OrderConfig level rather than per-activity, so this is typically [].
internalIdstringoptionalUUID assigned by the order-config editor to identify this activity instance. Stable across edits and unrelated to the public id.
created_attimestampoptionalWhen the config was created.
updated_attimestampoptionalWhen the config was last updated.
{
"id": "order_config_A1b2C3d4E5",
"key": "transport",
"name": "Transport",
"namespace": "system:order-config:transport",
"description": "Default order configuration for transport",
"tags": [
"transport",
"delivery"
],
"status": "private",
"version": "0.0.1",
"flow": {
"created": {
"key": "created",
"code": "created",
"color": "#1f2937",
"logic": [],
"events": [],
"status": "Order Created",
"actions": [],
"details": "New order was created.",
"options": [],
"complete": false,
"entities": [],
"sequence": 0,
"activities": [
"dispatched"
],
"internalId": "aac819a0-4d3f-4543-b7fa-e50804df83f1",
"pod_method": "scan",
"require_pod": false
},
"enroute": {
"key": "enroute",
"code": "enroute",
"color": "#1f2937",
"logic": [],
"events": [],
"status": "Driver Enroute",
"actions": [],
"details": "Driver is en-route.",
"options": [],
"complete": false,
"entities": [],
"sequence": 0,
"activities": [
"completed"
],
"internalId": "5422a0c3-8683-4cc2-a4b5-4d064067cd4d",
"pod_method": "scan",
"require_pod": false
},
"started": {
"key": "started",
"code": "started",
"color": "#1f2937",
"logic": [],
"events": [],
"status": "Order Started",
"actions": [],
"details": "Order has been started",
"options": [],
"complete": false,
"entities": [],
"sequence": 0,
"activities": [
"enroute"
],
"internalId": "b68fad7c-b09d-4161-a01c-a9a95e7f09a8",
"pod_method": "scan",
"require_pod": false
},
"completed": {
"key": "completed",
"code": "completed",
"color": "#1f2937",
"logic": [],
"events": [],
"status": "Order Completed",
"actions": [],
"details": "Order has been completed.",
"options": [],
"complete": true,
"entities": [],
"sequence": 0,
"activities": [],
"internalId": "8406520c-3f61-447b-8a48-d225d0f062d6",
"pod_method": "scan",
"require_pod": false
},
"dispatched": {
"key": "dispatched",
"code": "dispatched",
"color": "#1f2937",
"logic": [],
"events": [],
"status": "Order Dispatched",
"actions": [],
"details": "Order has been dispatched.",
"options": [],
"complete": false,
"entities": [],
"sequence": 0,
"activities": [
"started"
],
"internalId": "152fa650-34d0-45d8-8b4f-e5820bde4277",
"pod_method": "scan",
"require_pod": false
}
},
"created_at": "2026-04-01T10:00:00.000000Z",
"updated_at": "2026-04-01T10:00:00.000000Z"
}/v1/order-configsQuery Order Configs
Lists OrderConfigs available to the company resolved from the API credential.
limitintegeroptionalPage size.
offsetintegeroptionalPage offset.
keystringoptionalFilter by short key (e.g. transport).
querystringoptionalFree-text search across config fields.
/v1/order-configscurl https://api.fleetbase.io/v1/order-configs \
-H "Authorization: Bearer flb_live_…" \
-H "Accept: application/json"/v1/order-configsRetrieve an Order Config
Fetches a single OrderConfig. The {id} segment accepts any identifier supported by OrderConfig::resolveFromIdentifier — uuid, public_id, namespace, or short key. Use transport to retrieve the system default flow.
/v1/order-configscurl https://api.fleetbase.io/v1/order-configs \
-H "Authorization: Bearer flb_live_…" \
-H "Accept: application/json"