apaleo Booking API

Bookings, reservations, blocks, groups, and offers.

Operations 11

POST /booking/v1/bookings Create a booking with one or more reservations. #
GET /booking/v1/bookings Return a list of bookings. #
GET /booking/v1/bookings/{id} Return a single booking by id. #
PATCH /booking/v1/bookings/{id} Modify the booker and related details of a booking. #
GET /booking/v1/reservations Return a list of reservations matching the filter criteria. #
GET /booking/v1/reservations/{id} Return a single reservation by id. #
PUT /booking/v1/reservation-actions/{id}/checkin Check in a reservation. #
PUT /booking/v1/reservation-actions/{id}/checkout Check out a reservation. #
POST /booking/v1/blocks Create a block of rooms for a group. #
GET /booking/v1/blocks Return a list of blocks. #
GET /booking/v1/offers Return bookable offers for the given property, dates, and occupancy. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/apaleo-booking-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

apaleo-booking-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: apaleo Platform Availability Booking API
  description: Unified OpenAPI view of the apaleo API-first hotel property-management system. apaleo exposes its capabilities as a set of versioned REST APIs - Booking, Inventory, Rate Plan, Availability, Finance, and Settings - all served from https://api.apaleo.com and secured with OAuth 2.0 bearer tokens issued by the apaleo identity provider. Real-time events are delivered via the Webhook API at https://webhook.apaleo.com.
  termsOfService: https://apaleo.com/terms
  contact:
    name: apaleo Developer Support
    url: https://apaleo.dev
  version: v1
servers:
- url: https://api.apaleo.com
  description: apaleo Core API (Booking, Inventory, Rate Plan, Availability, Finance, Settings)
security:
- oauth2: []
tags:
- name: Booking
  description: Bookings, reservations, blocks, groups, and offers.
paths:
  /booking/v1/bookings:
    post:
      tags:
      - Booking
      operationId: BookingCreateBooking
      summary: Create a booking with one or more reservations.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBookingModel'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingCreatedModel'
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
    get:
      tags:
      - Booking
      operationId: BookingGetBookings
      summary: Return a list of bookings.
      parameters:
      - name: pageNumber
        in: query
        schema:
          type: integer
          format: int32
      - name: pageSize
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
  /booking/v1/bookings/{id}:
    get:
      tags:
      - Booking
      operationId: BookingGetBookingById
      summary: Return a single booking by id.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        '404':
          description: Not Found
    patch:
      tags:
      - Booking
      operationId: BookingPatchBooking
      summary: Modify the booker and related details of a booking.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
  /booking/v1/reservations:
    get:
      tags:
      - Booking
      operationId: BookingGetReservations
      summary: Return a list of reservations matching the filter criteria.
      parameters:
      - name: propertyIds
        in: query
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - Confirmed
            - InHouse
            - CheckedOut
            - Canceled
            - NoShow
      - name: from
        in: query
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: OK
  /booking/v1/reservations/{id}:
    get:
      tags:
      - Booking
      operationId: BookingGetReservationById
      summary: Return a single reservation by id.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationItemModel'
        '404':
          description: Not Found
  /booking/v1/reservation-actions/{id}/checkin:
    put:
      tags:
      - Booking
      operationId: BookingCheckinReservation
      summary: Check in a reservation.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
  /booking/v1/reservation-actions/{id}/checkout:
    put:
      tags:
      - Booking
      operationId: BookingCheckoutReservation
      summary: Check out a reservation.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: No Content
  /booking/v1/blocks:
    post:
      tags:
      - Booking
      operationId: BookingCreateBlock
      summary: Create a block of rooms for a group.
      responses:
        '201':
          description: Created
    get:
      tags:
      - Booking
      operationId: BookingGetBlocks
      summary: Return a list of blocks.
      responses:
        '200':
          description: OK
  /booking/v1/offers:
    get:
      tags:
      - Booking
      operationId: BookingGetOffers
      summary: Return bookable offers for the given property, dates, and occupancy.
      parameters:
      - name: propertyId
        in: query
        required: true
        schema:
          type: string
      - name: arrival
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: departure
        in: query
        required: true
        schema:
          type: string
          format: date
      - name: adults
        in: query
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
components:
  schemas:
    BookingCreatedModel:
      type: object
      properties:
        id:
          type: string
        bookingId:
          type: string
        reservationIds:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
    EmbeddedPropertyModel:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    MonetaryValueModel:
      type: object
      properties:
        amount:
          type: number
          format: double
        currency:
          type: string
    ReservationItemModel:
      type: object
      properties:
        id:
          type: string
        bookingId:
          type: string
        status:
          type: string
          enum:
          - Confirmed
          - InHouse
          - CheckedOut
          - Canceled
          - NoShow
        property:
          $ref: '#/components/schemas/EmbeddedPropertyModel'
        ratePlanId:
          type: string
        arrival:
          type: string
          format: date-time
        departure:
          type: string
          format: date-time
        adults:
          type: integer
          format: int32
        totalGrossAmount:
          $ref: '#/components/schemas/MonetaryValueModel'
    CreateReservationModel:
      type: object
      required:
      - arrival
      - departure
      - adults
      - ratePlanId
      properties:
        propertyId:
          type: string
        arrival:
          type: string
          format: date-time
        departure:
          type: string
          format: date-time
        adults:
          type: integer
          format: int32
        childrenAges:
          type: array
          items:
            type: integer
            format: int32
        ratePlanId:
          type: string
        guestComment:
          type: string
    BookerModel:
      type: object
      properties:
        title:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phone:
          type: string
        address:
          $ref: '#/components/schemas/AddressModel'
    CreateBookingModel:
      type: object
      required:
      - reservations
      properties:
        booker:
          $ref: '#/components/schemas/BookerModel'
        paymentAccount:
          type: object
          additionalProperties: true
        reservations:
          type: array
          items:
            $ref: '#/components/schemas/CreateReservationModel'
    AddressModel:
      type: object
      properties:
        addressLine1:
          type: string
        addressLine2:
          type: string
        postalCode:
          type: string
        city:
          type: string
        regionCode:
          type: string
        countryCode:
          type: string
  securitySchemes:
    oauth2:
      type: oauth2
      description: apaleo uses OAuth 2.0. Obtain a bearer access token from the apaleo identity provider and send it in the Authorization header as 'Bearer {token}'. The client-credentials and authorization-code grants are supported.
      flows:
        clientCredentials:
          tokenUrl: https://identity.apaleo.com/connect/token
          scopes:
            reservations.read: Read reservations and bookings
            reservations.manage: Create and manage reservations and bookings
            setup.read: Read inventory and configuration
            setup.manage: Manage inventory and configuration
            rates.read: Read rate plans and rates
            rates.manage: Manage rate plans and rates
            availability.read: Read availability
            availability.manage: Manage availability
            folios.read: Read folios and finance data
            folios.manage: Manage folios, payments, and invoices
        authorizationCode:
          authorizationUrl: https://identity.apaleo.com/connect/authorize
          tokenUrl: https://identity.apaleo.com/connect/token
          scopes:
            reservations.read: Read reservations and bookings
            reservations.manage: Create and manage reservations and bookings
            setup.read: Read inventory and configuration
            setup.manage: Manage inventory and configuration
            rates.read: Read rate plans and rates
            rates.manage: Manage rate plans and rates
            availability.read: Read availability
            availability.manage: Manage availability
            folios.read: Read folios and finance data
            folios.manage: Manage folios, payments, and invoices