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

# List bookings

> Get current user bookings



## OpenAPI

````yaml /openapi.json get /booking/
openapi: 3.1.0
info:
  title: Cal ID API
  description: >-
    API documentation for external developers integrating with Cal ID. This
    documentation is auto-generated from our OpenAPI specification and includes
    details on all available endpoints, request/response schemas, and
    authentication methods.


    Authentication is required for all endpoints and can be done using API key
    generated from the Cal ID dashboard under the `settings/developer/api-keys`
    page. Use the Authorization header with the Bearer scheme to authenticate
    your requests.


    Example:

    - API Key: `Authorization: Bearer calid_xxxxx`


    Note: To manage Team's resources use the Team's owner/admin API key
  version: 1.0.0
  contact:
    name: API Support
    email: support@cal.id
    url: https://cal.id
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://api.cal.id
    description: 'Production server '
security:
  - bearerAuth: []
tags:
  - name: Health
    description: Health check endpoints
  - name: Users
    description: User management endpoints
  - name: Event Types
    description: Event type management endpoints
  - name: Teams
    description: Team management endpoints
  - name: Team Event Types
    description: Event type management endpoints for teams
  - name: Team Memberships
    description: Membership management endpoints for teams
  - name: Team Schedules
    description: Schedule management endpoints for teams
  - name: Availability
    description: User availability management endpoints
  - name: Schedule
    description: User schedule management endpoints
  - name: Slots
    description: Available slots retrieval endpoints
  - name: Booking
    description: Event booking endpoints
paths:
  /booking/:
    get:
      tags:
        - Booking
      summary: List bookings
      description: Get current user bookings
      operationId: list_bookings
      parameters:
        - schema:
            type: string
            enum:
              - upcoming
              - recurring
              - past
              - cancelled
              - unconfirmed
            default: upcoming
            example: upcoming
          in: query
          name: status
          required: false
          description: Booking status bucket filter.
        - schema:
            type: integer
            exclusiveMinimum: 0
            example: 42
            minimum: 1
          in: query
          name: teamId
          required: false
          description: >-
            Filter by a single team ID. Admin/owner receives all team bookings;
            members receive only host/attendee bookings.
        - schema:
            type: array
            items:
              type: integer
              exclusiveMinimum: 0
            example:
              - 12
          in: query
          name: eventTypeIds
          required: false
          description: Filter by event type IDs.
        - schema:
            type: string
            format: email
            example: booker@example.com
          in: query
          name: attendeeEmail
          required: false
          description: Filter by attendee email.
        - schema:
            type: string
            example: Jane Doe
          in: query
          name: attendeeName
          required: false
          description: Filter by attendee name.
        - schema:
            type: string
            example: 8d579e09-83f0-4f22-bb5c-89f0ef7fd5a4
          in: query
          name: bookingUid
          required: false
          description: Filter by booking UID.
        - schema:
            type: string
            format: date-time
            example: '2026-05-01T00:00:00.000Z'
          in: query
          name: afterStartDate
          required: false
          description: Include bookings starting after this ISO timestamp.
        - schema:
            type: string
            format: date-time
            example: '2026-05-31T23:59:59.000Z'
          in: query
          name: beforeEndDate
          required: false
          description: Include bookings ending before this ISO timestamp.
        - schema:
            type: string
            format: date-time
            example: '2026-05-01T00:00:00.000Z'
          in: query
          name: afterUpdatedDate
          required: false
          description: Include bookings updated after this ISO timestamp.
        - schema:
            type: string
            format: date-time
            example: '2026-05-31T23:59:59.000Z'
          in: query
          name: beforeUpdatedDate
          required: false
          description: Include bookings updated before this ISO timestamp.
        - schema:
            type: string
            format: date-time
            example: '2026-05-01T00:00:00.000Z'
          in: query
          name: afterCreatedDate
          required: false
          description: Include bookings created after this ISO timestamp.
        - schema:
            type: string
            format: date-time
            example: '2026-05-31T23:59:59.000Z'
          in: query
          name: beforeCreatedDate
          required: false
          description: Include bookings created before this ISO timestamp.
        - schema:
            type: string
            enum:
              - asc
              - desc
            example: asc
          in: query
          name: sortStart
          required: false
          description: Sort direction for booking start time.
        - schema:
            type: string
            enum:
              - asc
              - desc
            example: desc
          in: query
          name: sortEnd
          required: false
          description: Sort direction for booking end time.
        - schema:
            type: string
            enum:
              - asc
              - desc
            example: desc
          in: query
          name: sortCreated
          required: false
          description: Sort direction for booking creation time.
        - schema:
            type: string
            enum:
              - asc
              - desc
            example: desc
          in: query
          name: sortUpdated
          required: false
          description: Sort direction for booking update time.
        - schema:
            type: integer
            exclusiveMinimum: 0
            default: 1
            example: 1
            minimum: 1
          in: query
          name: page
          required: false
          description: Page number (1-based).
        - schema:
            type: integer
            exclusiveMinimum: 0
            maximum: 500
            default: 100
            example: 100
            minimum: 1
          in: query
          name: limit
          required: false
          description: Maximum number of bookings returned per page.
      responses:
        '200':
          description: User bookings retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                        title:
                          type:
                            - 'null'
                            - string
                        userPrimaryEmail:
                          type: string
                          format: email
                        description:
                          type:
                            - 'null'
                            - string
                        customInputs:
                          anyOf:
                            - type: object
                              additionalProperties: {}
                            - type: 'null'
                        startTime:
                          type: string
                        endTime:
                          type: string
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                        metadata:
                          anyOf:
                            - type: object
                              additionalProperties: {}
                            - type: 'null'
                        uid:
                          type: string
                        responses:
                          anyOf:
                            - {}
                            - type: 'null'
                        recurringEventId:
                          type:
                            - 'null'
                            - string
                        location:
                          type:
                            - 'null'
                            - string
                        status:
                          type: string
                          enum:
                            - ACCEPTED
                            - CANCELLED
                            - REJECTED
                            - PENDING
                            - AWAITING_HOST
                        paid:
                          type: boolean
                        fromReschedule:
                          type:
                            - 'null'
                            - string
                        rescheduled:
                          type:
                            - 'null'
                            - boolean
                        isRecorded:
                          type: boolean
                        routedFromRoutingFormReponse:
                          anyOf:
                            - {}
                            - type: 'null'
                        eventType:
                          type: object
                          properties:
                            id:
                              type: number
                            title:
                              type: string
                            slug:
                              type: string
                            eventName:
                              type: string
                            price:
                              type: number
                            currency:
                              type: string
                            recurringEvent: {}
                            metadata:
                              type: object
                              additionalProperties: {}
                            schedulingType:
                              type: string
                              enum:
                                - ROUND_ROBIN
                                - COLLECTIVE
                                - MANAGED
                            seatsShowAttendees:
                              type: boolean
                            hosts:
                              type: array
                              items:
                                type: object
                                properties:
                                  user:
                                    anyOf:
                                      - type: object
                                        properties:
                                          id:
                                            type: number
                                          name:
                                            type:
                                              - string
                                              - 'null'
                                          email:
                                            type: string
                                            format: email
                                        required:
                                          - email
                                        additionalProperties: false
                                      - type: 'null'
                                required:
                                  - user
                                additionalProperties: false
                            calIdTeam:
                              anyOf:
                                - type: object
                                  properties:
                                    id:
                                      type: number
                                    name:
                                      type: string
                                    slug:
                                      type: string
                                  required:
                                    - name
                                    - slug
                                  additionalProperties: false
                                - type: 'null'
                            length:
                              type: number
                            customReplyToEmail:
                              type:
                                - 'null'
                                - string
                            allowReschedulingPastBookings:
                              type: boolean
                            hideOrganizerEmail:
                              type: boolean
                            disableCancelling:
                              type: boolean
                            disableRescheduling:
                              type: boolean
                            eventTypeColor:
                              anyOf:
                                - {}
                                - type: 'null'
                          additionalProperties: false
                        references:
                          type: array
                        payment:
                          type: array
                        user:
                          type: object
                          properties:
                            id:
                              type: number
                            name:
                              type:
                                - 'null'
                                - string
                            email:
                              type: string
                              format: email
                          required:
                            - name
                            - email
                          additionalProperties: false
                        attendees:
                          type: array
                        seatsReferences:
                          type: array
                        assignmentReason:
                          type: array
                        rescheduler:
                          type:
                            - 'null'
                            - string
                      required:
                        - id
                        - title
                        - userPrimaryEmail
                        - description
                        - customInputs
                        - startTime
                        - endTime
                        - createdAt
                        - updatedAt
                        - metadata
                        - uid
                        - recurringEventId
                        - status
                        - paid
                        - isRecorded
                        - references
                        - payment
                        - attendees
                        - seatsReferences
                        - assignmentReason
                      additionalProperties: false
                  message:
                    type: string
                  meta:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          page:
                            type: number
                          limit:
                            type: number
                          total:
                            type: number
                          totalPages:
                            type: number
                        required:
                          - page
                          - limit
                          - total
                          - totalPages
                        additionalProperties: false
                    required:
                      - pagination
                    additionalProperties: {}
                required:
                  - success
                  - data
                  - meta
                additionalProperties: false
                description: User bookings retrieved
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  message:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - success
                  - message
                  - error
                additionalProperties: false
                description: Bad Request
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  message:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - success
                  - message
                  - error
                additionalProperties: false
                description: Unauthorized
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  message:
                    type: string
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - success
                  - message
                  - error
                additionalProperties: false
                description: Forbidden
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT | API Key
      description: |-

        Use the Authorization header with Bearer scheme.

        Examples:
        - API Key: Authorization: Bearer calid_xxxxx
            

````

## Related topics

- [List and filter bookings](/docs/developers/guides/list-and-filter-bookings.md)
- [Reschedule and cancel bookings](/docs/developers/guides/reschedule-and-cancel.md)
- [Introduction](/docs/api-reference/introduction.md)
- [List webhooks](/docs/api-reference/webhook/list-webhooks.md)
- [List teams](/docs/api-reference/teams/list-teams.md)
