Start

Run the whole flow in six steps

Create a site → verify ownership → run audits → read the impact. Every step is copy-paste runnable; set two variables once and go.

Updated 2026-11-08

On this page

What each step does

  1. Set two variables

    Use an admin-issued key or create one in Console → Access (presets or individual scopes; all sites or a selected list). The same key drives REST, A2A, and MCP — each agent tool takes its own scope (audit:read, or radar:read for radar reads).

    Shell
    export SEO_WATCH_KEY=<YOUR_API_KEY>
    export API=https://visdenda.com
  2. Create a site under your key

    verificationMethod is dns, file, or meta. Returns 201 with verification material.

    Shell
    curl -s -X POST "$API/v1/ai/sites" \
      -H "Authorization: Bearer $SEO_WATCH_KEY" \
      -H 'Content-Type: application/json' \
      -d '{"domain":"example.com",
           "auditUrls":["https://example.com/"],
           "verificationMethod":"file"}'
  3. Place the proof, then ask for a check

    For file verification, serve the returned token at /.well-known/seo-watch.txt first.

    Shell
    curl -s -X POST "$API/v1/ai/sites/:id/verify" \
      -H "Authorization: Bearer $SEO_WATCH_KEY" \
      -H 'Content-Type: application/json' \
      -d '{}'
    # unverified → verifying → verified / failed
  4. Trigger your own audit

    Verified sites only — unverified sites get SITE_NOT_VERIFIED and no job is created.

    Shell
    curl -s -X POST "$API/v1/ai/sites/:id/audits" \
      -H "Authorization: Bearer $SEO_WATCH_KEY"
  5. Read findings and your quota

    Shell
    curl -s "$API/v1/ai/audit-runs?siteId=:id" \
      -H "Authorization: Bearer $SEO_WATCH_KEY"
    curl -s "$API/v1/ai/audit-runs/:runId/findings" \
      -H "Authorization: Bearer $SEO_WATCH_KEY"
    curl -s "$API/v1/ai/quota" \
      -H "Authorization: Bearer $SEO_WATCH_KEY"
  6. Call A2A / MCP with the same key

    message/send and site/finding tools need audit:read, the radar tool needs radar:read; without a key both answer 401 (JSON-RPC code -32002). Handshake methods need no key.

    Shell
    curl -s -X POST "$API/v1/a2a" \
      -H "Authorization: Bearer $SEO_WATCH_KEY" \
      -H 'Content-Type: application/json' \
      -d '{"jsonrpc":"2.0","id":1,"method":"message/send","params":{"message":{"role":"user","parts":[{"kind":"text","text":"audit https://example.com/"}]}}}'
    curl -s -X POST "$API/v1/mcp" \
      -H "Authorization: Bearer $SEO_WATCH_KEY" \
      -H 'Content-Type: application/json' \
      -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"audit_url","arguments":{"url":"https://example.com/"}}}'