v1API ReferenceReports

Metrics report

Return OEE, availability, quality and lost minutes per machine and shift. Each row carries the shift indicators (available time, downtime split by cause) together with the derived production metrics: availability, effectiveness, quality, oee and netOee, plus minutes lost to low speed and to low quality. A POST that only reads — the reports.read scope is sufficient. Prefer this over deriving OEE from production logs: shift boundaries, downtime classification and counting factors are already applied.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

Try it live
POST
/v1/reports/metrics

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

curl -X POST "https://example.com/v1/reports/metrics" \  -H "Content-Type: application/json" \  -d '{}'
{  "totalCount": 100,  "totalPages": 10,  "currentPage": 1,  "metrics": [    {      "company": {        "id": 1,        "name": "company 1"      },      "machine": {        "id": 1,        "name": "machine 1"      },      "shift": {        "endTime": "2025-11-02T00:00:00",        "id": 1,        "isActive": true,        "name": "morning",        "startTime": "2025-11-01T00:00:00"      },      "shiftIndicators": {        "annotatedDowntime": 0,        "availability": 100,        "availableTime": 480,        "earlyStopTime": 0,        "indicatorId": 1,        "lateStartTime": 0,        "netAvailability": 100,        "noDataTime": 0,        "nonProgrammedDowntime": 0,        "otherStopsTime": 0,        "programmedDowntime": 0,        "unavailableTime": 0      },      "productionMetrics": {        "availability": 100,        "effectiveness": 100,        "minutesLostByLowQuality": 0,        "minutesLostByLowSpeed": 0,        "netAvailability": 100,        "netOee": 100,        "oee": 100,        "quality": 100      }    }  ]}