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

FieldRequiredNotes
namerequiredDisplay name of the invitee
emailrequiredEmail address
entityIdrequiredUUID from GET /entities
startTimerequiredISO 8601 — when access begins after accepting
endTimerequiredISO 8601 — when access expires
groupIdsoptionalArray of group UUIDs from GET /groups
phoneNumberoptional
expiryTimeoptionalWhen the invite link expires. Defaults to endTime
autoApproveoptionaltrue skips manager approval. Default false
externalReferenceIdoptionalEchoed 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

ParameterDescription
inviteUUIDUUID 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>"