Build on the Propeter Platform
Getting Started
Authentication Base URL Error CodesRates
GET /rates POST /rates/override GET /rates/traceReservations
GET /reservations POST /reservations GET /reservations/:idRooms
GET /rooms GET /availabilityReports
GET /reports/revparWebhooks
Webhook EventsReference
Rate Limits SDKs & LibrariesBase URL
https://api.propeter.com/v1
All API requests must be made over HTTPS. HTTP requests will be rejected. The API is versioned — the current stable version is v1.
Authentication
Propeter uses OAuth 2.0 Client Credentials flow for server-to-server API access. Include your access token in the Authorization header.
Request an access token
POST https://auth.propeter.com/oauth/token
{
"grant_type": "client_credentials",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"scope": "rates:read reservations:read rooms:read"
}
Use the token
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9...
Tokens expire after 3600 seconds (1 hour). Your application should cache the token and request a new one before expiry.
Rates API
Returns AI-recommended rates for all room types across a date range. Includes 13-stage trace breakdown per room/date combination.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| property_id | string | Required | Your property UUID |
| check_in | date (YYYY-MM-DD) | Required | Start of date range |
| check_out | date (YYYY-MM-DD) | Required | End of date range (exclusive) |
| room_type_id | string | Optional | Filter by room type UUID |
| include_trace | boolean | Optional | Include 13-stage rate trace (default: false) |
Response
{
"data": [
{
"date": "2026-04-15",
"room_type_id": "rt_deluxe_001",
"room_type_name": "Deluxe Room",
"recommended_rate": 8500,
"currency": "INR",
"occupancy_forecast": 0.82,
"confidence": 0.91,
"rate_change_pct": 18.3,
"strategy_note": "High demand weekend. Local event detected."
}
],
"meta": {
"total": 60,
"generated_at": "2026-04-10T08:14:32Z",
"next_update": "2026-04-10T12:14:32Z"
}
}
Returns the full 13-stage rate engine trace for a specific room type and date. Shows each stage's input, output, and adjustment.
{
"property_id": "prop_abc123",
"room_type_id": "rt_deluxe_001",
"date": "2026-04-15",
"stages": [
{ "stage": "base_rate", "input": 7200, "output": 7200, "applied": true },
{ "stage": "inventory_adjust", "input": 7200, "output": 7560, "applied": true, "reason": "Low remaining inventory (+5%)" },
// ... all 13 stages
{ "stage": "tax_and_fee", "input": 8120, "output": 8500, "applied": true }
],
"final_rate": 8500
}
Reservations API
List reservations for a property. Supports filtering by date range, status, and booking source.
| Parameter | Type | Required | Description |
|---|---|---|---|
| property_id | string | Required | Property UUID |
| arrival_from | date | Optional | Filter by arrival date |
| arrival_to | date | Optional | Filter by arrival date |
| status | string | Optional | confirmed / cancelled / checked_in / checked_out |
| source | string | Optional | direct / ota_booking / ota_expedia / ota_airbnb |
| limit | integer | Optional | Max 100. Default 20. |
| cursor | string | Optional | Pagination cursor from previous response |
Create a reservation programmatically (for PMS sync and channel manager integration).
{
"property_id": "prop_abc123",
"room_type_id": "rt_deluxe_001",
"room_id": "room_204",
"check_in": "2026-04-15",
"check_out": "2026-04-18",
"rate_per_night": 8500,
"currency": "INR",
"guest": {
"first_name": "Arjun",
"last_name": "Mehta",
"email": "arjun@example.com",
"phone": "+919876543210"
},
"source": "direct",
"notes": "Late check-in requested"
}
Rooms & Availability
Returns real-time availability by room type and date range. Used for booking engine integration.
{
"data": [
{
"date": "2026-04-15",
"room_types": [
{
"id": "rt_deluxe_001",
"name": "Deluxe Room",
"total_rooms": 12,
"available": 4,
"rate": 8500,
"restrictions": { "min_stay": 1, "stop_sell": false }
}
]
}
]
}
Reports API
Returns RevPAR, ADR, occupancy, and TRevPAR data for a date range. Aggregated daily, weekly, or monthly.
Webhook Events
Register a webhook URL in your Propeter dashboard. We'll POST a signed JSON payload to your endpoint when events occur.
Rate Limits
| Plan | Requests / Minute | Requests / Day |
|---|---|---|
| Starter | 60 | 50,000 |
| Professional | 300 | 500,000 |
| Enterprise | Custom | Unlimited |
Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Exceeding limits returns HTTP 429.
SDKs & Libraries
Node.js / TypeScript
npm install @propeter/sdk
Full TypeScript types. Async/await. Auto-retry on 429.
Python
pip install propeter-sdk
Sync + async. Type hints. Available on PyPI.
Java
Maven artifact available. Spring Boot integration guide included.
REST (Any Language)
OpenAPI 3.0 spec available. Import into Postman, Insomnia, or any API client.
Ready to integrate?
API access is available on Professional and Enterprise plans. Contact us to get your API credentials.
Get API Access
Enhance customer engagement with our intelligent chatbot solutions. Seamlessly automate conversations and elevate user experiences with cutting-edge AI technology.
Products
Copyright © 2026 propeter | Powered by Propeter