Skip to main content
POST
Create a hotel search
Searches are asynchronous: this answers 202 at once with the search in PROCESSING status while the travel suppliers answer in the background. Poll the search with its id until status is COMPLETED — or FAILED — to read the results. A hotel search lasts 30 minutes (see ttl); after that, create it again. Creating the same search again while it lasts returns the same id, and only your organization can read the searches it created. Find destinationId with the locations endpoint. To book a result, open the item for its rooms, then create a trip with the item’s id as searchItemId and the chosen rooms’ id as roomId. An error the travel provider reports about the request — an unknown destination, say — is returned with its own status, code and message.

Path Parameters

realmId
string<uuid>
required

ID of your realm.

Format: UUID

organizationId
string<uuid>
required

ID of your organization.

Format: UUID

Body

application/json
checkInDate
string
required

Check-in date (YYYY-MM-DD). Today or later, and before checkOutDate.

Minimum string length: 1
Example:

"2026-11-02"

checkOutDate
string
required

Check-out date (YYYY-MM-DD), after checkInDate.

Minimum string length: 1
Example:

"2026-11-05"

destinationId
string
required

Destination: the id or the slug of a place returned by the locations endpoint.

Minimum string length: 1
Example:

"sao-paulo-sp"

rooms
object[]
required

The rooms to search for, with who stays in each. At least one.

Minimum array length: 1

Response

Successful response

A search just created for hotels. Results come later: poll the search.

id
string
required

ID of the search. The same search parameters, within the time the search lasts, return the same ID.

Example:

"srch_Qm8Zt3LwXc1Ry7NvB0kHd"

searchParams
object
required

What the search was made for.

type
enum<string>
required

Always HOTEL.

Available options:
HOTEL
Example:

"HOTEL"

status
enum<string>
required

PROCESSING right after creation. It becomes COMPLETED or FAILED on its own: poll the search.

Available options:
PROCESSING,
FAILED,
COMPLETED
Example:

"PROCESSING"

warning
object | null
required

How the search went across the suppliers. null while it is processing.

ttl
number
required

Seconds until the search expires.

Example:

1800

facets
object | null
required

Facets to build filters from (star ratings, price ranges). null until the search completes.

createdAt
string<date-time>
required

When the search was created.

Example:

"2026-10-19T15:00:00.000Z"