Integration API v1 · Endpoints
Invites
Create invite links for people to join an entity. On acceptance they become a user and are added to the specified groups.
POST
/invite
Creates an invite. The returned url is the link to send to the person. If autoApprove is true, manager approval is skipped and the person is added to the entity immediately on acceptance.
Request body
| Field | Required | Notes |
|---|---|---|
name | required | Display name of the invitee |
email | required | Email address |
entityId | required | UUID from GET /entities |
startTime | required | ISO 8601 — when access begins after accepting |
endTime | required | ISO 8601 — when access expires |
groupIds | optional | Array of group UUIDs from GET /groups |
phoneNumber | optional | |
expiryTime | optional | When the invite link expires. Defaults to endTime |
autoApprove | optional | true skips manager approval. Default false |
externalReferenceId | optional | Echoed in MQTT events |
{
"name": "John Doe",
"email": "john@example.com",
"entityId": "<entity-uuid>",
"groupIds": ["<group-uuid>"],
"startTime": "2025-04-11T00:00:00Z",
"endTime": "2025-05-01T00:00:00Z",
"autoApprove": true,
"externalReferenceId": "ERP-REF-001"
}Response 200
{
"status": "success",
"message": "Invite created successfully",
"data": {
"inviteUUID": "<invite-uuid>",
"code": "AB1234",
"url": "https://app.scanseqr.com/is/AB1234"
}
}The url is the invite link to send to the person. The code can be entered manually if the link is inaccessible.
curl
curl -s -X POST \
-H "Authorization: SQRv1 Credential=<key>, Timestamp=<ts>, Signature=<sig>" \
-H "X-SQR-Content-Hash: <sha256-of-body>" \
-H "Content-Type: application/json" \
-d '{"name":"John Doe","email":"john@example.com","entityId":"<entity-uuid>","startTime":"2025-04-11T00:00:00Z","endTime":"2025-05-01T00:00:00Z","autoApprove":true}' \
"…/invite"
GET
/invites
Returns all non-expired invites for all entities linked to this integration.
Response 200
{
"status": "success",
"message": "Invites retrieved successfully",
"count": 1,
"data": {
"invites": [
{
"code": "AB1234",
"uuid": "<invite-uuid>",
"name": "John Doe",
"email": "john@example.com",
"phoneNumber": null,
"startTime": "2025-04-11T00:00:00.000Z",
"endTime": "2025-05-01T00:00:00.000Z",
"expired": false,
"externalReferenceId": "ERP-REF-001",
"entityName": "Demo Site"
}
]
}
}
DELETE
/invite/{inviteUUID}
Deletes an invite. Only deletes invites owned by this integration. The invite link and code become immediately invalid.
Path parameters
| Parameter | Description |
|---|---|
inviteUUID | UUID from POST /invite or GET /invites |
Response 200
{ "status": "success", "message": "Invite deleted successfully" }curl
curl -s -X DELETE \
-H "Authorization: SQRv1 Credential=<key>, Timestamp=<ts>, Signature=<sig>" \
-H "X-SQR-Content-Hash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" \
"…/invite/<inviteUUID>"