CheckinQ API Documentation

Complete API reference for integrating CheckinQ pass management system

Authentication

POST /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

POST /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

POST /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

POST /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

POST /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

POST /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

POST /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

POST /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"
}