Docs/Channels/Airbnb

Manage Airbnb Listings

List, create, publish, unlist, and delete listings on Airbnb. The default response is a fast index of every listing connected to the workspace. Pass `?include=amenities` to enrich each connection with its current Airbnb amenity set (one extra upstream call per unique listing id, fanned out in parallel — per-connection failures surface in `_errors.amenities` rather than failing the whole request).

GET/v1/channels/airbnb/listings

Parameters

includestring

Comma-separated expansions. Currently supported: `amenities` — adds `amenities` and `accessibilityAmenities` arrays to each connection.

Example

# List Airbnb-connected properties (fast — local data only)
curl https://api.repull.dev/v1/channels/airbnb/listings \
  -H "Authorization: Bearer sk_test_YOUR_KEY"

# Same list, but include each property's current Airbnb amenities
curl 'https://api.repull.dev/v1/channels/airbnb/listings?include=amenities' \
  -H "Authorization: Bearer sk_test_YOUR_KEY"

# Get a single Vanio listing's Airbnb connections (with amenities)
curl 'https://api.repull.dev/v1/channels/airbnb/listings/6248?include=amenities' \
  -H "Authorization: Bearer sk_test_YOUR_KEY"

# Create a new Airbnb listing
curl -X POST https://api.repull.dev/v1/channels/airbnb/listings \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -d '{"listingId": 123, "hostId": "380436627"}'

# Publish a listing
curl -X POST https://api.repull.dev/v1/channels/airbnb/listings/123 \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -d '{"action": "publish", "connectionId": 456}'

Response

{
  "data": [
    {
      "listingId": 6248,
      "name": "Oceanview Villa",
      "city": "Malibu",
      "connections": [
        {
          "id": 2642,
          "airbnbId": "1116939745194659457",
          "hostId": "23998907",
          "active": true,
          "syncEnabled": true,
          "primary": true,
          "markup": "0.16",
          "createdAt": "2024-12-15T20:39:07.346Z",
          "amenities": [
            { "id": "WIFI", "isPresent": true, "name": "Wifi", "category": "common" },
            { "id": "POOL", "isPresent": true, "name": "Pool", "category": "outdoors" }
          ],
          "accessibilityAmenities": []
        }
      ]
    }
  ],
  "pagination": { "nextCursor": null, "hasMore": false, "total": 1 }
}
AI