# x402.fuchss.app Watch Subscription Renewal

> x402.fuchss.app Watch Subscription Renewal is a paid API for AI agents from x402.fuchss.app, paid per call via x402, $0.2/call, status unknown (last checked 2026-09-14).

Renews an existing endpoint watch subscription, refreshing its expiry and optionally updating delivery targets and event filters for continuous x402 trust monitoring.

## Facts

- Endpoint: POST https://x402.fuchss.app/v1/watch/%7Bid%7D/renew
- Price: $0.2/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-fuchss-app-watch-subscription-renewal-85245bb1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fqfHdgG8FC7GZPS3dxY4l

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-fuchss-app-watch-subscription-renewal-85245bb1 -d '<json body>'
```

Example prompt: Renew my x402 watch subscription for https://api.example.com/v1/thing — keep sending alerts to https://hooks.example.com/notify and my Slack at https://hooks.slack.com/services/XXX, notify me on 'liveness_fail' and '402_envelope_violation' events, and use a liveness sensitivity of 3.

## When to prefer this

Use this endpoint when you have an existing watch subscription (identified by a watch_id) that is approaching expiry and needs to be extended, or when you need to update its delivery targets (webhooks, Slack) or event filters without creating a new subscription. Prefer this over creating a new watch when you want to preserve the existing watch_id, poll_url, and event history continuity.

## Known failure modes

- Watch ID not found — 404 if the watch_id path param does not exist or has already expired
- Payment failure — x402 payment of $0.20 USDC not settled, returning 402 with payment instructions
- Invalid delivery config — missing required webhook_urls or slack_url fields returns 400 validation error
- Webhook URL unreachable — renewal succeeds but subsequent alert delivery may silently fail
- Expired watch renewal rejected — some grace-period policies may refuse renewal past a hard expiry cutoff

## How this service works

Know before you pay: deterministic trust scores (0-100) for 100,000+ x402 endpoints, backed by continuous probes and on-chain settlement data.

## Output

Returns a JSON object containing a one-time secret key (store immediately), the list of watched resources with their endpoint IDs, a poll URL for event streaming, the renewed watch ID, the new expiry timestamp in milliseconds, and the probe interval in seconds.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "events": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "delivery": {
   "type": "object",
   "required": [
    "webhook_urls",
    "slack_url"
   ],
   "properties": {
    "slack_url": {
     "type": "string"
    },
    "webhook_urls": {
     "type": "array",
     "items": {
      "type": "string"
     }
    }
   }
  },
  "endpoint": {
   "type": "string"
  },
  "liveness_sensitivity_n": {
   "type": "integer"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "secret": "wsk_… (shown once — store it now)",
  "watched": [
   {
    "resource": "https://api.example.com/v1/thing",
    "endpoint_id": 123
   }
  ],
  "delivery": {
   "poll": true,
   "slack": [],
   "webhook": [
    "https://your-app.example.com/x402-alerts"
   ]
  },
  "edit_url": "/v1/watch/01J8Z9K7X4QmY9example",
  "poll_url": "/v1/watch/01J8Z9K7X4QmY9example/events",
  "watch_id": "01J8Z9K7X4Qmy9example",
  "renew_url": "/v1/watch/01J8Z9K7X4QmY9example/renew",
  "cancel_url": "/v1/watch/01J8Z9K7X4QmY9example",
  "expires_at": 1751328000000,
  "next_steps": [
   {
    "step": 1,
    "action": "store_secret",
    "details": "Store `secret` in a secrets manager. It is shown only once; we only store its SHA-256 hash."
   },
   {
    "url": "/v1/watch/01J8Z9K7X4QmY9example/events",
    "step": 2,
    "action": "poll_events",
    "method": "GET",
    "details": "Read the append-only event log. Nothing that happened between two polls is lost.",
    "headers": {
     "Authorization": "Bearer wsk_…"
    },
    "cursor_hint": "Start without `since`; then use the highest returned `event_id` as the next `since` value.",
    "cursor_param": "since"
   },
   {
    "step": 3,
    "action": "verify_webhook",
    "details": "If you configured webhook_url(s), verify every incoming POST: the `x-signature` header must equal `sha256=` + HMAC-SHA256(body) keyed by hex(sha256(secret)) (NOT the raw secret). A `connection_test` ping is sent during setup — see delivery.connection_test.",
    "enabled": true
   },
   {
    "url": "/v1/watch/01J8Z9K7X4QmY9example",
    "step": 4,
    "action": "edit",
    "method": "PATCH",
    "details": "Change webhook/Slack URLs, liveness sensitivity, or subscribed events for free. PATCH with Authorization: Bearer <secret>; new URLs are connection-tested.",
    "headers": {
     "Authorization": "Bearer wsk_…"
    }
   },
   {
    "url": "/v1/watch/01J8Z9K7X4QmY9example",
    "step": 5,
    "action": "cancel",
    "method": "DELETE",
    "details": "Stop monitoring early (probing drops to normal cadence immediately). Free, bearer-authed.",
    "headers": {
     "Authorization": "Bearer wsk_…"
    }
   },
   {
    "url": "/v1/watch/01J8Z9K7X4QmY9example/renew",
    "step": 6,
    "action": "renew",
    "method": "POST",
    "details": "Extend the watch by 30 days before expires_at. The secret stays the same."
   }
  ],
  "subscribed_events": "all",
  "probe_interval_sec": 300,
  "liveness_sensitivity_n": 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-fuchss-app-watch-subscription-renewal-85245bb1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.fuchss.app](https://www.zero.xyz/host/x402.fuchss.app/llms.txt)
