Getting started with the Profitroom REST API
For administrators and technical hoteliers connecting third-party modules to Profitroom.
Overview
The Profitroom API is a REST interface that lets authorised third-party applications read and write data inside a Profitroom property account. Every request must be authenticated with an API key generated from the Profitroom admin panel. Requests are made over HTTPS and responses are returned as JSON.
Authentication
Include your Profitroom API key in the X-Api-Key header on every request. Example: X-Api-Key: <your-profitroom-api-key>. Keys must be kept confidential. If a key is compromised, revoke it from the Profitroom admin panel and generate a replacement immediately.
Core endpoint categories
- Reservations: GET/POST/PATCH operations on reservation records. Includes arrival and departure, room type, rate plan, guest contact details, origin channel and payment status.
- Rates: GET to fetch current rates; POST to push updates across a date range and specific room types. Required for revenue-optimisation modules.
- Guest profiles: GET the profile by reservation or by guest identifier; POST to update profiles. Required for pre-arrival and CRM modules.
- Channels: GET to list connected channels and their status. Read-only — channel connections are managed inside the Profitroom channel-manager interface.
- Reports: GET night-audit data, pickup report and occupancy summary. Required for the Advanced Analytics & BI Dashboard and accounting sync workflows.
- Webhooks: register a webhook URL to receive event notifications (new reservation, check-out, cancellation). Required for the REST API Custom Webhooks Extension and Booking Recovery Automation.
Rate limiting
Profitroom enforces a rate limit per API key. Exceeding the limit returns HTTP 429. Implement exponential back-off — wait 1 second after the first 429, 2 seconds after the second, 4 seconds after the third, and so on. Batch requests by date range wherever possible instead of calling the API per room-night, which keeps call volume low and avoids hitting the ceiling.
Error handling
| HTTP status | Meaning | Action |
|---|---|---|
| 200/201 | Success | Process the response normally |
| 400 | Bad request — malformed payload | Check the request structure against the API docs |
| 401 | Unauthorised — invalid API key | Verify the API key is correct and has not been revoked |
| 403 | Forbidden — insufficient permissions | Check the API key scopes inside Profitroom |
| 404 | Resource not found | Verify the reservation or rate-plan identifier |
| 429 | Rate limit exceeded | Implement exponential back-off |
| 500/503 | Profitroom server error | Retry after 60 seconds; contact Profitroom support if it persists |
Sandbox and test environment
Profitroom provides a sandbox environment for API testing on selected subscription tiers. Ask your Profitroom account manager for access. Profitroomshop runs integration tests against the Profitroom sandbox before every module release and after every notified Profitroom API update.