Offline & reconnect
There is no separate offline endpoint
The Device API has no offline or reconnect method. After a successful schedule acknowledgement, keep that schedule locally and keep presenting medication moments even if the network disappears.
- Do not wait for the platform to execute an already valid local schedule.
- Buffer outgoing events with their original eventId and occurredAt.
- After reconnect, send heartbeat, then POST /v1/device/events with the buffered batch. Identical eventId values are idempotent.
- If heartbeat.schedule.updateAvailable is true, fetch and acknowledge the newer schedule after the local moment is safe to interrupt.