Skip to content

Schema OpenAPI

Lo schema OpenAPI 3 esposto da LifeDome è la fonte di verità autorevole per tutti gli endpoint partner-accessibili: path, metodi, shape request/response, scope richiesti, status code. La pagina sottostante è generata dallo stesso schema.

🧪 Per testare gli endpoint interattivamente

Il modello LifeDome è server-to-server: in produzione le chiamate partono dal backend partner, non dal browser. Questa pagina è una reference visuale read-only.

Per provare gli endpoint via "Try it out" con flow Client Credentials, usa la Swagger UI ufficiale, servita dallo stesso origin del backend (no setup CORS, no proxy):

Apri Swagger UI ↗ · ReDoc ↗ · Schema JSON ↗

URL per altre istanze

Sostituisci l'host nello schema URL per istanze diverse dalla demo: https://<instance>/api/schema/ (YAML) · https://<instance>/api/schema/?format=json (JSON) · https://<instance>/api/schema/swagger/ (Swagger UI) · https://<instance>/api/schema/redoc/ (ReDoc).

Per autenticarsi nella Swagger UI: tab "Authorize" → client_id + client_secret + lista di scope → scambio /o/token/ automatico, Bearer token propagato su tutte le chiamate.

Code generation

Lo schema è compatibile con i generatori OpenAPI standard (openapi-generator, swagger-codegen, openapi-typescript, ...). Il security per-operation produce client che richiedono esplicitamente il Bearer token e — sui generatori che lo supportano — restringono le chiamate agli scope dichiarati.

Raccomandato: rigenerare il client a ogni release LifeDome per allinearsi a campi aggiunti (non-breaking in v1).


Riferimento operazioni

GPS tracking and health monitoring platform API


GET /api/v1/alert-thresholds/

GET
/api/v1/alert-thresholds/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

device_uid
Type
string
metric_key
Type
string
ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
scope
  • 10 - Organization
  • 15 - Device
  • 20 - User
Type
integer
Valid values
101520
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"scope": "string",
  
  
  
"user_id": "string",
  
  
  
"device_id": "string",
  
  
  
"device_uid": "string",
  
  
  
"metric_key": "string",
  
  
  
"low": 0,
  
  
  
"high": 0,
  
  
  
"enabled": true,
  
  
  
"notify_user": true,
  
  
  
"severity": "string",
  
  
  
"override_mode": "string",
  
  
  
"created_at": "string",
  
  
  
"updated_at": "string"
  
  
}
  
]
}

POST /api/v1/alert-thresholds/

POST
/api/v1/alert-thresholds/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Request Body

JSON
{
  
"scope": 0,
  
"user": "string",
  
"device": "string",
  
"metric_key": "string",
  
"low": 0,
  
"high": 0,
  
"enabled": true,
  
"notify_user": true,
  
"severity": 0,
  
"override_mode": 0
}

Responses

application/json
JSON
{
  
"scope": 0,
  
"user": "string",
  
"device": "string",
  
"metric_key": "string",
  
"low": 0,
  
"high": 0,
  
"enabled": true,
  
"notify_user": true,
  
"severity": 0,
  
"override_mode": 0
}

GET /api/v1/alert-thresholds/{id}/

GET
/api/v1/alert-thresholds/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this alert threshold.

Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"scope": "string",
  
"user_id": "string",
  
"device_id": "string",
  
"device_uid": "string",
  
"metric_key": "string",
  
"low": 0,
  
"high": 0,
  
"enabled": true,
  
"notify_user": true,
  
"severity": "string",
  
"override_mode": "string",
  
"created_at": "string",
  
"updated_at": "string"
}

DELETE /api/v1/alert-thresholds/{id}/

DELETE
/api/v1/alert-thresholds/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this alert threshold.

Type
string
Required
Format
"uuid"

Responses

No response body


PATCH /api/v1/alert-thresholds/{id}/

PATCH
/api/v1/alert-thresholds/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this alert threshold.

Type
string
Required
Format
"uuid"

Request Body

JSON
{
  
"scope": 0,
  
"user": "string",
  
"device": "string",
  
"metric_key": "string",
  
"low": 0,
  
"high": 0,
  
"enabled": true,
  
"notify_user": true,
  
"severity": 0,
  
"override_mode": 0
}

Responses

application/json
JSON
{
  
"scope": 0,
  
"user": "string",
  
"device": "string",
  
"metric_key": "string",
  
"low": 0,
  
"high": 0,
  
"enabled": true,
  
"notify_user": true,
  
"severity": 0,
  
"override_mode": 0
}

GET /api/v1/assignments/

GET
/api/v1/assignments/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"device_uid": "string",
  
  
  
"user": {
  
  
  
  
"id": "string",
  
  
  
  
"first_name": "string",
  
  
  
  
"last_name": "string"
  
  
  
},
  
  
  
"role": "string",
  
  
  
"is_active": true,
  
  
  
"created_at": "string",
  
  
  
"unassigned_at": "string"
  
  
}
  
]
}

GET /api/v1/assignments/{id}/

GET
/api/v1/assignments/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this device assignment.

Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"device_uid": "string",
  
"user": {
  
  
"id": "string",
  
  
"first_name": "string",
  
  
"last_name": "string"
  
},
  
"role": "string",
  
"is_active": true,
  
"created_at": "string",
  
"unassigned_at": "string"
}

GET /api/v1/audit-log/

GET
/api/v1/audit-log/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

action
Type
integer
actor
Type
string
Format
"uuid"
actor_partner_integration
Type
string
Format
"uuid"
actor_type
  • system - System Only
  • users - Users Only
  • partners - Partners Only
Type
string
Valid values
"partners""system""users"
content_type
Type
number
model_name
Type
string
ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search
Type
string
timestamp_after
Type
string
Format
"date-time"
timestamp_before
Type
string
Format
"date-time"

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": 0,
  
  
  
"actor": {
  
  
  
  
"id": "string",
  
  
  
  
"email": "string",
  
  
  
  
"full_name": "string"
  
  
  
},
  
  
  
"actor_partner_integration": {
  
  
  
  
"additionalProperties": null
  
  
  
},
  
  
  
"actor_type": "string",
  
  
  
"action": 0,
  
  
  
"action_display": "string",
  
  
  
"content_type": 0,
  
  
  
"content_type_display": "string",
  
  
  
"object_pk": "string",
  
  
  
"object_repr": "string",
  
  
  
"changes_summary": [
  
  
  
  
{
  
  
  
  
  
"additionalProperties": null
  
  
  
  
}
  
  
  
],
  
  
  
"timestamp": "string",
  
  
  
"impersonated_as": {
  
  
  
  
"additionalProperties": null
  
  
  
}
  
  
}
  
]
}

GET /api/v1/audit-log/{id}/

GET
/api/v1/audit-log/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A unique integer value identifying this log entry.

Type
integer
Required

Responses

application/json
JSON
{
  
"id": 0,
  
"actor": {
  
  
"id": "string",
  
  
"email": "string",
  
  
"full_name": "string"
  
},
  
"actor_partner_integration": {
  
  
"additionalProperties": null
  
},
  
"actor_type": "string",
  
"action": 0,
  
"action_display": "string",
  
"content_type": 0,
  
"content_type_display": "string",
  
"object_pk": "string",
  
"object_repr": "string",
  
"changes_summary": [
  
  
{
  
  
  
"additionalProperties": null
  
  
}
  
],
  
"timestamp": "string",
  
"impersonated_as": {
  
  
"additionalProperties": null
  
},
  
"changes": "string",
  
"additional_data": "string"
}

GET /api/v1/auth/users/

GET
/api/v1/auth/users/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

is_active
Type
boolean
ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"email": "string",
  
  
  
"first_name": "string",
  
  
  
"last_name": "string",
  
  
  
"role": "string",
  
  
  
"is_active": true,
  
  
  
"membership_is_active": true
  
  
}
  
]
}

POST /api/v1/auth/users/

POST
/api/v1/auth/users/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Responses

application/json
JSON
{
  
"id": "string",
  
"email": "string",
  
"first_name": "string",
  
"last_name": "string",
  
"role": "string",
  
"is_active": true,
  
"membership_is_active": true
}

GET /api/v1/auth/users/{id}/

GET
/api/v1/auth/users/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this user.

Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"email": "string",
  
"first_name": "string",
  
"last_name": "string",
  
"role": "string",
  
"is_active": true,
  
"membership_is_active": true
}

DELETE /api/v1/auth/users/{id}/

DELETE
/api/v1/auth/users/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this user.

Type
string
Required
Format
"uuid"

Responses

No response body


PATCH /api/v1/auth/users/{id}/

PATCH
/api/v1/auth/users/{id}/

Unified partner + human PATCH with validate-then-persist ordering.

Partner path: serializer enforces field allowlist + role ∈ {VIEWER, USER}.
View additionally blocks role mutation on privileged targets (ADMIN/OWNER).

Human path: role value validated against UserRole enum. Role and
membership_is_active mutations are gated by the existing role-ceiling
rules (cannot modify peer/senior target; cannot promote above self).
Profile-only edits (first_name, last_name) do not carry the ceiling —
that is a separate UX policy (see CH-29 PR body).

Always responds with UserListSerializer shape for consistency.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this user.

Type
string
Required
Format
"uuid"

Request Body

JSON
{
  
"first_name": "string",
  
"last_name": "string"
}

Responses

application/json
JSON
{
  
"first_name": "string",
  
"last_name": "string"
}

POST /api/v1/auth/users/{id}/invite/

POST
/api/v1/auth/users/{id}/invite/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this user.

Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"email": "string",
  
"first_name": "string",
  
"last_name": "string",
  
"role": "string",
  
"is_active": true,
  
"membership_is_active": true
}

devices


GET /api/v1/devices/

GET
/api/v1/devices/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

device_model_slug
Type
string
is_online
Type
boolean
ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
protocol_slug
Type
string
search

A search term.

Type
string
tags
Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"uid": "string",
  
  
  
"name": "string",
  
  
  
"protocol": {
  
  
  
  
"slug": "string",
  
  
  
  
"name": "string",
  
  
  
  
"uid_label": "string"
  
  
  
},
  
  
  
"device_model": {
  
  
  
  
"slug": "string",
  
  
  
  
"name": "string",
  
  
  
  
"category": "string",
  
  
  
  
"icon": "string"
  
  
  
},
  
  
  
"is_active": true,
  
  
  
"is_online": true,
  
  
  
"last_seen": "string",
  
  
  
"last_status": {
  
  
  
  
"additionalProperties": {
  
  
  
  
  
"value": 0,
  
  
  
  
  
"ts": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"phone_number": "string",
  
  
  
"tags": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"latest_location": {
  
  
  
  
"additionalProperties": null
  
  
  
}
  
  
}
  
]
}

POST /api/v1/devices/

POST
/api/v1/devices/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Request Body

JSON
{
  
"uid": "string",
  
"name": "string",
  
"description": "string",
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"metadata": null,
  
"protocol": "string",
  
"device_model": "string"
}

Responses

application/json
JSON
{
  
"uid": "string",
  
"name": "string",
  
"description": "string",
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"metadata": null,
  
"protocol": "string",
  
"device_model": "string"
}

GET /api/v1/devices/{device_uid}/commands/

GET
/api/v1/devices/{device_uid}/commands/

Returns command history for a device. Use status=pending,sending,sent to inspect the active queue while polling for terminal states.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Query Parameters

command_type
Type
string
created_after
Type
string
Format
"date-time"
created_before
Type
string
Format
"date-time"
cursor

The pagination cursor value.

Type
string
ordering

Which field to use when ordering the results.

Type
string
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string
status

Public lifecycle status filter. Accepts a single value or comma-separated values; use pending,sending,sent for the active queue.

Type
string
Valid values
"ack_error""ack_ok""pending""sending""sent""timeout"

Responses

application/json
JSON
{
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"command_uuid": "string",
  
  
  
"device_uid": "string",
  
  
  
"command_type": "string",
  
  
  
"payload": "string",
  
  
  
"status": "pending",
  
  
  
"terminal": true,
  
  
  
"transition_reason": "delivery_failed",
  
  
  
"error": {
  
  
  
  
"code": "delivery_failed",
  
  
  
  
"message": "Chunked delivery failed (ACK timeout)."
  
  
  
},
  
  
  
"journal_no": "string",
  
  
  
"created_at": "string",
  
  
  
"sent_at": "string",
  
  
  
"acked_at": "string",
  
  
  
"expires_at": "string",
  
  
  
"error_message": "string"
  
  
}
  
]
}

POST /api/v1/devices/{device_uid}/commands/

POST
/api/v1/devices/{device_uid}/commands/

Creates a durable command row and returns immediately with status="pending". Delivery and acknowledgment are asynchronous; poll GET /commands/{command_uuid}/ for final outcome.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Request Body

JSON
{
  
"command_type": "set_working_mode",
  
"payload": {
  
  
"mode": 8,
  
  
"interval_seconds": 300,
  
  
"gps_enabled": true
  
}
}

Responses

application/json
JSON
{
  
"id": 501,
  
"command_uuid": "f41349ec-c734-4e8f-b87f-089f95d95d47",
  
"device_uid": "IMEI123456789012",
  
"command_type": "set_working_mode",
  
"payload": {
  
  
"mode": 8,
  
  
"interval_seconds": 300,
  
  
"gps_enabled": true
  
},
  
"status": "pending",
  
"terminal": false,
  
"transition_reason": null,
  
"error": null,
  
"journal_no": "JRN-20260423-000501",
  
"created_at": "2026-04-23T14:30:00Z",
  
"sent_at": null,
  
"acked_at": null,
  
"expires_at": "2026-04-24T14:30:00Z",
  
"retry_count": 0,
  
"max_retries": 3,
  
"error_message": null
}

GET /api/v1/devices/{device_uid}/commands/{command_uuid}/

GET
/api/v1/devices/{device_uid}/commands/{command_uuid}/

Poll this endpoint until terminal=true. Terminal success is ack_ok; terminal failures are ack_error or timeout with structured error details.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

command_uuid*
Type
string
Required
Format
"uuid"
device_uid*
Type
string
Required

Responses

application/json
JSON
{
  
"id": 501,
  
"command_uuid": "f41349ec-c734-4e8f-b87f-089f95d95d47",
  
"device_uid": "IMEI123456789012",
  
"command_type": "set_working_mode",
  
"payload": {
  
  
"mode": 8,
  
  
"interval_seconds": 300,
  
  
"gps_enabled": true
  
},
  
"status": "ack_ok",
  
"terminal": true,
  
"transition_reason": null,
  
"error": null,
  
"journal_no": "JRN-20260423-000501",
  
"created_at": "2026-04-23T14:30:00Z",
  
"sent_at": "2026-04-23T14:30:01Z",
  
"acked_at": "2026-04-23T14:30:04Z",
  
"expires_at": "2026-04-24T14:30:00Z",
  
"retry_count": 0,
  
"max_retries": 3,
  
"error_message": null
}

DELETE /api/v1/devices/{device_uid}/commands/{command_uuid}/

DELETE
/api/v1/devices/{device_uid}/commands/{command_uuid}/

Commands for a specific device, nested under /devices/{device_uid}/commands/.

A pending queue view is ?status=pending,sent; Redis is not exposed.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

command_uuid*
Type
string
Required
Format
"uuid"
device_uid*
Type
string
Required

Responses

No response body


GET /api/v1/devices/{device_uid}/ecg/

GET
/api/v1/devices/{device_uid}/ecg/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Query Parameters

ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"device_uid": "string",
  
  
  
"ts": "string",
  
  
  
"received_at": "string",
  
  
  
"gain": 0,
  
  
  
"zero_point_voltage": 0,
  
  
  
"lead_number": 0,
  
  
  
"sampling_rate": 0,
  
  
  
"size_bytes": 0,
  
  
  
"waveform_url": "string",
  
  
  
"analysis": "string"
  
  
}
  
]
}

GET /api/v1/devices/{device_uid}/ecg/{id}/

GET
/api/v1/devices/{device_uid}/ecg/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required
id*
Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"device_uid": "string",
  
"ts": "string",
  
"received_at": "string",
  
"gain": 0,
  
"zero_point_voltage": 0,
  
"lead_number": 0,
  
"sampling_rate": 0,
  
"size_bytes": 0,
  
"waveform_url": "string",
  
"analysis": "string"
}

GET /api/v1/devices/{device_uid}/ecg/{id}/waveform/

GET
/api/v1/devices/{device_uid}/ecg/{id}/waveform/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required
id*
Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"device_uid": "string",
  
"ts": "string",
  
"received_at": "string",
  
"gain": 0,
  
"zero_point_voltage": 0,
  
"lead_number": 0,
  
"sampling_rate": 0,
  
"size_bytes": 0,
  
"waveform_url": "string",
  
"analysis": "string"
}

GET /api/v1/devices/{device_uid}/locations/

GET
/api/v1/devices/{device_uid}/locations/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Query Parameters

cursor

The pagination cursor value.

Type
string
ordering

Which field to use when ordering the results.

Type
string
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string
source
Type
string
ts_after
Type
string
Format
"date-time"
ts_before
Type
string
Format
"date-time"

Responses

application/json
JSON
{
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"ts": "string",
  
  
  
"device_ts": "string",
  
  
  
"received_at": "string",
  
  
  
"lat": 0,
  
  
  
"lng": 0,
  
  
  
"alt": 0,
  
  
  
"speed": 0,
  
  
  
"course": 0,
  
  
  
"accuracy": 0,
  
  
  
"satellites": 0,
  
  
  
"hdop": 0,
  
  
  
"source": "string",
  
  
  
"carrier": "string",
  
  
  
"address": "string",
  
  
  
"is_stopped": true,
  
  
  
"stopped_since": "string"
  
  
}
  
]
}

GET /api/v1/devices/{device_uid}/locations/latest/

GET
/api/v1/devices/{device_uid}/locations/latest/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Responses

application/json
JSON
{
  
"id": "string",
  
"ts": "string",
  
"device_ts": "string",
  
"received_at": "string",
  
"lat": 0,
  
"lng": 0,
  
"alt": 0,
  
"speed": 0,
  
"course": 0,
  
"accuracy": 0,
  
"satellites": 0,
  
"hdop": 0,
  
"source": "string",
  
"carrier": "string",
  
"address": "string",
  
"is_stopped": true,
  
"stopped_since": "string"
}

GET /api/v1/devices/{device_uid}/locations/segments/

GET
/api/v1/devices/{device_uid}/locations/segments/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Responses

application/json
JSON
{
  
"id": "string",
  
"ts": "string",
  
"device_ts": "string",
  
"received_at": "string",
  
"lat": 0,
  
"lng": 0,
  
"alt": 0,
  
"speed": 0,
  
"course": 0,
  
"accuracy": 0,
  
"satellites": 0,
  
"hdop": 0,
  
"source": "string",
  
"carrier": "string",
  
"address": "string",
  
"is_stopped": true,
  
"stopped_since": "string"
}

GET /api/v1/devices/{device_uid}/messages/

GET
/api/v1/devices/{device_uid}/messages/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Query Parameters

direction
Type
string
message_type
Type
string
ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string
ts_after
Type
string
Format
"date-time"
ts_before
Type
string
Format
"date-time"

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"device_uid": "string",
  
  
  
"direction": "string",
  
  
  
"message_type": "string",
  
  
  
"text": "string",
  
  
  
"audio_file": "string",
  
  
  
"audio_duration_ms": 0,
  
  
  
"transcription": "string",
  
  
  
"sender_name": "string",
  
  
  
"sender_user_name": "string",
  
  
  
"device_delivery_status": "string",
  
  
  
"created_at": "string",
  
  
  
"delivered_at": "string"
  
  
}
  
]
}

GET /api/v1/devices/{device_uid}/messages/{id}/

GET
/api/v1/devices/{device_uid}/messages/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required
id*
Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"device_uid": "string",
  
"direction": "string",
  
"message_type": "string",
  
"text": "string",
  
"audio_file": "string",
  
"audio_duration_ms": 0,
  
"transcription": "string",
  
"sender_name": "string",
  
"sender_user_name": "string",
  
"device_delivery_status": "string",
  
"created_at": "string",
  
"delivered_at": "string",
  
"data": "string",
  
"updated_at": "string"
}

DELETE /api/v1/devices/{device_uid}/messages/{id}/

DELETE
/api/v1/devices/{device_uid}/messages/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required
id*
Type
string
Required
Format
"uuid"

Responses

No response body


GET /api/v1/devices/{device_uid}/messages/{id}/audio/

GET
/api/v1/devices/{device_uid}/messages/{id}/audio/

Stream a voice-message attachment via the configured private storage.

Mirrors the ECG waveform/ action so partner / portal clients can
fetch PHI audio with the same scope (messaging:read) without ever
seeing a raw object URL. The file content is opened against the
storage backend (MinIO/S3/InMemory) — the view itself stays
backend-agnostic.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required
id*
Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"device_uid": "string",
  
"direction": "string",
  
"message_type": "string",
  
"text": "string",
  
"audio_file": "string",
  
"audio_duration_ms": 0,
  
"transcription": "string",
  
"sender_name": "string",
  
"sender_user_name": "string",
  
"device_delivery_status": "string",
  
"created_at": "string",
  
"delivered_at": "string"
}

POST /api/v1/devices/{device_uid}/messages/bulk-delete/

POST
/api/v1/devices/{device_uid}/messages/bulk-delete/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Request Body

JSON
{
  
"ids": [
  
  
"string"
  
]
}

Responses

application/json
JSON
{
  
"ids": [
  
  
"string"
  
]
}

POST /api/v1/devices/{device_uid}/messages/send-text/

POST
/api/v1/devices/{device_uid}/messages/send-text/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Request Body

JSON
{
  
"text": "string"
}

Responses

application/json
JSON
{
  
"text": "string"
}

POST /api/v1/devices/{device_uid}/messages/send-tts/

POST
/api/v1/devices/{device_uid}/messages/send-tts/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Request Body

JSON
{
  
"text": "string",
  
"sender_name": ""
}

Responses

application/json
JSON
{
  
"text": "string",
  
"sender_name": ""
}

POST /api/v1/devices/{device_uid}/messages/upload-voice/

POST
/api/v1/devices/{device_uid}/messages/upload-voice/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Request Body

JSON
{
  
"audio": "",
  
"sender_name": ""
}

Responses

application/json
JSON
{
  
"audio": "string",
  
"sender_name": ""
}

GET /api/v1/devices/{device_uid}/telemetry/

GET
/api/v1/devices/{device_uid}/telemetry/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Query Parameters

cursor

The pagination cursor value.

Type
string
metric
Type
string
ordering

Which field to use when ordering the results.

Type
string
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string
ts_after
Type
string
Format
"date-time"
ts_before
Type
string
Format
"date-time"

Responses

application/json
JSON
{
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"ts": "string",
  
  
  
"device_ts": "string",
  
  
  
"received_at": "string",
  
  
  
"data": {
  
  
  
  
"additionalProperties": 0
  
  
  
}
  
  
}
  
]
}

GET /api/v1/devices/{device_uid}/telemetry/latest/

GET
/api/v1/devices/{device_uid}/telemetry/latest/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required

Responses

application/json
JSON
{
  
"data": {
  
  
"hr": {
  
  
  
"value": 72,
  
  
  
"ts": "2026-05-20T14:32:11+00:00"
  
  
},
  
  
"sbp": {
  
  
  
"value": 120,
  
  
  
"ts": "2026-05-20T14:28:03+00:00"
  
  
},
  
  
"bat": {
  
  
  
"value": 95,
  
  
  
"ts": "2026-05-20T14:35:00+00:00"
  
  
}
  
}
}

GET /api/v1/devices/{uid}/

GET
/api/v1/devices/{uid}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Responses

application/json
JSON
{
  
"id": "string",
  
"uid": "string",
  
"name": "string",
  
"protocol": {
  
  
"slug": "string",
  
  
"name": "string",
  
  
"uid_label": "string"
  
},
  
"device_model": {
  
  
"slug": "string",
  
  
"name": "string",
  
  
"category": "string",
  
  
"icon": "string"
  
},
  
"is_active": true,
  
"is_online": true,
  
"last_seen": "string",
  
"last_status": {
  
  
"additionalProperties": {
  
  
  
"value": 0,
  
  
  
"ts": "string"
  
  
}
  
},
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"latest_location": {
  
  
"additionalProperties": null
  
},
  
"description": "string",
  
"created_at": "string",
  
"updated_at": "string"
}

PUT /api/v1/devices/{uid}/

PUT
/api/v1/devices/{uid}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Request Body

JSON
{
  
"name": "string",
  
"description": "string",
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"is_active": true
}

Responses

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"is_active": true
}

DELETE /api/v1/devices/{uid}/

DELETE
/api/v1/devices/{uid}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Responses

No response body


PATCH /api/v1/devices/{uid}/

PATCH
/api/v1/devices/{uid}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Request Body

JSON
{
  
"name": "string",
  
"description": "string",
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"is_active": true
}

Responses

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"is_active": true
}

POST /api/v1/devices/{uid}/assign/

POST
/api/v1/devices/{uid}/assign/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Request Body

JSON
{
  
"user_id": "string",
  
"role": "Owner"
}

Responses

application/json
JSON
{
  
"device": "string",
  
"user": {
  
  
"id": "string",
  
  
"first_name": "string",
  
  
"last_name": "string"
  
},
  
"role": "string",
  
"is_active": true,
  
"created_at": "string"
}

GET /api/v1/devices/{uid}/capabilities/

GET
/api/v1/devices/{uid}/capabilities/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Responses

application/json
JSON
{
  
"id": "string",
  
"uid": "string",
  
"name": "string",
  
"protocol": {
  
  
"slug": "string",
  
  
"name": "string",
  
  
"uid_label": "string"
  
},
  
"device_model": {
  
  
"slug": "string",
  
  
"name": "string",
  
  
"category": "string",
  
  
"icon": "string"
  
},
  
"is_active": true,
  
"is_online": true,
  
"last_seen": "string",
  
"last_status": {
  
  
"additionalProperties": {
  
  
  
"value": 0,
  
  
  
"ts": "string"
  
  
}
  
},
  
"phone_number": "string",
  
"tags": [
  
  
"string"
  
],
  
"latest_location": {
  
  
"additionalProperties": null
  
}
}

GET /api/v1/devices/{uid}/config/

GET
/api/v1/devices/{uid}/config/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Responses

application/json
JSON
{
  
"sos": {
  
  
"last_synced_at": "string",
  
  
"numbers": [
  
  
  
"string"
  
  
]
  
},
  
"whitelist": {
  
  
"last_synced_at": "string",
  
  
"enabled": true,
  
  
"entries": [
  
  
]
  
},
  
"location": {
  
  
"last_synced_at": "string",
  
  
"working_mode": 0,
  
  
"interval_seconds": 0,
  
  
"gps_enabled": true
  
},
  
"fall": {
  
  
"last_synced_at": "string",
  
  
"enabled": true,
  
  
"sensitivity": 0
  
},
  
"heart_rate": {
  
  
"last_synced_at": "string",
  
  
"auto_enabled": true,
  
  
"interval_minutes": 0
  
},
  
"auto_measurement": {
  
  
"last_synced_at": "string",
  
  
"enabled": true,
  
  
"interval_minutes": 0
  
},
  
"reminders": {
  
  
"last_synced_at": "string",
  
  
"master_enabled": true,
  
  
"items": [
  
  
]
  
},
  
"bp_calibration": {
  
  
"last_synced_at": "string",
  
  
"sbp": 0,
  
  
"dbp": 0,
  
  
"age": 0,
  
  
"sex": 0
  
}
}

POST /api/v1/devices/{uid}/share/

POST
/api/v1/devices/{uid}/share/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Request Body

JSON
{
  
"email": "string",
  
"link_base": ""
}

Responses

application/json
JSON
{
  
"type": "string",
  
"device": "string",
  
"user": {
  
  
"id": "string",
  
  
"first_name": "string",
  
  
"last_name": "string"
  
},
  
"role": "string",
  
"is_active": true,
  
"created_at": "string"
}

DELETE /api/v1/devices/{uid}/share/{user_id}/

DELETE
/api/v1/devices/{uid}/share/{user_id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required
user_id*
Type
string
Required

Responses

No response body


POST /api/v1/devices/{uid}/unassign/

POST
/api/v1/devices/{uid}/unassign/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

uid*
Type
string
Required

Request Body

JSON
{
  
"user_id": "string"
}

Responses

application/json
JSON
{
  
"device": "string",
  
"user": {
  
  
"id": "string",
  
  
"first_name": "string",
  
  
"last_name": "string"
  
},
  
"role": "string",
  
"is_active": true,
  
"created_at": "string"
}

GET /api/v1/events/

GET
/api/v1/events/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

acknowledged
Type
boolean
cursor

The pagination cursor value.

Type
string
device
Type
string
device_uid
Type
string
event_type
Type
string
fence_id
Type
string
ordering

Which field to use when ordering the results.

Type
string
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string
severity
Type
string
ts_after
Type
string
Format
"date-time"
ts_before
Type
string
Format
"date-time"

Responses

application/json
JSON
{
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"device": {
  
  
  
  
"uid": "string",
  
  
  
  
"name": "string"
  
  
  
},
  
  
  
"ts": "string",
  
  
  
"event_type": "string",
  
  
  
"severity": "string",
  
  
  
"message": "string",
  
  
  
"data": "string",
  
  
  
"acknowledged": true,
  
  
  
"acknowledged_by": "string",
  
  
  
"acknowledged_at": "string",
  
  
  
"received_at": "string"
  
  
}
  
]
}

GET /api/v1/events/{id}/

GET
/api/v1/events/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this event.

Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"device": {
  
  
"uid": "string",
  
  
"name": "string"
  
},
  
"ts": "string",
  
"event_type": "string",
  
"severity": "string",
  
"message": "string",
  
"data": "string",
  
"acknowledged": true,
  
"acknowledged_by": "string",
  
"acknowledged_at": "string",
  
"received_at": "string",
  
"notes": "string"
}

DELETE /api/v1/events/{id}/

DELETE
/api/v1/events/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this event.

Type
string
Required
Format
"uuid"

Responses

No response body


POST /api/v1/events/{id}/acknowledge/

POST
/api/v1/events/{id}/acknowledge/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this event.

Type
string
Required
Format
"uuid"

Request Body

JSON
{
  
"notes": "string"
}

Responses

application/json
JSON
{
  
"notes": "string"
}

GET /api/v1/geofences/

GET
/api/v1/geofences/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

device_uid
Type
string
fence_type
Type
string
is_active
Type
boolean
ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
scope
Type
string
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"name": "string",
  
  
  
"description": "string",
  
  
  
"fence_type": "string",
  
  
  
"scope": "string",
  
  
  
"center": {
  
  
  
  
"lat": 0,
  
  
  
  
"lng": 0
  
  
  
},
  
  
  
"radius": 0,
  
  
  
"trigger_on_enter": true,
  
  
  
"trigger_on_exit": true,
  
  
  
"trigger_on_dwell": true,
  
  
  
"dwell_threshold_seconds": 0,
  
  
  
"is_active": true,
  
  
  
"device_count": 0,
  
  
  
"created_at": "string"
  
  
}
  
]
}

POST /api/v1/geofences/

POST
/api/v1/geofences/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Request Body

JSON
{
  
"name": "string",
  
"description": "string",
  
"fence_type": "string",
  
"scope": "device",
  
"center": {
  
  
"lat": 0,
  
  
"lng": 0
  
},
  
"radius": 0,
  
"trigger_on_enter": true,
  
"trigger_on_exit": true,
  
"trigger_on_dwell": true,
  
"dwell_threshold_seconds": 0,
  
"schedule": "string",
  
"group": "string",
  
"user": "string"
}

Responses

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"fence_type": "string",
  
"scope": "device",
  
"center": {
  
  
"lat": 0,
  
  
"lng": 0
  
},
  
"radius": 0,
  
"trigger_on_enter": true,
  
"trigger_on_exit": true,
  
"trigger_on_dwell": true,
  
"dwell_threshold_seconds": 0,
  
"schedule": "string",
  
"group": "string",
  
"user": "string"
}

GET /api/v1/geofences/{id}/

GET
/api/v1/geofences/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this geo fence.

Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"name": "string",
  
"description": "string",
  
"fence_type": "string",
  
"scope": "string",
  
"center": {
  
  
"lat": 0,
  
  
"lng": 0
  
},
  
"radius": 0,
  
"trigger_on_enter": true,
  
"trigger_on_exit": true,
  
"trigger_on_dwell": true,
  
"dwell_threshold_seconds": 0,
  
"is_active": true,
  
"created_at": "string",
  
"group_id": "string",
  
"group_name": "string",
  
"user_id": "string",
  
"user_display": "string",
  
"schedule": "string",
  
"devices": "string",
  
"updated_at": "string"
}

PUT /api/v1/geofences/{id}/

PUT
/api/v1/geofences/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this geo fence.

Type
string
Required
Format
"uuid"

Request Body

JSON
{
  
"name": "string",
  
"description": "string",
  
"center": {
  
  
"lat": 0,
  
  
"lng": 0
  
},
  
"radius": 0,
  
"trigger_on_enter": true,
  
"trigger_on_exit": true,
  
"trigger_on_dwell": true,
  
"dwell_threshold_seconds": 0,
  
"schedule": "string",
  
"is_active": true
}

Responses

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"center": {
  
  
"lat": 0,
  
  
"lng": 0
  
},
  
"radius": 0,
  
"trigger_on_enter": true,
  
"trigger_on_exit": true,
  
"trigger_on_dwell": true,
  
"dwell_threshold_seconds": 0,
  
"schedule": "string",
  
"is_active": true
}

DELETE /api/v1/geofences/{id}/

DELETE
/api/v1/geofences/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this geo fence.

Type
string
Required
Format
"uuid"

Responses

No response body


PATCH /api/v1/geofences/{id}/

PATCH
/api/v1/geofences/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this geo fence.

Type
string
Required
Format
"uuid"

Request Body

JSON
{
  
"name": "string",
  
"description": "string",
  
"center": {
  
  
"lat": 0,
  
  
"lng": 0
  
},
  
"radius": 0,
  
"trigger_on_enter": true,
  
"trigger_on_exit": true,
  
"trigger_on_dwell": true,
  
"dwell_threshold_seconds": 0,
  
"schedule": "string",
  
"is_active": true
}

Responses

application/json
JSON
{
  
"name": "string",
  
"description": "string",
  
"center": {
  
  
"lat": 0,
  
  
"lng": 0
  
},
  
"radius": 0,
  
"trigger_on_enter": true,
  
"trigger_on_exit": true,
  
"trigger_on_dwell": true,
  
"dwell_threshold_seconds": 0,
  
"schedule": "string",
  
"is_active": true
}

POST /api/v1/geofences/{id}/devices/

POST
/api/v1/geofences/{id}/devices/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this geo fence.

Type
string
Required
Format
"uuid"

Request Body

JSON
{
  
"device_uids": [
  
  
"string"
  
]
}

Responses

application/json
JSON
{
  
"device_uids": [
  
  
"string"
  
]
}

DELETE /api/v1/geofences/{id}/devices/{device_uid}/

DELETE
/api/v1/geofences/{id}/devices/{device_uid}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

device_uid*
Type
string
Required
id*
Type
string
Required
Format
"uuid"

Responses

No response body


models


GET /api/v1/models/

GET
/api/v1/models/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"slug": "string",
  
  
  
"name": "string",
  
  
  
"protocol": {
  
  
  
  
"slug": "string",
  
  
  
  
"name": "string",
  
  
  
  
"uid_label": "string"
  
  
  
},
  
  
  
"category": "string",
  
  
  
"icon": "string",
  
  
  
"registration_fields": "string",
  
  
  
"is_active": true
  
  
}
  
]
}

GET /api/v1/organizations/invitations/

GET
/api/v1/organizations/invitations/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string
status
  • 10 - Pending
  • 20 - Accepted
  • 30 - Expired
  • 40 - Revoked
Type
integer
Valid values
10203040

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"id": "string",
  
  
  
"email": "string",
  
  
  
"role": 0,
  
  
  
"groups": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"status": 0,
  
  
  
"accepted_at": "string",
  
  
  
"expires_at": "string",
  
  
  
"created_at": "string"
  
  
}
  
]
}

GET /api/v1/organizations/invitations/{id}/

GET
/api/v1/organizations/invitations/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this invitation.

Type
string
Required
Format
"uuid"

Responses

application/json
JSON
{
  
"id": "string",
  
"email": "string",
  
"role": 0,
  
"groups": [
  
  
"string"
  
],
  
"status": 0,
  
"accepted_at": "string",
  
"expires_at": "string",
  
"created_at": "string"
}

DELETE /api/v1/organizations/invitations/{id}/

DELETE
/api/v1/organizations/invitations/{id}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this invitation.

Type
string
Required
Format
"uuid"

Responses

No response body


POST /api/v1/organizations/invitations/{id}/revoke/

POST
/api/v1/organizations/invitations/{id}/revoke/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

id*

A UUID string identifying this invitation.

Type
string
Required
Format
"uuid"

Request Body

JSON
{
  
"email": "string",
  
"role": 0,
  
"groups": [
  
  
"string"
  
],
  
"expires_at": "string"
}

Responses

application/json
JSON
{
  
"id": "string",
  
"email": "string",
  
"role": 0,
  
"groups": [
  
  
"string"
  
],
  
"status": 0,
  
"accepted_at": "string",
  
"expires_at": "string",
  
"created_at": "string"
}

POST /api/v1/organizations/invitations/server-accept/

POST
/api/v1/organizations/invitations/server-accept/

CH-33: server-to-server partner invitation accept.

Distinct URL from the human-facing InvitationAcceptView so the
permission classes can be clean (scope-gated via HasScopeOrRole)
rather than hand-rolled inside an AllowAny branch.

Creates the invited user with an unusable password + portal_active=False;
returns plain JSON without JWT or cookies. Invariants:

  • Partner token can never mint a LifeDome JWT for a third party.
  • Partner token can never silently activate portal access.
  • Cross-org invitation acceptance → 404.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Request Body

JSON
{
  
"additionalProperties": null
}

Responses

application/json
JSON
{
}

GET /api/v1/organizations/self/

GET
/api/v1/organizations/self/

CH-28: GET /api/v1/organizations/self/.

Partner-facing metadata about the tenant org this token belongs to.
Distinct from /current/ (human admin surface) — no raw features
mutations, no deletion workflow, no tier field. Human JWT tokens
are rejected so the integration-level fields (integration_status,
rate_limits) never leak onto the human surface.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Responses

application/json
JSON
{
  
"id": "string",
  
"name": "string",
  
"slug": "string",
  
"timezone": "string",
  
"default_locale": "string",
  
"enabled_features": {
  
  
"additionalProperties": null
  
},
  
"integration_status": "string",
  
"rate_limits": {
  
  
"additionalProperties": null
  
}
}

partner: outbound events


Replay outbound events (ADR 42).

GET
/api/v1/partner/outbound-events/

Returns the same envelopes the webhook deliverer sent, paginated forward by UUIDv7 cursor. Use this after downtime to backfill missed events; the envelope shape and id (= Idempotency-Key) match the webhook stream so a single dedup state covers both channels.

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

limit

Max rows per page. Defaults to PARTNER_REPLAY_DEFAULT_LIMIT, capped at PARTNER_REPLAY_MAX_LIMIT.

Type
integer
ordering

Which field to use when ordering the results.

Type
string
search

A search term.

Type
string
since

Exclusive cursor. Returns rows with id > since. Omit to start from the oldest available row.

Type
string
types

Optional CSV of event types to intersect with the integration's subscribed set. Empty string is rejected with 400 invalid_filter. Unknown types are silently dropped.

Type
string

Responses

application/json
JSON
{
  
"data": [
  
  
{
  
  
  
"data": [
  
  
  
  
{
  
  
  
  
  
"additionalProperties": null
  
  
  
  
}
  
  
  
],
  
  
  
"next_cursor": "string",
  
  
  
"has_more": true
  
  
}
  
],
  
"next_cursor": "string",
  
"has_more": true
}

GET /api/v1/protocols/

GET
/api/v1/protocols/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Query Parameters

ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"slug": "string",
  
  
  
"name": "string",
  
  
  
"version": "string",
  
  
  
"transport": "string",
  
  
  
"default_port": 0,
  
  
  
"uid_label": "string",
  
  
  
"uid_validator": "string",
  
  
  
"is_active": true,
  
  
  
"model_count": 0
  
  
}
  
]
}

GET /api/v1/protocols/{protocol_slug}/models/

GET
/api/v1/protocols/{protocol_slug}/models/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

protocol_slug*
Type
string
Required

Query Parameters

ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"slug": "string",
  
  
  
"name": "string",
  
  
  
"protocol": {
  
  
  
  
"slug": "string",
  
  
  
  
"name": "string",
  
  
  
  
"uid_label": "string"
  
  
  
},
  
  
  
"category": "string",
  
  
  
"icon": "string",
  
  
  
"registration_fields": "string",
  
  
  
"is_active": true
  
  
}
  
]
}

GET /api/v1/protocols/{protocol_slug}/models/{model_slug}/

GET
/api/v1/protocols/{protocol_slug}/models/{model_slug}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

model_slug*
Type
string
Required
protocol_slug*
Type
string
Required

Responses

application/json
JSON
{
  
"slug": "string",
  
"name": "string",
  
"protocol": {
  
  
"slug": "string",
  
  
"name": "string",
  
  
"uid_label": "string"
  
},
  
"category": "string",
  
"icon": "string",
  
"registration_fields": "string",
  
"is_active": true
}

GET /api/v1/protocols/{protocol_slug}/models/{model_slug}/capabilities/

GET
/api/v1/protocols/{protocol_slug}/models/{model_slug}/capabilities/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

model_slug*
Type
string
Required
protocol_slug*
Type
string
Required

Query Parameters

ordering

Which field to use when ordering the results.

Type
string
page

A page number within the paginated result set.

Type
integer
page_size

Number of results to return per page.

Type
integer
search

A search term.

Type
string

Responses

application/json
JSON
{
  
"count": 42,
  
"total_pages": 3,
  
"next": "string",
  
"previous": "string",
  
"results": [
  
  
{
  
  
  
"key": "string",
  
  
  
"kind": "string",
  
  
  
"name": "string",
  
  
  
"canonical_unit": "string",
  
  
  
"wire_unit": "string",
  
  
  
"display_units": "string",
  
  
  
"value_type": "string",
  
  
  
"range_low": 0,
  
  
  
"range_high": 0,
  
  
  
"default_threshold_low": 0,
  
  
  
"default_threshold_high": 0,
  
  
  
"critical_threshold_low": 0,
  
  
  
"critical_threshold_high": 0,
  
  
  
"metadata": "string",
  
  
  
"is_active": true
  
  
}
  
]
}

GET /api/v1/protocols/{slug}/

GET
/api/v1/protocols/{slug}/

Authorizations

oauth2
clientCredentials Flow
Token URL"/o/token/"
Scopes:
  • "users:read"List / get users in partner's org
  • "users:write"Create / update / deactivate users
  • "users:invite"Send portal activation email
  • "devices:read"List / get devices
  • "devices:write"Create / update / deactivate devices
  • "assignments:read"List / get device assignments
  • "assignments:write"Assign / unassign users as OWNER or ASSIGNED
  • "assignments:share"Share device as VIEWER / revoke viewer share
  • "locations:read"Read location latest + history
  • "telemetry:read"Read telemetry latest + history
  • "ecg:read"Read ECG recordings (list, detail, waveform download)
  • "events:read"Read events and alarms
  • "events:acknowledge"Acknowledge events
  • "commands:read"Read command status
  • "commands:write"Send commands to devices
  • "messaging:read"Read device messages
  • "messaging:write"Send / delete device messages
  • "geofences:read"Read geofences
  • "geofences:write"Create / update / delete geofences
  • "thresholds:read"Read alert thresholds
  • "thresholds:write"Create / update / delete alert thresholds
  • "catalog:read"Browse protocols / models / capabilities
  • "invitations:read"List / get outstanding invitations
  • "invitations:write"Accept / revoke invitations
  • "audit:read"Read audit log
  • "org:read"Read partner's own org info

Parameters

Path Parameters

slug*
Type
string
Required

Responses

application/json
JSON
{
  
"slug": "string",
  
"name": "string",
  
"version": "string",
  
"transport": "string",
  
"default_port": 0,
  
"uid_label": "string",
  
"uid_validator": "string",
  
"is_active": true,
  
"model_count": 0
}

Powered by VitePress OpenAPI

© Mastersoft — LifeDome