Dokumentation
Kobl en agent på
En agent eller jeres egen kode kan komme til produktionsdata i OptiPeople Data Platform på to måder: MCP-serveren, hvor en AI-assistent kalder værktøjerne for jer, og REST-API'et til udviklere og BI-værktøjer. De bygger på de samme data. Opti Assist er en tredje måde at spørge på, lavet til dem, der står ved maskinen.
Det skal være på plads
- En konto på
portal.optipeople.dk - Mindst én maskine med en enhed koblet på
- Data, der kommer ind fra enheden
- Til REST-API'et: kontoens adgangskode. Til MCP-serveren: en portalbruger at logge ind med.
Har I ikke en konto endnu, er der ingen data at koble på. Book en demo på kontaktsiden.
API eller MCP?
| REST-API | MCP-server | |
|---|---|---|
| Hvem bruger det | Udviklere og BI-værktøjer | Alle, der kan stille et spørgsmål |
| Hvordan | REST-kald med en adgangskode | En AI-assistent kalder værktøjerne for jer |
| Login | Kontoens adgangskode | OAuth med jeres egen portalbruger |
| Bedst til | Power BI, ERP-integrationer, faste rapporter | Spørgsmål der dukker op, analyser, hurtige svar |
Mange bruger begge: API'et fodrer de faste rapporter, og MCP svarer på det, der dukker op ind imellem.
MCP-server
Serverens adresse er:
https://mcp.optipeople.dk/
Alle klienter, der understøtter MCP-servere over HTTP med OAuth, kan koble på med den URL. I Claude Code:
claude mcp add --transport http optipeople https://mcp.optipeople.dk/
Kør derefter /mcp i Claude Code og log ind.
Opsætning i Claude, login, alle 13 værktøjer, datakilderne og grænserne: MCP-serveren (Markdown).
REST-API
Adresse og adgangskode
Alle kald går til https://dataexport.optipeople.dk/api. Der er 54 endpoints, og de kører alle over HTTPS og svarer i JSON.
Adgangskoden finder I i portalen under Accounts > External API. Den hører til jeres konto, så pas på den som på et password. Den foretrukne måde at sende den på er en header:
Authorization: Opti <ADGANGSKODE>
Den anden er parameteren access_code i URL'en. Den er nem, når I bare vil teste i en browser:
https://dataexport.optipeople.dk/api/Machine/GetAll?access_code=<ADGANGSKODE>
Får I en JSON-liste med jeres maskiner tilbage, virker forbindelsen.
De første kald
1. Find jeres maskiner. Kald GET /Machine/GetAll og skriv id ned for hver maskine. Næsten alle andre endpoints skal have et machineId.
curl -H "Authorization: Opti <ADGANGSKODE>" \
https://dataexport.optipeople.dk/api/Machine/GetAll
2. Hent produktionsdata for en periode. Kald GET /DataExport/GetDataExport med en maskine og en periode:
curl -H "Authorization: Opti <ADGANGSKODE>" \
"https://dataexport.optipeople.dk/api/DataExport/GetDataExport?machineId=<MASKINE_ID>&from=2026-10-01&to=2026-10-25"
3. Vil I have OEE regnet ud, så kald GET /DataExport/GetOEE. Den giver OEE, tilgængelighed, ydelse og kvalitet pr. maskine. Sæt includePerShiftData=true på for tallene pr. skift.
Parametre, der går igen
machineId: maskinen, I vil se data for. PåGetDataExport,GetEventExportogGetOEEkan I gentage den og få flere maskiner i ét kald.factoryId: kun én fabrik.fromogto: perioden somyyyy-MM-dd. De fleste udtræk tager dagen i dag, hvis I udelader dem, og ét kald kan højst dække et år.
Alle svar er bygget ens op: data er resultatet, errors er det, der gik galt, og meta er ekstra oplysninger.
De vigtigste udtræk
GetDataExport: en periodes produktionsdata pr. skift, tæller, ordre og stop. Her starter de fleste Power BI-rapporter.GetOEE: OEE, tilgængelighed, ydelse og kvalitet pr. maskine.GetEventExport: hver eneste gang maskinen starter eller stopper.GetOrderReportExport: produktion pr. ordre, med stoptiden fordelt ud på ordrerne.GetLatestStopogGetHeartbeats: maskinens seneste stop, og om maskinerne melder sig.GetTelemetryData,GetTelemetry(OData, op til 10.000 rækker pr. side) ogGetHoursSpentBetweenTelemetryThresholds: telemetri som temperatur og vibration.GetTPMAlertsExport: TPM-alarmer til at planlægge vedligehold ud fra.
Send data ind
- Ordrer:
POST /Machine/SetMachinePartInformationstarter en ordre på en maskine, ogPOST /PartOrderNumber/ExternalSetPartOrdersætter ordren på fabriksniveau. - Operatører: opret, ret og slet operatører med
/User-endpoints.CreateOrUpdateOperatorsfinder operatøren ud fra medarbejdernummer. - Stop:
POST /Waste/RegisterAllPendingWastegiver alle ventende stop samme årsag i ét hug. - Stamdata: læs, opret, ret, søg i og slet rækker i jeres stamdatatabeller med
/MasterData-endpoints.
Alle grupper af endpoints
| Gruppe | Hvad den dækker |
|---|---|
| Account | Kontoens indstillinger |
| API Usage | Hvor mange kald og hvor meget data I har brugt, pr. konto eller pr. integration |
| Factory | Jeres fabrikker |
| Device | Enheder og deres status |
| Machine | Maskiner, manuelle operatørlog, stopkonfiguration, start af ordrer |
| Machine Shift og Shift Identifier | Skiftplaner og skiftnavne |
| Data Export | Produktion, OEE, hændelser, ordrer, stop, heartbeats, TPM-alarmer og telemetri |
| Report | Ordren, der kører nu, tællerrapporter pr. dag og pr. time, ordreoplysninger med egne felter |
| Part Order Number | Ordrer pr. fabrik og præcist antal emner mellem to tidspunkter |
| Master Data | Jeres egne datatabeller |
| Task Configuration og Task Instance | Opgaver, aktive og afsluttede opgaver med historik |
| User | Operatører |
| Waste | Registrering af ventende stop |
| Incomac App | Indstillinger for energioptimering, spotpriser og maskinbeskeder |
Hold øje med forbruget
GET /APIUsage/GetUsageForAccount?startDate=2026-10-01 viser, hvor mange kald I har lavet, og hvor meget data de har givet, fordelt pr. endpoint. GetUsageForExternalApplication gør det samme for én integration.
Reference
- Interaktiv API-reference (Swagger): prøv hvert endpoint, før I skriver kode
- External API Reference (PDF): parametre og det fulde svarformat for hvert endpoint
- API-guiden, trin for trin
Send data ind over MQTT
Platformen tager også imod data. Maskinstatus, emnetællere og målinger kan sendes ind over MQTT i et dokumenteret JSON-format, med UTC-tidsstempler og id på hver enhed. Forbindelsesoplysningerne står ikke på sitet, så spørg os.
Opti Assist
Opti Assist på ai.optipeople.dk er vores chat til produktionen. Det er en app til folk, ikke et API til agenter. Hver maskine får sin egen QR-kode. Operatøren scanner den med telefon eller tablet, uden app og uden login, spørger på dansk eller engelsk og får svaret fra jeres egne manualer og maskinens live data i OptiPeople Data Platform, med kilderne under. Er det en opgave for en tekniker, er det ét tryk, så får servicekontakten en SMS.
Læs mere om Opti Assist, eller se den i en kort demo: book en på kontaktsiden.
Godt at vide for agenter
- Spørg aldrig efter portalens password. MCP-login kører over OAuth med PKCE, og passwordet går aldrig gennem AI-assistenten.
- API-adgangskoden hører til hele kontoen. Pas på den som på et password.
- Det, der bliver skrevet, er rigtigt. Data fra MCP-værktøjerne, der skriver, tæller med i OEE, præcis som data fra maskinen, og API'ets skrivende endpoints ændrer de samme data. En agent skal kun skrive, når den bliver bedt om det.
- Ændringer via MCP bliver gemt med kilden
McpTool, så de kan skelnes fra det, maskinerne selv har sendt. - Tider er i hver fabriks lokale tid. En periode, der stadig kører, er ikke endelig.
- Hjælp til en installation: support@optipeople.dk.