Dataverifiering API
Verifiera företagsinformation och hämta kreditupplysningar direkt via API. Alla anrop autentiseras med din API-nyckel.
Översikt
| Funktion | Beskrivning | Kräver |
|---|---|---|
| Företagsuppslag | Slå upp företagsinformation med organisationsnummer eller internt ID | DataVerificationEnabled |
| Kreditupplysning | Hämta kreditbetyg, riskprognos och riskklass för ett företag | DataVerificationEnabled |
| Firmateckningsanalys | AI-analys av firmateckningsregler med matchning mot styrelsemedlemmar | DataVerificationEnabled |
| PEP/Sanktionsscreening | Screening mot PEP-listor, sanktionslistor och mediakällor | Kommer snart |
Autentisering
Alla anrop kräver en giltig API-nyckel i X-Api-Key-headern:
curl -H "X-Api-Key: YOUR_API_KEY" https://id.tic.io/api/v1/data/...
Kvotering
Företagsuppslag och kreditupplysning räknas mot din månatliga API-kvot
(IdentityApiRequestsPerMonth i din prenumerationsplan).
När kvoten är förbrukad returneras 429 Too Many Requests.
Företagsuppslag med organisationsnummer
Slå upp företagsinformation med organisationsnummer och landskod.
/api/v1/data/company/{countryCode}/{regNr}
URL-parametrar
| Parameter | Typ | Beskrivning |
|---|---|---|
| countryCode Required | string | ISO 3166-1 alpha-2 landskod. Stöds just nu: SE |
| regNr Required | string | Organisationsnummer (t.ex. 5566778899) |
curl https://id.tic.io/api/v1/data/company/SE/5566778899 \
-H "X-Api-Key: YOUR_API_KEY"
Response
{
"metadata": {
"requestedAtUtc": "2026-02-10T10:30:00Z",
"source": "typesense",
"countryCode": "SE"
},
"data": {
"companyId": 12345,
"registrationNumber": "5566778899",
"companyName": "Exempel AB",
"legalEntityType": "Aktiebolag",
"purpose": "Bolaget ska bedriva konsultverksamhet inom IT...",
"registrationDate": "2004-01-01",
"activityStatus": "IsActive",
"lastStatus": {
"statusType": "IsActive",
"statusDate": "2004-01-15",
"description": "Bolaget har registrerats"
},
"registeredAddress": {
"streetAddress": "Storgatan 1",
"co": null,
"postalCode": "111 22",
"city": "Stockholm",
"countryCode": "SWE"
},
"isRegisteredForVAT": true,
"isRegisteredForFTax": true,
"isRegisteredForPayroll": true,
"sniCodes2025": [
{
"code": "62010",
"name": "Dataprogrammering",
"section": "J",
"rank": 1
}
],
"sniCodes2007": [
{
"code": "62010",
"name": "Dataprogrammering",
"section": "J",
"rank": 1
}
],
"employeesCategory": "10-19 anställda",
"turnoverCategory": "10-19 MSEK",
"registeredOffice": {
"municipality": "Stockholm",
"municipalityCode": "0180",
"county": "Stockholms län",
"countyCode": "01"
},
"signatoryDescription": "Styrelsen i sin helhet",
"representatives": [
{
"fullName": "Anna Andersson",
"personalIdentityNumber": "19800101-****",
"positionType": "BoardMember",
"positionDescription": "Styrelseledamot",
"positionStart": "2021-01-01",
"positionEnd": null,
"roleByCompanyName": null,
"roleByCompanyRegistrationNumber": null,
"employeeRepresentative": false,
"auditorType": null
}
],
"beneficialOwners": [
{
"fullName": "Erik Eriksson",
"personalIdentityNumber": "19750515-****",
"countryOfResidenceCode": "SE",
"citizenshipCountryCode": "SE",
"extentCode": "KontrollOver50",
"extentDescription": "Kontroll över mer än 50 procent",
"governDescription": "Röstandel",
"throughName": null,
"throughRegistrationNumber": null,
"fromDate": "2019-01-01"
}
]
}
}
Företagsuppslag med internt ID
Slå upp företagsinformation med internt företags-ID.
/api/v1/data/company/id/{companyId}
URL-parametrar
| Parameter | Typ | Beskrivning |
|---|---|---|
| companyId Required | int | Internt företags-ID |
curl https://id.tic.io/api/v1/data/company/id/12345 \
-H "X-Api-Key: YOUR_API_KEY"
Response
Samma svarsformat som företagsuppslag med organisationsnummer.
Kreditupplysning med organisationsnummer
Hämta kreditbetyg, riskklass och riskprognos för ett företag.
/api/v1/data/credit/{countryCode}/{regNr}
URL-parametrar
| Parameter | Typ | Beskrivning |
|---|---|---|
| countryCode Required | string | ISO 3166-1 alpha-2 landskod. Stöds just nu: SE |
| regNr Required | string | Organisationsnummer |
curl https://id.tic.io/api/v1/data/credit/SE/5566778899 \
-H "X-Api-Key: YOUR_API_KEY"
Response
{
"metadata": {
"requestedAtUtc": "2026-02-10T10:30:00Z",
"source": "creditscore",
"countryCode": "SE"
},
"data": {
"creditScore": 72,
"riskForecastClass": 3,
"riskForecast": 2.45
}
}
Om inget kreditbetyg kan beräknas returneras "data": null.
Kreditupplysning med internt ID
Hämta kreditbetyg, riskklass och riskprognos med internt företags-ID.
/api/v1/data/credit/id/{companyId}
URL-parametrar
| Parameter | Typ | Beskrivning |
|---|---|---|
| companyId Required | int | Internt företags-ID |
curl https://id.tic.io/api/v1/data/credit/id/12345 \
-H "X-Api-Key: YOUR_API_KEY"
Response
Samma svarsformat som kreditupplysning med organisationsnummer.
Firmateckningsanalys
AI-genererad analys av firmateckningsregler. Tolkar firmateckningsbeskrivningen från Bolagsverket och matchar reglerna mot registrerade styrelsemedlemmar och funktionärer.
signatoryDescription innan du fattar beslut baserat
på analysen. Använd analysen som ett stöd, inte som en auktoritativ källa.
/api/v1/data/company/{countryCode}/{regNr}/signing-authority-analysis
URL-parametrar
| Parameter | Typ | Beskrivning |
|---|---|---|
| countryCode Required | string | ISO 3166-1 alpha-2 landskod. Stöds just nu: SE |
| regNr Required | string | Organisationsnummer (t.ex. 5566778899) |
curl https://id.tic.io/api/v1/data/company/SE/5566778899/signing-authority-analysis \
-H "X-Api-Key: YOUR_API_KEY"
Response
{
"metadata": {
"requestedAtUtc": "2026-02-17T10:30:00Z",
"source": "Bolagsverket + AI",
"countryCode": "SE"
},
"data": {
"companyId": 12345,
"registrationNumber": "5566778899",
"companyName": "Exempel AB",
"signatoryDescription": "Firman tecknas av styrelsen. Firman tecknas två i förening.",
"analysis": {
"summary": "Firman tecknas av styrelsen gemensamt, eller av två styrelseledamöter i förening.",
"rules": [
{
"description": "Styrelsen gemensamt",
"type": "board",
"requiredSignatories": null,
"requiredRoles": ["LE", "OF"]
},
{
"description": "Två i förening",
"type": "joint",
"requiredSignatories": 2,
"requiredRoles": ["LE", "OF", "VD"]
}
],
"eligiblePersons": [
{
"personId": 42,
"personalIdentityNumber": "198001011234",
"name": "Anna Svensson",
"roles": ["Verkställande direktör", "Styrelseledamot"],
"canSignAlone": false,
"applicableRules": ["Två i förening"]
}
]
}
}
}
Om företaget saknar registrerad firmateckningsbeskrivning returneras
"signatoryDescription": null och "analysis": null.
Med internt ID
Samma analys kan hämtas med internt företags-ID istället för organisationsnummer.
/api/v1/data/company/id/{companyId}/signing-authority-analysis
URL-parametrar
| Parameter | Typ | Beskrivning |
|---|---|---|
| companyId Required | int | Internt företags-ID |
curl https://id.tic.io/api/v1/data/company/id/12345/signing-authority-analysis \
-H "X-Api-Key: YOUR_API_KEY"
Response
Samma svarsformat som firmateckningsanalys med organisationsnummer.
SigningAuthorityAnalysis-objekt
| Fält | Typ | Beskrivning |
|---|---|---|
summary | string | Sammanfattning på svenska av firmateckningsreglerna |
rules | SigningRule[] | Tolkade firmateckningsregler |
eligiblePersons | EligiblePerson[] | Personer som matchar firmateckningsreglerna |
SigningRule-objekt
| Fält | Typ | Beskrivning |
|---|---|---|
description | string | Beskrivning av regeln |
type | string | Regeltyp: alone, joint, board, other |
requiredSignatories | int? | Antal signatärer som krävs (t.ex. 2 för "två i förening") |
requiredRoles | string[] | Rolltyper som krävs (t.ex. ["VD", "LE"]) |
EligiblePerson-objekt
| Fält | Typ | Beskrivning |
|---|---|---|
personId | int? | Internt person-ID (null om personen inte kunde matchas) |
personalIdentityNumber | string? | Personnummer |
name | string | Personens namn |
roles | string[] | Personens roller i företaget |
canSignAlone | bool | Om personen kan teckna firman ensam |
applicableRules | string[] | Vilka regler som gäller för personen |
Företagsuppslag datamodell
CompanyLookupData
| Fält | Typ | Beskrivning |
|---|---|---|
companyId | int | Internt företags-ID |
registrationNumber | string | Organisationsnummer |
companyName | string? | Företagets juridiska namn |
legalEntityType | string? | Bolagsform (t.ex. Aktiebolag, Handelsbolag) |
purpose | string? | Verksamhetsbeskrivning |
registrationDate | string? | Registreringsdatum (ISO 8601, t.ex. 2004-01-01) |
activityStatus | string | Aktivitetsstatus: HasNeverBeenActive, IsActive, IsNoLongerActive, Unknown |
lastStatus | LastStatus? | Senaste status (se nedan) |
registeredAddress | Address? | Senast registrerad adress (se nedan) |
isRegisteredForVAT | bool? | Momsregistrerad |
isRegisteredForFTax | bool? | F-skattregistrerad |
isRegisteredForPayroll | bool? | Registrerad som arbetsgivare |
sniCodes2025 | SniCode[]? | SNI 2025-koder (branschklassificering) |
sniCodes2007 | SniCode[]? | SNI 2007-koder (branschklassificering) |
employeesCategory | string? | Antal anställda (intervall) |
turnoverCategory | string? | Omsättning (intervall) |
registeredOffice | RegisteredOffice? | Säte (kommun och län) |
signatoryDescription | string? | Firmateckningsbeskrivning |
representatives | Representative[]? | Nuvarande styrelseledamöter och firmatecknare |
beneficialOwners | BeneficialOwner[]? | Verkliga huvudmän |
Address-objekt
| Fält | Typ | Beskrivning |
|---|---|---|
streetAddress | string? | Gatuadress |
co | string? | C/O-adress |
postalCode | string? | Postnummer |
city | string? | Postort |
countryCode | string? | Landskod (ISO 3166-1 alpha-3, t.ex. SWE) |
SniCode-objekt
Används av både sniCodes2025 och sniCodes2007.
| Fält | Typ | Beskrivning |
|---|---|---|
code | string? | SNI-kod |
name | string? | Branschbeskrivning |
section | string? | SNI-sektion (t.ex. J = Informations- och kommunikationsverksamhet) |
rank | byte? | Rangordning (1 = huvudbransch) |
Representative-objekt
Personnummer maskeras som YYYYMMDD-****.
| Fält | Typ | Beskrivning |
|---|---|---|
fullName | string? | Fullständigt namn |
personalIdentityNumber | string? | Maskerat personnummer (YYYYMMDD-****) |
positionType | string? | Befattningstyp (t.ex. BoardMember, CEO) |
positionDescription | string? | Befattningsbeskrivning |
positionStart | string? | Startdatum (ISO 8601, t.ex. 2021-01-01) |
positionEnd | string? | Slutdatum (ISO 8601, null om pågående) |
roleByCompanyName | string? | Roll via företagsnamn |
roleByCompanyRegistrationNumber | string? | Roll via organisationsnummer |
employeeRepresentative | bool? | Arbetstagarrepresentant |
auditorType | string? | Revisorstyp (CertifiedPublicAccountant, ApprovedAccountant, ForeignAuditor) |
BeneficialOwner-objekt
Verklig huvudman. Personnummer maskeras som YYYYMMDD-****.
| Fält | Typ | Beskrivning |
|---|---|---|
fullName | string? | Fullständigt namn |
personalIdentityNumber | string? | Maskerat personnummer (YYYYMMDD-****) |
countryOfResidenceCode | string? | Bosättningsland |
citizenshipCountryCode | string? | Medborgarskapsland |
extentCode | string? | Omfattningskod |
extentDescription | string? | Omfattningsbeskrivning (t.ex. "Kontroll över mer än 50 procent") |
governDescription | string? | Typ av kontroll (t.ex. "Röstandel") |
throughName | string? | Namn på mellanliggande bolag |
throughRegistrationNumber | string? | Organisationsnummer för mellanliggande bolag |
fromDate | string? | Startdatum (ISO 8601, t.ex. 2019-01-01) |
LastStatus-objekt
Senaste registrerade status hos Bolagsverket.
| Fält | Typ | Beskrivning |
|---|---|---|
statusType | string | Statustyp (t.ex. IsActive, BankruptcyProceedingsCommenced, LiquidationDecided) |
statusDate | string? | Statusdatum (ISO 8601, t.ex. 2024-03-15) |
description | string? | Statusbeskrivning |
RegisteredOffice-objekt
| Fält | Typ | Beskrivning |
|---|---|---|
municipality | string? | Kommun |
municipalityCode | string? | Kommunkod |
county | string? | Län |
countyCode | string? | Länskod |
Kreditupplysning datamodell
CompanyCreditData
| Fält | Typ | Beskrivning |
|---|---|---|
creditScore | int? | Kreditbetyg (0-100, högre = bättre kreditvärdighet) |
riskForecastClass | byte? | Riskklass (1-5, där 1 = högst risk) |
riskForecast | decimal? | Riskprognos (sannolikhet för betalningssvårigheter). Värdet anges i procent, t.ex. 0.3 = 0,3% risk, inte 30% |
Om inget kreditbetyg kan beräknas för det angivna företaget returneras "data": null.
Detta kan inträffa om företaget saknar tillräckligt underlag för kreditbedömning.
Felhantering
| Status | Beskrivning |
|---|---|
400 |
Ogiltig landskod (stöds just nu: SE) |
401 |
Ogiltig eller saknad API-nyckel |
403 |
Funktionen är inte aktiverad för din tenant (DataVerificationEnabled saknas) |
429 |
Månatlig API-kvot förbrukad |