docs(api): document phase1 and phase2 device/realtime endpoints
This commit is contained in:
@@ -83,6 +83,34 @@ All authenticated endpoints expect a Better Auth session cookie sent by the clie
|
||||
|
||||
`POST /videos/upload-url` request body requires `fileName` and `deviceId` (UUID belonging to the authenticated user), with optional `prefix`.
|
||||
|
||||
### Device Management (Phase 1)
|
||||
| Endpoint | Purpose |
|
||||
| --- | --- |
|
||||
| `POST /devices/register` | Register a user-owned device as `camera` or `client` and issue bearer device token |
|
||||
| `GET /devices` | List all devices for the authenticated user |
|
||||
| `PATCH /devices/:deviceId` | Update device role/metadata/status |
|
||||
| `POST /devices/:deviceId/heartbeat` | Device-token authenticated presence heartbeat |
|
||||
|
||||
### Camera-Client Linking (Phase 1)
|
||||
| Endpoint | Purpose |
|
||||
| --- | --- |
|
||||
| `POST /device-links` | Link one client device to one camera device |
|
||||
| `GET /device-links` | List links for the authenticated user |
|
||||
| `DELETE /device-links/:linkId` | Remove a camera-client link |
|
||||
|
||||
### Realtime Commands (Phase 2)
|
||||
| Endpoint | Purpose |
|
||||
| --- | --- |
|
||||
| `POST /commands` | Queue and dispatch command from a linked client device to camera |
|
||||
| `GET /commands` | Inspect command status/history |
|
||||
| `POST /commands/:commandId/ack` | Device-token ack/reject command fallback |
|
||||
|
||||
Socket.IO channel:
|
||||
- Devices connect with bearer device token (`auth.token` or `Authorization: Bearer ...`).
|
||||
- Camera receives `command:received`.
|
||||
- Camera sends `command:ack` with `acknowledged` or `rejected`.
|
||||
- Source client receives `command:status`.
|
||||
|
||||
### API Docs
|
||||
OpenAPI docs are generated from Zod/OpenAPI definitions:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user