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

# List bookable events

> Returns the organization’s active events, newest first, with cursor pagination.

Requires the `scheduling:read` scope.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/scheduling/events
openapi: 3.1.0
info:
  title: Default Public API
  version: 1.0.0
  description: >-
    Customer-facing REST API for scheduling and workflow triggers: list events,
    fetch availability, book, reschedule, or cancel meetings, and fire API
    triggers. Authenticate every request with `Authorization: Bearer <key>`
    using an API key created in workspace settings (Settings → API Keys). Keys
    carry permissions (`scheduling:read`, `scheduling:write`, `triggers:read`,
    `triggers:write`; a write key also satisfies read for its surface) and can
    be revoked at any time. Requests are rate limited to 30 per minute per key —
    a 429 response carries a `Retry-After` header with the seconds until the
    window resets. This is a server-to-server API: no CORS headers are sent, so
    it cannot be called directly from a browser.
servers:
  - url: https://api.default.com
security:
  - apiKey: []
paths:
  /v1/scheduling/events:
    get:
      tags:
        - Scheduling
      summary: List bookable events
      description: >-
        Returns the organization’s active events, newest first, with cursor
        pagination.


        Requires the `scheduling:read` scope.
      operationId: listEvents
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            default: 50
            type: integer
            minimum: 1
            maximum: 100
        - name: cursor
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        slug:
                          anyOf:
                            - type: string
                            - type: 'null'
                        name:
                          type: string
                        schedulerTitle:
                          anyOf:
                            - type: string
                            - type: 'null'
                        schedulerDescription:
                          anyOf:
                            - type: string
                            - type: 'null'
                        duration:
                          type: integer
                          minimum: -2147483648
                          maximum: 2147483647
                        timeslotIncrement:
                          type: integer
                          minimum: -2147483648
                          maximum: 2147483647
                        conferencingType:
                          type: string
                          enum:
                            - calendar_default
                            - zoom
                            - zoom_personal
                            - in_person
                        location:
                          anyOf:
                            - type: string
                            - type: 'null'
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - slug
                        - name
                        - schedulerTitle
                        - schedulerDescription
                        - duration
                        - timeslotIncrement
                        - conferencingType
                        - location
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  nextCursor:
                    anyOf:
                      - type: string
                      - type: 'null'
                required:
                  - events
                  - nextCursor
                additionalProperties: false
        '400':
          description: Error (INVALID_REQUEST)
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        enum:
                          - INVALID_REQUEST
                      message:
                        type: string
                      details:
                        type: array
                        items:
                          type: string
              examples:
                INVALID_REQUEST:
                  summary: INVALID_REQUEST
                  value:
                    error:
                      code: INVALID_REQUEST
                      message: Request validation failed
                      details:
                        - 'personEmail: Invalid email address'
        '401':
          description: Error (INVALID_API_KEY)
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        enum:
                          - INVALID_API_KEY
                      message:
                        type: string
                      details:
                        type: array
                        items:
                          type: string
              examples:
                INVALID_API_KEY:
                  summary: INVALID_API_KEY
                  value:
                    error:
                      code: INVALID_API_KEY
                      message: Missing, malformed, or revoked API key
        '403':
          description: Error (MISSING_SCOPE)
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_SCOPE
                      message:
                        type: string
                      details:
                        type: array
                        items:
                          type: string
              examples:
                MISSING_SCOPE:
                  summary: MISSING_SCOPE
                  value:
                    error:
                      code: MISSING_SCOPE
                      message: >-
                        This API key is missing the required 'scheduling:read'
                        scope
        '429':
          description: Error (RATE_LIMITED)
          headers:
            Retry-After:
              description: Seconds until the current rate-limit window resets.
              schema:
                type: integer
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        enum:
                          - RATE_LIMITED
                      message:
                        type: string
                      details:
                        type: array
                        items:
                          type: string
              examples:
                RATE_LIMITED:
                  summary: RATE_LIMITED
                  value:
                    error:
                      code: RATE_LIMITED
                      message: Rate limit exceeded for this API key
        '500':
          description: Error (INTERNAL_ERROR)
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        enum:
                          - INTERNAL_ERROR
                      message:
                        type: string
                      details:
                        type: array
                        items:
                          type: string
              examples:
                INTERNAL_ERROR:
                  summary: INTERNAL_ERROR
                  value:
                    error:
                      code: INTERNAL_ERROR
                      message: Internal server error
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        Organization API key, created in workspace settings (Settings → API
        Keys). Sent as `Authorization: Bearer <key>`. Shown once at creation;
        revocable and permission-scoped per key.

````