# Hotelgest Public API > The integration surface of the Hotelgest property management system. Read and write > bookings, check availability, pull invoices and payments, and subscribe to booking events > with webhooks. REST over HTTPS, JSON throughout. Authentication is a single header, `x-api-key`, issued per property in the PMS under Settings → API keys. Every endpoint but `GET /api/otas` is scoped to one property code (`pcode`) in its path, and a key only works for its own property. Rate limits: 120 requests per minute per key and 300 per minute per property, counted across all endpoints together. ## Reference - [Complete reference, one document](https://public-api.hotelgest.com/llms-full.txt): every endpoint with its parameters, request body, responses and field types - [OpenAPI specification](https://public-api.hotelgest.com/specs/public.json): the machine-readable source these docs are generated from ## Properties - [Get property check-in and check-out times](https://public-api.hotelgest.com/md/get-api-properties-pcode-settings-lite.md): `GET /api/properties/{pcode}/settings/lite` - [Get custom cancellation policies](https://public-api.hotelgest.com/md/get-api-properties-pcode-settings-custom-policies.md): `GET /api/properties/{pcode}/settings/custom-policies` ## Rooms - [Get room availability](https://public-api.hotelgest.com/md/get-api-v2-rooms-pcode-availability.md): `GET /api/v2/rooms/{pcode}/availability` - [Get room types and rooms](https://public-api.hotelgest.com/md/get-api-rooms-pcode-types.md): `GET /api/rooms/{pcode}/types` ## Bookings - [Search bookings](https://public-api.hotelgest.com/md/get-api-v2-bookings-pcode-search.md): `GET /api/v2/bookings/{pcode}/search` - [Search individual bookings (no groups)](https://public-api.hotelgest.com/md/get-api-v2-bookings-pcode-search-only-single.md): `GET /api/v2/bookings/{pcode}/search/only-single` - [Search group bookings only](https://public-api.hotelgest.com/md/get-api-v2-bookings-pcode-search-only-groups.md): `GET /api/v2/bookings/{pcode}/search/only-groups` - [Get booking details](https://public-api.hotelgest.com/md/get-api-bookings-pcode-detail-bookingid.md): `GET /api/bookings/{pcode}/detail/{bookingId}` - [Create booking](https://public-api.hotelgest.com/md/post-api-v5-bookings-pcode.md): `POST /api/v5/bookings/{pcode}` - [Check-in / Check-out booking](https://public-api.hotelgest.com/md/put-api-bookings-pcode-check-in-out-bookingid.md): `PUT /api/bookings/{pcode}/check-in-out/{bookingId}` - [Get booking payments](https://public-api.hotelgest.com/md/get-api-v2-bookings-pcode-payments-bookingid.md): `GET /api/v2/bookings/{pcode}/payments/{bookingId}` - [Get booking invoices](https://public-api.hotelgest.com/md/get-api-v2-bookings-pcode-invoices-bookingid.md): `GET /api/v2/bookings/{pcode}/invoices/{bookingId}` - [Get booking proformas](https://public-api.hotelgest.com/md/get-api-v2-bookings-pcode-proformas-bookingid.md): `GET /api/v2/bookings/{pcode}/proformas/{bookingId}` - [Get booking products](https://public-api.hotelgest.com/md/get-api-v2-bookings-pcode-products-bookingid.md): `GET /api/v2/bookings/{pcode}/products/{bookingId}` - [Get booking deposits](https://public-api.hotelgest.com/md/get-api-bookings-pcode-deposits-bookingid.md): `GET /api/bookings/{pcode}/deposits/{bookingId}` - [Get customer document image](https://public-api.hotelgest.com/md/get-api-bookings-pcode-customer-image-hash.md): `GET /api/bookings/{pcode}/customer-image/{hash}` ## Misc - [List OTAs (Online Travel Agencies)](https://public-api.hotelgest.com/md/get-api-otas.md): `GET /api/otas` ## Webhooks - [List all webhooks](https://public-api.hotelgest.com/md/get-api-webhooks-pcode.md): `GET /api/webhooks/{pcode}` - [Create webhook](https://public-api.hotelgest.com/md/post-api-webhooks-pcode.md): `POST /api/webhooks/{pcode}` - [Update webhook](https://public-api.hotelgest.com/md/put-api-webhooks-pcode.md): `PUT /api/webhooks/{pcode}` - [Delete webhook](https://public-api.hotelgest.com/md/delete-api-webhooks-pcode-id.md): `DELETE /api/webhooks/{pcode}/{id}` - [Enable webhook](https://public-api.hotelgest.com/md/patch-api-webhooks-pcode-id-enable.md): `PATCH /api/webhooks/{pcode}/{id}/enable` - [Disable webhook](https://public-api.hotelgest.com/md/patch-api-webhooks-pcode-id-disable.md): `PATCH /api/webhooks/{pcode}/{id}/disable` - [Test webhook](https://public-api.hotelgest.com/md/post-api-webhooks-pcode-test.md): `POST /api/webhooks/{pcode}/test` - [Get webhook delivery logs](https://public-api.hotelgest.com/md/get-api-webhooks-pcode-id-logs.md): `GET /api/webhooks/{pcode}/{id}/logs`