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

# Personen ophalen

> Bestuurders en andere mandaten die bij deze onderneming zijn neergelegd, eerst de huidige, dan de geschiedenis. Politieke partij, bezoldiging en woonadressen komen nooit terug, en personen die de bron als verborgen markeert, worden weggelaten.



## OpenAPI

````yaml /api-reference/openapi.nl.json get /v1/companies/{id}/people
openapi: 3.0.3
info:
  title: OTB Studio API
  version: 1.0.0
  description: >-
    Het Belgische ondernemingsregister via REST: zoeken, profielen, eigendom,
    neergelegde jaarrekeningen en mandaten. Elke route vraagt een
    `otb_live_`-token, en elk geleverd antwoord kost credits voor de datapunten
    die het bevat.
servers:
  - url: https://api.otbstudio.ai
security:
  - token: []
tags:
  - name: Companies
    description: Eén ondernemingsregister, op vijf manieren gelezen.
paths:
  /v1/companies/{id}/people:
    get:
      tags:
        - Companies
      summary: Personen ophalen
      description: >-
        Bestuurders en andere mandaten die bij deze onderneming zijn neergelegd,
        eerst de huidige, dan de geschiedenis. Politieke partij, bezoldiging en
        woonadressen komen nooit terug, en personen die de bron als verborgen
        markeert, worden weggelaten.
      operationId: getCompanyPeople
      parameters:
        - $ref: '#/components/parameters/id'
        - name: limit
          in: query
          required: false
          description: >-
            Hoeveel mandaten terugkomen, 1 tot 200. Een ontbrekende, nul-,
            negatieve of grotere waarde geeft 50.
          schema:
            type: integer
            default: 50
      responses:
        '200':
          description: De mandaten. Een lege lijst als er geen zijn neergelegd.
          headers:
            X-Credits-Cost:
              $ref: '#/components/headers/X-Credits-Cost'
            X-Credits-Remaining:
              $ref: '#/components/headers/X-Credits-Remaining'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PeopleReply'
              example:
                people:
                  - lastName: Verhaegen
                    firstName: Lotte
                    category: ADMINISTER
                    role: '13'
                    profession: Gedelegeerd bestuurder
                    startDate: '2024-09-25'
                    endDate: '2028-09-27'
                    current: true
                    viaCompany: Verhaegen Consult BV
                    viaEnterpriseNumber: BE1023456797
                    sourceSystem: NBB
                    sourceReference: 2025-00184417
                  - lastName: Peeters
                    firstName: Luc
                    category: OTHERMANDATE
                    role: Aankoper
                    current: true
                    sourceSystem: BSDM
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/Internal'
        '503':
          $ref: '#/components/responses/Busy'
components:
  parameters:
    id:
      name: id
      in: path
      required: true
      description: >-
        Het ondernemingsnummer. `0712.345.630`, `BE 0712 345 630` en
        `BE0712345630` worden allemaal aanvaard.
      schema:
        type: string
      example: BE0712345630
  headers:
    X-Credits-Cost:
      description: Wat dit antwoord kostte, in credits.
      schema:
        type: integer
    X-Credits-Remaining:
      description: Het saldo na dit antwoord.
      schema:
        type: integer
    Retry-After:
      description: Seconden wachten voor een nieuwe poging.
      schema:
        type: integer
  schemas:
    PeopleReply:
      type: object
      additionalProperties: false
      required:
        - people
      properties:
        people:
          type: array
          items:
            $ref: '#/components/schemas/Mandate'
    Mandate:
      type: object
      additionalProperties: false
      description: Eén functie die een persoon heeft, of had, bij deze onderneming.
      required:
        - current
      properties:
        lastName:
          type: string
        firstName:
          type: string
        category:
          type: string
          description: >-
            `ADMINISTER`, `SHAREHOLDER`, `LOCALPOLITICALMANDATE` of
            `OTHERMANDATE`.
        role:
          type: string
          description: >-
            Voor `ADMINISTER` een broncode zonder label, zoals `13`. Voor de
            andere categorieën de functie in woorden, in de taal van de
            neerlegging.
        profession:
          type: string
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
          description: >-
            Meestal het einde van de termijn, niet de dag waarop de persoon
            vertrok.
        current:
          type: boolean
          description: Of het mandaat vandaag loopt. Lees dit veld in plaats van de datums.
        viaCompany:
          type: string
          description: >-
            Ingevuld als het mandaat via een vennootschap loopt, met deze
            persoon als vaste vertegenwoordiger.
        viaEnterpriseNumber:
          type: string
        sourceSystem:
          type: string
        sourceReference:
          type: string
    Unauthorized:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - missing_token
            - invalid_token
    PaymentRequired:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - insufficient_credits
    NotFound:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - not_found
    RateLimited:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - rate_limited
    Internal:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - internal
    Busy:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - busy
  responses:
    Unauthorized:
      description: >-
        Geen token, of een ongeldig token. `missing_token` als er geen
        `Authorization: Bearer`-header is, `invalid_token` als het token
        onbekend, ingetrokken of van de verkeerde soort is.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    PaymentRequired:
      description: >-
        De organisatie heeft geen abonnement, het saldo is leeg, of het saldo
        dekt dit antwoord niet. Als het antwoord te duur was, zeggen de headers
        wat het zou kosten en wat er overblijft.
      headers:
        X-Credits-Cost:
          $ref: '#/components/headers/X-Credits-Cost'
        X-Credits-Remaining:
          $ref: '#/components/headers/X-Credits-Remaining'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PaymentRequired'
    NotFound:
      description: Geen onderneming heeft dit ondernemingsnummer.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFound'
    RateLimited:
      description: >-
        De organisatie zit boven haar limiet (10 oproepen per seconde, pieken
        van 20) of heeft 4 oproepen lopen. Probeer opnieuw na `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimited'
    Internal:
      description: Er ging iets mis aan onze kant.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Internal'
    Busy:
      description: >-
        De gegevens konden niet binnen 15 seconden worden gelezen. Probeer
        opnieuw na `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Busy'
  securitySchemes:
    token:
      type: http
      scheme: bearer
      description: Een `otb_live_`-token, aangemaakt in het OTB Studio-dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.