What is a Signal?
A signal is the atomic unit of SchedKit. Everything is a signal — a GPS ping, a photo from the field, a text note, a human pressing ALERT. Signals are typed, org-scoped, and optionally geo-tagged. They flow in real time via SSE and fan out to push notifications, webhooks, and physical devices.Signal types
| Type | Description | Persisted |
|---|---|---|
beacon | Periodic GPS ping from an active operator | No — broadcast only |
capture | Photo or image with location | Yes |
note | Text note, optional coordinates | Yes |
checkin | Manual confirmation of presence at location | Yes |
alert | High-priority — pushes to all org members immediately | Yes |
beacon signals skip the database for performance. They are broadcast-only and do not appear in GET /v1/signals. All other types are persisted and queryable.Org scoping
Every signal is scoped to an organization. When you POST a signal, SchedKit resolves your primary org automatically. Passorg_id explicitly to target a different org.
Live stream
Subscribe to your org’s signal feed via SSE:data: payloads:
Beacon fast-path
beacon type signals bypass NocoDB writes entirely — they are constructed in memory and broadcast directly to all connected SSE clients. This supports high-frequency pinging (every 30s per device) at scale without DB bottlenecks.
API Reference → Signals
Full endpoint docs for POST, GET, DELETE, and SSE stream.