Manufacturing API
The Manufacturing API enables you to query production tasks that transform raw materials (inputs) into finished goods (outputs). Each task tracks its workflow state, worker assignments, and inventory impact.
Overview
- List Tasks: Retrieve manufacturing tasks by type with filtering
- Get Task Detail: Full task with input/output items and workflow state
Authentication
Both endpoints require:
- Scope:
orders:read - Auth Method: OAuth 2.0 M2M (Machine-to-Machine)
Task Types
| Type | Description |
|---|---|
create |
Creating finished products from raw materials |
assembly |
Assembling components (often preset-based) |
quality |
Quality control inspection |
batch |
Batch processing operations |
Task Status Lifecycle
pending → finalized → committed → completed
↘ voided
| Status | Flags | Description |
|---|---|---|
pending |
No flags set | Draft, editable |
finalized |
isTaskFinalized |
Inputs reserved in inventory |
committed |
isCommitSelected |
Inputs consumed, outputs received |
completed |
isFulfilled |
Task fulfilled |
voided |
isTaskVoid |
Cancelled, inventory reversed |
Inventory Impact
Manufacturing tasks affect inventory in two phases:
Finalize (reserve):
- Input items:
available -= qty,reserved += qty - Output items:
ordered += qty
Commit (consume/produce):
- Input items:
reserved -= qty(consumed) - Output items:
available += qty,ordered -= qty(produced)
Void reverses all changes.
List Manufacturing Tasks
GET /e9v3/manufacturing?type=create&status=pending&limit=50
Authorization: Bearer <jwt-token>
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type |
string | No | create |
Task type: create, assembly, quality, batch |
archived |
boolean | No | false |
Set true to query completed/archived tasks |
status |
string | No | — | Filter: pending, finalized, committed, completed, voided |
search |
string | No | — | Search by task number or description |
limit |
integer | No | 100 | Max results (up to 500) |
Response (200 OK)
{
"success": true,
"tasks": [
{
"taskId": "task-abc123",
"taskNumber": "MFG-001",
"taskType": "create",
"status": "pending",
"description": "Manufacture Premium Widget Kit",
"businessId": "biz-456",
"locationName": "Factory Floor A",
"locationId": "loc-001",
"inputItems": [
{
"id": "inv-raw1",
"sku": "RAW-STEEL-01",
"productName": "Steel Sheet",
"quantity": 10,
"uom": "pcs",
"baseUnitQty": 10,
"isInput": true,
"unitWeight": 2.5
}
],
"outputItems": [
{
"id": "inv-fin1",
"sku": "WIDGET-PREMIUM",
"productName": "Premium Widget",
"quantity": 50,
"uom": "pcs",
"baseUnitQty": 50,
"isInput": false,
"unitWeight": 0.5
}
],
"created": "2024-01-15T10:00:00Z",
"dueDate": "2024-01-20T00:00:00Z",
"assignment": {
"uid": "user-123",
"name": "John Smith",
"assignedAt": "2024-01-15T10:05:00Z"
}
}
],
"count": 1
}
Response Fields
| Field | Type | Description |
|---|---|---|
taskId |
string | Unique task identifier |
taskNumber |
string | Display number (e.g., “MFG-001”) |
taskType |
string | Task type |
status |
string | Derived workflow status |
description |
string | Task description |
locationName |
string | Where the task is performed |
inputItems |
array | Raw materials consumed |
outputItems |
array | Finished goods produced |
assignment |
object | Worker assignment details |
Item Fields
| Field | Type | Description |
|---|---|---|
id |
string | Product/inventory ID |
sku |
string | Stock Keeping Unit |
productName |
string | Product display name |
quantity |
integer | Quantity in specified UOM |
uom |
string | Unit of measure |
baseUnitQty |
integer | Total base units |
batch |
string | Batch number (if tracked) |
isInput |
boolean | true = consumed, false = produced |
unitWeight |
number | Weight per unit (kg) |
Get Single Task
GET /e9v3/manufacturing/:taskType/:taskId
Authorization: Bearer <jwt-token>
Response (200 OK)
{
"success": true,
"tasks": [
{
"taskId": "task-abc123",
"taskNumber": "MFG-001",
"taskType": "create",
"status": "finalized",
"inputItems": [...],
"outputItems": [...]
}
],
"count": 1
}
Response (404 Not Found)
{
"success": false,
"error": "Manufacturing task not found"
}
Common Use Cases
List all pending production tasks
curl -X GET 'https://api.equos.one/e9v3/manufacturing?type=create&status=pending' \
-H 'Authorization: Bearer <jwt-token>'
Check assembly tasks for a specific location
curl -X GET 'https://api.equos.one/e9v3/manufacturing?type=assembly&search=Factory+A' \
-H 'Authorization: Bearer <jwt-token>'
Get completed tasks for reporting
curl -X GET 'https://api.equos.one/e9v3/manufacturing?type=create&archived=true&status=completed&limit=500' \
-H 'Authorization: Bearer <jwt-token>'
Error Handling
| Status | Meaning |
|---|---|
200 |
Success |
400 |
Invalid task type |
401 |
Invalid or missing Bearer token |
403 |
Token lacks orders:read scope |
404 |
Task not found |
429 |
Rate limit exceeded |
500 |
Server error |
Next Steps
- Inventory to check stock levels affected by manufacturing
- Orders to create orders for manufactured products
- API Tester to query manufacturing tasks interactively