PMSs: How to connect to Beds24 and use Airbnb via API V2

PMSs, property management companies and similar systems can use API V2 to offer their customers Airbnb connectivity through Beds24, without the customers logging in to Beds24. Most setup and booking management actions are available via API, and the function is available as a white label option if required.

Quick Guide

  1. Generate an invite code on the API page and exchange it for a refresh token with GET /authentication/setup.
  2. Import existing Airbnb listings with POST /channels/airbnb, or create properties and rooms with POST /properties.
  3. Map each Airbnb listing to its Beds24 room with POST /channels/airbnb.
  4. Get bookings with GET /bookings or booking webhooks, and sync prices and availability with POST /inventory/rooms/calendar.

Contents

Before you start

  • Get a basic understanding of how Beds24 works: go through the Introduction and create a test property with prices and any data you intend to use.
  • Use API V2. Beds24 has two API versions, V1 and V2, and recommends V2 for any new projects. See the API V2 documentation.
  • Try the examples in the interactive Swagger documentation.

Authenticate with API V2

API V2 uses refresh tokens, which generate access tokens. Include the token as a header in your requests in this format: token: {token}

  1. Go to the API page in the control panel and click Generate invite code.
  2. Select the scopes you need, then click Generate invite code again.
  3. Copy the invite code.
  4. Exchange it for a refresh token with the GET /authentication/setup endpoint. You can try this yourself on the Swagger page for GET /authentication/setup.

Expected result: The response contains a short-term access token to authenticate other API calls, expiresIn (how many seconds the token lasts) and a refreshToken to generate more tokens in the future. For the full request and response, see Get a refresh token in API V2.

Import Airbnb listings as Beds24 properties

If you already have Airbnb listings, import them to Beds24 with the POST /channels/airbnb endpoint:

[
  {
    "action": "importAsNewProperty",
    "airbnbUserId": "123456",
    "airbnbListingId": "789012",
    "connect": "full"
  }
]

Create properties in Beds24

Create your Beds24 properties with the POST /properties endpoint. Try creating a very basic property with this request:

[
  {
    "name": "Luxury Hotel",
    "propertyType": "hotel",
    "currency": "USD"
  }
]

Expected result: The new property shows in the properties page of the control panel.

Tip: In Swagger, click Schema under POST /properties to see all the fields you can set with this endpoint.

Add a room

Your property also needs a room. Add a new room to an existing property through POST /properties. You need the id of the property you created: it's in the response to the request above, and you can also find it with the GET /properties endpoint.

Add a new room to an existing property (replace 1234567 with the id of your property):

[
  {
    "id": 1234567,
    "roomTypes": [
      {
        "name": "Standard room"
      }
    ]
  }
]

Map listings to rooms

To update your Airbnb listings, map each one to the corresponding room in Beds24. Connect an Airbnb listing to a Beds24 room with the POST /channels/airbnb endpoint:

[
  {
    "action": "connectToExistingRoom",
    "airbnbUserId": "123456",
    "airbnbListingId": "789012",
    "connect": "full",
    "roomId": 3456789
  }
]

Get bookings

Airbnb sends bookings to Beds24. Get them with the GET /bookings endpoint, have them sent to you with booking webhooks, or use a combination of the two.

Sync price and availability

Update prices and availability with the POST /inventory/rooms/calendar endpoint. Try changing the price and minimum stay of a room:

[
  {
    "roomId": 1234567,
    "calendar": [
      {
        "from": "2025-01-01",
        "to": "2025-01-31",
        "minStay": 2,
        "price1": 150,
      }
    ]
  }
]

Expected result: The changes show on the calendar page in the control panel and in the response of the GET /inventory/rooms/calendar endpoint.

Tip: Click Schema in the Swagger page for POST /inventory/rooms/calendar to see what else you can change this way.

Message guests

Beds24 integrates with Airbnb's messaging API. You can message guests with the POST /bookings/messages endpoint, and see existing messages with the GET /bookings/messages endpoint.

Reviews, listing and user data

Data Endpoint
Airbnb reviews GET /channels/airbnb/reviews
Your Airbnb listing data GET /channels/airbnb/listings
Your Airbnb user data GET /channels/airbnb/users

Related Articles

Was this article helpful?
0 out of 0 found this helpful

How to Contact us :