> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openregister.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Roles

> How representative roles are structured, and the full list of role codes and titles

Wherever the API returns a person or company acting for a company, it describes
their role twice: once as a coarse bucket you can match on exhaustively, and
once as the precise office the register records.

This applies to `representation` in [company information](/endpoint/company) and
to `management_positions` in [person information](/endpoint/person).

<Note>
  On [person information](/endpoint/person) the plain `role` field is
  deprecated. It carries the raw stored value, which is a German string for
  Prokura (`"Einzelprokura"`, `"Gesamtprokura"`, `"Prokura"`) and a code
  otherwise. Use `role_detail.code` instead.
</Note>

## The two fields

```json theme={"dark"}
"role": "DIRECTOR",
"role_detail": {
  "code": "EXECUTIVE",
  "label_de": "Vorstand",
  "label_de_short": "Vst.",
  "label_en": "Executive Board Member",
  "label_en_short": "Exec. Board"
}
```

| Field                        | Description                                                                                                                       |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `role`                       | The coarse bucket: `DIRECTOR`, `PROKURA`, `SHAREHOLDER`, `OWNER`, `PARTNER`, `PERSONAL_LIABLE_DIRECTOR`, `LIQUIDATOR` or `OTHER`. |
| `role_detail.code`           | The register-level office, e.g. `EXECUTIVE`. See the [full list](#role-reference).                                                |
| `role_detail.label_de`       | German title, e.g. `"Vorstand"` — the term the register uses.                                                                     |
| `role_detail.label_de_short` | Abbreviated German title, e.g. `"Vst."`.                                                                                          |
| `role_detail.label_en`       | English title, e.g. `"Executive Board Member"`. A translation for display, not a legal term.                                      |
| `role_detail.label_en_short` | Abbreviated English title, e.g. `"Exec. Board"`.                                                                                  |

`role_detail` is always present.

<Note>
  The `role` set is stable: a new register role is folded into an existing
  bucket rather than added, so you can match on it exhaustively. `role_detail.code`
  grows as new roles appear in the register — treat an unrecognised code as
  `OTHER`.
</Note>

## Why both

A Vorstand and a Geschäftsführer:in are both authorised to act for the company,
so both are `role: "DIRECTOR"` — that is the field to use when you want *"can
this person represent the company?"* in one branch.

They are different offices, though, and `role_detail` is where that shows.
The same holds for Einzelprokura and Gesamtprokura: both are
`role: "PROKURA"`, while `role_detail.code` distinguishes the sole signing
authority from the joint one.

Deriving the German title from the company's legal form does not work as a
substitute. An AG can appoint a Geschäftsführer:in for a branch, and an
association carries board offices that no legal form implies. `role_detail`
reports what the register actually recorded.

## Role reference

<Tabs>
  <Tab title="Management & boards">
    All of these are `role: "DIRECTOR"`.

    | `role_detail.code`             | `label_de`                           | `label_en`                                 |
    | ------------------------------ | ------------------------------------ | ------------------------------------------ |
    | `DIRECTOR`                     | Geschäftsführer:in                   | Managing Director                          |
    | `EMERGENCY_DIRECTOR`           | Notgeschäftsführer:in                | Emergency Managing Director                |
    | `EXECUTIVE`                    | Vorstand                             | Executive Board Member                     |
    | `CHAIRMAN`                     | Vorsitzende:r                        | Chair                                      |
    | `DEPUTY_CHAIRMAN`              | Stellvertretende:r Vorsitzende:r     | Deputy Chair                               |
    | `BOARD`                        | Verwaltungsrat                       | Administrative Board Member                |
    | `PRESIDENT_BOARD`              | Präsident:in des Verwaltungsrats     | President of the Administrative Board      |
    | `VICE_PRESIDENT_BOARD`         | Vizepräsident:in des Verwaltungsrats | Vice President of the Administrative Board |
    | `PRESIDENT`                    | Präsident:in                         | President                                  |
    | `MEMBER`                       | Mitglied                             | Board Member                               |
    | `NON_EXECUTIVE_DIRECTOR`       | Beisitzer:in                         | Non-Executive Board Member                 |
    | `BOARD_SECRETARY`              | Schriftführer:in                     | Board Secretary                            |
    | `BOARD_TREASURER`              | Kassenwart:in                        | Board Treasurer                            |
    | `BOARD_SPORTS`                 | Sportwart:in                         | Sports Officer                             |
    | `BOARD_OTHER`                  | Vertreter:in                         | Other Board Officer                        |
    | `REPRESENTATIVE`               | Ständige:r Vertreter:in              | Permanent Branch Representative            |
    | `SECONDARY_REPRESENTATIVE`     | Stellvertreter:in                    | Deputy Representative                      |
    | `COURT_ORDERED_REPRESENTATIVE` | Vertreter:in                         | Court-Appointed Representative             |
  </Tab>

  <Tab title="Prokura">
    All of these are `role: "PROKURA"`.

    | `role_detail.code` | `label_de`    | `label_en`                           |
    | ------------------ | ------------- | ------------------------------------ |
    | `PROKURA`          | Prokura       | Authorised Signatory (Prokura)       |
    | `PROKURA_SINGLE`   | Einzelprokura | Sole Authorised Signatory (Prokura)  |
    | `PROKURA_JOINT`    | Gesamtprokura | Joint Authorised Signatory (Prokura) |
  </Tab>

  <Tab title="Wind-down">
    All of these are `role: "LIQUIDATOR"`.

    | `role_detail.code`                | `label_de`                  | `label_en`                           |
    | --------------------------------- | --------------------------- | ------------------------------------ |
    | `LIQUIDATOR`                      | Liquidator:in               | Liquidator                           |
    | `INSOLVENCY_DIRECTOR`             | Insolvenzvertreter:in       | Insolvency Administrator             |
    | `PRELIMINARY_INSOLVENCY_DIRECTOR` | Vorl. Insolvenzvertreter:in | Preliminary Insolvency Administrator |
  </Tab>

  <Tab title="Ownership & other">
    Here the bucket and the code agree.

    | `role`                     | `role_detail.code`         | `label_de`                              | `label_en`                |
    | -------------------------- | -------------------------- | --------------------------------------- | ------------------------- |
    | `OWNER`                    | `OWNER`                    | Inhaber:in                              | Owner                     |
    | `SHAREHOLDER`              | `SHAREHOLDER`              | Gesellschafter:in                       | Shareholder               |
    | `PARTNER`                  | `PARTNER`                  | Partner:in                              | Partner                   |
    | `PERSONAL_LIABLE_DIRECTOR` | `PERSONAL_LIABLE_DIRECTOR` | Persönlich haftende:r Gesellschafter:in | Personally Liable Partner |
    | `OTHER`                    | `OTHER`                    | Sonstige                                | Other                     |
  </Tab>
</Tabs>

<Note>
  Kommanditisten are an ownership stake rather than a right to represent the
  company, so they are not part of `representation`. Retrieve them from
  [company owners](/endpoint/company-owners) as
  `relation_type: "limited_partner"`.
</Note>

## Choosing a field

<CardGroup cols={2}>
  <Card title="Use role" icon="filter">
    Filtering, branching and aggregation — anything where you need every case
    handled and the set to stay put.
  </Card>

  <Card title="Use role_detail.code" icon="fingerprint">
    Telling offices apart: a Vorstand from a Geschäftsführer:in, a sole Prokura
    from a joint one.
  </Card>

  <Card title="Use label_de" icon="language">
    Showing the role to users. The German term is the one the register uses and
    the one German users expect.
  </Card>

  <Card title="Use the short labels" icon="table-cells">
    Tables, badges and other dense layouts where the full title does not fit.
  </Card>
</CardGroup>
