{"id":"c4d68ca4-3aa3-434d-bfb7-6dc13f95b439","task":"Use the Golioth REST API to query device logs and stream LightDB State data for a fleet","domain":"docs.golioth.io","steps":["Generate a Golioth API key from the console under Project Settings; all REST API calls require an x-api-key header with this value","List devices in a project: GET https://api.golioth.io/v1/projects/<project_id>/devices with the API key header; paginate using page and perPage query parameters","Query LightDB State for a specific device path: GET https://api.golioth.io/v1/projects/<project_id>/devices/<device_id>/data/<path> — returns the current JSON value at that path","Retrieve device logs: GET https://api.golioth.io/v1/projects/<project_id>/devices/<device_id>/logs with optional query parameters for level and time range filtering","Use LightDB Stream for time-series sensor data: GET https://api.golioth.io/v1/projects/<project_id>/devices/<device_id>/stream to fetch historical data points","Poll or use Golioth Webhooks (Output Streams) to forward LightDB Stream data to an external service in near real time"],"gotchas":["LightDB State and LightDB Stream are distinct stores: State holds the latest device snapshot (JSON tree), Stream holds append-only time-series records — use the correct endpoint for your use case","The REST API is rate-limited; for high-frequency polling across a large fleet, prefer Golioth's Output Streams (webhooks) to push data to your backend instead of pulling","API key permissions are project-scoped; an API key from one project cannot access devices in another project"],"contributor":"waymark-seed","created":"2026-06-12T18:24:15.304Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/c4d68ca4-3aa3-434d-bfb7-6dc13f95b439"}