registercheckby openlaw group
API referenceCompanies

List the roles at a company

GET
/companies/{company_id}/roles

Managing directors, board members, general partners, liquidators, authorised signatories (Prokuristen) and other persons or entities entered in the register as representing the company. Current roles come first, then former roles, each ordered by appointed_date, newest first.

A role is an office: who acts for the company. An interest in the company is a shareholding, so limited partners (Kommanditisten) are listed at GET /companies/{company_id}/shareholders.

The register is stored from more than one of its documents, and one appointment can arrive twice. Such entries are listed as one role, under one id.

Costs 10 credits. The first page is free with GET /companies/{company_id}?expand=roles.

Authorization

bearerAuth
AuthorizationBearer <token>

Your API key, sent as Authorization: Bearer rc_live_….

In: header

Path Parameters

company_id*string

The company's id (cmp_…). The raw UUID /v1 published before is still read until 2026-12-31, and such a request is answered with Deprecation and Sunset. An id of another kind, or anything else, answers 400 validation_failed naming company_id.

Match^cmp_[0-7][0-9a-hjkmnp-tv-z]{25}$

Query Parameters

status?string

Which appointments to return.

Default"current"

Value in

  • "current"
  • "former"
  • "all"
role_type?array<>

Only roles of one of these types (role.type). Repeat the parameter for several.

limit?integer

Page size, 1 to 100.

Range1 <= value <= 100
Default20
cursor?string

The next_cursor of the previous page; leave it out for the first page. Opaque: pass it back as it came. A cursor from another list, or from the same list with other filters, answers 400 validation_failed naming cursor.

Length1 <= length <= 2000

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://api.registercheck.de/v1/companies/cmp_1z3gn9wpvx9j59w8bd9w5rm72n/roles" \  -H "Authorization: Bearer $REGISTERCHECK_API_KEY"
{  "object": "page",  "next_cursor": null,  "data": [    {      "id": "rol_4b1sy1tbst9de8v7ga3cp3tkjz",      "object": "role",      "type": "managing_director",      "type_as_registered": "Geschäftsführerin",      "status": "current",      "appointed_date": "2024-03-14",      "ended_date": null,      "company": {        "object": "company",        "id": "cmp_1z3gn9wpvx9j59w8bd9w5rm72n",        "name": "Beispiel Analytics GmbH"      },      "holder": {        "object": "person",        "id": "per_2tddy8v7gf98drrb9y9xd6pz4d",        "name": "Dr. Erika Mustermann"      },      "signing_authority": null,      "match_confidence": 0.97    },    {      "id": "rol_0w5mz4ypkb9hyrx7ra3cp3tkjz",      "object": "role",      "type": "authorized_signatory",      "type_as_registered": "Prokurist",      "status": "current",      "appointed_date": "2025-06-01",      "ended_date": null,      "company": {        "object": "company",        "id": "cmp_1z3gn9wpvx9j59w8bd9w5rm72n",        "name": "Beispiel Analytics GmbH"      },      "holder": {        "object": "person",        "id": null,        "name": "Max Mustermann"      },      "signing_authority": {        "type": "joint",        "self_dealing_exempt": null,        "real_estate_power": null,        "limited_to_branch": null,        "text": "Gesamtprokura gemeinsam mit einem Geschäftsführer oder einem anderen Prokuristen"      },      "match_confidence": null    }  ]}