Kortlivet SSO-URL til Forta Pays portal for en kreditorbruger (udstedes af server, udløber efter 5 min, engangs)
POST /portal-sessions
Udsteder en engangs-URL til en DELEGERET portal-session. Der oprettes ingen portalbruger: tillidsankeret er API-nøglen, og sessionen kan aldrig mere end nøglen der udstedte den — read → viewer, write → operator, admin (uskopet nøgle) → admin. Loftet prøves igen ved HVERT klik i portalen: tilbagekaldes nøglen, sænkes dens scope eller fjernes kreditoren fra dens skop, er sessionen død ved næste klik. user_email er kun til visning og revisionsspor.
Koden står i URL'ens fragment (#c=…) og sendes derfor aldrig til en server eller i en Referer. Åbn URL'en i en NY FANE (top-level) — portalen kan ikke vises i en iframe (frame-ancestors 'none'). Sessionen lever 60 min uden aktivitet, højst 8 timer.
Samme Idempotency-Key + samme krop giver samme 201 med SAMME kode: er den brugt eller udløbet, er URL'en død. Bed om en ny med en ny nøgle.
Parametre
Idempotency-Keyheader · string (uuid) · påkrævet
Obligatorisk på alle POST/PATCH/DELETE. Lever 24 timer.
Krop · PortalSessionCreate
creditor_idstring · påkrævet
user_emailstring (email) · påkrævet
Hvem i jeres system der åbner portalen. Vises i portalens hoved og står i revisionssporet; giver ingen rettigheder
rolestring · valgfri
Udeladt = viewer (mindst mulig rolle), ikke nøglens loft. Over loftet → 403
viewer · operator · admin
landingstring · valgfri
Hvor portalen åbner. Udeladt = forsiden. Tilladt: /, /invoices, /invoices/{inv_…} (fakturaen skal tilhøre creditor_id), /reminders/upcoming. Alt andet → 422 invalid_landing — fx /debtors/…, som portalen endnu ikke har en side for.
Svar
201OK · PortalSession
403`insufficient_scope` — `role` er over nøglens loft (`required_scope` i svaret). Rollen sænkes aldrig i stilhed · Problem
404Kreditoren findes ikke eller er uden for nøglens skop (samme svar) · Problem
422`invalid_landing` — `landing` står ikke i tabellen (ingen åben omdirigering) — eller `validation_failed` · Problem
503`portal_unavailable` — portalens værtsnavn er ikke konfigureret på serveren; intet er udstedt · Problem
curl -X POST https://api.fortapay.dk/v1/portal-sessions \ -H "Authorization: Bearer $FP_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d @- <<'JSON' { "creditor_id": "…", "user_email": "…" } JSON