Welcome to the Kip API documentation. This page provides information about all available endpoints, their parameters, and requirements.
https://api.kiphideaways.com/api
Perform an Elasticsearch query against a specific index. Supports both GET and POST methods.
Rate Limit: 30 requests per minute| Parameter | Type | Required | Description |
|---|---|---|---|
index |
string | Yes | Elasticsearch index name (must be in allowed list) |
| Parameter | Type | Required | Description |
|---|---|---|---|
q |
JSON string | Yes | Elasticsearch query body as JSON string. Can include pit for point-in-time queries. |
GET https://api.kiphideaways.com/api/search/hideaways?q={"query":{"match_all":{}}}
Same as GET endpoint but accepts query in request body. Use this for complex queries.
Rate Limit: 30 requests per minuteSearch for hideaways with typeahead/autocomplete functionality. Returns formatted results with location suggestions.
Rate Limit: 30 requests per minute| Parameter | Type | Required | Description |
|---|---|---|---|
q |
string | Yes | Search query (2-100 characters) |
page |
integer | Optional | Page number (default: 1, min: 1) |
per_page |
integer | Optional | Results per page (default: 10, min: 1, max: 25) |
GET https://api.kiphideaways.com/api/typeahead?q=perth&page=1&per_page=10
Create a Point-In-Time (PIT) context for Elasticsearch queries to ensure consistent results across pagination.
Rate Limit: 30 requests per minute| Parameter | Type | Required | Description |
|---|---|---|---|
index |
string | Yes | Elasticsearch index name (must be in allowed list) |
keep_alive_minutes |
integer | Optional | PIT keep-alive time in minutes (default: 5, min: 1, max: 30) |
Close a Point-In-Time (PIT) context to free up resources.
Rate Limit: 30 requests per minute| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | PIT ID to close (100-250 characters) |
Search for property availability based on various criteria including dates, persons, price, and Supercontrol ID.
Rate Limit: 15 requests per minute| Parameter | Type | Required | Description |
|---|---|---|---|
start_date |
date | Optional | Exact start date match (YYYY-MM-DD). Must be before or equal to end_date. |
end_date |
date | Optional | Exact end date match (YYYY-MM-DD). Must be after or equal to start_date. |
start_date_between |
date | Optional | Start date greater than or equal to (for range queries). Must be before or equal to end_date_between. |
end_date_between |
date | Optional | End date less than or equal to (for range queries). Must be after or equal to start_date_between. |
persons |
integer | Optional | Exact number of persons (min: 1) |
price |
numeric | Optional | Maximum price filter (less than or equal to, min: 0) |
supercontrol_id |
string | Optional | Exact Supercontrol property ID |
exclude_gap_filled |
boolean | Optional | Exclude gap-filled records (default: false) |
per_page |
integer | Optional | Results per page (default: 15, -1 for all results) |
page |
integer | Optional | Page number (default: 1, min: 1) |
GET https://api.kiphideaways.com/api/property-availability/search?start_date_between=2024-06-01&end_date_between=2024-06-30&persons=4&per_page=20
Get all unique occupancy (persons) options for a property or all properties.
Rate Limit: 15 requests per minute| Parameter | Type | Required | Description |
|---|---|---|---|
supercontrol_id |
string | Optional | Filter by Supercontrol property ID |
Get user bookings by email address. Returns paginated list of bookings with status filtering.
Rate Limit: 15 requests per minute Requires API Key AuthenticationThis endpoint requires API key authentication. Provide the key via:
X-API-Key: your-api-key (Recommended)api_key: your-api-key| Parameter | Type | Required | Description |
|---|---|---|---|
email |
string | Yes | User email address (valid email format, max: 255 characters) |
page |
integer | Optional | Page number (default: 1, min: 1) |
per_page |
integer | Optional | Results per page (default: 10, min: 1, max: 50) |
status |
string | Optional | Filter by status: CANCELLED, CONFIRMED, or PROVISIONAL |
status_not_in |
string | Optional | Exclude status: CANCELLED, CONFIRMED, or PROVISIONAL |
api_key |
string | Optional* | API key (if not provided in header) |
* API key is required either in header or body
POST https://api.kiphideaways.com/api/bookings/user
Headers:
Content-Type: application/json
X-API-Key: your-api-key
Body:
{
"email": "user@example.com",
"page": 1,
"per_page": 10
}
config/app.php via the BOOKINGS_API_KEY environment variable.
Remote Artisan command execution from WordPress plugin. Triggers background jobs for indexing hideaways, availability, and bookings.
Requires Client Token & IP WhitelistThis endpoint requires:
index scope| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | Action to perform: reindex or availability |
post_id |
integer | Conditional | WordPress post ID (required if action is single property reindex) |
skip_last_update_checks |
boolean | Optional | Skip last update checks (only used when post_id is empty) |
Log frontend errors from client applications.
| Parameter | Type | Required | Description |
|---|---|---|---|
error |
string | Yes | Error message (max: 255 characters) |
bag |
JSON string | Yes | Additional error context as JSON string |
log_frontend_errors).
Retrieve logged frontend errors. Requires authentication key.
| Parameter | Type | Required | Description |
|---|---|---|---|
key |
string | Yes | Authentication key (must match frontend_error_logger_key config) |
from |
date | Optional | Filter errors from this date |
to |
date | Optional | Filter errors until this date |
Get the authenticated user information.
Requires Sanctum Authentication