> ## 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 booking limits usage

> How much of each booking limit is used in the day, week, month and year containing `date` (default today), per user in scope. Counts come from the same queries booking-limit enforcement uses. Reports the user's global limit and, when `eventTypeId` is given, the event type's own limit; team booking limits are not included yet. Team scope requires `insights.read` on the team, even for direct members. Org scope requires `eventTypeId` and lists that event's hosts. An admin `skipBookingLimits` override can still let a booking through when `remaining` is 0.



## OpenAPI

````yaml /api-reference/v2/openapi.json post /v2/insights/booking-limits/usage
openapi: 3.0.0
info:
  title: Cal.com API v2
  description: ''
  version: 1.0.0
  contact: {}
servers: []
security: []
tags: []
paths:
  /v2/insights/booking-limits/usage:
    post:
      tags:
        - Insights
      summary: Get booking limits usage
      description: >-
        How much of each booking limit is used in the day, week, month and year
        containing `date` (default today), per user in scope. Counts come from
        the same queries booking-limit enforcement uses. Reports the user's
        global limit and, when `eventTypeId` is given, the event type's own
        limit; team booking limits are not included yet. Team scope requires
        `insights.read` on the team, even for direct members. Org scope requires
        `eventTypeId` and lists that event's hosts. An admin `skipBookingLimits`
        override can still let a booking through when `remaining` is 0.
      operationId: InsightsController_getBookingLimitsUsage
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingLimitsUsageInput'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBookingLimitsUsageOutput'
components:
  schemas:
    BookingLimitsUsageInput:
      type: object
      properties:
        scope:
          type: string
          enum:
            - user
            - team
            - org
          example: team
          description: >-
            `user`: the caller only. `team`: accepted members of
            `selectedTeamId`. `org`: the hosts of `eventTypeId`, which is then
            required.
        selectedTeamId:
          type: number
          description: Required for team scope.
          example: 12
        date:
          type: string
          description: >-
            Calendar day (YYYY-MM-DD). Reports the day, week, month and year
            containing it, each read in its limit's own time zone: the user's
            for the global limit, the event type's for the event-type limit.
            Defaults to today.
          example: '2026-10-13'
        eventTypeId:
          type: number
          description: >-
            Adds the event type's own booking limit. Must be an event type
            inside the scope; required for org scope.
          example: 101
        userUuids:
          description: Only report these users. Every uuid must be inside the scope.
          maxItems: 100
          example:
            - 3f2504e0-4f89-41d3-9a0c-0305e82c3301
          type: array
          items:
            type: string
        offset:
          type: number
          example: 0
        limit:
          type: number
          example: 50
          maximum: 100
      required:
        - scope
        - offset
        - limit
    GetBookingLimitsUsageOutput:
      type: object
      properties:
        status:
          enum:
            - success
            - error
          type: string
          example: success
        data:
          $ref: '#/components/schemas/BookingLimitsUsageDataOutput'
      required:
        - status
        - data
    BookingLimitsUsageDataOutput:
      type: object
      properties:
        date:
          type: string
          nullable: true
          example: '2026-10-13'
          description: >-
            The requested calendar day; null when the periods containing today
            were reported.
        eventType:
          nullable: true
          description: >-
            Shared by every host of the event type; null when no eventTypeId was
            given.
          type: object
          allOf:
            - $ref: '#/components/schemas/EventTypeBookingLimitsUsageOutput'
        users:
          type: array
          items:
            $ref: '#/components/schemas/UserBookingLimitsUsageOutput'
        total:
          type: number
          example: 42
          description: Users in scope, before paging.
      required:
        - date
        - eventType
        - users
        - total
    EventTypeBookingLimitsUsageOutput:
      type: object
      properties:
        perDay:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
        perWeek:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
        perMonth:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
        perYear:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
        eventTypeId:
          type: number
          example: 101
        timeZone:
          type: string
          example: Europe/London
          description: Time zone the event type's periods are counted in.
      required:
        - perDay
        - perWeek
        - perMonth
        - perYear
        - eventTypeId
        - timeZone
    UserBookingLimitsUsageOutput:
      type: object
      properties:
        userUuid:
          type: string
          format: uuid
          example: 3f2504e0-4f89-41d3-9a0c-0305e82c3301
        timeZone:
          type: string
          example: America/New_York
          description: Time zone the user's own periods are counted in.
        user:
          description: The user's global booking limit.
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodsUsageOutput'
        binding:
          nullable: true
          description: >-
            The limit with the least room left across the event type's limit and
            the user's global limit; null when neither applies. Team booking
            limits are not included yet.
          type: object
          allOf:
            - $ref: '#/components/schemas/BindingBookingLimitOutput'
      required:
        - userUuid
        - timeZone
        - user
        - binding
    BookingLimitPeriodUsageOutput:
      type: object
      properties:
        limit:
          type: number
          example: 20
          description: The configured maximum for this period.
        used:
          type: number
          example: 7
          description: Accepted bookings counted against the limit in this period.
        remaining:
          type: number
          example: 13
          description: Bookings left in this period, never below 0.
        periodStart:
          type: string
          example: '2026-10-11'
          description: First day of the period (YYYY-MM-DD) in `timeZone`.
        periodEnd:
          type: string
          example: '2026-10-17'
          description: Last day of the period (YYYY-MM-DD, inclusive) in `timeZone`.
      required:
        - limit
        - used
        - remaining
        - periodStart
        - periodEnd
    BookingLimitPeriodsUsageOutput:
      type: object
      properties:
        perDay:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
        perWeek:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
        perMonth:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
        perYear:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/BookingLimitPeriodUsageOutput'
      required:
        - perDay
        - perWeek
        - perMonth
        - perYear
    BindingBookingLimitOutput:
      type: object
      properties:
        layer:
          type: string
          enum:
            - eventType
            - user
          example: user
        limitKey:
          type: string
          enum:
            - perDay
            - perWeek
            - perMonth
            - perYear
          example: perWeek
        remaining:
          type: number
          example: 2
      required:
        - layer
        - limitKey
        - remaining

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.