Projekter
Opret og rediger titel og beskrivelse. Hent hardwareområder og de godkendte konfigurationsmuligheder.
HARDWARE AT SOFTWARE SPEED
Arbejd i HMK, gennem dit eget system eller med din AI-assistent. De samme projekter. De samme mennesker. Den samme historik.
Alle tre bruger samme workspace-adgang og fælles servicelag.
Opret og rediger titel og beskrivelse. Hent hardwareområder og de godkendte konfigurationsmuligheder.
Send en valgt POS-kombination til HMK til gennemgang og følg den fælles ordrestatus.
Se hvem der ændrede hvad, hvornår og fra hvilken klient. Konfliktkontrol beskytter samtidige rettelser.
Til en almindelig MCP-forbindelse hoster HMK serveren. Du skal ikke installere en printerdriver, køre din egen MCP-server eller udlevere din login-kode til AI’en.
curl https://app.hmk.dk/api/v1/workspaces \
-H "Authorization: Bearer $HMK_ACCESS_TOKEN"
Variablen indeholder tokenet fra din OAuth-klient. Opbevar tokens i klientens sikre lager, ikke i chat, kildekode eller URL’er.
En forbindelse handler som den person, der logger ind. Hver bruger har sin egen forbindelse, også i et delt workspace. Hver godkendelse er begrænset til ét workspace og kan afbrydes under Forbundne apps.
https://app.hmk.dk/.well-known/oauth-authorization-server/.well-known/oauth-protected-resource/oauth/register · /oauth/authorize ·
/oauth/token
POST /oauth/revoke med token og client_id
Authorization Code med PKCE S256. Public clients med
token_endpoint_auth_method: none og dynamic client
registration (DCR). CIMD, client secrets og OpenID Connect er ikke
understøttet i denne første version.
Registrér præcise HTTPS callback-URL’er, ingen wildcards. Send
state, code_challenge,
code_challenge_method=S256,
response_type=code, client_id,
redirect_uri, scope og
resource=https://app.hmk.dk ved godkendelsen. HMK
returnerer code, samme state og
iss=https://app.hmk.dk. Kontrollér state og issuer i
din klient.
Token-kald sendes som formdata med
grant_type=authorization_code, code,
code_verifier, samme client_id, redirect_uri og
resource. Adgangstokens varer én time. Refresh tokens roteres ved
brug og varer 30 dage fra udstedelsen. Gem det nye refresh token
efter hver fornyelse; det gamle kan ikke genbruges. Forny med
grant_type=refresh_token, refresh_token,
client_id og resource.
POST https://app.hmk.dk/oauth/register
Content-Type: application/json
{
"client_name": "Min HMK-integration",
"redirect_uris": ["https://example.com/oauth/callback"],
"token_endpoint_auth_method": "none",
"grant_types": ["authorization_code", "refresh_token"],
"response_types": ["code"]
}
Udskift example.com med din egen callback. Klientnavne er selvoplyste, ikke verificerede brandidentiteter; historikken viser også et uforanderligt klient-ID.
projects:read Læs projekter og workspace. Påkrævet
grundscope.
projects:write Opret og rediger projektmetadata.
orders:read Læs fælles bestillinger.
orders:write Opret printbestillinger.
activity:read Læs aktivitet med navne og ændringer.
Medlemskab og godkendelse kontrolleres ved hvert kald. Fjernet medlemskab eller tilbagekaldt forbindelse stopper efterfølgende kald, også med et endnu ikke udløbet token. Browserens sessionscookie accepteres ikke som API/MCP-token.
https://app.hmk.dk/mcp
HMK hoster en stateless MCP-server. Den bruger JSON-svar over Streamable HTTP; der er ingen langlivet SSE-session eller lokal stdio-server at installere.
OpenAI Docs: MCP authentication ↗
Claude: custom connectors ↗
MCP authorization specification ↗
Værktøjer vises efter de scopes, du har godkendt. API-referencens operationId er også MCP-værktøjets navn. MCP giver ikke videre adgang end appen og har ingen funktion til at ændre printerstatus.
Base-URL: https://app.hmk.dk/api/v1. Alle operationer
kræver OAuth bearer token. Schemas nedenfor genereres fra de samme
inputdefinitioner, som REST og MCP validerer.
Indlæser reference…
Et projekt oprettet via MCP vises i appen. En rettelse i appen læses af næste API-kald. Appen genindlæser projekter og ordrer hvert 15. sekund, når fanen er synlig, samt ved fokus og genoprettet forbindelse. Det er polling, ikke realtime co-editing.
Projektændringer kræver expectedRevision fra seneste
læsning. Hvis en anden har gemt imens, returneres
409 conflict. Hent den nye udgave, sammenlign og aftal
rettelsen; gentag ikke blindt med det nye nummer.
Aktivitet gemmes atomisk sammen med ændringen: person, tid, APP/API/MCP, klient-ID, klientnavn og før/efter-værdier. Identiteten kommer fra serveren, aldrig fra et tekstfelt i din forespørgsel. Historikken er append-only gennem API’et, starter med denne version og er ikke en model-rollback-funktion.
Aktivitet vises med 50 poster ad gangen. Brug
nextCursor som before for næste side.
Lokale kameravinkler, usendte formularer og løse konfiguratorvalg er
ikke gemte projektændringer og deles ikke mellem klienter. En
bestilling indeholder derimod et fast snapshot af den valgte
kombination.
Hent først list_configurations. Vis brugeren projekt,
version, kombination og antal, og få bestillingen bekræftet. Send
derefter submit_print_order med den returnerede version
og et nyt UUID som requestId.
{
"projectId": "custom-pos",
"version": "loby-pos-0.6.2",
"angle": 60,
"tube": 150,
"base": "hidden",
"quantity": 2,
"note": "Ønskes i sort; aftales med HMK",
"requestId": "8a973a5a-3e6e-4b7a-a62f-624676d140ba"
}
Rørlængde er i mm. Materiale og farve er indtil videre ønsker i
note, ikke verificerede lagervalg. Ved netfejl bruges samme
requestId og identiske værdier. Ændret indhold med samme ID afvises.
Ordren bliver REQUESTED, ikke PRINTING.
Nye hardwareprojekter kan ikke bestilles som print, før et
produktionsgrundlag er tilføjet.
Statusser: REQUESTED, ACCEPTED, PRINTING, COMPLETED, CANCELLED. Kun HMK-personale i appen kan ændre status. Pris, færdigtid, betaling, lagerreservation og automatisk printerstart er ikke implementeret her.
MCP-værktøjsfejl returneres som isError med en
struktureret fejl i tekstindholdet. HTTP-authentication fejl bruger
Bearer challenge og resource metadata. Kør ikke hele
produktionsflowet igen, fordi ét statuskald fejlede.
Begrænsninger: 20 KB request body, integrationsrate 300 kald/minut pr. bruger/klient, samt den fælles gateways grænser. Projekt- og ordrelister er endnu ikke paginerede; aktivitet er. Ingen offentlig invitation eller selvregistrering.