API-referens
Komplett API-referens för TIC Credit. Bas-URL: https://credit.tic.io
Autentisering
Alla API-anrop (utom /health) kräver en API-nyckel i headern.
| Header | Värde |
|---|---|
X-Api-Key |
YOUR_API_KEY |
API-nyckeln binds till en tenant (företagskonto). Nya konton måste valideras av vårt team
innan API-nyckeln fungerar — aktivering sker normalt inom 1 arbetsdag från registrering. Anrop från
ej validerade konton returnerar 401.
Begär kreditupplysning
Två leveranssätt: SMS (personen har ett Mina sidor konto) eller letter (omfrågekopia levereras till Kivra om tillgängligt, annars via post — kreditupplysningen levereras direkt till dig utan att vänta på godkännande).
SMS-godkännande är en engångshändelse per person. Första gången en person
får ett SMS ombeds personen bekräfta med BankID att de önskar omfrågekopior levererade till deras
Mina sidor-konto. Alla efterföljande omfrågekopior går då automatiskt över
till en kort påminnelse om att en ny omfrågekopia finns på Mina sidor, ingen ny
BankID-godkänning krävs och kreditupplysningen levereras direkt till dig. När personen har
ett Mina sidor konto är letter inte längre tillgängligt och returnerar
409 phone_already_confirmed; eventuellt mobilePhoneNumber i
anropet kommer inte användas om personen redan har ett befintligt mobilnummer på sitt Mina sidor konto.
/api/v1/check
Request Body
| Parameter | Typ | Beskrivning |
|---|---|---|
| personalNumber Required | string | 12-siffrigt svenskt personnummer (YYYYMMDDNNNN). Bindestreck och mellanslag ignoreras. |
| deliveryMethod Optional | string |
"sms" (standard) eller "letter".
"letter" väljer automatiskt Kivra om mottagaren har brevlåda,
annars fysiskt brev. För personer med BankID-bekräftat Mina sidor
accepteras endast "sms" — "letter" returnerar
409 phone_already_confirmed.
|
| mobilePhoneNumber Required for SMS | string |
Mobilnummer i E.164 eller svenskt nationellt format
(+46XXXXXXXXX eller 0XXXXXXXXX). Krävs första
gången en person använder SMS-flödet. Om personen redan har ett
BankID-bekräftat mobilnummer på fil ignoreras värdet — TIC använder
alltid det bekräftade numret för att hindra att integratorer skickar
notifieringar till nya nummer utan ny BankID-godkänning.
|
| webhookUrl Optional | string | URL som tar emot webhook när upplysningen är klar. Åsidosätter tenantens konfigurerade webhook för detta anrop. |
| requestedAmount Optional | decimal | Sökt kreditbelopp i SEK. |
| questionerConsent Optional | boolean | Om true visas företagsnamnet som frågeställare för andra frågeställare under 12 månader. Standard: false. |
Request Headers
| Header | Värde |
|---|---|
X-Api-Key |
YOUR_API_KEY |
Content-Type |
application/json |
SMS-flöde
curl -X POST https://credit.tic.io/api/v1/check \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"personalNumber": "YYYYMMDDNNNN",
"deliveryMethod": "sms",
"mobilePhoneNumber": "+46XXXXXXXXX",
"webhookUrl": "https://your-app.com/webhook"
}'
Letter-flöde (Kivra/brev)
curl -X POST https://credit.tic.io/api/v1/check \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"personalNumber": "YYYYMMDDNNNN",
"deliveryMethod": "letter"
}'
Response — SMS-godkännande (första gången)
{
"creditCheckId": "550e8400-e29b-41d4-a716-446655440000",
"status": "Requested",
"deliveredVia": "sms",
"hostedUrl": "/your-slug/check/550e8400-...",
"expiresAt": "2026-04-15T12:30:00Z"
}
Response — SMS-notifiering (bekräftat nummer)
{
"creditCheckId": "550e8400-e29b-41d4-a716-446655440000",
"status": "Completed",
"deliveredVia": "sms",
"notificationOnly": true,
"completedAt": "2026-04-15T12:00:05Z"
}
Response — Letter-flöde
{
"creditCheckId": "550e8400-e29b-41d4-a716-446655440000",
"status": "Completed",
"deliveredVia": "kivra",
"completedAt": "2026-04-15T12:00:05Z"
}
Fält
| Fält | Beskrivning |
|---|---|
creditCheckId |
Unikt ID för kreditupplysningen |
status |
Aktuell status, se Statusvärden |
deliveredVia |
"sms", "kivra" eller "mail" |
hostedUrl |
Endast första-gångens SMS-godkännande. Relativ URL till godkännandesidan — prefixa med bas-URL för att bygga fullständig länk |
expiresAt |
Endast första-gångens SMS-godkännande. Tidpunkt då sessionen går ut (ISO 8601, 30 min från begäran) |
notificationOnly |
Endast SMS-notifiering för bekräftat nummer. true betyder att kreditupplysningen är klar direkt och bara en påminnelse-SMS skickas — inget BankID-godkännande sker. |
completedAt |
Tidpunkt då kreditupplysningen blev klar — sätts för letter-flödet och SMS-notifieringsflödet (ej första-gångens SMS-godkännande) |
Felkoder
| Status | Orsak |
|---|---|
| 400 | Saknat eller ogiltigt fält, ej kvalificerad person (skyddad/avliden/spärrad). |
| 401 | Ogiltig API-nyckel, inaktivt konto, eller konto som inte validerats av TIC ännu. |
| 409 | phone_already_confirmed — personen har ett BankID-bekräftat mobilnummer på fil och letter är inte tillämpligt. Skicka om med deliveryMethod = "sms". |
| 429 | Månadens kvot för vald leveransmetod är slut och inget överskjutande pris är konfigurerat. |
Hämta kreditupplysning
Returnerar den slutförda kreditupplysningen. Endast upplysningar med
status = "Completed" går att hämta här — anrop mot upplysningar som inte är klara
returnerar 404. Använd /checks eller webhooks för att följa upp
pågående upplysningar.
/api/v1/check/{guid}
Path Parameters
| Parameter | Typ | Beskrivning |
|---|---|---|
| guid Required | guid | Kreditupplysningens unika ID (creditCheckId). |
Response — Slutförd
{
"creditCheckId": "550e8400-...",
"status": "Completed",
"personalNumber": "YYYYMMDDNNNN",
"givenName": "Anna",
"surname": "Andersson",
"creditScore": 85,
"requestedAt": "2026-04-15T12:00:00Z",
"completedAt": "2026-04-15T12:02:30Z",
"report": {
"person": { ... },
"income": { ... },
"debts": { ... },
"paymentRemarks": [ ... ],
"properties": [ ... ],
"companyRoles": [ ... ]
}
}
Response — Ej slutförd
{
"error": "Credit check is not completed"
}
Ladda ner PDF
Returnerar den fullständiga kreditupplysningen i PDF-format
(Content-Type: application/pdf). Returnerar 404 om upplysningen inte
är slutförd.
/api/v1/check/{guid}/pdf
Path Parameters
| Parameter | Typ | Beskrivning |
|---|---|---|
| guid Required | guid | Kreditupplysningens unika ID. |
Exempel
curl -H "X-Api-Key: YOUR_API_KEY" \
https://credit.tic.io/api/v1/check/550e8400-.../pdf \
-o report.pdf
Response
Content-Type: application/pdf
Binär PDF-fil med den fullständiga kreditupplysningen.
Lista kreditupplysningar
Returnerar en paginerad lista av kreditupplysningar för din tenant.
/api/v1/checks
Query Parameters
| Parameter | Typ | Beskrivning |
|---|---|---|
| page Optional | integer | Sidnummer. Standard: 1. |
| pageSize Optional | integer | Antal per sida. Min 1, max 100. Standard: 50. |
Response
{
"total": 142,
"page": 1,
"pageSize": 50,
"items": [
{
"creditCheckId": "550e8400-...",
"status": "Completed",
"personalNumber": "YYYYMMDDNNNN",
"givenName": "Anna",
"surname": "Andersson",
"creditScore": 85,
"requestedAt": "2026-04-15T12:00:00Z",
"completedAt": "2026-04-15T12:02:30Z"
}
]
}
Avbryt kreditupplysning
Avbryter en pågående kreditupplysning och sätter status till Expired. Går endast
att anropa när nuvarande status är Requested, SmsSent,
PendingAuth eller PendingConsent.
/api/v1/check/{guid}/cancel
Path Parameters
| Parameter | Typ | Beskrivning |
|---|---|---|
| guid Required | guid | Kreditupplysningens unika ID. |
Response — Avbruten
{
"creditCheckId": "550e8400-...",
"status": "Expired",
"cancelledAt": "2026-04-15T12:05:00Z"
}
Response — Felaktigt tillstånd
{
"error": "Credit check cannot be cancelled in status 'Completed'"
}
Statusvärden
En kreditupplysning kan ha följande statusvärden:
| Status | Beskrivning |
|---|---|
Requested | Upplysning skapad, inväntar leverans. |
SmsSent | SMS skickat till personen (endast SMS-flöde). |
PendingAuth | Personen har startat BankID-autentisering. |
PendingConsent | BankID-autentisering slutförd, inväntar godkännande. |
Approved | Personen har godkänt — kreditupplysningen genereras. |
Completed | Kreditupplysning klar — tillgänglig via API. |
Rejected | Personen nekade kreditupplysningen. |
Expired | Timeout efter 30 minuter, eller manuellt avbruten via /cancel. |
Failed | Tekniskt fel (personen hittades inte, generering misslyckades, etc.). |
Kvoter och överskjutande
Varje plan har ett antal inkluderade kreditupplysningar per månad
(CreditChecksIncluded) samt ett överskjutande pris per leveransmetod. När den
inkluderade kvoten är förbrukad:
- Om vald leveransmetod har ett överskjutande pris konfigurerat — anropet tillåts och överskjutande registreras per upplysning för fakturering.
-
Om vald leveransmetod inte har ett överskjutande pris — anropet returnerar
429. Byt leveransmetod eller uppgradera din plan.
Se prissättningen för inkluderade och överskjutande priser per plan.
Testläge
Nya konton skapas i testläge (IsTestMode = true). I testläge skickas inte SMS till
mottagaren — det loggas internt. Du kan öppna hostedUrl direkt i webbläsaren för att
testa godkännandeflödet. Du stänger av testläget själv under
Inställningar när ditt konto har validerats av TIC — se
Testläge & testdata.