Production
Called with factory account keys. A key only sees its own account's data. Every example uses the same sample brand, order and item, so you can follow one item from call to call.
http://62.169.23.239:8001/api/v1Auth Bearer token5 endpointsEndpoints
- GET/factory/production-ordersList Factory Orders
- GET/factory/production-orders/{order_id}Get Factory Order Detail
- POST/factory/production-orders/{order_id}/complete-batchComplete batch after label printing
- POST/factory/production-orders/{order_id}/complete-productionMark factory production as complete
- POST/factory/production-orders/{order_id}/start-productionStart production on a scheduled order
List Factory Orders#
Requires scope factory_orders:read
Parameters
- searchstringquery
Search order ID, brand, product, or SKU
- statusstringquery
Filter by order status
- brand_namestringquery
Filter by brand name
- date_fromdatequery
Order date on or after
- date_todatequery
Order date on or before
- pageintegerquery
Defaults to
1 - limitintegerquery
Defaults to
5
Returns
HTTP 200- itemsarray of objectsRequired
The objects on this page.
+Show 11 child attributesHide child attributes
- order_idstringRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
- order_display_idstringRequired
Order number formatted for display (#PO-YYYY-XXXX).
- brand_namestringRequired
- product_namestringRequired
- total_quantityintegerRequired
- flow_typestringRequired
standard = the factory knows each item's variant when printing; variable = variants are assigned at QC.
- date_receiveddate | null
- due_datedate | null
- statusstringRequired
Current state of the object. See the allowed values.
- tracking_statusstring | null
Where the production order is in its lifecycle. This is the only progress field — use it, not status_display.
- status_displaystring | null
- paginationobjectRequired
Page position: current_page, limit, total_pages, total_results.
+Show 6 child attributesHide child attributes
- total_resultsintegerRequired
- total_pagesintegerRequired
- current_pageintegerRequired
- limitintegerRequired
- showing_fromintegerRequired
- showing_tointegerRequired
curl http://62.169.23.239:8001/api/v1/factory/production-orders \
-H "Authorization: Bearer $SKANNIT_TOKEN"{
"items": [
{
"order_id": "ord_8c2f4e1a9b7d3c60",
"order_display_id": "#PO-2026-7F3A",
"brand_name": "Northwind Apparel",
"product_name": "Trail Tee",
"total_quantity": 24,
"flow_type": "flow type",
"date_received": "2026-11-20",
"due_date": "2026-11-20",
"status": "active",
"tracking_status": "IN-PRODUCTION",
"status_display": "In production"
}
],
"pagination": {
"total_results": 24,
"total_pages": 24,
"current_page": 1,
"limit": 1,
"showing_from": 1,
"showing_to": 1
}
}Get Factory Order Detail#
Requires scope factory_orders:read
Parameters
- order_idstringpathRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
Returns
HTTP 200- order_idstringRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
- order_display_idstringRequired
Order number formatted for display (#PO-YYYY-XXXX).
- tracking_statusstringRequired
Where the production order is in its lifecycle. This is the only progress field — use it, not status_display.
- status_displaystringRequired
- status_tonestring | null
- scheduled_completiondate | null
- production_linestring | null
- flow_typestring
standard = the factory knows each item's variant when printing; variable = variants are assigned at QC.
Defaults to
standard - product_image_urlstring | null
- product_idstring | null
Skannit's id for the product.
- material_declaredboolean
True once the factory has declared what it is actually sourcing for this run. start_factory_production requires this before SCHEDULED -> IN-PRODUCTION is allowed.
Defaults to
false - material_weights_declaredboolean
True once every declared element carries a gram weight at every size in product_sizes. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - product_sizesarray of strings
Sizes this product is made in, from its variants — the columns the factory's per-element weight grid has to fill.
- sustainability_declaredboolean
True once the factory has declared sustainability & circularity data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - repairability_declaredboolean
True once the factory has declared repairability data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - origin_compliance_declaredboolean
True once the factory has declared origin & compliance data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - declarations_lockedboolean
True once production has started: declarations can no longer change and certificates can only be added as amendments with a note.
Defaults to
false - is_delayedboolean
Defaults to
false - batch_infoobjectRequired
+Show 10 child attributesHide child attributes
- batch_idstringRequired
- lot_numberstringRequired
- prioritystring | null
- operator_namestring | null
- operator_avatar_urlstring | null
- start_timestring | null
- estimated_endstring | null
- brand_namestringRequired
- product_namestringRequired
- statusstringRequired
Current state of the object. See the allowed values.
- total_unitsintegerRequired
Target units from quantity matrix
- total_itemsintegerRequired
Component rows in production list
- completed_itemsintegerRequired
- items_progress_labelstringRequired
Human label e.g. "480 / 500 items units"
- progress_stagesarray of objectsRequired
+Show 4 child attributesHide child attributes
- keystringRequiredOne of
raw_materialsassemblyquality_checkpackaging - labelstringRequired
- statestringRequiredOne of
completedactivepending - sublabelstringRequired
- locationobject | null
Free-text place in your warehouse, for example "Aisle 4, Bay B".
+Show 4 child attributesHide child attributes
- labelstringRequired
- baystring | null
- sectorstring | null
- warehouse_map_urlstring | null
- kpisobjectRequired
+Show 2 child attributesHide child attributes
- efficiency_pctnumberRequired
- waste_ratio_pctnumberRequired
- actionsobjectRequired
+Show 10 child attributesHide child attributes
- can_start_productionboolean
Defaults to
false - can_complete_productionboolean
Defaults to
false - can_complete_batchboolean
Defaults to
false - can_generate_qrboolean
Defaults to
false - can_print_labelsboolean
Defaults to
false - can_confirm_label_printboolean
Defaults to
false - can_report_issueboolean
Defaults to
true - qr_batch_idstring | null
The QR batch created for this order — one per production order.
- qr_batch_statusstring | null
- labels_printed_atstring | null
- itemsarray of objectsRequired
The objects on this page.
+Show 6 child attributesHide child attributes
- component_idstringRequired
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- statusstringRequired
Current state of the object. See the allowed values.
One ofPassReviewIn ProgressPending - quantityintegerRequired
Number of units.
- quality_scoreintegerRequired
- logistics_planobject | null
+Show 2 child attributesHide child attributes
- boxesarray of objects
+Show 6 child attributesHide child attributes
- idstringRequired
- modestringRequiredOne of
samemixed - capacityintegerRequired
- regionstring | null
- linesarray of objectsRequired
Line items, one per variant.
+Show 5 child attributesHide child attributes
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- batch_skustring | null
SKU printed on the label for this variant in this batch.
- quantityintegerRequired
Number of units.
- volume_lstring | null
Packaged volume of one unit, in litres. Used to size boxes.
- created_atstring | null
When the object was created (ISO 8601, UTC).
- destinationsarray of objects
+Show 8 child attributesHide child attributes
- idstringRequired
- namestringRequired
- citystring | null
- countrystringRequired
- arrival_datestring | null
- prioritystringOne of
lowstandardurgentDefaults to
standard - box_idsarray of strings
Ids of the boxes this call acts on.
- instructionsstring
Defaults to
curl http://62.169.23.239:8001/api/v1/factory/production-orders/ord_8c2f4e1a9b7d3c60 \
-H "Authorization: Bearer $SKANNIT_TOKEN"{
"order_id": "ord_8c2f4e1a9b7d3c60",
"order_display_id": "#PO-2026-7F3A",
"tracking_status": "IN-PRODUCTION",
"status_display": "In production",
"status_tone": "on_track",
"scheduled_completion": "2026-11-20",
"production_line": "production line",
"flow_type": "standard",
"product_image_url": "https://files.skannit.example/product_image.png",
"product_id": "f6abe715-90aa-5908-a0a6-12951a3a21cc",
"material_declared": false,
"material_weights_declared": false,
"product_sizes": [
"product size"
],
"sustainability_declared": false,
"repairability_declared": false,
"origin_compliance_declared": false,
"declarations_locked": false,
"is_delayed": false,
"batch_info": {
"batch_id": "d25c8e92-dbf6-501d-9bbb-ca1b783c82d1",
"lot_number": "lot number",
"priority": "standard",
"operator_name": "Operator",
"operator_avatar_url": "https://files.skannit.example/operator_avatar.png",
"start_time": "start time",
"estimated_end": "estimated end",
"brand_name": "Northwind Apparel",
"product_name": "Trail Tee",
"status": "active"
},
"total_units": 24,
"total_items": 24,
"completed_items": 1,
"items_progress_label": "Items progress",
"progress_stages": [
{
"key": "raw_materials",
"label": "Packed",
"state": "completed",
"sublabel": "sublabel"
}
],
"location": "Aisle 4, Bay B",
"kpis": {
"efficiency_pct": 72.5,
"waste_ratio_pct": 72.5
},
"actions": {
"can_start_production": false,
"can_complete_production": false,
"can_complete_batch": false,
"can_generate_qr": false,
"can_print_labels": false,
"can_confirm_label_print": false,
"can_report_issue": true,
"qr_batch_id": "qb_3e9a1c7f2b40",
"qr_batch_status": "qr batch status",
"labels_printed_at": null
},
"items": [
{
"component_id": "beb72a9a-5c27-534e-93b5-af0d8a8cd73e",
"color": "White",
"size": "M",
"status": "Pass",
"quantity": 1,
"quality_score": 1
}
],
"logistics_plan": {
"boxes": [
{
"id": "SKN-CRT-00402-9A1C3E7F",
"mode": "same",
"capacity": 1,
"region": "EU",
"lines": [
{
"color": "White",
"size": "M",
"batch_sku": "TT-100-WHT-M",
"quantity": 1,
"volume_l": 0.5
}
],
"created_at": "2026-10-09T09:30:00Z"
}
],
"destinations": [
"in_store"
]
}
}Complete batch after label printing#
Requires scope factory_orders:write
Advance the order from **AWAITING LABELS** → **QUALITY CONTROL**.
Requires QR labels to be confirmed printed (labels_printed batch status).
Parameters
- order_idstringpathRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
Returns
HTTP 200- order_idstringRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
- order_display_idstringRequired
Order number formatted for display (#PO-YYYY-XXXX).
- tracking_statusstringRequired
Where the production order is in its lifecycle. This is the only progress field — use it, not status_display.
- status_displaystringRequired
- status_tonestring | null
- scheduled_completiondate | null
- production_linestring | null
- flow_typestring
standard = the factory knows each item's variant when printing; variable = variants are assigned at QC.
Defaults to
standard - product_image_urlstring | null
- product_idstring | null
Skannit's id for the product.
- material_declaredboolean
True once the factory has declared what it is actually sourcing for this run. start_factory_production requires this before SCHEDULED -> IN-PRODUCTION is allowed.
Defaults to
false - material_weights_declaredboolean
True once every declared element carries a gram weight at every size in product_sizes. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - product_sizesarray of strings
Sizes this product is made in, from its variants — the columns the factory's per-element weight grid has to fill.
- sustainability_declaredboolean
True once the factory has declared sustainability & circularity data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - repairability_declaredboolean
True once the factory has declared repairability data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - origin_compliance_declaredboolean
True once the factory has declared origin & compliance data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - declarations_lockedboolean
True once production has started: declarations can no longer change and certificates can only be added as amendments with a note.
Defaults to
false - is_delayedboolean
Defaults to
false - batch_infoobjectRequired
+Show 10 child attributesHide child attributes
- batch_idstringRequired
- lot_numberstringRequired
- prioritystring | null
- operator_namestring | null
- operator_avatar_urlstring | null
- start_timestring | null
- estimated_endstring | null
- brand_namestringRequired
- product_namestringRequired
- statusstringRequired
Current state of the object. See the allowed values.
- total_unitsintegerRequired
Target units from quantity matrix
- total_itemsintegerRequired
Component rows in production list
- completed_itemsintegerRequired
- items_progress_labelstringRequired
Human label e.g. "480 / 500 items units"
- progress_stagesarray of objectsRequired
+Show 4 child attributesHide child attributes
- keystringRequiredOne of
raw_materialsassemblyquality_checkpackaging - labelstringRequired
- statestringRequiredOne of
completedactivepending - sublabelstringRequired
- locationobject | null
Free-text place in your warehouse, for example "Aisle 4, Bay B".
+Show 4 child attributesHide child attributes
- labelstringRequired
- baystring | null
- sectorstring | null
- warehouse_map_urlstring | null
- kpisobjectRequired
+Show 2 child attributesHide child attributes
- efficiency_pctnumberRequired
- waste_ratio_pctnumberRequired
- actionsobjectRequired
+Show 10 child attributesHide child attributes
- can_start_productionboolean
Defaults to
false - can_complete_productionboolean
Defaults to
false - can_complete_batchboolean
Defaults to
false - can_generate_qrboolean
Defaults to
false - can_print_labelsboolean
Defaults to
false - can_confirm_label_printboolean
Defaults to
false - can_report_issueboolean
Defaults to
true - qr_batch_idstring | null
The QR batch created for this order — one per production order.
- qr_batch_statusstring | null
- labels_printed_atstring | null
- itemsarray of objectsRequired
The objects on this page.
+Show 6 child attributesHide child attributes
- component_idstringRequired
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- statusstringRequired
Current state of the object. See the allowed values.
One ofPassReviewIn ProgressPending - quantityintegerRequired
Number of units.
- quality_scoreintegerRequired
- logistics_planobject | null
+Show 2 child attributesHide child attributes
- boxesarray of objects
+Show 6 child attributesHide child attributes
- idstringRequired
- modestringRequiredOne of
samemixed - capacityintegerRequired
- regionstring | null
- linesarray of objectsRequired
Line items, one per variant.
+Show 5 child attributesHide child attributes
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- batch_skustring | null
SKU printed on the label for this variant in this batch.
- quantityintegerRequired
Number of units.
- volume_lstring | null
Packaged volume of one unit, in litres. Used to size boxes.
- created_atstring | null
When the object was created (ISO 8601, UTC).
- destinationsarray of objects
+Show 8 child attributesHide child attributes
- idstringRequired
- namestringRequired
- citystring | null
- countrystringRequired
- arrival_datestring | null
- prioritystringOne of
lowstandardurgentDefaults to
standard - box_idsarray of strings
Ids of the boxes this call acts on.
- instructionsstring
Defaults to
curl -X POST http://62.169.23.239:8001/api/v1/factory/production-orders/ord_8c2f4e1a9b7d3c60/complete-batch \
-H "Authorization: Bearer $SKANNIT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"{
"order_id": "ord_8c2f4e1a9b7d3c60",
"order_display_id": "#PO-2026-7F3A",
"tracking_status": "IN-PRODUCTION",
"status_display": "In production",
"status_tone": "on_track",
"scheduled_completion": "2026-11-20",
"production_line": "production line",
"flow_type": "standard",
"product_image_url": "https://files.skannit.example/product_image.png",
"product_id": "f6abe715-90aa-5908-a0a6-12951a3a21cc",
"material_declared": false,
"material_weights_declared": false,
"product_sizes": [
"product size"
],
"sustainability_declared": false,
"repairability_declared": false,
"origin_compliance_declared": false,
"declarations_locked": false,
"is_delayed": false,
"batch_info": {
"batch_id": "d25c8e92-dbf6-501d-9bbb-ca1b783c82d1",
"lot_number": "lot number",
"priority": "standard",
"operator_name": "Operator",
"operator_avatar_url": "https://files.skannit.example/operator_avatar.png",
"start_time": "start time",
"estimated_end": "estimated end",
"brand_name": "Northwind Apparel",
"product_name": "Trail Tee",
"status": "active"
},
"total_units": 24,
"total_items": 24,
"completed_items": 1,
"items_progress_label": "Items progress",
"progress_stages": [
{
"key": "raw_materials",
"label": "Packed",
"state": "completed",
"sublabel": "sublabel"
}
],
"location": "Aisle 4, Bay B",
"kpis": {
"efficiency_pct": 72.5,
"waste_ratio_pct": 72.5
},
"actions": {
"can_start_production": false,
"can_complete_production": false,
"can_complete_batch": false,
"can_generate_qr": false,
"can_print_labels": false,
"can_confirm_label_print": false,
"can_report_issue": true,
"qr_batch_id": "qb_3e9a1c7f2b40",
"qr_batch_status": "qr batch status",
"labels_printed_at": null
},
"items": [
{
"component_id": "beb72a9a-5c27-534e-93b5-af0d8a8cd73e",
"color": "White",
"size": "M",
"status": "Pass",
"quantity": 1,
"quality_score": 1
}
],
"logistics_plan": {
"boxes": [
{
"id": "SKN-CRT-00402-9A1C3E7F",
"mode": "same",
"capacity": 1,
"region": "EU",
"lines": [
{
"color": "White",
"size": "M",
"batch_sku": "TT-100-WHT-M",
"quantity": 1,
"volume_l": 0.5
}
],
"created_at": "2026-10-09T09:30:00Z"
}
],
"destinations": [
"in_store"
]
}
}Mark factory production as complete#
Requires scope factory_orders:write
Advance the order from **IN-PRODUCTION** → **AWAITING LABELS**.
Requires QR labels to be confirmed printed (labels_printed batch status).
Parameters
- order_idstringpathRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
Returns
HTTP 200- order_idstringRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
- order_display_idstringRequired
Order number formatted for display (#PO-YYYY-XXXX).
- tracking_statusstringRequired
Where the production order is in its lifecycle. This is the only progress field — use it, not status_display.
- status_displaystringRequired
- status_tonestring | null
- scheduled_completiondate | null
- production_linestring | null
- flow_typestring
standard = the factory knows each item's variant when printing; variable = variants are assigned at QC.
Defaults to
standard - product_image_urlstring | null
- product_idstring | null
Skannit's id for the product.
- material_declaredboolean
True once the factory has declared what it is actually sourcing for this run. start_factory_production requires this before SCHEDULED -> IN-PRODUCTION is allowed.
Defaults to
false - material_weights_declaredboolean
True once every declared element carries a gram weight at every size in product_sizes. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - product_sizesarray of strings
Sizes this product is made in, from its variants — the columns the factory's per-element weight grid has to fill.
- sustainability_declaredboolean
True once the factory has declared sustainability & circularity data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - repairability_declaredboolean
True once the factory has declared repairability data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - origin_compliance_declaredboolean
True once the factory has declared origin & compliance data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - declarations_lockedboolean
True once production has started: declarations can no longer change and certificates can only be added as amendments with a note.
Defaults to
false - is_delayedboolean
Defaults to
false - batch_infoobjectRequired
+Show 10 child attributesHide child attributes
- batch_idstringRequired
- lot_numberstringRequired
- prioritystring | null
- operator_namestring | null
- operator_avatar_urlstring | null
- start_timestring | null
- estimated_endstring | null
- brand_namestringRequired
- product_namestringRequired
- statusstringRequired
Current state of the object. See the allowed values.
- total_unitsintegerRequired
Target units from quantity matrix
- total_itemsintegerRequired
Component rows in production list
- completed_itemsintegerRequired
- items_progress_labelstringRequired
Human label e.g. "480 / 500 items units"
- progress_stagesarray of objectsRequired
+Show 4 child attributesHide child attributes
- keystringRequiredOne of
raw_materialsassemblyquality_checkpackaging - labelstringRequired
- statestringRequiredOne of
completedactivepending - sublabelstringRequired
- locationobject | null
Free-text place in your warehouse, for example "Aisle 4, Bay B".
+Show 4 child attributesHide child attributes
- labelstringRequired
- baystring | null
- sectorstring | null
- warehouse_map_urlstring | null
- kpisobjectRequired
+Show 2 child attributesHide child attributes
- efficiency_pctnumberRequired
- waste_ratio_pctnumberRequired
- actionsobjectRequired
+Show 10 child attributesHide child attributes
- can_start_productionboolean
Defaults to
false - can_complete_productionboolean
Defaults to
false - can_complete_batchboolean
Defaults to
false - can_generate_qrboolean
Defaults to
false - can_print_labelsboolean
Defaults to
false - can_confirm_label_printboolean
Defaults to
false - can_report_issueboolean
Defaults to
true - qr_batch_idstring | null
The QR batch created for this order — one per production order.
- qr_batch_statusstring | null
- labels_printed_atstring | null
- itemsarray of objectsRequired
The objects on this page.
+Show 6 child attributesHide child attributes
- component_idstringRequired
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- statusstringRequired
Current state of the object. See the allowed values.
One ofPassReviewIn ProgressPending - quantityintegerRequired
Number of units.
- quality_scoreintegerRequired
- logistics_planobject | null
+Show 2 child attributesHide child attributes
- boxesarray of objects
+Show 6 child attributesHide child attributes
- idstringRequired
- modestringRequiredOne of
samemixed - capacityintegerRequired
- regionstring | null
- linesarray of objectsRequired
Line items, one per variant.
+Show 5 child attributesHide child attributes
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- batch_skustring | null
SKU printed on the label for this variant in this batch.
- quantityintegerRequired
Number of units.
- volume_lstring | null
Packaged volume of one unit, in litres. Used to size boxes.
- created_atstring | null
When the object was created (ISO 8601, UTC).
- destinationsarray of objects
+Show 8 child attributesHide child attributes
- idstringRequired
- namestringRequired
- citystring | null
- countrystringRequired
- arrival_datestring | null
- prioritystringOne of
lowstandardurgentDefaults to
standard - box_idsarray of strings
Ids of the boxes this call acts on.
- instructionsstring
Defaults to
curl -X POST http://62.169.23.239:8001/api/v1/factory/production-orders/ord_8c2f4e1a9b7d3c60/complete-production \
-H "Authorization: Bearer $SKANNIT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"{
"order_id": "ord_8c2f4e1a9b7d3c60",
"order_display_id": "#PO-2026-7F3A",
"tracking_status": "IN-PRODUCTION",
"status_display": "In production",
"status_tone": "on_track",
"scheduled_completion": "2026-11-20",
"production_line": "production line",
"flow_type": "standard",
"product_image_url": "https://files.skannit.example/product_image.png",
"product_id": "f6abe715-90aa-5908-a0a6-12951a3a21cc",
"material_declared": false,
"material_weights_declared": false,
"product_sizes": [
"product size"
],
"sustainability_declared": false,
"repairability_declared": false,
"origin_compliance_declared": false,
"declarations_locked": false,
"is_delayed": false,
"batch_info": {
"batch_id": "d25c8e92-dbf6-501d-9bbb-ca1b783c82d1",
"lot_number": "lot number",
"priority": "standard",
"operator_name": "Operator",
"operator_avatar_url": "https://files.skannit.example/operator_avatar.png",
"start_time": "start time",
"estimated_end": "estimated end",
"brand_name": "Northwind Apparel",
"product_name": "Trail Tee",
"status": "active"
},
"total_units": 24,
"total_items": 24,
"completed_items": 1,
"items_progress_label": "Items progress",
"progress_stages": [
{
"key": "raw_materials",
"label": "Packed",
"state": "completed",
"sublabel": "sublabel"
}
],
"location": "Aisle 4, Bay B",
"kpis": {
"efficiency_pct": 72.5,
"waste_ratio_pct": 72.5
},
"actions": {
"can_start_production": false,
"can_complete_production": false,
"can_complete_batch": false,
"can_generate_qr": false,
"can_print_labels": false,
"can_confirm_label_print": false,
"can_report_issue": true,
"qr_batch_id": "qb_3e9a1c7f2b40",
"qr_batch_status": "qr batch status",
"labels_printed_at": null
},
"items": [
{
"component_id": "beb72a9a-5c27-534e-93b5-af0d8a8cd73e",
"color": "White",
"size": "M",
"status": "Pass",
"quantity": 1,
"quality_score": 1
}
],
"logistics_plan": {
"boxes": [
{
"id": "SKN-CRT-00402-9A1C3E7F",
"mode": "same",
"capacity": 1,
"region": "EU",
"lines": [
{
"color": "White",
"size": "M",
"batch_sku": "TT-100-WHT-M",
"quantity": 1,
"volume_l": 0.5
}
],
"created_at": "2026-10-09T09:30:00Z"
}
],
"destinations": [
"in_store"
]
}
}Start production on a scheduled order#
Requires scope factory_orders:write
Advance the order from **SCHEDULED** → **IN-PRODUCTION**.
Requires material composition, sustainability, repairability, and origin & compliance to already be declared via the corresponding POST .../{type}-declaration endpoints — returns 422 with the list of missing declarations otherwise.
Parameters
- order_idstringpathRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
Returns
HTTP 200- order_idstringRequired
Skannit's id for the production order. Use it in every /production-orders/{order_id} and QR call.
- order_display_idstringRequired
Order number formatted for display (#PO-YYYY-XXXX).
- tracking_statusstringRequired
Where the production order is in its lifecycle. This is the only progress field — use it, not status_display.
- status_displaystringRequired
- status_tonestring | null
- scheduled_completiondate | null
- production_linestring | null
- flow_typestring
standard = the factory knows each item's variant when printing; variable = variants are assigned at QC.
Defaults to
standard - product_image_urlstring | null
- product_idstring | null
Skannit's id for the product.
- material_declaredboolean
True once the factory has declared what it is actually sourcing for this run. start_factory_production requires this before SCHEDULED -> IN-PRODUCTION is allowed.
Defaults to
false - material_weights_declaredboolean
True once every declared element carries a gram weight at every size in product_sizes. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - product_sizesarray of strings
Sizes this product is made in, from its variants — the columns the factory's per-element weight grid has to fill.
- sustainability_declaredboolean
True once the factory has declared sustainability & circularity data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - repairability_declaredboolean
True once the factory has declared repairability data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - origin_compliance_declaredboolean
True once the factory has declared origin & compliance data for this run. Also required before SCHEDULED -> IN-PRODUCTION.
Defaults to
false - declarations_lockedboolean
True once production has started: declarations can no longer change and certificates can only be added as amendments with a note.
Defaults to
false - is_delayedboolean
Defaults to
false - batch_infoobjectRequired
+Show 10 child attributesHide child attributes
- batch_idstringRequired
- lot_numberstringRequired
- prioritystring | null
- operator_namestring | null
- operator_avatar_urlstring | null
- start_timestring | null
- estimated_endstring | null
- brand_namestringRequired
- product_namestringRequired
- statusstringRequired
Current state of the object. See the allowed values.
- total_unitsintegerRequired
Target units from quantity matrix
- total_itemsintegerRequired
Component rows in production list
- completed_itemsintegerRequired
- items_progress_labelstringRequired
Human label e.g. "480 / 500 items units"
- progress_stagesarray of objectsRequired
+Show 4 child attributesHide child attributes
- keystringRequiredOne of
raw_materialsassemblyquality_checkpackaging - labelstringRequired
- statestringRequiredOne of
completedactivepending - sublabelstringRequired
- locationobject | null
Free-text place in your warehouse, for example "Aisle 4, Bay B".
+Show 4 child attributesHide child attributes
- labelstringRequired
- baystring | null
- sectorstring | null
- warehouse_map_urlstring | null
- kpisobjectRequired
+Show 2 child attributesHide child attributes
- efficiency_pctnumberRequired
- waste_ratio_pctnumberRequired
- actionsobjectRequired
+Show 10 child attributesHide child attributes
- can_start_productionboolean
Defaults to
false - can_complete_productionboolean
Defaults to
false - can_complete_batchboolean
Defaults to
false - can_generate_qrboolean
Defaults to
false - can_print_labelsboolean
Defaults to
false - can_confirm_label_printboolean
Defaults to
false - can_report_issueboolean
Defaults to
true - qr_batch_idstring | null
The QR batch created for this order — one per production order.
- qr_batch_statusstring | null
- labels_printed_atstring | null
- itemsarray of objectsRequired
The objects on this page.
+Show 6 child attributesHide child attributes
- component_idstringRequired
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- statusstringRequired
Current state of the object. See the allowed values.
One ofPassReviewIn ProgressPending - quantityintegerRequired
Number of units.
- quality_scoreintegerRequired
- logistics_planobject | null
+Show 2 child attributesHide child attributes
- boxesarray of objects
+Show 6 child attributesHide child attributes
- idstringRequired
- modestringRequiredOne of
samemixed - capacityintegerRequired
- regionstring | null
- linesarray of objectsRequired
Line items, one per variant.
+Show 5 child attributesHide child attributes
- colorstringRequired
Colour name, exactly as on the product's variants.
- sizestringRequired
Size name, exactly as on the product's variants.
- batch_skustring | null
SKU printed on the label for this variant in this batch.
- quantityintegerRequired
Number of units.
- volume_lstring | null
Packaged volume of one unit, in litres. Used to size boxes.
- created_atstring | null
When the object was created (ISO 8601, UTC).
- destinationsarray of objects
+Show 8 child attributesHide child attributes
- idstringRequired
- namestringRequired
- citystring | null
- countrystringRequired
- arrival_datestring | null
- prioritystringOne of
lowstandardurgentDefaults to
standard - box_idsarray of strings
Ids of the boxes this call acts on.
- instructionsstring
Defaults to
curl -X POST http://62.169.23.239:8001/api/v1/factory/production-orders/ord_8c2f4e1a9b7d3c60/start-production \
-H "Authorization: Bearer $SKANNIT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"{
"order_id": "ord_8c2f4e1a9b7d3c60",
"order_display_id": "#PO-2026-7F3A",
"tracking_status": "IN-PRODUCTION",
"status_display": "In production",
"status_tone": "on_track",
"scheduled_completion": "2026-11-20",
"production_line": "production line",
"flow_type": "standard",
"product_image_url": "https://files.skannit.example/product_image.png",
"product_id": "f6abe715-90aa-5908-a0a6-12951a3a21cc",
"material_declared": false,
"material_weights_declared": false,
"product_sizes": [
"product size"
],
"sustainability_declared": false,
"repairability_declared": false,
"origin_compliance_declared": false,
"declarations_locked": false,
"is_delayed": false,
"batch_info": {
"batch_id": "d25c8e92-dbf6-501d-9bbb-ca1b783c82d1",
"lot_number": "lot number",
"priority": "standard",
"operator_name": "Operator",
"operator_avatar_url": "https://files.skannit.example/operator_avatar.png",
"start_time": "start time",
"estimated_end": "estimated end",
"brand_name": "Northwind Apparel",
"product_name": "Trail Tee",
"status": "active"
},
"total_units": 24,
"total_items": 24,
"completed_items": 1,
"items_progress_label": "Items progress",
"progress_stages": [
{
"key": "raw_materials",
"label": "Packed",
"state": "completed",
"sublabel": "sublabel"
}
],
"location": "Aisle 4, Bay B",
"kpis": {
"efficiency_pct": 72.5,
"waste_ratio_pct": 72.5
},
"actions": {
"can_start_production": false,
"can_complete_production": false,
"can_complete_batch": false,
"can_generate_qr": false,
"can_print_labels": false,
"can_confirm_label_print": false,
"can_report_issue": true,
"qr_batch_id": "qb_3e9a1c7f2b40",
"qr_batch_status": "qr batch status",
"labels_printed_at": null
},
"items": [
{
"component_id": "beb72a9a-5c27-534e-93b5-af0d8a8cd73e",
"color": "White",
"size": "M",
"status": "Pass",
"quantity": 1,
"quality_score": 1
}
],
"logistics_plan": {
"boxes": [
{
"id": "SKN-CRT-00402-9A1C3E7F",
"mode": "same",
"capacity": 1,
"region": "EU",
"lines": [
{
"color": "White",
"size": "M",
"batch_sku": "TT-100-WHT-M",
"quantity": 1,
"volume_l": 0.5
}
],
"created_at": "2026-10-09T09:30:00Z"
}
],
"destinations": [
"in_store"
]
}
}