Inception REST API
Overview
The Inception REST API (introduced in v3.0.0) allows third-party applications to integrate with Inception controllers. It supports user management, item state monitoring, and control of system entities like Areas, Doors, and outputs.
Technical Details
Key Features
- User Management: Remote adding, deleting, and updating of users and credentials.
- Live Item State: Real-time monitoring of Areas, Doors, Inputs, Outputs, and Lift Floors using Long Polling.
- Item Control: Control commands for arming/disarming areas, unlocking doors, and toggling outputs.
Protocol and Versions
- The current documentation refers to Protocol v8 (Firmware 4.0) and later.
- Specific features like User Photos (v8) and PIN Generation (v11) are version-dependent.
- Query
GET /api/protocol-versionto check compatibility.
Authentication
- Method: POST to
api/v1/authentication/loginwith JSON credentials. - Session Management: Returns a
UserID. This must be included in theCookieheader asLoginSessId=[UserID]. - Timeout: Sessions expire after 10 minutes of inactivity. Each authenticated request refreshes the timer.
- Alternative: If Cookie headers cannot be modified, append
?session-id=[UserID]as a query string parameter to any API request.
SkyTunnel Integration
- The API is accessible globally via SkyTunnel if enabled in
[Configuration > General > Network]. - URL Format:
https://www.skytunnel.com.au/inception/[serial]/api/v1/... - Note: Clients must handle 307 Redirect responses, as controllers may migrate between SkyTunnel instances.
Configuration / Programming
Setup Steps
- API User: Create a dedicated user in the Inception web interface.
- Profile: Set the Web Page Profile to REST Web API User.
- Credentials: Enable “Web Login” and set a username/password.
- Permissions: Assign permissions for the specific Areas, Doors, or Outputs the API needs to interact with.
Documentation and Tools
- On-board Docs: Accessible at
http://[InceptionURL]/ApiDocorApiDocExamples. - Postman: Inner Range provides a Postman Collection and Environment files (downloadable from the Inception unit) for testing.
- Detailed Events: Enable “Detailed Events” in
[System > Service]to log HTTP requests and failure codes (401, 403, 404, 500) for debugging.
Common Endpoints
Monitoring (Long Polling)
Uses POST /api/v1/monitor-updates. The server holds the request for up to 60 seconds or until a state change occurs.
MonitorEntityStates: For Areas, Users, etc.ActivityProgress: To track the status of an arming or control activity.LiveReviewEvents: For real-time event streaming.
Item Control
- Areas:
POST /api/v1/control/area/[id]/activity(e.g.,{"Type": "ControlArea", "AreaControlType": "Arm"}). - Outputs:
POST /api/v1/control/output/[id]/activity.
User Management
GET /api/v1/config/user: List users (supportsmodifiedSincefiltering).POST /api/v1/config/user: Create user.PUT /api/v1/config/user/[id]: Full overwrite (omitted fields reset to defaults).PATCH /api/v1/config/user/[id]: Partial update.DELETE /api/v1/config/user/[id]: Delete user.POST /api/v1/config/user/[id]/photo: Upload user photo (Multipart/form-data, v8+).DELETE /api/v1/config/user/[id]/photo: Delete user photo (v8+).GET /api/v1/config/user/generate-unused-pin: Generate an unused PIN (v11+, supportsminLength/maxLengthquery params).
Activities
POST /api/v1/activities: Virtually present a credential or PIN at a reader.- Credential:
{"Type": "CardData", "CardData": {"CredentialTemplateId": "...", "CredentialNumber": "..."}, "ReaderId": "..."} - PIN:
{"Type": "PIN", "PIN": "1234", "ReaderId": "..."}
- Credential:
Review Events
GET /api/v1/review: Query historical events. Supportslimit,offset,dir(asc/desc),start/enddate filtering,categoryFilter,messageTypeIdFilter, andinvolvedEntityIdFilter.POST /api/v1/monitor-updateswithLiveReviewEvents: Real-time event streaming from a reference event ID.
Troubleshooting
- 401 Unauthorized: Invalid or expired session ID.
- 403 Forbidden: API User lacks permission for the requested entity or action.
- 404 Not Found: Incorrect URL or entity ID.
- 500 Internal Server Error: Unexpected server-side issue.
Related Pages
- Inception Controller
- Inception Programming Guide
- Integriti Comms Tasks Automation (for Integriti equivalent)