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

# Hent personer

> Hent en cursor-pagineret og dataminimeret personliste i ét arbejdsområde.



## OpenAPI

````yaml /openapi/public-v1-da.json get /api/v1/workspaces/{workspaceSlug}/people
openapi: 3.1.0
info:
  description: Stabilt eksternt API til relationsopslag og mødeviden.
  title: Florals offentlige API
  version: 1.0.0
servers:
  - description: Produktion
    url: https://app.floral.so
security: []
tags:
  - description: Søg på tværs af aktive virksomheder og personer.
    name: Søgning
  - description: Opret, hent, gennemgå, opdatér, arkivér og gendan virksomheder.
    name: Virksomheder
  - description: Opret, hent, gennemgå, opdatér, arkivér og gendan personer.
    name: Personer
  - description: Læs aktive offentlige definitioner af brugerdefinerede felter.
    name: Brugerdefinerede felter
  - description: Søg i normaliserede fakta fra det danske virksomhedsregister.
    name: Virksomhedsregister
  - description: Opret, hent og gennemgå mødebriefings.
    name: Briefings
  - description: Hent, gennemgå, kommentér og godkend mødereferater.
    name: Referater
paths:
  /api/v1/workspaces/{workspaceSlug}/people:
    get:
      tags:
        - Personer
      summary: Hent personer
      description: >-
        Hent en cursor-pagineret og dataminimeret personliste i ét
        arbejdsområde.
      operationId: listPeopleV1
      parameters:
        - description: Slug for det arbejdsområde, adgangsoplysningen er bundet til.
          example: acme-nordic
          in: path
          name: workspaceSlug
          required: true
          schema:
            maxLength: 100
            minLength: 1
            pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
            type: string
        - in: query
          description: Begræns resultater til personer med ét bestemt virksomheds-id.
          example: 42
          name: companyId
          required: false
          schema:
            minimum: 1
            type: integer
        - in: query
          description: >-
            Uigennemsigtig cursor returneret som nextCursor af den forrige side.
            Undersøg eller konstruér den ikke.
          example: eyJpZCI6NDIsInNvcnQiOiJ1cGRhdGVkLWRlc2MifQ
          name: cursor
          required: false
          schema:
            type: string
            maxLength: 512
        - in: query
          description: Begræns resultater til ét trin i livscyklus.
          example: PROSPECT
          name: lifecycleStage
          required: false
          schema:
            type: string
            enum:
              - LEAD
              - PROSPECT
              - CUSTOMER
              - CHURNED
        - in: query
          description: Antal elementer, der skal returneres.
          example: 20
          name: limit
          required: false
          schema:
            default: 20
            type: integer
            minimum: 1
            maximum: 50
        - in: query
          description: Stabil sortering af listen, som cursoren bruger.
          example: updated-desc
          name: sort
          required: false
          schema:
            default: updated-desc
            type: string
            enum:
              - updated-desc
              - name-asc
        - in: query
          description: Livscyklustilstand, der skal medtages i listen.
          example: active
          name: status
          required: false
          schema:
            default: active
            type: string
            enum:
              - active
              - archived
              - all
        - description: >-
            Valgfrit korrelations-id fra kalderen. Floral returnerer den
            anvendte værdi i X-Request-ID.
          example: 550e8400-e29b-41d4-a716-446655440000
          in: header
          name: X-Request-ID
          required: false
          schema:
            maxLength: 128
            minLength: 1
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                items:
                  - archivedAt: null
                    company:
                      id: 42
                      name: Acme Nordic
                    department: Drift
                    email: ada@acme-nordic.example
                    id: 84
                    lastActivityAt: '2026-08-15T09:30:00.000Z'
                    lifecycleStage: PROSPECT
                    linkedinUrl: https://www.linkedin.com/in/ada-jensen
                    mobile: +45 20 11 22 33
                    name: Ada Jensen
                    phone: +45 33 12 34 56
                    title: Driftsdirektør
                    updatedAt: '2026-08-15T09:30:00.000Z'
                    version: >-
                      v1.eyJpZCI6ODQsInJlc291cmNlIjoicGVyc29uIiwidmVyc2lvbiI6IjIwMjYtMDgtMTVUMDk6MzA6MDAuMDAwWiJ9
                nextCursor: null
              schema:
                $ref: '#/components/schemas/PersonListResponse'
          description: Gennemført svar
          headers:
            X-Content-Type-Options:
              description: Angiver altid nosniff ved JSON API-svar.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Højeste antal kald i det aktuelle tidsvindue.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Resterende kald i det aktuelle tidsvindue.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: >-
                Stabilt korrelations-id for kaldet eller en idempotent
                gentagelse.
              schema:
                minLength: 1
                type: string
        '400':
          content:
            application/json:
              example:
                error:
                  code: INVALID_INPUT
                  message: Kaldet indeholder ugyldige værdier.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - INVALID_INPUT
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stabile fejl: INVALID_INPUT'
          headers:
            X-Content-Type-Options:
              description: Angiver altid nosniff ved JSON API-svar.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Højeste antal kald i det aktuelle tidsvindue.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Resterende kald i det aktuelle tidsvindue.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: >-
                Stabilt korrelations-id for kaldet eller en idempotent
                gentagelse.
              schema:
                minLength: 1
                type: string
        '401':
          content:
            application/json:
              example:
                error:
                  code: UNAUTHENTICATED
                  message: En gyldig bearer-adgangsoplysning er påkrævet.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - UNAUTHENTICATED
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stabile fejl: UNAUTHENTICATED'
          headers:
            X-Content-Type-Options:
              description: Angiver altid nosniff ved JSON API-svar.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Højeste antal kald i det aktuelle tidsvindue.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Resterende kald i det aktuelle tidsvindue.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: >-
                Stabilt korrelations-id for kaldet eller en idempotent
                gentagelse.
              schema:
                minLength: 1
                type: string
            WWW-Authenticate:
              description: Udfordring til bearer-godkendelse.
              example: Bearer realm="floral-api"
              schema:
                type: string
        '403':
          content:
            application/json:
              example:
                error:
                  code: FORBIDDEN
                  message: Adgangsoplysningen giver ikke adgang til denne handling.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - FORBIDDEN
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stabile fejl: FORBIDDEN'
          headers:
            X-Content-Type-Options:
              description: Angiver altid nosniff ved JSON API-svar.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Højeste antal kald i det aktuelle tidsvindue.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Resterende kald i det aktuelle tidsvindue.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: >-
                Stabilt korrelations-id for kaldet eller en idempotent
                gentagelse.
              schema:
                minLength: 1
                type: string
        '404':
          content:
            application/json:
              example:
                error:
                  code: NOT_FOUND
                  message: Ressourcen blev ikke fundet.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - NOT_FOUND
                          - FEATURE_DISABLED
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stabile fejl: NOT_FOUND, FEATURE_DISABLED'
          headers:
            X-Content-Type-Options:
              description: Angiver altid nosniff ved JSON API-svar.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Højeste antal kald i det aktuelle tidsvindue.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Resterende kald i det aktuelle tidsvindue.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: >-
                Stabilt korrelations-id for kaldet eller en idempotent
                gentagelse.
              schema:
                minLength: 1
                type: string
        '429':
          content:
            application/json:
              example:
                error:
                  code: RATE_LIMITED
                  message: For mange kald. Prøv igen om lidt.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - RATE_LIMITED
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stabile fejl: RATE_LIMITED'
          headers:
            X-Content-Type-Options:
              description: Angiver altid nosniff ved JSON API-svar.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Højeste antal kald i det aktuelle tidsvindue.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Resterende kald i det aktuelle tidsvindue.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: >-
                Stabilt korrelations-id for kaldet eller en idempotent
                gentagelse.
              schema:
                minLength: 1
                type: string
            Retry-After:
              description: Sekunder til den aktuelle grænse nulstilles.
              schema:
                minimum: 1
                type: integer
        '500':
          content:
            application/json:
              example:
                error:
                  code: INTERNAL_ERROR
                  message: Der opstod en uventet fejl.
                  requestId: 550e8400-e29b-41d4-a716-446655440000
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiErrorResponse'
                properties:
                  error:
                    properties:
                      code:
                        enum:
                          - INTERNAL_ERROR
                        type: string
                    required:
                      - code
                    type: object
                type: object
          description: 'Stabile fejl: INTERNAL_ERROR'
          headers:
            X-Content-Type-Options:
              description: Angiver altid nosniff ved JSON API-svar.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Højeste antal kald i det aktuelle tidsvindue.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Resterende kald i det aktuelle tidsvindue.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: >-
                Stabilt korrelations-id for kaldet eller en idempotent
                gentagelse.
              schema:
                minLength: 1
                type: string
      security:
        - bearerAuth: []
      x-codeSamples:
        - label: cURL
          lang: Shell
          source: |-
            curl --request GET \
              --url 'https://app.floral.so/api/v1/workspaces/acme-nordic/people?limit=20&status=active' \
              --header 'Authorization: Bearer $FLORAL_TOKEN'
components:
  schemas:
    PersonListResponse:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        items:
          maxItems: 50
          type: array
          items:
            type: object
            properties:
              archivedAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              company:
                anyOf:
                  - type: object
                    properties:
                      id:
                        type: integer
                        exclusiveMinimum: 0
                        maximum: 9007199254740991
                      name:
                        type: string
                    required:
                      - id
                      - name
                    additionalProperties: false
                  - type: 'null'
              department:
                anyOf:
                  - type: string
                  - type: 'null'
              email:
                type: string
              id:
                type: integer
                exclusiveMinimum: 0
                maximum: 9007199254740991
              lastActivityAt:
                anyOf:
                  - type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  - type: 'null'
              lifecycleStage:
                anyOf:
                  - type: string
                    enum:
                      - LEAD
                      - PROSPECT
                      - CUSTOMER
                      - CHURNED
                  - type: 'null'
              linkedinUrl:
                anyOf:
                  - type: string
                  - type: 'null'
              mobile:
                anyOf:
                  - type: string
                  - type: 'null'
              name:
                type: string
              phone:
                anyOf:
                  - type: string
                  - type: 'null'
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              updatedAt:
                type: string
                format: date-time
                pattern: >-
                  ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
              version:
                type: string
                minLength: 1
                maxLength: 512
            required:
              - archivedAt
              - company
              - department
              - email
              - id
              - lastActivityAt
              - lifecycleStage
              - linkedinUrl
              - mobile
              - name
              - phone
              - title
              - updatedAt
              - version
            additionalProperties: false
        nextCursor:
          anyOf:
            - type: string
              minLength: 1
              maxLength: 512
            - type: 'null'
      required:
        - items
        - nextCursor
      additionalProperties: false
    ApiErrorResponse:
      additionalProperties: false
      properties:
        error:
          additionalProperties: false
          properties:
            code:
              enum:
                - CONFLICT
                - FEATURE_DISABLED
                - FORBIDDEN
                - IDEMPOTENCY_CONFLICT
                - INTERNAL_ERROR
                - INVALID_INPUT
                - INVALID_STATE
                - NOT_FOUND
                - PRECONDITION_REQUIRED
                - RATE_LIMITED
                - UNAUTHENTICATED
                - VERSION_CONFLICT
              type: string
            message:
              minLength: 1
              type: string
            requestId:
              maxLength: 128
              minLength: 1
              type: string
          required:
            - code
            - message
            - requestId
          type: object
      required:
        - error
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: Floral PAT
      description: >-
        Godkend med en personlig Floral-adgangsnøgle, der er bundet til ét
        arbejdsområde.
      scheme: bearer
      type: http

````