UdiWatch

Active account

POST /v1/sync

Re-read every watch with no cache and return only new diffs. The first successful read of a watch is a baseline, not an event.

Auth. Active account. Body {}. Reads every watch on the account with no cache and returns only new diffs.

curl -sS -X POST "$BASE/v1/sync" \
  -H "X-API-Key: $UW_KEY" -H 'Content-Type: application/json' \
  -d '{}'
{
  "synced": 2,
  "events": [{
    "subject": "16977660098955",
    "label": "suction Catheter",
    "summary": "Market status: On the market → No longer on the market",
    "changes": [{
      "field": "Market status",
      "old": "On the market",
      "new": "No longer on the market"
    }]
  }],
  "error": null
}

An empty events array means the baseline held. A per-watch read failure stays on that watch as last_error and does not fail the whole call. 401 if signed out. 402 if the period has ended. A new value that is empty is not a change. A timeout is not “certificate removed”.

DELETE /v1/watches/{id}GET /v1/events