REST-API
Styrelse och roller
Styrelse, VD, suppleanter och revisor med person_ref, och bolagets firmateckning.
http
GET /api/v1/companies/{org_number}/roles| Operation | Scope | Pris per uppslag |
|---|---|---|
get_company_roles (styrelse och roller) | roles:read | 0,10 kr |
Parametrar#
| Namn | Var | Typ | Standard | Beskrivning |
|---|---|---|---|---|
org_number (krävs) | path | string | – | Organisationsnummer, tio siffror med eller utan bindestreck (569900-0013 eller 5699000013). Tolv siffror med sekel går också. |
include_former | query | boolean | false | true tar med personer som har lämnat sina uppdrag. |
Headers: Authorization: Bearer … (krävs) och Idempotency-Key (valfri).
Exempel#
Nuvarande roller#
curl -s "https://app.bolagskvarnen.se/api/v1/companies/569900-0013/roles" \
-H "Authorization: Bearer $GETBOLAG_KEY"Svar från sandlådanHTTP 200
application/json
{
"status": "ok",
"data": {
"org_number": "569900-0013",
"name": "Exempelbolaget i Norrland AB",
"roles": [
{
"person_ref": "pr_LcptQp7Mj6-JQ81T4KB1weuREl9cdzrzldsp2WKvH0ddTx0zJOcxpKja_60",
"name": "Testsson, Testa",
"first_name": "Testa",
"last_name": "Testsson",
"role_code": 10,
"role": "Verkställande direktör",
"from_date": "2015-03-10",
"to_date": null,
"active": true,
"legal_entity": null
},
{
"person_ref": "pr_LcptQp7Mj6-JQ81T4KB1weuREl9cdzrzldsp2WKvH0ddTx0zJOcxpKja_60",
"name": "Testsson, Testa",
"first_name": "Testa",
"last_name": "Testsson",
"role_code": 20,
"role": "Styrelseledamot",
"from_date": "2015-03-10",
"to_date": null,
"active": true,
"legal_entity": null
},
{
"person_ref": "pr_fyhM5A5VBWF0yOuU_s-PrSwGS9EZbBTsDVdTxXWeWg6u6BsRYhOR1-ngcAI",
"name": "Provsdotter, Prov",
"first_name": "Prov",
"last_name": "Provsdotter",
"role_code": 30,
"role": "Styrelsesuppleant",
"from_date": "2018-01-01",
"to_date": null,
"active": true,
"legal_entity": null
},
{
"person_ref": null,
"name": "Revisionsbyrån Exempel AB",
"first_name": null,
"last_name": null,
"role_code": 40,
"role": "Revisor",
"from_date": "2015-03-10",
"to_date": null,
"active": true,
"legal_entity": {
"org_number": "569900-0088"
}
}
],
"signatory_rights": [
"Styrelsen. Firman tecknas av styrelsens ledamöter två i förening.",
"Verkställande direktören har rätt att teckna firman beträffande löpande förvaltningsåtgärder."
]
},
"meta": {
"request_id": "accba12c-2cf1-4d0c-b822-81eb0d04e674",
"source": [
"sandbox"
],
"attribution": [
{
"source": "getbolag-sandbox",
"supplier": "Bolagskvarnen",
"notice": "Påhittad testdata. Inga riktiga bolag eller personer."
}
],
"retrieved_at": "2026-11-12T12:07:09.897Z",
"data_updated_at": "2026-10-26T06:00:00Z",
"cost_sek": 0,
"environment": "test",
"database": "Bolagskvarnen (bolagskvarnen.se)",
"publisher": "Bolagskvarnen, ett varumärke i Bolagskällan AB (559555-5946)",
"coverage": {
"roles": "available",
"signatory_rights": "available"
}
}
}SandlådaPåhittad testdata ur sandlådan.
Avregistrerat bolag, med tidigare roller#
bash
curl -s "https://app.bolagskvarnen.se/api/v1/companies/569900-0039/roles?include_former=true" \
-H "Authorization: Bearer $GETBOLAG_KEY"Svar från sandlådanHTTP 200
application/json
{
"status": "ok",
"data": {
"org_number": "569900-0039",
"name": "Fiktiva Konsult AB",
"roles": [
{
"person_ref": "pr_LcptQp7Mj6-JQ81T4KB1weuREl9cdzrzldsp2WKvH0ddTx0zJOcxpKja_60",
"name": "Testsson, Testa",
"first_name": "Testa",
"last_name": "Testsson",
"role_code": 20,
"role": "Styrelseledamot",
"from_date": "2012-05-15",
"to_date": "2020-01-01",
"active": false,
"legal_entity": null
}
],
"signatory_rights": []
},
"meta": {
"request_id": "36e95e08-ef3c-4732-8f37-a7447a0d1571",
"source": [
"sandbox"
],
"attribution": [
{
"source": "getbolag-sandbox",
"supplier": "Bolagskvarnen",
"notice": "Påhittad testdata. Inga riktiga bolag eller personer."
}
],
"retrieved_at": "2026-11-12T12:07:09.898Z",
"data_updated_at": "2026-10-26T06:00:00Z",
"cost_sek": 0,
"environment": "test",
"database": "Bolagskvarnen (bolagskvarnen.se)",
"publisher": "Bolagskvarnen, ett varumärke i Bolagskällan AB (559555-5946)",
"coverage": {
"roles": "available",
"signatory_rights": "not_found"
}
}
}SandlådaPåhittad testdata ur sandlådan.
Om svaret#
- Varje fysisk person har en
person_refsom du använder för engagemang. Den är krypterad, bunden till ditt konto och stabil: samma person får samma ref i alla dina svar. - Vi lämnar aldrig ut personnummer. Se personuppgifter.
- Revisorer och andra juridiska personer har
person_ref: nulloch i ställetlegal_entity.org_number. signatory_rightsär firmateckningen som text, rad för rad.
Felkoder#
| Kod | HTTP | Vad du gör |
|---|---|---|
invalid_org_number | 400 | Skicka tio siffror, med eller utan bindestreck, till exempel 569900-0013. |
invalid_parameter | 400 | Kontrollera parametrarna mot endpointens tabell. Okända parametrar avvisas i stället för att ignoreras. |
not_found | 404 | Kontrollera numret. Inte hittat debiteras inte. |
entity_cap_exceeded | 429 | Bolag och personer du redan hämtat i dag går att hämta igen. Behöver du ett högre tak, kontakta support. |
unauthorized | 401 | Skicka Authorization: Bearer gb_test_… eller gb_live_…. Kontrollera att hela nyckeln kom med. En OAuth-token gäller en timme; förnya den med refresh-token. |
insufficient_scope | 403 | Skapa en nyckel med rätt scope under Konto → Nycklar. Se scopes. |
email_not_verified | 403 | Klicka på länken i bekräftelsemejlet, eller skicka ett nytt från Konto. |
user_disabled | 403 | Be kontots ägare att aktivera användaren, eller använd en egen nyckel. |
account_not_active | 403 | Använd en testnyckel tills kontot är godkänt. Status syns under Konto. |
blocked_by_phase | 503 | Använd en testnyckel mot sandlådan. Vi meddelar när live-data öppnar. Se sandlådan. |
suspended | 503 | Kontakta support@getbolag.se. |
rate_limited | 429 | Vänta så många sekunder som Retry-After anger och försök igen. Se takt och tak. |
insufficient_credits | 402 | Fyll på under Konto → Krediter. |
monthly_cap_reached | 402 | Höj taket under Konto, eller vänta till nästa månad. |
key_daily_cap_reached | 402 | Höj nyckelns tak under Konto → Nycklar, eller vänta till nästa dygn. |
invalid_idempotency_key | 400 | Skicka ett kort, unikt värde per uppslag, till exempel ett UUID. |
idempotency_key_reused | 422 | Använd en ny nyckel för varje nytt uppslag. Samma nyckel gäller bara när exakt samma anrop görs om. Se Idempotency-Key. |
internal_error | 500 | Försök igen med samma Idempotency-Key. Ange request_id om du kontaktar support. |
Samma uppslag i MCP: verktyget gb_get_company_roles. Se MCP.