Advanced UnSpot Plan from $100 $50 for Your Company Fix this Price

Promo deadline:
Help center / Administration / Integrations / API and Webhooks / External API: monitoring

External API: monitoring

The monitoring endpoint of the External API reports the health of your UnSpot integrations — displays, webhooks, calendar connections and user synchronization — so you can plug UnSpot into your monitoring stack (Zabbix, Grafana, Nagios, etc.).

Authentication

Create an API connection of type Monitoring in Administration > Integrations > External API and copy the token. The token can be generated by a user with the Owner or Integrations admin role (Settings > Integrations > API settings, “System monitoring API” block). Pass it in every request:

Authorization: Bearer <token>

Requests without a valid token return 401. If you exceed the rate limit, the API returns 429 with a Retry-After header.

Get monitoring data — GET /api/external/v1/monitoring[/{category}]

Without a category the endpoint returns all sections. With a category it returns only that section.

CategoryWhat it reports
displaysEvery display device: id, name, status
webhooksCounters: total, online, failed, disabled
calendarsCounters for room calendar connections: total, online, offline
user-synclastSyncDate — when directory synchronization last ran (null if not configured)
systemOn-premise installations only: status of redis, database, filesystem, smtp and message queue lengths

Example request

curl -H "Authorization: Bearer $TOKEN" \
  https://acme.unspot.com/api/external/v1/monitoring/webhooks

Example response — 200

{
  "message": "OK",
  "body": {
    "displays": [ { "id": "b7e1...-uuid", "name": "Room 4.1 display", "status": "online" } ],
    "webhooks": { "total": 5, "online": 4, "failed": 1, "disabled": 0 },
    "calendars": { "total": 12, "online": 12, "offline": 0 },
    "userSync": { "lastSyncDate": "2026-07-08T03:00:00+00:00" }
  }
}

For on-premise installations the system section additionally reports infrastructure health:

{
  "message": "OK",
  "body": {
    "system": {
      "redis": "online",
      "database": "online",
      "filesystem": "online",
      "smtp": "online",
      "queue": [ { "name": "webhooks", "messages": 0 }, { "name": "notification", "messages": 3 } ]
    }
  }
}

Errors and limits

All responses are wrapped in an envelope {"message": ..., "body": ...}; error bodies look like:

{ "message": "Too Many Requests", "errors": [] }
  • 400 — unknown category (allowed: displays, webhooks, calendars, user-sync, system).
  • 403 Forbidden — insufficient permissions.
  • 401 — invalid token, or System monitoring is only available for on-premise environment when requesting system on cloud.
  • 429 — more than one request per 30 seconds.

Leave a request for a call and we will contact you

Loading