CheckinQ API Documentation
Complete API reference for integrating CheckinQ pass management system
Authentication
/api/authenticate
Authenticate using your API key to obtain a session token. This token must be included in the Authorization header for all subsequent API requests.
Request Body
{
"api_key": "your_api_key_here"
}
Response
{
"status": true,
"token": "session_token_string",
"expires_in": 3600
}
Create Passes
/api/v1/passes/create
Create new passes for a user. You can specify multiple checkpoint passes and include custom data fields. The key parameter accepts phone numbers (international format) or email addresses.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
key |
string | Required | Phone number (international format) or email address |
date |
string | Required | Date in YYYY-MM-DD format |
passes |
object | Required | Object with checkpoint names as keys and quantities as values (1=single, 99=multi, 0-99=specific count) |
data |
object | Optional | Additional custom data fields (avoid reserved words: id, key, date, passes) |
Request Example
{
"key": "+1234567890",
"date": "2025-10-15",
"passes": {
"checkin": 1,
"pool": 10,
"spa": 99
},
"data": {
"seat": "A125",
"type": "vip",
"guest_name": "John Doe"
}
}
Response
{
"status": true,
"id": "12345",
"message": "Passes created successfully"
}
Get Passes by ID
/api/v1/passes/get
Retrieve pass information using the reservation ID. Returns complete details including pass counts and custom data.
Request Body
{
"id": "12345"
}
Response
{
"status": true,
"passes": {
"id": "12345",
"key": "+1234567890",
"date": "2025-10-15",
"passes": {
"checkin": 1,
"pool": 10
},
"data": {
"seat": "A125",
"type": "vip"
}
}
}
Get Passes by Key
/api/v1/passes/get
Retrieve passes for a specific user (by phone/email) and date combination.
Request Body
{
"key": "+1234567890",
"date": "2025-10-15"
}
Response
{
"status": true,
"passes": {
"id": "12345",
"key": "+1234567890",
"date": "2025-10-15",
"passes": {
"checkin": 1,
"pool": 10
}
}
}
List Passes
/api/v1/passes/list
Retrieve a paginated list of passes with optional filtering and sorting. Returns 100 records per page.
Optional Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
key |
string | - | Filter by identifier (phone/email) |
date |
string | - | Filter by date (YYYY-MM-DD) |
page |
integer | 1 | Page number for pagination |
sortby |
string | id | Sort field: id, name, key, or date |
sortdir |
string | desc | Sort direction: asc or desc |
Request Example
{
"date": "2025-10-15",
"page": 1,
"sortby": "date",
"sortdir": "desc"
}
Response
{
"status": true,
"passes": [...],
"total": 250,
"page": 1,
"per_page": 100
}
Delete Passes
/api/v1/passes/delete
Permanently delete a pass reservation by its ID. This action cannot be undone.
Request Body
{
"id": "12345"
}
Response
{
"status": true,
"message": "Passes deleted successfully"
}
Token Status
/api/token_status
Check the validity and expiration status of your current session token.
Request Body
{
"token": "your_session_token"
}
Response
{
"status": true,
"valid": true,
"expires_in": 3200
}
Revoke Token
/api/token_revoke
Immediately invalidate a session token. This is useful for logout functionality or security purposes.
Request Body
{
"token": "your_session_token"
}
Response
{
"status": true,
"message": "Token revoked successfully"
}
