API-nøgler og autentificering
Hvert kald til en operation sender en nøgle som bearer-token i headeren Authorization. Det eneste kald uden nøgle er GET /v1/openapi.json, som er offentligt.
curl https://api.komplai.dk/v1/access \
-H "Authorization: Bearer $KOMPLAI_TOKEN"Send hele nøglen. API'et læser den kun fra denne header, så den hører aldrig hjemme i en URL. Svar på kald med en nøgle har Cache-Control: private, no-store.
To slags nøgler
| Personlig API-nøgle | Organisationens integrationsnøgle | |
|---|---|---|
| Begynder med | kp_live_ | kp_org_ |
| Tilhører | Dig, i én organisation | Et af organisationens egne systemer, ikke en person |
| Oprettes af | Dig, i hubben | komplai, når jeres organisation beder om det |
| Giver adgang til | De værktøjer, du har fået tildelt: Redact, Chat, Decide, Coding og Registeropslag, inden for nøglens scopes | Kun Redact og GET /v1/access |
| Gyldig i | 7, 30, 90 eller 365 dage, som du vælger | Op til 365 dage, som komplai fastsætter |
| Grænse for kald | Din egen, delt med dine andre nøgler og din brug af hubben | Integrationens egen, som fortsætter, når komplai udsteder en ny nøgle |
| Administreres under | API og integrationer › API-nøgler | Organisation › Login og sikkerhed › Integrationsnøgler |
komplai gemmer kun en hash af hver nøgle og dens første tegn, så en nøgle kan ikke vises igen, efter den er udstedt. Gem den i jeres hemmelighedshåndtering, aldrig i kode, en URL eller en mail.
Scopes
Et scope giver adgang til en gruppe af operationer. Hver operations side i API-referencen viser de scopes og de slags nøgler, den accepterer.
| Scope | Operationer | Nøgler |
|---|---|---|
access:read | GET /v1/access | Begge |
redact:detect | POST /v1/redact/detect | Begge |
redact:process | POST /v1/redact, POST /v1/redact/restore, operationerne for tekstjob under /v1/redact/jobs samt POST /v1/redact/file og /v1/redact/file/jobs Beta | Begge |
chat:complete | GET /v1/models, POST /v1/chat/completions | Personlig |
decide:process | POST /v1/decide, POST /v1/decide/batch Beta | Personlig |
coding:read | GET /v1/coding/account, GET /v1/coding/models Beta | Personlig |
coding:complete | POST /v1/coding/chat/completions Beta | Personlig |
mcp:read | Registeropslag fra en MCP-klient Beta | Personlig |
En personlig API-nøgle kan kun få scopes til værktøjer, du har fået tildelt. Giv den kun de scopes, systemet har brug for. API'et kontrollerer nøglens scopes mod din aktuelle adgang ved hvert kald: Når din tildeling eller organisationens godkendelse af behandlingen ikke længere dækker et værktøj, svarer kaldet 403 insufficient_scope eller 401 invalid_api_key.
Organisationens integrationsnøgle får 403 integration_not_permitted på en operation, den ikke giver adgang til, før dens scopes bliver kontrolleret.
Personlige API-nøgler
Opret en nøgle
Kom i gang viser trinene: API og integrationer › API-nøgler › Opret API-nøgle, derefter formålet, et navn, gyldigheden og rettighederne.
- Nøglen tilhører dig og den organisation, du har valgt i hubben. Er du med i flere organisationer, så skift til den rigtige, før du opretter nøglen.
- Du kan have op til 20 aktive nøgler i hver organisation.
- Når hubben har vist nøglen én gang, viser listen dens navn, nøglens første tegn, dens scopes, status, udløbsdato, og hvornår den sidst blev brugt.
Forny en nøgle
Når du fornyer en nøgle, opretter hubben en ny og tilbagekalder den gamle i samme trin.
- Under API og integrationer › API-nøgler vælger du Forny ud for nøglen.
- Vælg Gyldighed, og gennemgå rettighederne.
- Vælg Forny nøgle, og kopiér den nye nøgle.
Den gamle nøgle holder op med at virke med det samme, så sæt straks den nye nøgle ind i dit system. Et tekstjob kan kun ses med den nøgle, der oprettede det: Hent eller slet dets resultat, før du fornyer. Kun du kan forny dine egne nøgler.
Tilbagekald en nøgle
Vælg Tilbagekald ud for nøglen og derefter Tilbagekald nøgle. Adgang med nøglen stopper straks. Jeres administrator kan se medlemmernes nøgler på samme side og kan også tilbagekalde dem.
Når en nøgle holder op med at virke
- Den når sin udløbsdato, som står under Udløber.
- Du eller jeres administrator tilbagekalder den, eller du fornyer den.
- Du forlader organisationen, eller ingen af de værktøjer, nøglen dækker, er længere tildelt dig.
- Organisationens API-adgang til værktøjet ophører.
Et kald med sådan en nøgle svarer 401 invalid_api_key. Holder nøglen op med at virke, mens et kald kører, svarer kaldet 401 invalid_token.
Organisationens integrationsnøgler
Med organisationens integrationsnøgle kan et af jeres egne systemer, fx en robot eller en integrationsplatform, kalde Redact uden en person. Kald med nøglen registreres under integrationens navn, aldrig under en person.
- Sådan får I en nøgle. Kontakt os med systemets navn, hvad det skal gøre, og en kontaktperson i jeres organisation. komplai udsteder nøglen og leverer den én gang til kontaktpersonen via Secret. Kontaktpersonen får ingen adgang med nøglen og behøver ingen konto.
- Det giver den adgang til. GET /v1/access og Redacts operationer til at finde personoplysninger, pseudonymisere, sætte originalerne tilbage, sende tekstjob og læse PDF- og Word-filer. Chat, Decide, Coding, Registeropslag og
engineagenticsvarer 403integration_not_permitted. Redact i Word og Coding-klienten tager kun imod personlige API-nøgler. - Krav. Nøglen virker, så længe den er aktiv, jeres aftale omfatter Redact via API'et, og behandlingen er godkendt. API'et kontrollerer det ved hvert kald og undervejs i hvert tekstjob. Ophører et af kravene, stopper alle organisationens integrationsnøgler straks.
- Forbrug. Kald tæller med i organisationens grænser for kald og dens månedlige loft for AI-forbrug. En integration har ingen personlig grænse. Grænsen for kald hører til integrationen, så en ny nøgle nulstiller den ikke.
- En ny nøgle. komplai udsteder den næste nøgle til samme integration. Den gamle nøgle stopper i det øjeblik, den nye udstedes, uden overlap, og dens tekstjob, der venter, kører eller er færdige, bliver ugyldige. Skift nøgle mellem jeres systems kørsler.
- Tilbagekaldelse. Jeres administrator åbner Organisation › Login og sikkerhed › Integrationsnøgler, vælger Tilbagekald og derefter Tilbagekald nøgle. Systemet mister straks adgang, job, der venter eller er i gang, stopper, og resultater kan ikke længere hentes. Integrationen findes stadig, så komplai kan udstede en ny nøgle til den.
Siden Integrationsnøgler viser hver integrations navn, kontaktperson, nøgle, status, udløb og seneste brug. Dens statusser:
| Status | Betydning |
|---|---|
| Aktiv | Nøglen virker. |
| Uden adgang til Redact | Nøglen er gyldig, men organisationen kan ikke bruge Redact via API i øjeblikket. |
| Udløbet | Nøglen har passeret sin udløbsdato. komplai kan udstede en ny nøgle. |
| Stoppet | Organisationen kan ikke længere bruge Redact via API, så nøglen er stoppet. komplai kan udstede en ny nøgle. |
| Tilbagekaldt af jeres administrator, Tilbagekaldt af komplai | Nøglen er tilbagekaldt. Integrationen findes stadig, så komplai kan udstede en ny nøgle. |
| Lukket | komplai har lukket integrationen. Den kan ikke få en ny nøgle. |
Det returnerer GET /v1/access
GET /v1/access tæller som ét kald, sender ingen tekst og kører ingen model. Kald det, når dit system starter, og før en kørsel, hvor behandlingen har betydning. Det fulde eksempel står i referencen.
| Felt | Indhold |
|---|---|
organisation_id | Organisationens id. |
principal | Kun for organisationens integrationsnøgle: type integration, integration_id og name. Svaret til en personlig API-nøgle har ingen principal. |
scopes | Alle de scopes, nøglen har. |
services[] | Én post pr. værktøj, nøglen giver adgang til, med service, nøglens scopes til værktøjet, hosting, processing og limits. |
services[].hosting.processing.layers | For Redact: én post pr. lag (regex, ner, llm) og valg af behandling, med hvor laget behandler tekst, om det er sat op, NER-stederne og de modeller, et kald kan vælge. |
services[].processing | Hvad organisationens aftale tillader: data_mode (synthetic for kun testdata, personal for personoplysninger efter agreement_reference), storage med, hvad der gemmes, og hvor længe, og for Redact text_contract med valgmuligheder og grænser. |
services[].limits.requests_per_minute | Kald pr. minut til værktøjet: pr. person for en personlig API-nøgle, pr. integration for organisationens integrationsnøgle. |
limits | organisation_requests_per_minute og shared_requests_per_minute samt requests_per_minute, når nøglen giver adgang til ét værktøj. |
hosting, processing | Et resumé, når nøglen giver adgang til ét værktøj. |
services[].edition udgår og er altid custom. Læs scopes og processing i stedet.