Getting Started
Base URL
Throughout this documentation, [[BaseUrl]] refers to the base URL of your environment.
ENGAGEMENT Environment
https://api.iperawifi.com/api/v1
MIDDLE EAST Environment
https://api.me.iperawifi.com/api/v1
Postman Collection
Download the ready-to-use Postman collection for all V1 endpoints. Import it into Postman, set the baseUrl and api_token variables, and start making requests immediately.
After importing:
- Open the collection in Postman
- Go to Variables tab
- Set
baseUrlto your environment URL (e.g.https://api.iperawifi.com/api/v1) - Set
api_tokento your Bearer token
Authentication
All API requests must include a Bearer token in the Authorization header.
Authorization: Bearer <api_token>
API tokens are provided by IPERA. Keep your token secure and do not share it publicly.
Content Type
All requests and responses use JSON. Include the Content-Type header in every request.
Content-Type: application/json
Pagination
List endpoints return paginated results. Use the page and per_page query parameters to navigate through records.
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
page | integer | 1 | — | Page number to retrieve |
per_page | integer | 10 | 100 (unless otherwise noted) | Number of records per page |
Response Structure
Every list response wraps data in a data array and includes links and meta objects:
{
"data": [...],
"links": {
"first": "[[BaseUrl]]/guests?page=1",
"last": null,
"prev": null,
"next": "[[BaseUrl]]/guests?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "[[BaseUrl]]/guests",
"per_page": 10,
"to": 10
}
}
| Field | Description |
|---|---|
meta.current_page | The page number of the current response |
meta.from / to | Index of the first and last record on this page |
links.next | URL for the next page (null on the last page) |
links.prev | URL for the previous page (null on the first page) |
Example
Fetch the second page of guests, 25 records at a time:
curl -X GET "[[BaseUrl]]/guests?page=2&per_page=25" \
-H "Authorization: Bearer <api_token>" \
-H "Content-Type: application/json"
To iterate through all pages, continue requesting links.next until it returns null.
Rate Limiting
Most endpoints are limited to 60 requests per minute. Endpoints with a different limit are noted individually in their documentation.
When you exceed the rate limit, the API returns:
Caution
HTTP/1.1 429 Too Many Requests
Error Responses
The API uses standard HTTP status codes. Common error responses are listed below.
Caution
HTTP/1.1 401 Unauthorized
{
"message": "Unauthenticated."
}
Caution
HTTP/1.1 403 Forbidden
{
"message": "This action is unauthorized."
}
Caution
HTTP/1.1 404 Not Found
{
"error": "Record not found"
}
Caution
HTTP/1.1 422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"field_name": [
"Validation error message."
]
}
}
Caution
HTTP/1.1 429 Too Many Requests
Caution
HTTP/1.1 500 Internal Server Error
Notes
- Date fields are returned in ISO 8601 format and in UTC timezone (e.g.
2024-01-21T11:41:39.000000Z). - Date filter parameters use the format
yyyy-mm-ddunless otherwise stated. - Boolean parameters accept
trueorfalseas values.
Changelog
| Version | Date | Description |
|---|---|---|
| v2.26 | Aug 11, 2026 | Documentation site upgraded with a refreshed UI, on-site search, a downloadable Postman collection, and expanded Getting Started (Pagination, Rate Limiting, Error Responses); various documentation formatting and accuracy fixes |
| v2.25 | Jun 03, 2025 | API Base URLs are separated based on environment |
