canonical: https://jentic.com/apis/beds24.com/beds24

# Beds24 API V2

Jentic publishes the only available OpenAPI specification for Beds24 API V2, keeping it validated and agent-ready. Beds24 is a property management system for short-term rentals, hotels, and bed-and-breakfasts that handles bookings, room inventory, channel-manager sync with Airbnb and Booking.com, and Stripe-backed guest payments. The 38-endpoint API uses token-based authentication with refresh-token flows and exposes operations across Bookings, Inventory, Properties, Accounts, and Channels for end-to-end reservation management.

## For AI agents

Manage short-term rental bookings, room inventory and availability, properties, and channel-manager sync to Airbnb and Booking.com through Beds24's 38-endpoint property management API.

## Scope

Does not handle guest review collection, accounting ledgers, or housekeeping staff scheduling - use for booking management, room inventory, channel sync, and guest payments only.

## Capabilities

- Create, retrieve, modify, and cancel guest bookings across all linked channels
- Update room availability, calendar overrides, and fixed prices for inventory control
- Send and read in-thread booking messages between hosts and guests
- Sync listings, rates, and availability with Airbnb and Booking.com via channel endpoints
- Generate guest payment requests through the Stripe channel integration
- Manage properties, rooms, and offer setups under a Beds24 account
- Issue and rotate access tokens via the refresh-token authentication flow

## Use cases

### Channel-managed short-term rental operations

Hosts and property managers use Beds24 as the source of truth for inventory, then push availability and rates to Airbnb and Booking.com so the same room cannot be double-sold. The API's Channels endpoints let an integration update Airbnb listings and pull Booking.com reservations, while `/inventory/rooms/calendar` drives availability. Bookings created directly via POST /bookings flow back out to channels automatically.

Example prompt: Mark room 4421 unavailable from 2026-07-15 to 2026-07-22 via `/inventory/rooms/calendar` and confirm the block has propagated to the linked Airbnb listing

### Guest messaging and check-in automation

Operations teams automate guest communications around the booking lifecycle using the booking-messages endpoints. `/bookings/messages` reads the thread for a reservation and posts new messages that appear in the host inbox and on the linked channel where supported. Combined with /bookings, an automation can send check-in instructions a day before arrival and read replies overnight.

Example prompt: For booking 99821 arriving tomorrow, post a check-in instructions message containing the door code and Wi-Fi password to the booking thread

### Guest payments via the Stripe channel

Beds24's Stripe channel endpoints let property managers issue payment requests, capture deposits, and reconcile guest payments without leaving the PMS. The Channels - Stripe operations create a payment intent against a connected Stripe account and the booking record is updated when the guest completes payment, removing the need for a separate ledger.

Example prompt: Issue a 200 EUR Stripe deposit request against booking 99821 and mark the booking as paid once the guest completes the payment

### AI agent integration for property managers

Property managers run AI agents through Jentic to handle routine PMS tasks: mark rooms unavailable, send check-in messages, pull arrivals reports, or push rate changes during high season. The agent searches Jentic for the operation, loads the schema, and executes with the Beds24 token held in your Jentic One instance, so the long-life token never appears in agent context.

Example prompt: Through Jentic, find Beds24's bookings list operation and return all bookings arriving on 2026-08-01 across properties 1101 and 1102 with guest contact details

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/bookings` | List bookings with date and property filters |
| POST | `/bookings` | Create a new booking |
| POST | `/bookings/messages` | Post a message on a booking thread |
| GET | `/inventory/rooms/availability` | Read room availability |
| POST | `/inventory/rooms/calendar` | Update the calendar for a room |
| POST | `/inventory/fixedPrices` | Set fixed nightly prices for date ranges |
| GET | `/properties` | List properties on the account |
| GET | `/authentication/token` | Issue a token using a refresh token |

## Key resources

- **Bookings** — Create, modify, cancel bookings, and manage in-thread guest messages and invoices
- **Inventory** — Room availability calendars, offers, fixed prices, and unit bookings
- **Properties** — Properties and the rooms configured under each
- **Authentication** — Token setup, refresh, deletion, and detail lookups
- **Channels - Airbnb** — Sync listings, rates, and availability with Airbnb
- **Channels - Booking.com** — Pull and write Booking.com reservations and channel settings
- **Channels - Stripe** — Guest payment requests and reconciliation through a connected Stripe account
- **Accounts** — Beds24 account-level configuration and listing

## Why Jentic

- **Setup:** Wiring the Beds24 API V2 by hand means exchanging a long-life or refresh token for an access token, carrying the organization header, and learning the bookings, inventory, and property endpoints yourself. Through Jentic you install once, import the Beds24 API V2 from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Beds24 exposes collection endpoints and carries its targets in the request body rather than as a resource in the URL path, so scope the agent to the operations it needs, such as listing bookings or reading availability. You choose that operation set, so booking creation or calendar writes are not included unless you add them.
- **Credential handling:** Your Beds24 long-life token or refresh token and organization header are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list arriving bookings' or 'block a room calendar', and Jentic returns the matching Beds24 operation with its input schema so the agent calls /bookings or `/inventory/rooms/calendar` without browsing the wiki.

## Related APIs

- **Cloudbeds** — Hospitality property management system with broader hotel-grade features than Beds24's vacation-rental focus.
- **Hostfully** — Vacation rental property management platform; alternative for managers who prefer Hostfully's guest-experience tooling.
- **Stripe** — Direct Stripe integration is commonly used alongside PMS platforms for advanced refund, dispute, and payout workflows.

## FAQ

### Why is there no official OpenAPI spec for Beds24 API V2?

Beds24 does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Beds24 API V2 via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Beds24 API V2 use?

Beds24 uses a token sent in the token header. You generate either a long-life token or a short-lived token via GET `/authentication/token` using a refresh token, with optional scopes per token. Integration partners also pass an organization header. Jentic's vault stores the long-life token or refresh token and injects the headers at execution time.

### Can I sync Airbnb listings and Booking.com reservations through the Beds24 API?

Yes. The Channels - Airbnb endpoints sync listings, rates, and availability with Airbnb, and the Channels - Booking.com endpoints handle reservation pulls and channel settings. Pair these with `/inventory/rooms/calendar` so a single calendar update propagates to all linked channels.

### How do I send a guest message on a booking through Jentic?

Search Jentic for send a message on a Beds24 booking to find POST `/bookings/messages.` Load the schema and execute with the bookingId and the message body. Use GET `/bookings/messages` to read the thread back. Where the channel supports message-pass-through (Airbnb), the message will appear in the guest's channel inbox.

### Does the Beds24 API support guest payments?

Yes, via the Channels - Stripe endpoints. They create payment requests against a connected Stripe account and update the booking when the guest pays. The PMS holds the canonical paid status, so finance reconciliation does not need to query Stripe directly.

### How do I refresh a Beds24 token?

Call GET `/authentication/token` with your refresh token to receive a new short-lived access token. Use GET `/authentication/details` to confirm the token's scopes and DELETE `/authentication/token` to revoke a token when rotating credentials.

### What are the rate limits for the Beds24 API?

Beds24 enforces per-account credit limits documented at wiki.beds24.com rather than fixed requests-per-second. If you receive HTTP 429 responses or credit-exhausted errors, back off and retry, and contact Beds24 support to request additional credits for production integrations.

### Can I limit what my agent is allowed to do with the Beds24 API?

Yes. Because you self-host Jentic One, your own rules decide which Beds24 operations and credentials the agent may use, so you can grant read-only calls such as GET /bookings or GET `/inventory/rooms/availability` while withholding everything else. Beds24 carries its targets in the request body rather than the URL path, so you scope by operation rather than by resource path, and write operations like POST /bookings or POST `/inventory/rooms/calendar` are excluded unless you add them. Your long-life or refresh token is held by your Jentic One instance and injected only for the operations you have allowed.
