Mockad datakälla · v1

Verifieringstjänst

Ett API och ett hostat samtyckesflöde för myndighets- och inkomstverifiering. Långivaren skapar en session, kunden identifierar sig i vårt flöde, och rapporten levereras via webhook eller hämtas på rapport-endpointen. Alla datakällor är i detta läge mockade och scenario-styrda.

1. Session

POST /api/public/v1/sessions med API-nyckel. Svar: sessionId och hostedUrl.

2. Hostat flöde

Kunden skickas till hostedUrl, identifierar sig (simulerad BankID) och vi hämtar uppgifterna hos Skatteverket och Kronofogden i kundens namn, en källa åt gången.

3. Leverans

Webhook med HMAC-signatur, plus GET på rapport-endpointerna.

Skapa session

Autentisering: Authorization: Bearer <api-nyckel>. Skicka Idempotency-Key för säkra omförsök – endast lyckade svar cachas.

POST /api/public/v1/sessions
Authorization: Bearer vk_test_...
Idempotency-Key: 6f1c-...

{
  "tenantId": "tenant-a",
  "externalReferenceId": "app-10231",
  "ssn": "199001019802",
  "countryCode": "SE",
  "verificationType": "income-verification",
  "mockScenario": "kfm-debt",
  "returnUrl": {
    "success": "https://kund.example.com/klart",
    "failure": "https://kund.example.com/avbrutet"
  }
}

201 {
  "sessionId": "sess_...",
  "hostedUrl": "https://.../session/sess_...",
  "expiresAt": "2026-01-01T12:30:00.000Z"
}

Webhook

Signeras med tenantens hemlighet: x-signature: sha256=<hex> över den råa bodyn. Tre försök med exponentiell backoff.

POST <tenantens webhook_url>
x-signature: sha256=9f2b...

{
  "externalReferenceId": "app-10231",
  "ssn": "19900101****",
  "sessionId": "sess_...",
  "status": "completed",
  "reportId": "rep_...",
  "timestamp": "2026-01-01T12:04:11.000Z"
}

Hämta rapport

GET /api/public/v1/report/sdk-data/{externalReferenceId}/{countryCode}/{ssn}
GET /api/public/v1/report/{externalReferenceId}/{countryCode}/{ssn}
Authorization: Bearer vk_test_...

200  rapport (JSON)
204  ingen rapport ännu – inget fel

Personnummer i URL:en slås upp via HMAC-hash; klartext lagras aldrig. Saknad rapport ger alltid 204, aldrig 500, så anropande system inte slås ut.

Testpersonnummer

Dedikerad testpool med födelseår 2099 – kan aldrig förväxlas med riktiga personnummer. Mappningen ligger i databasen och kan överstyras per session med mockScenario.

PersonnummerUtfall
209901010001clean – inkomst, inga anmärkningar
209901010002kfm_debt – skuld hos Kronofogden
209901010003salary_garnishment – aktiv löneutmätning
209901010004multiple_remarks – flera anmärkningar och lån
209901010005low_income – låg inkomst
209901010006high_income_spike – inkomsttopp
209901010007no_income – ingen inkomst
209901010008source_error – simulerat källfel (failed)

PD-score är en tydligt märkt platshållarformel och ska inte användas för kreditbeslut.