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

# Get a booking

> Get booking by id



## OpenAPI

````yaml /openapi.json get /booking/{id}
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/{id}:
    get:
      tags:
        - Booking
      summary: Get a booking
      description: Get booking by id
      operationId: get_booking
      parameters:
        - schema:
            type: integer
            exclusiveMinimum: 0
            example: 101
            minimum: 1
          in: path
          name: id
          required: true
          description: Numeric booking identifier.
      responses:
        '200':
          description: Booking
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                  data:
                    type: object
                    properties:
                      id:
                        type: number
                      title:
                        type:
                          - 'null'
                          - string
                      description:
                        type:
                          - 'null'
                          - string
                      customInputs:
                        anyOf:
                          - type: object
                            additionalProperties: {}
                          - type: 'null'
                      startTime:
                        type:
                          - 'null'
                          - string
                      endTime:
                        type:
                          - 'null'
                          - string
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                      metadata:
                        anyOf:
                          - type: object
                            additionalProperties: {}
                          - type: 'null'
                      uid:
                        type:
                          - 'null'
                          - string
                      recurringEventId:
                        type:
                          - 'null'
                          - string
                      location:
                        type:
                          - 'null'
                          - string
                      status:
                        type:
                          - 'null'
                          - string
                      paid:
                        type: boolean
                      fromReschedule:
                        type:
                          - 'null'
                          - string
                      rescheduled:
                        type:
                          - 'null'
                          - boolean
                      isRecorded:
                        type: boolean
                      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
                      user:
                        type: object
                        properties:
                          id:
                            type: number
                          name:
                            type:
                              - 'null'
                              - string
                          email:
                            type: string
                            format: email
                        required:
                          - name
                          - email
                        additionalProperties: false
                      attendees:
                        type: array
                        items:
                          type: object
                          properties:
                            email:
                              type: string
                              format: email
                            name:
                              type:
                                - 'null'
                                - string
                          required:
                            - email
                          additionalProperties: false
                      payment:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: number
                            paymentOption:
                              type:
                                - 'null'
                                - string
                            amount:
                              type: number
                            currency:
                              type: string
                            success:
                              type: boolean
                          required:
                            - id
                            - paymentOption
                            - amount
                            - currency
                            - success
                          additionalProperties: false
                    required:
                      - id
                      - title
                      - description
                      - startTime
                      - endTime
                      - createdAt
                      - updatedAt
                      - uid
                    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
                    additionalProperties: {}
                required:
                  - success
                additionalProperties: false
                description: Booking
        '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
        '404':
          description: Booking not found or invalid credentials
          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: Booking not found or invalid credentials
      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)
- [Get a webhook](/docs/api-reference/webhook/get-a-webhook.md)
- [Get a team](/docs/api-reference/teams/get-a-team.md)
- [Get a contact](/docs/api-reference/contacts/get-a-contact.md)
- [Get available slots](/docs/api-reference/slots/get-available-slots.md)
