Overview
Server-to-server API for managing users, invites, devices, and access keys programmatically.
Base URL
| Environment | Base URL |
|---|---|
| — | — |
Quick start
1. Create an integration in the ScanSeqr Manager App (Integrations section). You'll receive an API key and API secret — save the secret immediately, it is shown only once.
2. Sign every request using the SQRv1 scheme. The
Authorization header and X-SQR-Content-Hash header must be present on all requests.
3. Use the endpoint reference to make calls, and the playground to generate signed curl commands interactively.
Authentication
The Integration API uses SQRv1 — HMAC-SHA256 request signing. Each request carries a per-request signature that covers the method, path, query string, timestamp, and a hash of the request body. This prevents replay attacks and detects tampering.
Read the authentication guide →
Response format
All responses are JSON. Successful responses:
{ "status": "success", "message": "…", "count": 0, "data": { … } }
Error responses:
{ "status": "error", "message": "Short label", "details": "Specific reason" }
A 403 with no body means authentication failed — check your signing implementation or that you are using a credential created after the SQRv1 scheme was introduced.
Datetime format
All datetime fields are ISO 8601. Accepted variants:
2024-03-15T14:30:00Z # UTC
2024-03-15T14:30:00+10:00 # With timezone offset
2024-03-15T14:30:00.000Z # With milliseconds
ID discovery
All IDs passed to write endpoints are UUIDs. Use
GET /entities, GET /devices, and GET /groups
to discover valid IDs before making write calls.
MQTT events
Real-time device events are published to AWS IoT Core MQTT. The topic prefix for your integration is shown in the Manager App. See the endpoint reference for event payload shapes.
integrationId. One integration cannot read or modify another's data.