API-dokumentation

Introduktion

PiiSweep API ger dig programmatisk tillgång till PII-detektering och sanering av svensk text. Alla anrop går mot följande bas-URL:

https://piisweep.com/api/v1

API:et erbjuder två endpoints: en för att ta bort PII ur text och en för att enbart detektera PII utan att modifiera texten.

Autentisering

Alla API-anrop kräver en giltig API-nyckel som skickas i x-api-key headern. Du kan skapa och hantera dina nycklar i din dashboard.

API-nycklar har formatet pg_live_... och är unika för varje projekt. Dela aldrig din nyckel offentligt.

curl https://piisweep.com/api/v1/strip \ -H "x-api-key: pg_live_din_nyckel_här"

POST /v1/strip

Tar emot text, identifierar personuppgifter (PII) och returnerar en sanerad version där all PII har ersatts med platshållare.

Det valfria fältet types begränsar vilka PII-typer som detekteras. Möjliga värden: personnummer, phone, email, name. Om fältet utelämnas detekteras alla typer.

Request body

{ "text": "string", // 1–100 000 tecken "types": ["personnummer", ...] // valfritt, default: alla }

Response

{ "original_length": 142, "stripped_length": 127, "stripped_text": "Kontakta [NAMN] på [E-POST]", "detections": [ { "type": "name", "original": "Erik Svensson", "placeholder": "[NAMN]" } ], "processing_time_ms": 12 }

Exempel

curl -X POST https://piisweep.com/api/v1/strip \ -H "Content-Type: application/json" \ -H "x-api-key: pg_live_din_nyckel_har" \ -d '{"text": "Ring Erik Svensson på 070-123 45 67"}'

POST /v1/detect

Identifierar personuppgifter (PII) i texten utan att modifiera den. Användbar för att kontrollera om text innehåller känslig information innan den behandlas vidare.

Request body

{ "text": "string", // 1–100 000 tecken "types": ["personnummer", ...] // valfritt, default: alla }

Response

{ "original_length": 142, "detections": [ { "type": "phone", "original": "070-123 45 67", "placeholder": "[TELEFON]" } ], "pii_found": true, "processing_time_ms": 8 }

Exempel

curl -X POST https://piisweep.com/api/v1/detect \ -H "Content-Type: application/json" \ -H "x-api-key: pg_live_din_nyckel_har" \ -d '{"text": "Mitt personnummer är 199001011234"}'

Felkoder

Alla felmeddelanden returneras i följande format:

{ "error": { "code": "VALIDATION_ERROR", "message": "Text is required and must be 1-100000 characters" } }
KodMeddelandeBeskrivning
400VALIDATION_ERROROgiltig request body. Kontrollera att texten är mellan 1 och 100 000 tecken.
401UNAUTHORIZEDOgiltig eller saknad API-nyckel. Kontrollera att headern x-api-key är korrekt.
429RATE_LIMITEDFör många anrop. Vänta och försök igen, se Retry-After headern.
500INTERNAL_ERRORServerfel. Försök igen senare eller kontakta support om problemet kvarstår.

Rate limits

API:et tillåter 1 000 anrop per minut per API-nyckel. Varje svar innehåller följande headers för att hjälpa dig hantera dina anrop:

HeaderBeskrivning
X-RateLimit-LimitMaximalt antal anrop per minut.
X-RateLimit-RemainingAntal återstående anrop i nuvarande fönstret.
Retry-AfterAntal sekunder att vänta innan nästa anrop (visas vid 429-svar).

PII-typer

Följande typer av personuppgifter detekteras och ersätts med motsvarande platshållare:

TypPlatshållare
personnummer[PERSONNUMMER]
phone[TELEFON]
email[E-POST]
name[NAMN]