{
"headers": {
"user-agent": "okhttp/4.9.3",
"content-type": "application/json; charset=utf-8",
"content-length": "192",
"x-forwarded-for": "44.230.39.175,44.230.39.175, 3.2.55.51"
},
"http_path": "/whoop-webhook",
"http_method": "POST"
}{
"record_id": "d0ff57c6-d370-460c-8f84-13c98923afe7",
"event_type": "recovery.updated",
"whoop_user_id": 27746328,
"whoop_trace_id": "Mjc3NDYzMjgtZDBmZjU3YzYtZDM3MC00NjBjLThmODQtMTNjOTg5MjNhZmU3LUNSRUFURS0xNzc0ODYzODY3Njg3"
}{
"table": "whoop_tokens",
"operation": "select"
}{
"table": "connected_devices",
"operation": "select"
}{
"service": "edge_function",
"endpoint": "sync-whoop",
"device_id": "1fdec537-3e63-4519-906f-3db96804ae00",
"sync_type": "recovery"
}{
"duration_ms": 1197,
"content_type": null
}{
"device_id": "1fdec537-3e63-4519-906f-3db96804ae00",
"record_id": "d0ff57c6-d370-460c-8f84-13c98923afe7",
"sync_type": "recovery"
}{
"device_id": "1fdec537-3e63-4519-906f-3db96804ae00",
"sync_type": "recovery"
}{
"table": "connected_devices",
"operation": "select"
}{
"headers": {
"accept": "*/*",
"user-agent": "Deno/2.1.4 (variant; SupabaseEdgeRuntime/1.73.0)",
"x-trace-id": "trace_mnd04dmq_88r8qab0",
"content-type": "application/json",
"content-length": "174",
"x-forwarded-for": "44.249.79.120,44.249.79.120, 3.2.55.51"
},
"http_path": "/sync-whoop",
"http_method": "POST"
}{
"end_date": "2026-03-30",
"start_date": "2026-03-30",
"sync_types": [
"recovery"
]
}{
"service": "whoop",
"endpoint": "/cycle"
}{
"service": "whoop",
"success": true,
"endpoint": "/cycle?start=2026-03-30T00%3A00%3A00.000Z&end=2026-03-30T23%3A59%3A59.999Z",
"duration_ms": 138,
"response_status": 200
}{
"service": "whoop",
"endpoint": "/recovery"
}{
"expires_at": "2026-03-30T10:00:10.902+00:00",
"token_type": "[REDACTED]"
}{
"service": "whoop",
"success": true,
"endpoint": "/recovery?start=2026-03-30T00%3A00%3A00.000Z&end=2026-03-30T23%3A59%3A59.999Z",
"duration_ms": 55,
"response_status": 200
}{
"cycles_count": 2,
"recoveries_count": 1
}{
"device_id": "1fdec537-3e63-4519-906f-3db96804ae00",
"total_records": 2,
"existing_dates": [
"2026-03-28"
]
}{
"count": 2,
"table": "daily_summary",
"operation": "upsert"
}{
"table": "connected_devices",
"operation": "update"
}{
"result": {
"success": true,
"sync_type": "recovery",
"records_synced": 2
}
}{
"duration_ms": 1201,
"content_type": "application/json"
}{
"failed_syncs": 0,
"total_records": 2,
"successful_syncs": 1
}