Bitrix24 Online Booking API

The Online Booking API from Bitrix24 — 38 operation(s) for online booking.

OpenAPI Specification

bitrix24-online-booking-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Bitrix24 REST BIconnector Online Booking API
  version: 1.0.0
  description: 'Bitrix24 REST API provides access to CRM, tasks, drive, chats, telephony, e-commerce, automation, and other modules. Documentation: https://apidocs.bitrix24.com'
  contact:
    name: Bitrix24 Developer Support
    url: https://apidocs.bitrix24.com/support.html
  license:
    name: MIT
    url: https://github.com/bitrix-tools/b24-rest-docs/blob/main/LICENSE
  x-logo:
    url: https://apidocs.bitrix24.com/_images/bitrix24logo.svg
servers:
- url: https://{portal}.bitrix24.com/rest
  description: Your Bitrix24 portal (cloud)
  variables:
    portal:
      default: your-portal
      description: Subdomain of your Bitrix24 portal
- url: https://{host}/rest
  description: On-Premise Bitrix24 installation
  variables:
    host:
      default: your-bitrix24.example.com
      description: Host of your on-premise installation
security:
- AccessToken: []
tags:
- name: Online Booking
paths:
  /booking.v1.booking.add:
    post:
      summary: Add Booking booking.v1.booking.add
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.add` adds a new booking for a resource.
      operationId: booking_v1_booking_add
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/booking-v1-booking-add.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fields:
                  type: object
                  description: '| An object containing field values for creating a booking (detailed description) ||'
                resourceIds:
                  type: array
                  items: {}
                  description: '| An array of resource IDs for the booking.'
                name:
                  type: string
                  description: '| The name of the booking.'
                description:
                  type: string
                  description: '| The description of the booking.'
                datePeriod:
                  type: object
                  description: '| An object containing the booking time (detailed description) ||'
                from:
                  type: object
                  description: '| The start time of the booking in the format `{"timestamp": "1723446900", "timezone": "Europe/Berlin"}`||'
                to:
                  type: object
                  description: '| The end time of the booking in the format `{"timestamp": "1723447800", "timezone": "Europe/Berlin"}` ||'
              required:
              - fields
              - resourceIds
              - datePeriod
              - from
              - to
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                fields:
                  type: object
                  description: '| An object containing field values for creating a booking (detailed description) ||'
                resourceIds:
                  type: array
                  items: {}
                  description: '| An array of resource IDs for the booking.'
                name:
                  type: string
                  description: '| The name of the booking.'
                description:
                  type: string
                  description: '| The description of the booking.'
                datePeriod:
                  type: object
                  description: '| An object containing the booking time (detailed description) ||'
                from:
                  type: object
                  description: '| The start time of the booking in the format `{"timestamp": "1723446900", "timezone": "Europe/Berlin"}`||'
                to:
                  type: object
                  description: '| The end time of the booking in the format `{"timestamp": "1723447800", "timezone": "Europe/Berlin"}` ||'
              required:
              - fields
              - resourceIds
              - datePeriod
              - from
              - to
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.client.list:
    post:
      summary: Get the list of booking clients booking.v1.booking.client.list
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.client.list` returns a list of clients for the specified booking.
      operationId: booking_v1_booking_client_list
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/client/booking-v1-booking-client-list.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.client.set:
    post:
      summary: Add Clients to Booking booking.v1.booking.client.set
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.client.set` sets clients for the specified booking.
      operationId: booking_v1_booking_client_set
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/client/booking-v1-booking-client-set.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
                clients:
                  type: array
                  items: {}
                  description: '| An array of objects containing information about clients (detailed description) ||'
                id:
                  type: integer
                  description: '| Client identifier, can be obtained using the method crm.item.list for contacts and companies ||'
                type:
                  type: object
                  description: '| Client type in the format `{"module": "crm", "code": "CONTACT"}`.'
              required:
              - bookingId
              - clients
              - id
              - type
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
                clients:
                  type: array
                  items: {}
                  description: '| An array of objects containing information about clients (detailed description) ||'
                id:
                  type: integer
                  description: '| Client identifier, can be obtained using the method crm.item.list for contacts and companies ||'
                type:
                  type: object
                  description: '| Client type in the format `{"module": "crm", "code": "CONTACT"}`.'
              required:
              - bookingId
              - clients
              - id
              - type
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.client.unset:
    post:
      summary: Remove clients from booking booking.v1.booking.client.unset
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.client.unset` removes clients for the specified booking.
      operationId: booking_v1_booking_client_unset
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/client/booking-v1-booking-client-unset.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.createfromwaitlist:
    post:
      summary: Create a Booking from the Waitlist booking.v1.booking.createfromwaitlist
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.createfromwaitlist` creates a booking based on an entry from the waitlist.
      operationId: booking_v1_booking_createfromwaitlist
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/booking-v1-booking-createfromwaitlist.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                waitListId:
                  type: integer
                  description: '| Identifier of the entry in the waitlist.'
                fields:
                  type: object
                  description: '| Object containing field values for creating a booking (detailed description) ||'
                resourceIds:
                  type: array
                  items: {}
                  description: '| Array of resource identifiers for the booking.'
                name:
                  type: string
                  description: '| Name of the booking.'
                description:
                  type: string
                  description: '| Description of the booking.'
                datePeriod:
                  type: object
                  description: '| Object containing the booking time (detailed description) ||'
                from:
                  type: object
                  description: '| Start time of the booking in the format `{"timestamp": "1723446900", "timezone": "Europe/Berlin"}`||'
                to:
                  type: object
                  description: '| End time of the booking in the format `{"timestamp": "1723447800", "timezone": "Europe/Berlin"}` ||'
              required:
              - waitListId
              - resourceIds
              - datePeriod
              - from
              - to
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                waitListId:
                  type: integer
                  description: '| Identifier of the entry in the waitlist.'
                fields:
                  type: object
                  description: '| Object containing field values for creating a booking (detailed description) ||'
                resourceIds:
                  type: array
                  items: {}
                  description: '| Array of resource identifiers for the booking.'
                name:
                  type: string
                  description: '| Name of the booking.'
                description:
                  type: string
                  description: '| Description of the booking.'
                datePeriod:
                  type: object
                  description: '| Object containing the booking time (detailed description) ||'
                from:
                  type: object
                  description: '| Start time of the booking in the format `{"timestamp": "1723446900", "timezone": "Europe/Berlin"}`||'
                to:
                  type: object
                  description: '| End time of the booking in the format `{"timestamp": "1723447800", "timezone": "Europe/Berlin"}` ||'
              required:
              - waitListId
              - resourceIds
              - datePeriod
              - from
              - to
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.delete:
    post:
      summary: Delete Booking booking.v1.booking.delete
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.delete` removes a booking.
      operationId: booking_v1_booking_delete
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/booking-v1-booking-delete.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: '| Booking identifier ||'
              required:
              - id
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: '| Booking identifier ||'
              required:
              - id
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.externalData.list:
    post:
      summary: Get Booking Connections booking.v1.booking.externalData.list
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.externalData.list` returns connections for the specified booking.
      operationId: booking_v1_booking_externalData_list
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/external-data/booking-v1-booking-externaldata-list.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.externalData.set:
    post:
      summary: Set Connections for Booking booking.v1.booking.externalData.set
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.externalData.set` establishes connections for the specified booking.
      operationId: booking_v1_booking_externalData_set
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/external-data/booking-v1-booking-externaldata-set.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
                externalData:
                  type: array
                  items: {}
                  description: '| Array of objects containing items for binding (detailed description) ||'
                moduleId:
                  type: string
                  description: '| Module identifier, for example `crm` ||'
                entityTypeId:
                  type: string
                  description: '| Object type ID, for example `DEAL` ||'
                value:
                  type: string
                  description: '| Item ID, for example `1` ||'
              required:
              - bookingId
              - externalData
              - moduleId
              - entityTypeId
              - value
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
                externalData:
                  type: array
                  items: {}
                  description: '| Array of objects containing items for binding (detailed description) ||'
                moduleId:
                  type: string
                  description: '| Module identifier, for example `crm` ||'
                entityTypeId:
                  type: string
                  description: '| Object type ID, for example `DEAL` ||'
                value:
                  type: string
                  description: '| Item ID, for example `1` ||'
              required:
              - bookingId
              - externalData
              - moduleId
              - entityTypeId
              - value
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.externalData.unset:
    post:
      summary: Remove connections for booking booking.v1.booking.externalData.unset
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.externalData.unset` removes connections for the specified booking.
      operationId: booking_v1_booking_externalData_unset
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/external-data/booking-v1-booking-externaldata-unset.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                bookingId:
                  type: integer
                  description: '| Booking identifier.'
              required:
              - bookingId
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.get:
    post:
      summary: Get Information About Booking booking.v1.booking.get
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.get` returns information about a booking by its identifier.
      operationId: booking_v1_booking_get
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/booking-v1-booking-get.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: '| Booking identifier ||'
              required:
              - id
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: '| Booking identifier ||'
              required:
              - id
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.list:
    post:
      summary: Get the list of bookings booking.v1.booking.list
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.list` returns a list of bookings based on the filter. It is an implementation of the listing method for bookings.
      operationId: booking_v1_booking_list
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/booking-v1-booking-list.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                FILTER:
                  type: object
                  description: '| Object for filtering the list of bookings, description of available fields below ||'
                ORDER:
                  type: object
                  description: '| Object for sorting the list of bookings. The sorting direction can take the following values:'
                within:
                  type: object
                  description: '| Object for filtering by booking time in the format `{"dateFrom": "0", "dateTo": "1739262600"}`, where'
                client:
                  type: object
                  description: '| Object for filtering by client, accepts an array of `entities` objects with fields'
                id:
                  type: string
                  description: '| Sort by identifier ||'
                dateFrom:
                  type: string
                  description: '| Sort by start date ||'
                dateTo:
                  type: string
                  description: '| Sort by end date ||'
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                FILTER:
                  type: object
                  description: '| Object for filtering the list of bookings, description of available fields below ||'
                ORDER:
                  type: object
                  description: '| Object for sorting the list of bookings. The sorting direction can take the following values:'
                within:
                  type: object
                  description: '| Object for filtering by booking time in the format `{"dateFrom": "0", "dateTo": "1739262600"}`, where'
                client:
                  type: object
                  description: '| Object for filtering by client, accepts an array of `entities` objects with fields'
                id:
                  type: string
                  description: '| Sort by identifier ||'
                dateFrom:
                  type: string
                  description: '| Sort by start date ||'
                dateTo:
                  type: string
                  description: '| Sort by end date ||'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixResponse'
        4XX:
          description: Request error (400, 401, 403)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BitrixError'
      security:
      - AccessToken: []
      - OAuth2:
        - booking
  /booking.v1.booking.update:
    post:
      summary: Update Booking booking.v1.booking.update
      description: If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the [MCP server](../../../ai-tools/mcp.md) so that the assistant can utilize the official REST documentation. The method `booking.v1.booking.update` updates the booking information.
      operationId: booking_v1_booking_update
      tags:
      - Online Booking
      externalDocs:
        url: https://apidocs.bitrix24.com/api-reference/booking/booking/booking-v1-booking-update.html
        description: Official Documentation
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: '| Booking identifier ||'
                fields:
                  type: object
                  description: '| Object containing field values for updating the booking (detailed description) ||'
                resourceIds:
                  type: array
                  items: {}
                  description: '| Array of resource identifiers.'
                name:
                  type: string
                  description: '| Booking name ||'
                description:
                  type: string
                  description: '| Booking description ||'
                datePeriod:
                  type: object
                  description: '| Object containing the booking time (detailed description) ||'
                from:
                  type: object
                  description: '| Start time of the booking in the format `{"timestamp": "1723446900", "timezone": "Europe/Berlin"}` ||'
                to:
                  type: object
                  description: '| End time of the booking in the format `{"timestamp": "1723447800", "timezone": "Europe/Berlin"}` ||'
              required:
              - id
              - fields
              - from
              - to
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: '| Booking identifier ||'
                fields:
                  type: object
                  description: '| Object containing field values for updating the booking (detailed description) ||'
                resourceIds:
                  type: array
                  items: {}
                  description: '| Array of resource identifiers.'
                name:
                  type: string
                  description: '| Booking name ||'
                description:
                  type: string
                  description: '| Booking description ||'
                datePeriod:
                  type: object
                  description: '| Object containing the booking time (detailed description) ||'
                from:
                  type: object
                  description: '| Start time of the booking in the format `{"timestamp": "1723446900", "timezone": "Europe/Berlin"}` ||'
                to:
                  type: object
                  description: '| End time of the booking in the format `{"timestamp": "1723447800", "timezone": "Europe/Berlin"}` ||'
              required:
              - id
       

# --- truncated at 32 KB (120 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitrix24/refs/heads/main/openapi/bitrix24-online-booking-api-openapi.yml