Utvecklare

Flink ID API.

REST + signerade webhooks. Inga SDK:er krävs. Här är allt du behöver för att komma igång.

Autentisering

Alla anrop autentiseras med en Bearer-nyckel som börjar på flk_live_ eller flk_test_. Skapa nycklar i dashboarden under API-nycklar.

curl https://id.flink.app/api/public/v1/sessions \
  -H "Authorization: Bearer flk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"checkpointId":"cp_42","checkType":"full"}'

Skapa en session

Returnerar ett URL som du visar för kunden — antingen som QR-kod på din kassaskärm eller som länk i en SMS/mejl.

POST /api/public/v1/sessions
{
  "checkpointId": "cp_42",
  "checkType": "identity" | "age_18" | "credit" | "full",
  "metadata": { "orderId": "ORD-1029" }
}

→ 201
{
  "id": "ses_01HXY…",
  "url": "https://id.flink.app/v/ses_01HXY…",
  "qrPng": "https://id.flink.app/v/ses_01HXY…/qr.png",
  "expiresAt": "2026-05-04T10:25:00Z"
}

Hämta resultat

GET /api/public/v1/sessions/ses_01HXY…

→ 200
{
  "id": "ses_01HXY…",
  "status": "approved",
  "checkType": "full",
  "identity": {
    "name": "Erik Andersson",
    "personnummer": "19**********",
    "age": 32,
    "verifiedAt": "2026-05-04T10:21:33Z"
  },
  "credit": {
    "score": 812,
    "riskBand": "low",
    "income": { "annualSEK": 612000, "verified": true },
    "debts": { "totalSEK": 124000, "remarks": 0 },
    "recommendation": "approve"
  }
}

Webhooks

Vi POST:ar JSON till din endpoint så fort en session når ett slutligt tillstånd. Verifiera signaturen i headern x-flink-signature.

x-flink-signature: t=1714817000,v1=ab9d…f2e
content-type: application/json

{
  "type": "session.completed",
  "data": { "id": "ses_01HXY…", "status": "approved", … }
}

Testdata

I test-läget kan du använda dessa personnummer för att simulera utfall:

  • 198001019811 — godkänd, låg risk
  • 198501019877 — granska, medelhög risk
  • 199001019844 — nekad, anmärkningar
  • 200505059812 — under 18, age_18 → false