Download OpenAPI specification:
The Yieldly Public API — a stable, versioned (/v1) REST API for
integrating your systems (ERP, MES, BI, data warehouses) with your Yieldly
OEE and production data.
Every endpoint (except /v1/health) accepts one of three bearer
credentials in the Authorization: Bearer <token> header:
oauth2 client-credentials) — for
server-to-server integrations (ERP/MES). A company_admin creates a
client in Settings → API; exchange its client_id + client_secret
for an access token at the OAuth2 token endpoint, requesting the scopes
you need. The token is scoped to the whole company. Offboarding a person
never breaks it.oee_pat_…, created by any member in Settings → API. A PAT runs as
that user: their role + group/visibility scope apply (it is never
god-mode), further narrowed by the PAT's own scopes. Deleting the user
revokes their PATs.oauth2User) — for apps that connect on a
user's behalf (e.g. Zapier). The user signs in — including via their
company SSO — and authorizes; the app receives an access token that
runs as that user (same scoping as a PAT). PKCE is required, and the
authorize + token endpoints are on this domain.Both require API access to be enabled for your company, and enforce the same strict access controls as the rest of the platform.
Scopes are resource:action (least privilege, no catch-all). For an M2M
client the full scope string is oee-public/<resource:action>,
e.g. oee-public/hierarchy:read. A request needs the scope the endpoint
declares; otherwise it gets 403 insufficient_scope. The scopes:
hierarchy:read — the equipment model (sites, areas, lines, work cells, sensors).metrics:read — OEE, produced counts, OEE trend, downtime Pareto.stops:read / stops:write — downtime intervals + categories / classify a stop.batches:read / batches:write — production runs + scrap / start/close runs + record scrap.products:read / products:write — the product catalog, line rates, changeovers.schedule:read / schedule:write — scheduled runs (needs the scheduling add-on).events:read / hooks:write — the event feed / webhook subscriptions (Automations add-on).Beyond the REST API, Yieldly exposes a remote MCP (Model Context Protocol)
server at /mcp so AI assistants (Claude, ChatGPT, …) can query your
production data as tools. It is a separate paid module ("AI assistant
connector"), enabled in Settings → AI assistant (MCP), and uses the same
resource:action scopes and access controls as the REST API.
kebab-case; payloads camelCase.application/problem+json).nextCursor until it is null.from/to as ISO-8601; to must be after from.The company's sites (ISA-95 Site). Filterable by externalId.
| externalId | string Filter to the row(s) with this ISA-95 integration id. |
| limit | integer [ 1 .. 1000 ] |
{- "sites": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "timezone": "string",
- "externalId": "string"
}
]
}| siteId required | string <uuid> |
| externalId | string Filter to the row(s) with this ISA-95 integration id. |
| limit | integer [ 1 .. 1000 ] |
{- "areas": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
- "name": "string",
- "externalId": "string"
}
]
}| siteId required | string <uuid> |
| externalId | string Filter to the row(s) with this ISA-95 integration id. |
| limit | integer [ 1 .. 1000 ] |
{- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
- "areaId": "ebbb2a49-d827-4796-8d8a-108c229835e9",
- "externalId": "string",
- "oeeTargetPercent": 0
}
]
}The caller's production lines. Used by the Automations line-picker too,
so it accepts the lines:read scope and the automation entitlement.
{- "lines": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
- "areaId": "ebbb2a49-d827-4796-8d8a-108c229835e9",
- "externalId": "string",
- "oeeTargetPercent": 0
}
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
- "areaId": "ebbb2a49-d827-4796-8d8a-108c229835e9",
- "externalId": "string",
- "oeeTargetPercent": 0
}{- "stages": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "sensorId": "8b1a1a59-9b5d-42b4-b470-9c3c98f43cb6",
- "isBottleneck": true,
- "displayOrder": 0
}
]
}| lineId required | string <uuid> |
| externalId | string Filter to the row(s) with this ISA-95 integration id. |
| limit | integer [ 1 .. 1000 ] |
{- "sensors": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "externalId": "string",
- "capacityPerMinute": 0
}
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "externalId": "string",
- "capacityPerMinute": 0
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "plannedProductionSeconds": 0,
- "runSeconds": 0,
- "actualCount": 0,
- "targetCount": 0,
- "goodCount": 0,
- "scrapCount": 0,
- "losses": {
- "noDataSeconds": 0,
- "dataOutageSeconds": 0,
- "nonScheduledSeconds": 0,
- "plannedSeconds": 0,
- "batchSpecificSeconds": 0,
- "unplannedSeconds": 0
}, - "lossByCategory": [
- {
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "name": "string",
- "oeeType": "non_scheduled",
- "seconds": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "minute" "hour" "day" |
{- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "interval": "minute",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "actualCount": 0,
- "targetCount": 0,
- "goodCount": 0,
- "scrapCount": 0,
- "runSeconds": 0,
- "noDataSeconds": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "raw" "minute" "hour" "day" |
{- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "interval": "raw",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "count": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "windowSeconds": 0,
- "totalStops": 0,
- "totalDowntimeSeconds": 0,
- "unclassifiedCount": 0,
- "mttrSeconds": 0,
- "mtbfSeconds": 0,
- "reasons": [
- {
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "name": "string",
- "oeeType": "non_scheduled",
- "seconds": 0,
- "count": 0,
- "percentOfDowntime": 0,
- "cumulativePercent": 0
}
], - "byOeeType": [
- {
- "oeeType": "string",
- "seconds": 0,
- "count": 0
}
]
}| siteId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "plannedProductionSeconds": 0,
- "runSeconds": 0,
- "actualCount": 0,
- "targetCount": 0,
- "goodCount": 0,
- "scrapCount": 0,
- "losses": {
- "noDataSeconds": 0,
- "dataOutageSeconds": 0,
- "nonScheduledSeconds": 0,
- "plannedSeconds": 0,
- "batchSpecificSeconds": 0,
- "unplannedSeconds": 0
}, - "lossByCategory": [
- {
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "name": "string",
- "oeeType": "non_scheduled",
- "seconds": 0
}
]
}| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "plannedProductionSeconds": 0,
- "runSeconds": 0,
- "actualCount": 0,
- "targetCount": 0,
- "goodCount": 0,
- "scrapCount": 0,
- "losses": {
- "noDataSeconds": 0,
- "dataOutageSeconds": 0,
- "nonScheduledSeconds": 0,
- "plannedSeconds": 0,
- "batchSpecificSeconds": 0,
- "unplannedSeconds": 0
}, - "lossByCategory": [
- {
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "name": "string",
- "oeeType": "non_scheduled",
- "seconds": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "items": [
- {
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "sku": "string",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "runSeconds": 0,
- "actualCount": 0,
- "batchCount": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "items": [
- {
- "shiftId": "4458e38b-30c8-4cab-b4da-8eefc165e6bf",
- "shiftName": "string",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "runSeconds": 0,
- "actualCount": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "minute" "hour" "day" |
{- "interval": "minute",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "scrapQuantity": 0,
- "entryCount": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "minute" "hour" "day" |
{- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "interval": "minute",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "stopSeconds": 0,
- "stopCount": 0,
- "outageSeconds": 0
}
]
}| siteId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "minute" "hour" "day" |
{- "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
- "interval": "minute",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "actualCount": 0,
- "targetCount": 0,
- "goodCount": 0,
- "scrapCount": 0,
- "runSeconds": 0,
- "noDataSeconds": 0
}
]
}| siteId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
- "items": [
- {
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "actualCount": 0,
- "runSeconds": 0
}
]
}| siteId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "minute" "hour" "day" |
{- "interval": "minute",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "scrapQuantity": 0,
- "entryCount": 0
}
]
}| siteId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "windowSeconds": 0,
- "totalStops": 0,
- "totalDowntimeSeconds": 0,
- "unclassifiedCount": 0,
- "mttrSeconds": 0,
- "mtbfSeconds": 0,
- "reasons": [
- {
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "name": "string",
- "oeeType": "non_scheduled",
- "seconds": 0,
- "count": 0,
- "percentOfDowntime": 0,
- "cumulativePercent": 0
}
], - "byOeeType": [
- {
- "oeeType": "string",
- "seconds": 0,
- "count": 0
}
]
}| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "minute" "hour" "day" |
{- "interval": "minute",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0,
- "actualCount": 0,
- "targetCount": 0,
- "goodCount": 0,
- "scrapCount": 0,
- "runSeconds": 0,
- "noDataSeconds": 0
}
]
}| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "items": [
- {
- "siteId": "60189e9c-7d12-438c-b9ca-6998d9c364b1",
- "name": "string",
- "oee": 0,
- "availability": 0,
- "performance": 0,
- "quality": 0
}
]
}| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| interval | string Enum: "minute" "hour" "day" |
{- "interval": "minute",
- "bucketSeconds": 0,
- "buckets": [
- {
- "ts": "2019-08-24T14:15:22Z",
- "scrapQuantity": 0,
- "entryCount": 0
}
]
}| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "windowSeconds": 0,
- "totalStops": 0,
- "totalDowntimeSeconds": 0,
- "unclassifiedCount": 0,
- "mttrSeconds": 0,
- "mtbfSeconds": 0,
- "reasons": [
- {
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "name": "string",
- "oeeType": "non_scheduled",
- "seconds": 0,
- "count": 0,
- "percentOfDowntime": 0,
- "cumulativePercent": 0
}
], - "byOeeType": [
- {
- "oeeType": "string",
- "seconds": 0,
- "count": 0
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| onlyUnclassified | boolean |
| oeeType | string (OeeType) Enum: "non_scheduled" "planned" "batch_specific" "unplanned" |
| minSeconds | integer >= 0 |
| cursor | string Opaque pagination cursor from a previous response's |
| limit | integer [ 1 .. 1000 ] |
{- "stops": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "durationSeconds": 0,
- "category": { },
- "causeText": "string",
- "classifiedAt": "2019-08-24T14:15:22Z",
- "isMicro": true,
- "needsClassification": true
}
], - "nextCursor": "string"
}| lineId required | string <uuid> |
{- "categories": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "oeeType": "non_scheduled",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "externalId": "string"
}
]
}| lineId required | string <uuid> |
| name required | string [ 1 .. 200 ] characters |
| oeeType required | string (OeeType) Enum: "non_scheduled" "planned" "batch_specific" "unplanned" |
| stageId | string or null <uuid> |
| externalId | string or null <= 200 characters |
{- "name": "string",
- "oeeType": "non_scheduled",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "externalId": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "oeeType": "non_scheduled",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "externalId": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "durationSeconds": 0,
- "category": { },
- "causeText": "string",
- "classifiedAt": "2019-08-24T14:15:22Z",
- "isMicro": true,
- "needsClassification": true
}Assign a reason category (and optional cause text) to a stop.
| stopId required | string <uuid> |
| categoryId required | string <uuid> |
| causeText | string [ 1 .. 2000 ] characters |
{- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "causeText": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "durationSeconds": 0,
- "category": { },
- "causeText": "string",
- "classifiedAt": "2019-08-24T14:15:22Z",
- "isMicro": true,
- "needsClassification": true
}| categoryId required | string <uuid> |
| name | string [ 1 .. 200 ] characters |
| oeeType | string (OeeType) Enum: "non_scheduled" "planned" "batch_specific" "unplanned" |
| stageId | string or null <uuid> |
| externalId | string or null <= 200 characters |
{- "name": "string",
- "oeeType": "non_scheduled",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "externalId": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "oeeType": "non_scheduled",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "externalId": "string"
}| lineId required | string <uuid> |
| stopIds required | Array of strings <uuid> non-empty [ items <uuid > ] |
| categoryId required | string <uuid> |
| causeText | string [ 1 .. 2000 ] characters |
{- "stopIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "causeText": "string"
}{- "classified": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "stageId": "4ac83d66-64fa-48da-9505-57df43404af7",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "durationSeconds": 0,
- "category": { },
- "causeText": "string",
- "classifiedAt": "2019-08-24T14:15:22Z",
- "isMicro": true,
- "needsClassification": true
}| lineId required | string <uuid> |
| from | string <date-time> |
| to | string <date-time> |
| status | string (BatchStatus) Enum: "planned" "running" "held" "completed" "aborted" |
| cursor | string Opaque pagination cursor from a previous response's |
| limit | integer [ 1 .. 1000 ] |
{- "batches": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "status": "planned",
- "targetCount": 0,
- "capacityPerMinute": 0
}
], - "nextCursor": "string"
}| lineId required | string <uuid> |
| productId | string or null <uuid> |
| name | string or null <= 200 characters |
| orderRef | string or null <= 200 characters |
| lotCode | string or null <= 200 characters |
| startedAt | string <date-time> |
| capacityPerMinute | number or null |
| targetCount | integer or null |
| status | string Enum: "planned" "running" |
{- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "startedAt": "2019-08-24T14:15:22Z",
- "capacityPerMinute": 0,
- "targetCount": 0,
- "status": "planned"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "status": "planned",
- "targetCount": 0,
- "capacityPerMinute": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "status": "planned",
- "targetCount": 0,
- "capacityPerMinute": 0
}| batchId required | string <uuid> |
| status | string (BatchStatus) Enum: "planned" "running" "held" "completed" "aborted" |
| productId | string or null <uuid> |
| name | string or null <= 200 characters |
| orderRef | string or null <= 200 characters |
| lotCode | string or null <= 200 characters |
| capacityPerMinute | number or null |
| targetCount | integer or null |
| endedAt | string or null <date-time> |
{- "status": "planned",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "capacityPerMinute": 0,
- "targetCount": 0,
- "endedAt": "2019-08-24T14:15:22Z"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "status": "planned",
- "targetCount": 0,
- "capacityPerMinute": 0
}{- "title": "string",
- "status": 0,
- "code": "string",
- "detail": "string"
}| lineId required | string <uuid> |
| from | string <date-time> |
| to | string <date-time> |
| cursor | string Opaque pagination cursor from a previous response's |
| limit | integer [ 1 .. 1000 ] |
{- "scrap": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "shiftStartedAt": "2019-08-24T14:15:22Z",
- "quantity": 0,
- "reasonText": "string"
}
], - "nextCursor": "string"
}| lineId required | string <uuid> |
| quantity required | number > 0 |
| shiftStartedAt | string <date-time> |
| batchId | string or null <uuid> |
| reasonText | string [ 1 .. 2000 ] characters |
{- "quantity": 0,
- "shiftStartedAt": "2019-08-24T14:15:22Z",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "reasonText": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "shiftStartedAt": "2019-08-24T14:15:22Z",
- "quantity": 0,
- "reasonText": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "shiftStartedAt": "2019-08-24T14:15:22Z",
- "quantity": 0,
- "reasonText": "string"
}| scrapId required | string <uuid> |
| quantity | number > 0 |
| shiftStartedAt | string <date-time> |
| batchId | string or null <uuid> |
| reasonText | string [ 1 .. 2000 ] characters |
{- "quantity": 0,
- "shiftStartedAt": "2019-08-24T14:15:22Z",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "reasonText": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "shiftStartedAt": "2019-08-24T14:15:22Z",
- "quantity": 0,
- "reasonText": "string"
}{- "title": "string",
- "status": 0,
- "code": "string",
- "detail": "string"
}| cursor | string Opaque pagination cursor from a previous response's |
| limit | integer [ 1 .. 1000 ] |
{- "products": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "sku": "string",
- "version": 0,
- "defaultCapacityPerMinute": 0,
- "units": "string",
- "qualityTargetPercent": 0,
- "defaultTargetPerDay": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "nextCursor": "string"
}| name required | string [ 1 .. 200 ] characters |
| sku | string or null <= 200 characters |
| defaultCapacityPerMinute | number or null |
| units | string or null <= 50 characters |
| qualityTargetPercent | integer or null [ 0 .. 100 ] |
| defaultTargetPerDay | integer or null |
{- "name": "string",
- "sku": "string",
- "defaultCapacityPerMinute": 0,
- "units": "string",
- "qualityTargetPercent": 100,
- "defaultTargetPerDay": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "sku": "string",
- "version": 0,
- "defaultCapacityPerMinute": 0,
- "units": "string",
- "qualityTargetPercent": 0,
- "defaultTargetPerDay": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "sku": "string",
- "version": 0,
- "defaultCapacityPerMinute": 0,
- "units": "string",
- "qualityTargetPercent": 0,
- "defaultTargetPerDay": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}| productId required | string <uuid> |
| name | string [ 1 .. 200 ] characters |
| sku | string or null <= 200 characters |
| defaultCapacityPerMinute | number or null |
| units | string or null <= 50 characters |
| qualityTargetPercent | integer or null [ 0 .. 100 ] |
| defaultTargetPerDay | integer or null |
{- "name": "string",
- "sku": "string",
- "defaultCapacityPerMinute": 0,
- "units": "string",
- "qualityTargetPercent": 100,
- "defaultTargetPerDay": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "sku": "string",
- "version": 0,
- "defaultCapacityPerMinute": 0,
- "units": "string",
- "qualityTargetPercent": 0,
- "defaultTargetPerDay": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}{- "title": "string",
- "status": 0,
- "code": "string",
- "detail": "string"
}| lineId required | string <uuid> |
| productId required | string <uuid> |
| capacityPerMinute required | number > 0 |
{- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "capacityPerMinute": 0
}{- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "capacityPerMinute": 0
}{- "changeovers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "fromProductId": "3ff89246-4dbf-4a69-8194-09f3557d364d",
- "toProductId": "be653d6c-56cb-4193-afe6-95067ceac900",
- "setupSeconds": 0
}
]
}| lineId | string or null <uuid> |
| fromProductId | string or null <uuid> |
| toProductId required | string <uuid> |
| setupSeconds required | integer >= 0 |
{- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "fromProductId": "3ff89246-4dbf-4a69-8194-09f3557d364d",
- "toProductId": "be653d6c-56cb-4193-afe6-95067ceac900",
- "setupSeconds": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "fromProductId": "3ff89246-4dbf-4a69-8194-09f3557d364d",
- "toProductId": "be653d6c-56cb-4193-afe6-95067ceac900",
- "setupSeconds": 0
}{- "title": "string",
- "status": 0,
- "code": "string",
- "detail": "string"
}| lineId required | string <uuid> |
| from | string <date-time> |
| to | string <date-time> |
| limit | integer [ 1 .. 1000 ] |
{- "scheduledRuns": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "status": "planned",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedEnd": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "sequenceNo": 0,
- "priority": 0,
- "changeoverSeconds": 0,
- "productionSeconds": 0,
- "ratePerMinute": 0,
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "actualStart": "2019-08-24T14:15:22Z",
- "actualEnd": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}| lineId required | string <uuid> |
| productId | string or null <uuid> |
| name | string or null <= 200 characters |
| orderRef | string or null <= 200 characters |
| lotCode | string or null <= 200 characters |
| externalId | string or null <= 200 characters |
| plannedStart | string <date-time> |
| plannedQuantity required | integer > 0 |
| priority | integer |
{- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "priority": 0
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "status": "planned",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedEnd": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "sequenceNo": 0,
- "priority": 0,
- "changeoverSeconds": 0,
- "productionSeconds": 0,
- "ratePerMinute": 0,
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "actualStart": "2019-08-24T14:15:22Z",
- "actualEnd": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "status": "planned",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedEnd": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "sequenceNo": 0,
- "priority": 0,
- "changeoverSeconds": 0,
- "productionSeconds": 0,
- "ratePerMinute": 0,
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "actualStart": "2019-08-24T14:15:22Z",
- "actualEnd": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}| runId required | string <uuid> |
| productId | string or null <uuid> |
| name | string or null <= 200 characters |
| orderRef | string or null <= 200 characters |
| lotCode | string or null <= 200 characters |
| externalId | string or null <= 200 characters |
| plannedStart | string <date-time> |
| plannedQuantity | integer > 0 |
| priority | integer |
| status | string (ScheduledRunStatus) Enum: "planned" "in_progress" "completed" "cancelled" |
{- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "priority": 0,
- "status": "planned"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "status": "planned",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedEnd": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "sequenceNo": 0,
- "priority": 0,
- "changeoverSeconds": 0,
- "productionSeconds": 0,
- "ratePerMinute": 0,
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "actualStart": "2019-08-24T14:15:22Z",
- "actualEnd": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}{- "title": "string",
- "status": 0,
- "code": "string",
- "detail": "string"
}Materialise the ISA-95 Production Response — open a running batch + link it. Idempotent.
| runId required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "status": "planned",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedEnd": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "sequenceNo": 0,
- "priority": 0,
- "changeoverSeconds": 0,
- "productionSeconds": 0,
- "ratePerMinute": 0,
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "actualStart": "2019-08-24T14:15:22Z",
- "actualEnd": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}| lineId required | string <uuid> |
| orderedIds required | Array of strings <uuid> non-empty [ items <uuid > ] |
{- "orderedIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "scheduledRuns": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "status": "planned",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedEnd": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "sequenceNo": 0,
- "priority": 0,
- "changeoverSeconds": 0,
- "productionSeconds": 0,
- "ratePerMinute": 0,
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "actualStart": "2019-08-24T14:15:22Z",
- "actualEnd": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}| lineId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
| toleranceSeconds | integer >= 0 |
{- "runsPlanned": 0,
- "runsCompleted": 0,
- "plannedQuantity": 0,
- "attainedQuantity": 0,
- "attainment": 0,
- "onTimeStart": 0,
- "onTimeCompletion": 0,
- "sequenceAdherence": 0,
- "adherence": 0
}| siteId required | string <uuid> |
| from required | string <date-time> Window start (ISO-8601). |
| to required | string <date-time> Window end (ISO-8601), after |
{- "from": "2019-08-24T14:15:22Z",
- "to": "2019-08-24T14:15:22Z",
- "lines": [
- {
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "lineName": "string",
- "runs": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
- "productName": "string",
- "productSku": "string",
- "batchId": "5579c111-9c50-47e2-af92-f16d52e63189",
- "status": "planned",
- "plannedStart": "2019-08-24T14:15:22Z",
- "plannedEnd": "2019-08-24T14:15:22Z",
- "plannedQuantity": 0,
- "sequenceNo": 0,
- "priority": 0,
- "changeoverSeconds": 0,
- "productionSeconds": 0,
- "ratePerMinute": 0,
- "name": "string",
- "orderRef": "string",
- "lotCode": "string",
- "externalId": "string",
- "actualStart": "2019-08-24T14:15:22Z",
- "actualEnd": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
}
]
}The most recent events for your company, newest first. type narrows to
a single event type; limit (1–100, default 25) bounds the page.
| type | string (EventType) Enum: "stop.opened" "stop.closed" "outage.opened" "outage.closed" |
| limit | integer [ 1 .. 100 ] Default: 25 |
{- "events": [
- {
- "event": "stop.opened",
- "eventId": "string",
- "occurredAt": "2019-08-24T14:15:22Z",
- "sensorId": "8b1a1a59-9b5d-42b4-b470-9c3c98f43cb6",
- "stopId": "dd775241-8a00-4193-b07c-f3e4740fdc43",
- "outageId": "79cb46b5-07aa-4fa9-aa71-5da568304289",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "durationSeconds": 0,
- "thresholdSeconds": 0
}
]
}Event webhook subscriptions (REST hooks). Register a callback URL to receive events as they happen. Requires the Event Webhooks add-on.
Register a callback URL to receive an event in real time. Idempotent on
(event, targetUrl). Requires hooks:write plus the event's read scope.
| eventType required | string (EventType) Enum: "stop.opened" "stop.closed" "outage.opened" "outage.closed" |
| targetUrl required | string <uri> HTTPS callback URL. |
| lineId | string or null <uuid> |
| zapId | string <= 128 characters |
{- "eventType": "stop.opened",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "zapId": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}Stop delivering an event to a callback. Idempotent: an unknown id still returns 204.
| subscriptionId required | string <uuid> |
{- "title": "string",
- "status": 0,
- "code": "string",
- "detail": "string"
}{- "shifts": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": [
- 6
], - "color": "string"
}
]
}| lineId required | string <uuid> |
| name required | string [ 1 .. 200 ] characters |
| startTime required | string^([01][0-9]|2[0-3]):[0-5][0-9]$ |
| endTime required | string^([01][0-9]|2[0-3]):[0-5][0-9]$ |
| daysOfWeek required | Array of integers[ items [ 0 .. 6 ] ] |
| color | string or null <= 32 characters |
{- "name": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": [
- 6
], - "color": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": [
- 6
], - "color": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": [
- 6
], - "color": "string"
}| shiftId required | string <uuid> |
| name | string [ 1 .. 200 ] characters |
| startTime | string^([01][0-9]|2[0-3]):[0-5][0-9]$ |
| endTime | string^([01][0-9]|2[0-3]):[0-5][0-9]$ |
| daysOfWeek | Array of integers[ items [ 0 .. 6 ] ] |
| color | string or null <= 32 characters |
{- "name": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": [
- 6
], - "color": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "lineId": "e698cdee-c4ef-4d12-b0ea-7c98b2fc64a8",
- "name": "string",
- "startTime": "string",
- "endTime": "string",
- "daysOfWeek": [
- 6
], - "color": "string"
}{- "title": "string",
- "status": 0,
- "code": "string",
- "detail": "string"
}