v1API ReferenceProduction Logs

Retrieve a Production Log

Required scope: production_logs.read.

Return one Production Log by id, with its related records expanded inline.

An id belonging to another company is reported as 404, not 403.

Path Parameters

production_log_id*string

The production log ID.

Formatuuid4

Response Body

application/json

application/json

application/json

application/json

application/json

Try it live
GET
/v1/production-logs/{production_log_id}

This endpoint requires authentication — paste a token in the Authorization section below.

curl -X GET "https://example.com/v1/production-logs/string"
{  "id": "36f7b519-d93e-4ec8-8245-7f4b8c123456",  "type": "correct",  "sensorCount": 500,  "count": 1000,  "nominalSpeed": 60,  "countingFactor": 1,  "start": "2024-01-01T00:00:00",  "end": "2024-01-01T08:00:00",  "isReviewed": true,  "isAutomated": true,  "machineId": 12,  "createdAt": "2019-08-24T14:15:22Z",  "updatedAt": "2019-08-24T14:15:22Z",  "deletedAt": "2019-08-24T14:15:22Z",  "live": true,  "machine": {    "id": 0,    "name": "string",    "isCountEnabled": true,    "externalName": "string"  },  "company": {    "id": 0,    "name": "string",    "timezone": "string"  },  "shift": {    "id": 0,    "name": "string",    "start": "2019-08-24T14:15:22Z",    "end": "2019-08-24T14:15:22Z",    "isConsidered": true  },  "operator": {    "id": 0,    "firstName": "string",    "lastName": "string",    "email": "string"  },  "sku": {    "id": "string",    "name": "string",    "description": "string",    "unit": "string"  },  "workOrder": {    "id": "string",    "name": "string",    "description": "string",    "status": "InProgress"  },  "simpleWorkOrder": {    "id": "string",    "name": "string"  }}

Search Production Logs POST

Search Production Logs by machine, shift, SKU, date, quantity or review state. A POST because the filter body nests, but it only reads: the production_logs.read scope is sufficient. Send {} to get the first page with the defaults (page 1, limit 10). Filters are optional and combine with AND. Pages. Logs are ordered by start, then by id. The response gives totalCount and totalPages; request page 1, 2, … up to totalPages with the same filters and limit to read them all. A log written while you page can shift later pages by one. Dates. startDate filters on when a log starts and endDate on when it ends. after and before exclude the time itself, between includes both ends, and equal matches the exact time. Give times with a UTC offset. A shift's logs. To read back what a shift holds, for example after adding defects to it, filter by its id from GET /v1/shifts: `json {"shifts": {"include": [48213]}, "type": {"include": ["defects"]}, "limit": 100, "page": 1} ` A log is in a shift when it is on the shift's machine and lies within the shift. For only the defects, GET /v1/shifts/{shift_id}/defects returns the same logs in one unpaginated list.

Update a Production Log PATCH

Partially update a Production Log: send only the fields that change. This is the call for correcting a miscount or a wrong time window without restating the whole record. Changing count, nominalSpeed, start or end changes the OEE Pulsar reports for that period, and the correction is visible in dashboards immediately.