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

# Get Event Types

> List the Novacal event types available to the authenticated user, including names, durations, visibility settings, and form fields.

## What this endpoint returns

This endpoint lists the event types the authenticated user can access in Novacal.

Use the optional `scope` query parameter when you only want one ownership type:

* `scope=personal` returns event types owned by the authenticated user
* `scope=team` returns team event types

## Common use cases

* Populate an internal event type selector
* Sync booking configuration into another system
* Review visibility, duration, and booking form settings across event types


## OpenAPI

````yaml GET /v1/event-types
openapi: 3.1.0
info:
  title: Events API
  description: Public API for managing event types
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.novacal.io
security:
  - bearerAuth: []
paths:
  /v1/event-types:
    get:
      description: Returns all event types that the user has access to
      parameters:
        - name: scope
          in: query
          description: >-
            Filter event types by ownership scope. Use `personal` for event
            types owned by the authenticated user, or `team` for team event
            types.
          required: false
          schema:
            type: string
            enum:
              - personal
              - team
      responses:
        '200':
          description: Event types response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
components:
  schemas:
    SuccessResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          description: Indicates whether the request was successful
          type: boolean
          example: true
        data:
          description: The response data. Can be an object, array, or null
          oneOf:
            - $ref: '#/components/schemas/EventType'
            - type: array
              items:
                $ref: '#/components/schemas/EventType'
            - $ref: '#/components/schemas/Team'
            - type: array
              items:
                $ref: '#/components/schemas/Team'
            - $ref: '#/components/schemas/Event'
            - type: array
              items:
                $ref: '#/components/schemas/Event'
            - $ref: '#/components/schemas/User'
            - type: 'null'
    EventType:
      type: object
      properties:
        id:
          description: The unique identifier of the event type
          type: integer
          format: int64
        name:
          description: The name of the event type
          type: string
          maxLength: 55
        slug:
          description: The URL-friendly identifier
          type: string
          maxLength: 80
        description:
          description: Description of the event type
          type: string
          maxLength: 5000
        type:
          description: The type of event
          type: string
          enum:
            - one_on_one
            - group
            - round_robin
            - collective
        scope:
          description: Whether this event type belongs to the authenticated user or a team
          type: string
          enum:
            - personal
            - team
        duration:
          description: Duration in minutes
          type: integer
          minimum: 1
          maximum: 1440
        max_group_size:
          description: Maximum group size (required for group type)
          type: integer
          minimum: 2
          maximum: 10
        hidden_from_profile:
          description: Whether the event type is hidden from profile
          type: boolean
        color:
          description: Color code in hex format
          type: string
          pattern: ^#([A-Fa-f0-9]{6})$
        redirect_enabled:
          description: Whether bookings should redirect after confirmation
          type: boolean
        redirect_url:
          description: Redirect URL used when redirect is enabled
          type:
            - string
            - 'null'
          format: uri
        time_slot_interval:
          description: Slot interval in minutes
          type:
            - integer
            - 'null'
          minimum: 5
          maximum: 120
        buffer_time_before_event:
          description: Buffer before the event in minutes
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 120
        buffer_time_after_event:
          description: Buffer after the event in minutes
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 120
        min_scheduling_notice:
          description: Minimum scheduling notice amount
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 43200
        min_scheduling_notice_type:
          description: Unit for minimum scheduling notice
          type:
            - string
            - 'null'
          enum:
            - minutes
            - hours
            - days
            - null
        booking_frequency_limits:
          description: Optional booking limits by period
          type: array
          items:
            $ref: '#/components/schemas/BookingFrequencyLimit'
        form_fields:
          description: Array of active form fields for this event type
          type: array
          items:
            $ref: '#/components/schemas/FormField'
    Team:
      type: object
      properties:
        id:
          description: The unique identifier of the team
          type: integer
          format: int64
        name:
          description: The name of the team
          type: string
          maxLength: 55
        username:
          description: The unique username for the team
          type: string
          maxLength: 255
        about:
          description: Description or about text for the team
          type:
            - string
            - 'null'
          maxLength: 5000
        logo:
          description: URL to the team's logo image
          type:
            - string
            - 'null'
    Event:
      type: object
      properties:
        id:
          description: The unique identifier of the event
          type: string
          format: uuid
        event_type_id:
          description: The identifier of the event type this event was booked from
          type:
            - integer
            - 'null'
          example: 42
        start:
          description: The start date and time of the event
          type: string
          format: date-time
        end:
          description: The end date and time of the event
          type: string
          format: date-time
        canceled_at:
          description: The date and time when the event was canceled
          type:
            - string
            - 'null'
          format: date-time
        cancellation_reason:
          description: The reason the event was canceled, if provided
          type:
            - string
            - 'null'
        location:
          description: The location of the event
          type:
            - string
            - 'null'
        form_field_answers:
          description: >-
            Booking form answers keyed by field identifier. Each value contains
            only the submitted answer.
          type: object
          additionalProperties: true
          example:
            name: John Doe
            email: john@example.com
        status:
          description: The status of the event
          type: string
        name:
          description: The name of the event
          type:
            - string
            - 'null'
        organizer:
          description: The organizer attached to the event
          oneOf:
            - $ref: '#/components/schemas/EventHost'
            - type: 'null'
        hosts:
          description: Hosts attached to the event
          type: array
          items:
            $ref: '#/components/schemas/EventHost'
        booker:
          description: The user who booked the event
          oneOf:
            - $ref: '#/components/schemas/EventBooker'
            - type: 'null'
        guests:
          description: Guest email addresses attached to the event
          type: array
          items:
            type: string
            format: email
        created_at:
          description: The date and time the event was created
          type: string
          format: date-time
        updated_at:
          description: The date and time the event was last updated
          type: string
          format: date-time
    User:
      type: object
      properties:
        id:
          description: The unique identifier of the user
          type: integer
          format: int64
        first_name:
          description: The user's first name
          type: string
        last_name:
          description: The user's last name
          type: string
        username:
          description: The unique username for the user
          type: string
        email:
          description: The user's email address
          type: string
          format: email
        timezone:
          description: The user's timezone
          type: string
        time_format:
          description: The user's preferred time format
          type: integer
          enum:
            - 12
            - 24
        start_of_week:
          description: The day that starts the week (0 for Sunday, 1 for Monday)
          type: integer
          enum:
            - 0
            - 1
        avatar:
          description: URL to the user's avatar image
          type:
            - string
            - 'null'
    BookingFrequencyLimit:
      type: object
      required:
        - period
        - limit
      properties:
        period:
          description: Period used for the booking limit
          type: string
          enum:
            - day
            - week
            - month
        limit:
          description: Maximum number of bookings allowed in the period
          type: integer
          minimum: 0
          maximum: 43200
    FormField:
      type: object
      properties:
        identifier:
          description: Unique identifier for the form field
          type: string
        label:
          description: Display label for the form field
          type: string
        type:
          description: The type of form field (e.g., text, email, select)
          type: string
        placeholder:
          description: Placeholder text for the form field
          type: string
        is_required:
          description: Whether the form field is required
          type: boolean
        options:
          description: Array of options for select/dropdown fields
          type: array
          items:
            type: string
    EventHost:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        name:
          type:
            - string
            - 'null'
        email:
          type: string
          format: email
        username:
          type:
            - string
            - 'null'
        timezone:
          type:
            - string
            - 'null'
        time_format:
          type:
            - integer
            - 'null'
          enum:
            - 12
            - 24
            - null
        start_of_week:
          type:
            - integer
            - 'null'
          enum:
            - 0
            - 1
            - null
        avatar:
          type:
            - string
            - 'null'
    EventBooker:
      type: object
      properties:
        name:
          type:
            - string
            - 'null'
        email:
          type: string
          format: email
        timezone:
          type:
            - string
            - 'null'
        time_format:
          type:
            - integer
            - 'null'
          enum:
            - 12
            - 24
            - null
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````