API-referens
TIC Identity API är ett RESTful API som använder JSON för både request och response. Alla anrop kräver autentisering via API-nyckel.
Bas-URL
https://id.tic.io/api/v1
Autentisering
Alla API-anrop kräver en giltig API-nyckel som skickas i X-Api-Key-headern.
curl -H "X-Api-Key: YOUR_API_KEY" \
https://id.tic.io/api/v1/usage
Endpoints
Autentisering
Startar en ny autentiseringssession.
Pollar BankID och returnerar aktuell status. Använd denna för polling.
Hämtar cachad sessionsdata. Kontaktar inte BankID — använd efter webhook eller callback.
Avbryter en pågående session.
Signering
Startar en ny signeringssession.
Hämtar cachad sessionsdata för en slutförd signeringssession.
Se fullständig dokumentation för autentisering →
Se fullständig dokumentation för signering →
Svarsformat
Alla svar returneras i JSON-format. Lyckade anrop returnerar HTTP 200 med data. Fel returnerar lämplig HTTP-statuskod med ett felobjekt.
Lyckat svar
{
"sessionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"provider": "bankid",
"orderRef": "131daac9-16c6-4618-beb0-365768f37288",
"autoStartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6",
"qrStartToken": "67df3917-fa0d-44e5-b327-edcc928297f8",
"qrStartSecret": "d28db9a7-4cde-429e-a983-359be676944c",
"subscriptionToken": "sub_abc123...",
"sessionExpiresAt": "2026-01-15T14:35:00Z",
"endUserIp": "192.168.1.1"
}
| Fält | Beskrivning |
|---|---|
sessionId |
Unikt sessions-ID för att identifiera autentiseringen |
orderRef |
BankID:s orderreferens för aktuell order |
autoStartToken |
Token för att öppna BankID-appen på samma enhet |
qrStartToken |
Token för att generera QR-kod (annan enhet) |
qrStartSecret |
Hemlighet för att beräkna animerad QR-kod |
subscriptionToken |
Engångstoken för SignalR-prenumeration (giltig 5 min) |
sessionExpiresAt |
Tidpunkt när sessionen går ut |
endUserIp |
IP-adressen som startade sessionen (för säkerhetsverifiering) |
Felsvar
{
"error": {
"code": "invalid_request",
"message": "Missing required parameter: endUserIp",
"details": {
"parameter": "endUserIp",
"expected": "string (IP address)"
}
}
}
Rate limits
API:et har följande rate limits för att säkerställa stabil drift:
| Limit | Värde | Beskrivning |
|---|---|---|
| Requests per minut | 240 | Per API-nyckel |
| Requests per timme | 3000 | Per API-nyckel |
| Requests per dag | 10000 | Per API-nyckel |
Rate limit-status returneras i response headers:
X-RateLimit-Limit-Minute: 240
X-RateLimit-Remaining-Minute: 238
X-RateLimit-Limit-Hour: 3000
X-RateLimit-Remaining-Hour: 2987
Rate limits för autentisering
Autentiseringsendpoints (/api/v1/auth/*) har ytterligare IP-baserad rate limiting
som skydd mot brute force-attacker:
| Limit | Värde | Beskrivning |
|---|---|---|
| Försök per IP | 50 / 15 min | Max antal autentiseringsförsök per IP-adress |
| Första blockeringen | 15 minuter | Vid första överträdelsen |
| Andra blockeringen | 1 timme | Vid andra överträdelsen |
| Tredje+ blockeringen | 24 timmar | Vid upprepade överträdelser |
Vid blockering returneras HTTP 429 med Retry-After header som anger
antal sekunder tills blockeringen upphör.
Felkoder
Se felkodsreferensen för en komplett lista över alla felkoder och hur du hanterar dem.