Heartbeat

Report device status and learn whether a newer schedule exists

POST /v1/device/heartbeat

reportedStatus is required. Valid contact also updates lastSeenAt. The patient is never sent by the device.

Required headers

X-Device-Id: <device-id>
Authorization: Bearer <device-secret>

Request

POST https://api-dev.zorgassistent.eu/v1/device/heartbeat

{
  "reportedStatus": "AVAILABLE",
  "softwareVersion": "0.1.0",
  "currentScheduleVersion": 3,
  "deviceStatusCode": "ok",
  "deviceTimestamp": "2026-09-13T08:00:00.000Z"
}

Response

{
  "accepted": true,
  "serverTime": "2026-09-13T08:00:01.000Z",
  "device": {
    "id": "40000000-0000-4000-8000-000000000001",
    "status": "ACTIVE",
    "lastSeenAt": "2026-09-13T08:00:01.000Z",
    "softwareVersion": "0.1.0",
    "reportedStatus": "AVAILABLE",
    "derivedStatus": "AVAILABLE"
  },
  "schedule": {
    "currentVersion": 3,
    "latestVersion": 3,
    "updateAvailable": false
  }
}

reportedStatus must be AVAILABLE, BUSY, DEGRADED or ERROR. currentScheduleVersion, if sent, must be a positive integer.