← Tilbage til atlas

atlas API

atlas gemmer software-arkitekturer som dokumenter (architecture-as-data): domæner, services og forbindelser via et REST-API. Mekanik: OpenAPI-spec på /openapi.json. Alt kræver autentisering undtagen /api/health, /openapi.json og denne side.

Autentisering

Browser (mennesker): POST /api/login med email + password giver en session-cookie (7 dage). Mutationer kræver desuden x-csrf header (token fra GET /api/csrf i samme session).

API-nøgle (AI-agenter, scripts): send Authorization: Bearer c4sk_... på alle anmodninger — ingen CSRF, ingen cookie. Nøgler oprettes under API-nøgler i venstre bjælke (eller POST /api/keys med session). Nøglen vises kun én gang; gem den. To scopes:

Rate-limit for API-nøgler: 60 anmodninger/minut → 429 + Retry-After.

AI quickstart

# 1. Hent dit landscape (domæner, noder, kanter) — kræver read-nøgle
curl -H "Authorization: Bearer c4sk_DIN_NOEGLE" http://atlas.test.obix.dk/api/models/4/graph

# 2. Læs en hel model som dokument (read)
curl -H "Authorization: Bearer c4sk_DIN_NOEGLE" http://atlas.test.obix.dk/api/models/4

# 3. Opdater modellen (readwrite) — komplet body
curl -X PUT -H "Authorization: Bearer c4sk_DIN_NOEGLE" -H "Content-Type: application/json" \
  -d @model.json http://atlas.test.obix.dk/api/models/4

Modelbody er landscape-format: services[] + relations[] (+ domains[]), samme JSON som UI'ets editor bruger. Valideringen returnerer en dansk fejl-liste på 400, så du kan rettere og prøve igen.

Endpoints

MethodeStiBeskrivelse
GET/api/healthHealth check offentlig
GET/openapi.jsonOpenAPI 3.1-specifikation offentlig
POST/api/loginLog ind (browser) — sætter session-cookie
POST/api/logoutLog ud
GET/api/meAktuel bruger + teams read
GET/api/csrfCSRF-token (browser-session)
GET/api/modelsListe (efter synlighed) read
POST/api/modelsOpret model readwrite
GET/api/models/{id}Model som dokument read
PUT/api/models/{id}Opdater (komplet body) readwrite
DELETE/api/models/{id}Slet readwrite
GET/api/models/{id}/graphNormaliseret landscape-graf read
GET/api/models/{id}/diagramsMermaid-komponentdiagrammer pr. service read
GET/api/models/{id}/eventsEvent-liste: navn, topic, producenter, forbrugere, brokers read
GET/api/models/{id}/events/{name}/flowEvent-flow: hel publish→consume-kæde (BFS frem + tilbage) read
GET/api/teamsTeams (admin: alle)
POST/api/teamsOpret team admin
POST/api/teams/{id}/membersTilføj medlem admin
GET/api/keysEgne API-nøgler (session)
POST/api/keysOpret nøgle — {name, scope, expires_in_days?} (session)
DELETE/api/keys/{id}Revokér nøgle (session)
GET/api/auditSeneste 200 handlinger admin

Felles fejl