Smoobu

Smoobu is an all-in-one vacation rental channel manager and property management system for short-term rental hosts and property managers. It synchronizes availability, rates, and reservations across Airbnb, Booking.com, Vrbo, and other channels, and provides a booking website, unified guest inbox, automated messaging, guest online check-in, invoicing, and dynamic pricing. The Smoobu REST API (base https://login.smoobu.com/api) lets Professional subscribers and integration partners read and write apartments, reservations, rates and availability, guests, and guest messages, and receive webhook notifications when bookings change. Authentication is via an API key header (with HMAC-signed requests recommended and OAuth 2 available for partners).

6 APIs 0 Features
Vacation RentalChannel ManagerProperty ManagementShort-Term RentalReservationsHospitality

APIs

Smoobu Reservations API

List, retrieve, create, update, and delete reservations (bookings) across all connected channels, with rich filtering by created, arrival, departure, and modified dates. Manage ...

Smoobu Apartments API

List all apartments (properties/listings) in a Smoobu account and retrieve a single apartment's details - name, location, currency, rooms, amenities, and connected-channel metad...

Smoobu Rates and Availability API

Read daily rates, prices, availability, and minimum-length-of-stay per apartment over a date range, and push rate, price, availability, and restriction updates back to Smoobu (w...

Smoobu Guests API

List and retrieve guest records - name, contact details, address, language, and the reservations associated with each guest - for use in CRM, communication, and guest-experience...

Smoobu Messaging API

Read the message history for a reservation, list message threads across the unified inbox, and send messages to the guest or to the host (channel) on a reservation - powering au...

Smoobu Webhooks

Register an HTTPS endpoint to receive server-to-server webhook callbacks when reservations change. Smoobu POSTs a JSON payload with an action field (newReservation, updateReserv...

Collections

Smoobu API

OPEN

Pricing Plans

Smoobu Plans Pricing

4 plans

PLANS

Rate Limits

Smoobu Rate Limits

1 limits

RATE LIMITS

FinOps

Smoobu Finops

FINOPS

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Smoobu API
  version: '1.0'
request:
  auth:
    type: apikey
    apikey:
      key: Api-Key
      value: '{{apiKey}}'
      in: header
items:
- info:
    name: User
    type: folder
  items:
  - info:
      name: Get the authenticated user.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/me
    docs: Returns the Smoobu account associated with the API key.
- info:
    name: Apartments
    type: folder
  items:
  - info:
      name: List apartments.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/apartments
    docs: Lists all apartments (properties/listings) in the account.
  - info:
      name: Get an apartment.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/apartments/:apartmentId
      params:
      - name: apartmentId
        value: ''
        type: path
        description: The apartment id.
    docs: Retrieves a single apartment's details by id.
- info:
    name: Reservations
    type: folder
  items:
  - info:
      name: List reservations.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/reservations?page=1&pageSize=25
      params:
      - name: from
        value: ''
        type: query
        description: Arrival on or after this date.
      - name: to
        value: ''
        type: query
        description: Departure on or before this date.
      - name: apartmentId
        value: ''
        type: query
        description: Restrict to a single apartment.
      - name: includePriceElements
        value: ''
        type: query
        description: Include price elements in the response.
      - name: page
        value: '1'
        type: query
        description: Page number.
      - name: pageSize
        value: '25'
        type: query
        description: Page size.
    docs: Lists reservations, filterable by date ranges and apartment, with pagination.
  - info:
      name: Create a reservation.
      type: http
    http:
      method: POST
      url: https://login.smoobu.com/api/reservations
      body:
        type: json
        data: "{\n  \"arrivalDate\": \"2026-08-01\",\n  \"departureDate\": \"2026-08-05\",\n  \"apartmentId\": 0,\n  \"channelId\"\
          : 0,\n  \"firstName\": \"Jane\",\n  \"lastName\": \"Doe\",\n  \"email\": \"jane@example.com\",\n  \"adults\": 2,\n\
          \  \"price\": 400\n}"
    docs: Creates a reservation (booking or blocked period) on an apartment.
  - info:
      name: Get a reservation.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/reservations/:reservationId
      params:
      - name: reservationId
        value: ''
        type: path
        description: The reservation id.
    docs: Retrieves a single reservation by id.
  - info:
      name: Update a reservation.
      type: http
    http:
      method: PUT
      url: https://login.smoobu.com/api/reservations/:reservationId
      params:
      - name: reservationId
        value: ''
        type: path
        description: The reservation id.
      body:
        type: json
        data: '{}'
    docs: Updates an existing reservation.
  - info:
      name: Delete a reservation.
      type: http
    http:
      method: DELETE
      url: https://login.smoobu.com/api/reservations/:reservationId
      params:
      - name: reservationId
        value: ''
        type: path
        description: The reservation id.
    docs: Deletes (cancels) a reservation by id.
  - info:
      name: List price elements.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/reservations/:reservationId/price-elements
      params:
      - name: reservationId
        value: ''
        type: path
        description: The reservation id.
    docs: Lists the price elements (line items) on a reservation.
- info:
    name: Rates and Availability
    type: folder
  items:
  - info:
      name: Get rates and availability.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/rates?start_date=&end_date=&apartments[]=
      params:
      - name: start_date
        value: ''
        type: query
        description: Start of the date range.
      - name: end_date
        value: ''
        type: query
        description: End of the date range.
      - name: apartments[]
        value: ''
        type: query
        description: One or more apartment ids.
    docs: Returns daily rate, price, availability, and minimum-length-of-stay per apartment over a date range.
  - info:
      name: Update rates and availability.
      type: http
    http:
      method: POST
      url: https://login.smoobu.com/api/rates
      body:
        type: json
        data: "{\n  \"apartments\": [0],\n  \"operations\": [\n    {\n      \"dates\": [\"2026-08-01\", \"2026-08-02\"],\n\
          \      \"daily_price\": 120,\n      \"min_length_of_stay\": 2,\n      \"available\": 1\n    }\n  ]\n}"
    docs: Pushes rate, price, availability, and restriction updates to Smoobu, which propagates them to connected channels.
  - info:
      name: Check apartment availability.
      type: http
    http:
      method: POST
      url: https://login.smoobu.com/booking/checkApartmentAvailability
      body:
        type: json
        data: "{\n  \"arrivalDate\": \"2026-08-01\",\n  \"departureDate\": \"2026-08-05\",\n  \"apartments\": [0],\n  \"guests\"\
          : 2\n}"
    docs: Checks which of the given apartments are available for a stay and returns the price.
- info:
    name: Guests
    type: folder
  items:
  - info:
      name: List guests.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/guests?page=1&pageSize=25
      params:
      - name: page
        value: '1'
        type: query
        description: Page number.
      - name: pageSize
        value: '25'
        type: query
        description: Page size.
    docs: Lists guest records, with pagination.
  - info:
      name: Get a guest.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/guests/:guestId
      params:
      - name: guestId
        value: ''
        type: path
        description: The guest id.
    docs: Retrieves a single guest record by id.
- info:
    name: Messaging
    type: folder
  items:
  - info:
      name: List reservation messages.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/reservations/:reservationId/messages
      params:
      - name: reservationId
        value: ''
        type: path
        description: The reservation id.
    docs: Lists the message history for a reservation.
  - info:
      name: Send a message to the guest.
      type: http
    http:
      method: POST
      url: https://login.smoobu.com/api/reservations/:reservationId/messages/send-message-to-guest
      params:
      - name: reservationId
        value: ''
        type: path
        description: The reservation id.
      body:
        type: json
        data: "{\n  \"messageBody\": \"Hello, welcome!\"\n}"
    docs: Sends a message to the guest on a reservation.
  - info:
      name: Send a message to the host.
      type: http
    http:
      method: POST
      url: https://login.smoobu.com/api/reservations/:reservationId/messages/send-message-to-host
      params:
      - name: reservationId
        value: ''
        type: path
        description: The reservation id.
      body:
        type: json
        data: "{\n  \"messageBody\": \"Hello, host!\"\n}"
    docs: Sends a message to the host/channel on a reservation.
  - info:
      name: List message threads.
      type: http
    http:
      method: GET
      url: https://login.smoobu.com/api/threads?page_number=1&page_size=25
      params:
      - name: page_number
        value: '1'
        type: query
        description: Page number.
      - name: page_size
        value: '25'
        type: query
        description: Page size.
      - name: apartments[]
        value: ''
        type: query
        description: One or more apartment ids.
    docs: Lists message threads across the unified inbox, with pagination.
bundled: true