Create Watch

Register a watch. No key yet? Call without one: the 201 carries your agent_key (shown once). A signed test callback reaches callback_url within a minute. Your callback should outlive your agent. notify: up to 3 Discord/Slack/Teams webhook URLs told on fire, clear and change (v1.13).

post/v1/watches

Request

  • Base URL: https://api.ned.watch (the document declares no server; this is the origin it was published from)
  • URL: https://api.ned.watch/v1/watches
  • Auth: none declared

Headers

authorizationstring nullable

Request body

typestring required

http | tls | deadman | overrun (a run still going past max_runtime_s) | content (200, but the wrong content) | mcp (a remote MCP server: initialize + tools/list; fires when the handshake fails, reports when the tool list changes)

interval_sinteger

Seconds between checks (deadman: the check-in deadline). Not used by overrun.

callback_urlstring uri required
conditionobject

http: max_ms, expect_status, timeout_s. tls: warn_days. deadman: grace_s. content: timeout_s.

expectobject nullable

content only, 1 to 5 conditions: status (int), contains / not_contains (string or list), json_path (dotted, e.g. data.items.0.state) with equals (a JSON scalar) or exists (bool). No regex.

max_runtime_sinteger nullable

overrun only: 60 to 86400. A run started and not finished within this fires once. Give each job its own watch with condition.label (the same registration twice returns the same watch).

metaobject
publicboolean

v1.11: give this watch a public page at ned.watch/w/<slug> (state, history, badge, feed). Only the target, the type, timing and pass/fail history are shown; never your callback or key.

slugstring nullable

v1.11, with public: the page's slug (lowercase, digits, dashes); Ned makes one from the host if you leave it out

notifystring[] nullable

v1.13: up to 3 human-facing incoming-webhook URLs (Discord, Slack, Teams) told in one plain line on fire, clear, changed and paused, after the signed callback. Your callback should outlive your agent: if the agent that registered this watch dies, these still reach a person. Shown back as kinds only, never URLs.

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.