Loading
GraphQL Playground
{"endpoint":"/graphql","settings":{"editor.theme":"dark","editor.fontSize":14,"editor.fontFamily":"'Source Code Pro', 'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace","editor.reuseHeaders":true,"request.credentials":"include","schema.polling.enable":true,"schema.polling.interval":2000,"tracing.hideTracingResponse":false},"tabs":[{"endpoint":"/graphql","query":"# Welcome to Wearables Data GraphQL API\n# \n# Try these example queries:\n\n# Get all devices\nquery GetDevices {\n devices {\n id\n deviceName\n deviceAddress\n deviceType\n lastSeen\n batteryLevel\n isConnected\n }\n}\n\n# Get recent readings for a device\nquery GetRecentReadings {\n recentReadings(deviceAddress: \"2301B_14513\", hours: 24) {\n deviceAddress\n readingType\n value\n timestamp\n metadata\n }\n}\n\n# Submit new readings\nmutation SubmitReadings {\n submitReadings(readings: [\n {\n schemaVersion: 2\n readingId: \"test-reading-1\"\n deviceName: \"TEST_DEVICE\"\n deviceAddress: \"00:11:22:33:44:55\"\n readingType: HEART_RATE\n value: 72\n workerTimestampMs: 1755400000000\n deviceTimestampMs: 1755400000000\n }\n ]) {\n success\n message\n readingsProcessed\n }\n}\n\n# Submit R10 snapshot payload\nmutation SubmitRingSnapshots {\n submitRingSnapshots(payloads: [\n {\n schemaVersion: 2\n deviceAddress: \"00:11:22:33:44:55\"\n deviceName: \"My R10 Ring\"\n timestampUtc: \"2025-01-01T00:00:00Z\"\n battery: { percentage: 85 }\n sleepStages: [\n {\n schemaVersion: 1\n stage: LIGHT\n startTimestampMs: 1755400000000\n endTimestampMs: 1755400300000\n }\n ]\n sleepSummary: {\n schemaVersion: 1\n date: \"2025-01-01\"\n totalMinutes: 420\n score: 82\n }\n }\n ]) {\n success\n message\n readingsProcessed\n }\n}\n\n# Register a new device\nmutation RegisterDevice {\n registerDevice(input: {\n deviceName: \"My Ring\"\n deviceAddress: \"AA:BB:CC:DD:EE:FF\"\n deviceType: \"JC_RING\"\n }) {\n success\n device {\n id\n deviceName\n deviceAddress\n }\n message\n }\n}"}],"canSaveConfig":false}