> ## 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.

# Get an event

> Get one event with its schedule, registration settings, planning and finalisation state. Internal planning notes are never returned.



## OpenAPI

````yaml /openapi/public-v1.json get /api/v1/workspaces/{workspaceSlug}/events/{eventId}
openapi: 3.1.0
info:
  description: >-
    Stable external API for relationship lookup, meeting intelligence, and event
    participation.
  title: Floral Public API
  version: 1.0.0
servers:
  - description: Production
    url: https://app.floral.so
security: []
tags:
  - description: Search across active companies and people.
    name: Search
  - description: Create, list, inspect, update, archive, and restore companies.
    name: Companies
  - description: Create, list, inspect, update, archive, and restore people.
    name: People
  - description: Read active public custom-field definitions.
    name: Custom fields
  - description: Search normalized Danish company-register facts.
    name: Company registry
  - description: Generate, list, and inspect meeting briefings.
    name: Briefings
  - description: List, inspect, annotate, and approve meeting summaries.
    name: Summaries
  - description: >-
      List and inspect events, and finalise their attendance. Requires the
      Events add-on.
    name: Events
  - description: >-
      Register, list, inspect, and update event participants, mark attendance,
      and correct finalised attendance. Requires the Events add-on.
    name: Event participants
paths:
  /api/v1/workspaces/{workspaceSlug}/events/{eventId}:
    get:
      tags:
        - Events
      summary: Get an event
      description: >-
        Get one event with its schedule, registration settings, planning and
        finalisation state. Internal planning notes are never returned.
      operationId: getEventV1
      parameters:
        - description: Slug of the workspace pinned to the credential.
          example: acme-nordic
          in: path
          name: workspaceSlug
          required: true
          schema:
            maxLength: 100
            minLength: 1
            pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
            type: string
        - description: Stable numeric event ID.
          example: 42
          in: path
          name: eventId
          required: true
          schema:
            minimum: 1
            type: integer
        - description: >-
            Optional caller-generated correlation ID. Floral returns the
            effective value in 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:
                event:
                  archivedAt: null
                  cancellationReason: null
                  cancelledAt: null
                  capacity: 80
                  createdAt: '2026-08-01T08:00:00.000Z'
                  endsAt: '2026-09-24T17:00:00.000Z'
                  finalisationState: NOT_FINALISED
                  finalisedAt: null
                  format: IN_PERSON
                  id: 42
                  joinReference: null
                  language: da
                  location: Nordhavn Warehouse, Copenhagen
                  organiserUserId: user_01J5N9CF9QY8T4M2A7W3R6K1P0
                  ownerUserIds:
                    - user_01J5N9CF9QY8T4M2A7W3R6K1P0
                  planningStatus: READY
                  postponedAt: null
                  postponementReason: null
                  publicDescription: An afternoon on hybrid workplace design.
                  publicSlug: workplace-forum-2026
                  publicationState: PUBLISHED
                  registrationClosesAt: '2026-09-22T22:00:00.000Z'
                  registrationOpensAt: null
                  registrationState: OPEN
                  startsAt: '2026-09-24T13:00:00.000Z'
                  timezone: Europe/Copenhagen
                  title: Workplace Forum 2026
                  updatedAt: '2026-09-10T11:15:00.000Z'
                  version: v1.eyJpZCI6NDIsInJlc291cmNlIjoiZXZlbnQiLCJ2ZXJzaW9uIjoiMyJ9
                  waitlistEnabled: true
              schema:
                $ref: '#/components/schemas/EventDetailResponse'
          description: Successful response
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
            ETag:
              description: Opaque version for a subsequent If-Match.
              example: '"v1.eyJpZCI6NDIsInJlc291cmNlIjoiZXZlbnQiLCJ2ZXJzaW9uIjoiMyJ9"'
              schema:
                pattern: ^"(?:[^"\\]|\\.)*"$
                type: string
        '400':
          content:
            application/json:
              example:
                error:
                  code: INVALID_INPUT
                  message: The request contains invalid values.
                  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: 'Stable errors: INVALID_INPUT'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
        '401':
          content:
            application/json:
              example:
                error:
                  code: UNAUTHENTICATED
                  message: A valid bearer credential is required.
                  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: 'Stable errors: UNAUTHENTICATED'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
            WWW-Authenticate:
              description: Bearer authentication challenge.
              example: Bearer realm="floral-api"
              schema:
                type: string
        '403':
          content:
            application/json:
              example:
                error:
                  code: FORBIDDEN
                  message: The credential does not grant this operation.
                  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: 'Stable errors: FORBIDDEN'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
        '404':
          content:
            application/json:
              example:
                error:
                  code: NOT_FOUND
                  message: The resource was not found.
                  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: 'Stable errors: NOT_FOUND, FEATURE_DISABLED'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
        '429':
          content:
            application/json:
              example:
                error:
                  code: RATE_LIMITED
                  message: Too many requests. Retry shortly.
                  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: 'Stable errors: RATE_LIMITED'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              schema:
                minLength: 1
                type: string
            Retry-After:
              description: Seconds until the current limit resets.
              schema:
                minimum: 1
                type: integer
        '500':
          content:
            application/json:
              example:
                error:
                  code: INTERNAL_ERROR
                  message: An unexpected error occurred.
                  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: 'Stable errors: INTERNAL_ERROR'
          headers:
            X-Content-Type-Options:
              description: Always nosniff for JSON API responses.
              schema:
                const: nosniff
                type: string
            X-RateLimit-Limit:
              description: Maximum requests in the current rate-limit window.
              schema:
                minimum: 1
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in the current rate-limit window.
              schema:
                minimum: 0
                type: integer
            X-Request-ID:
              description: Stable request or idempotent replay correlation ID.
              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/events/42' \
              --header 'Authorization: Bearer $FLORAL_TOKEN'
components:
  schemas:
    EventDetailResponse:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        event:
          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'
            cancellationReason:
              type:
                - string
                - 'null'
            cancelledAt:
              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'
            capacity:
              anyOf:
                - type: integer
                  minimum: 0
                  maximum: 9007199254740991
                - type: 'null'
            createdAt:
              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))$
            endsAt:
              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'
            finalisationState:
              type: string
              enum:
                - NOT_FINALISED
                - FINALISED
            finalisedAt:
              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'
            format:
              type: string
              enum:
                - IN_PERSON
                - ONLINE
                - HYBRID
            id:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            joinReference:
              type:
                - string
                - 'null'
            language:
              type: string
              enum:
                - da
                - en
            location:
              type:
                - string
                - 'null'
            organiserUserId:
              type: string
            ownerUserIds:
              maxItems: 20
              type: array
              items:
                type: string
            planningStatus:
              type: string
              enum:
                - IDEA
                - PLANNING
                - READY
                - HELD
                - FOLLOW_UP
                - EVALUATED
                - CANCELLED
            postponedAt:
              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'
            postponementReason:
              type:
                - string
                - 'null'
            publicDescription:
              type: string
            publicSlug:
              type:
                - string
                - 'null'
            publicationState:
              type: string
              enum:
                - DRAFT
                - PUBLISHED
                - UNPUBLISHED
            registrationClosesAt:
              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'
            registrationOpensAt:
              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'
            registrationState:
              type: string
              enum:
                - CLOSED
                - OPEN
            startsAt:
              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'
            timezone:
              type: string
            title:
              type: string
            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
              pattern: ^v1\.[A-Za-z0-9_-]+$
            waitlistEnabled:
              type: boolean
          required:
            - archivedAt
            - cancellationReason
            - cancelledAt
            - capacity
            - createdAt
            - endsAt
            - finalisationState
            - finalisedAt
            - format
            - id
            - joinReference
            - language
            - location
            - organiserUserId
            - ownerUserIds
            - planningStatus
            - postponedAt
            - postponementReason
            - publicDescription
            - publicSlug
            - publicationState
            - registrationClosesAt
            - registrationOpensAt
            - registrationState
            - startsAt
            - timezone
            - title
            - updatedAt
            - version
            - waitlistEnabled
          additionalProperties: false
      required:
        - event
      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: Authenticate with a workspace-pinned Floral personal access token.
      scheme: bearer
      type: http

````