--- method: GET path: /api/devices/:id auth: jwt area: devices --- # Get Device Returns one device owned by the signed-in user. Device tokens are **not** included in this response (use `regenerate-token` to obtain them). ## Example response ```json example-response { "id": "550e8400-e29b-41d4-a716-446655440000", "device_name": "Kobo Clara", "device_type": "kobo", "last_sync": "2026-10-24T13:57:01Z", "last_seen": "2026-10-24T13:57:01Z", "sync_enabled": true, "auto_sync": true, "sync_frequency_minutes": 60, "created_at": "2026-10-24T13:57:01Z", "auth_token": "" } ``` `last_sync` and `last_seen` are `*time.Time` → `null` when unset. `created_at` is RFC3339 (`time.Time` marshaling). `device_metadata` is omitted when empty (`omitempty`). ## Errors | Status | Body | When | | ------ | ---- | ---- | | 400 | `{"error": "invalid user ID"}` / `{"error": "invalid device ID"}` | malformed id(s) | | 401 | `{"error": "unauthorized"}` | no/invalid JWT | | 403 | `{"error": "access denied"}` | device belongs to another user | | 404 | `{"error": "device not found"}` | no such device |