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

# Get a booking proposal

> 
      Returns a pending booking proposal and the timeslots it proposes.

      Only somebody who could confirm the proposal may read it: the event's organizer, a host one of the proposed timeslots is held for, a host of a collective or managed event, or a team or organization role holding `booking.updateTeamBookings` / `booking.updateOrgBookings` where the event lives.

      A proposal that has already been confirmed no longer exists — the booking it produced is available from `GET /v2/bookings/:bookingUid` instead — so this endpoint answers 404 for it, the same as it does for a proposal the caller may not read.

      <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint.</Note>
      



## OpenAPI

````yaml /api-reference/v2/openapi.json get /v2/booking-proposals/{uid}
openapi: 3.0.0
info:
  title: Cal.com API v2
  description: ''
  version: 1.0.0
  contact: {}
servers: []
security: []
tags: []
paths:
  /v2/booking-proposals/{uid}:
    get:
      tags:
        - Booking proposals
      summary: Get a booking proposal
      description: |2-

              Returns a pending booking proposal and the timeslots it proposes.

              Only somebody who could confirm the proposal may read it: the event's organizer, a host one of the proposed timeslots is held for, a host of a collective or managed event, or a team or organization role holding `booking.updateTeamBookings` / `booking.updateOrgBookings` where the event lives.

              A proposal that has already been confirmed no longer exists — the booking it produced is available from `GET /v2/bookings/:bookingUid` instead — so this endpoint answers 404 for it, the same as it does for a proposal the caller may not read.

              <Note>Please make sure to pass in the cal-api-version header value as mentioned in the Headers section. Not passing the correct value will default to an older version of this endpoint.</Note>
              
      operationId: BookingProposalsController_2024_08_13_getBookingProposal
      parameters:
        - name: cal-api-version
          in: header
          description: >-
            Must be set to 2024-08-13. If not set to this value, the endpoint
            will default to an older version.
          required: true
          schema:
            type: string
            example: '2024-08-13'
            default: '2024-08-13'
        - name: uid
          required: true
          in: path
          schema:
            type: string
        - name: Authorization
          in: header
          description: >-
            value must be `Bearer <token>` where `<token>` is api key prefixed
            with cal_, managed user access token, or OAuth access token
          required: true
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBookingProposalOutput_2024_08_13'
components:
  schemas:
    GetBookingProposalOutput_2024_08_13:
      type: object
      properties:
        status:
          enum:
            - success
            - error
          type: string
          example: success
        data:
          $ref: '#/components/schemas/GetBookingProposalDataOutput_2024_08_13'
      required:
        - status
        - data
    GetBookingProposalDataOutput_2024_08_13:
      type: object
      properties:
        uid:
          type: string
          example: 019205e4-4b3a-7000-8000-2c1a3f5b7d90
        eventTypeId:
          type: number
          example: 123
        expiresAt:
          type: string
          description: >-
            When the proposal can no longer be confirmed, which is the end of
            its latest proposed timeslot.
          example: '2024-08-14T09:30:00.000Z'
          format: date-time
        requestedTimeslots:
          type: array
          items:
            $ref: '#/components/schemas/BookingProposalSlotOutput_2024_08_13'
        status:
          enum:
            - pending
            - expired
          type: string
          description: >-
            `pending` while the proposal can still be confirmed, `expired` once
            its latest proposed timeslot has passed. A proposal that has already
            been confirmed no longer exists and is not returned.
          example: pending
        attendeeName:
          type: string
          example: Jane Doe
        attendeeEmail:
          type: string
          example: jane.doe@example.com
        duration:
          type: number
          description: Length of each proposed timeslot in minutes.
          example: 30
        timeZone:
          type: string
          description: The timezone the attendee proposed the timeslots in.
          example: America/New_York
        language:
          type: string
          example: en
        bookingFieldsResponses:
          type: object
          additionalProperties: true
          description: >-
            Booking field responses consisting of an object with booking field
            slug as keys and user response as values.
          example:
            customField: customValue
        createdAt:
          type: string
          example: '2024-08-12T09:00:00.000Z'
          format: date-time
      required:
        - uid
        - eventTypeId
        - expiresAt
        - requestedTimeslots
        - status
        - attendeeName
        - attendeeEmail
        - duration
        - timeZone
        - language
        - bookingFieldsResponses
        - createdAt
    BookingProposalSlotOutput_2024_08_13:
      type: object
      properties:
        start:
          type: string
          example: '2024-08-13T09:00:00.000Z'
          format: date-time
        end:
          type: string
          example: '2024-08-13T09:30:00.000Z'
          format: date-time
        hostId:
          type: number
          nullable: true
          description: >-
            The host this timeslot would be booked with. Present for round robin
            event types only; null otherwise, because the organizer of a
            collective or personal event does not vary by timeslot.
          example: 42
      required:
        - start
        - end

````