Snag Watcher API https://watcher-api-staging.manwhas.shop

API reference

Update a watcher

PATCH /v1/watchers/{id}

Send only what changes. The whole watcher is checked again, as on create.

Field
status"paused" or "active"
conditions, schedule, notify, where, location, fetch, thenReplace that block

target can't change; create a new watcher instead. first_snapshot comparisons keep the first run they had.

Pause and resume

Shell
curl -X PATCH https://watcher-api-staging.manwhas.shop/v1/watchers/wch_dhjqcvaqnhrchsnv7gtc \
  -H "Authorization: Bearer $SNAG_KEY" -H "Content-Type: application/json" \
  -d '{ "status": "paused" }'

Resuming runs it right away. A matched or expired watcher can't be resumed: 409 watcher_finished.

Change the schedule

Shell
curl -X PATCH https://watcher-api-staging.manwhas.shop/v1/watchers/wch_dhjqcvaqnhrchsnv7gtc \
  -H "Authorization: Bearer $SNAG_KEY" -H "Content-Type: application/json" \
  -d '{ "schedule": { "every": "6h", "until": "+60d" } }'

Returns the updated watcher object. Adding a webhook to a watcher that had none returns a new webhook_secret.