Bewary · Schema

WatchDetail

CompanySecurityFraud PreventionMCP

Properties

Name Type Description
id string wch_ + a ULID.
entity object
events array The event types this watch produces.
status string paused: the balance could not pay a day; a top-up resumes it and produces the gap.
created_at string RFC 3339 UTC.
paid_until string Events are produced for changes up to this time. RFC 3339 UTC.
paused_at object
last_event_at object
credits_per_day integer What a day of this watch costs (PRICING section 3.1).
events_30d integer Events this watch produced in the last 30 days.
undelivered_30d integer Of those, events a webhook endpoint could not take after every retry (dead deliveries). They stay in GET /v1/events.
pending_deliveries integer Events waiting for a webhook attempt or a retry.
View JSON Schema on GitHub

JSON Schema

bewary-watch-detail-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bewary/json-schema/bewary-watch-detail-schema.json",
  "title": "WatchDetail",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bewary-openapi.json#/components/schemas/WatchDetail",
  "properties": {
    "id": {
      "type": "string",
      "title": "Id",
      "description": "wch_ + a ULID."
    },
    "entity": {
      "$ref": "#/$defs/WatchEntity"
    },
    "events": {
      "items": {
        "type": "string",
        "enum": [
          "domain.ip_changed",
          "domain.ns_changed",
          "domain.down",
          "domain.up",
          "domain.parked",
          "domain.listed",
          "domain.delisted",
          "domain.reregistered",
          "domain.expiring",
          "domain.expired",
          "domain.held",
          "phone.listed",
          "phone.delisted",
          "wallet.listed",
          "wallet.delisted",
          "wallet.sanctioned",
          "brand.lookalike_registered",
          "brand.lookalike_cert",
          "brand.lookalike_live"
        ]
      },
      "type": "array",
      "title": "Events",
      "description": "The event types this watch produces."
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "paused"
      ],
      "title": "Status",
      "description": "paused: the balance could not pay a day; a top-up resumes it and produces the gap."
    },
    "created_at": {
      "type": "string",
      "title": "Created At",
      "description": "RFC 3339 UTC."
    },
    "paid_until": {
      "type": "string",
      "title": "Paid Until",
      "description": "Events are produced for changes up to this time. RFC 3339 UTC."
    },
    "paused_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Paused At"
    },
    "last_event_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Last Event At"
    },
    "credits_per_day": {
      "type": "integer",
      "title": "Credits Per Day",
      "description": "What a day of this watch costs (PRICING section 3.1)."
    },
    "events_30d": {
      "type": "integer",
      "title": "Events 30D",
      "description": "Events this watch produced in the last 30 days."
    },
    "undelivered_30d": {
      "type": "integer",
      "title": "Undelivered 30D",
      "description": "Of those, events a webhook endpoint could not take after every retry (dead deliveries). They stay in GET /v1/events."
    },
    "pending_deliveries": {
      "type": "integer",
      "title": "Pending Deliveries",
      "description": "Events waiting for a webhook attempt or a retry."
    }
  },
  "type": "object",
  "required": [
    "id",
    "entity",
    "events",
    "status",
    "created_at",
    "paid_until",
    "credits_per_day",
    "events_30d",
    "undelivered_30d",
    "pending_deliveries"
  ],
  "$defs": {
    "WatchEntity": {
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "domain",
            "phone",
            "wallet",
            "brand"
          ],
          "title": "Type",
          "description": "What is watched: a domain or host, an E.164 phone number, a wallet address, or a brand id of the lookalike registry."
        },
        "value": {
          "type": "string",
          "maxLength": 320,
          "minLength": 1,
          "title": "Value",
          "description": "As in the lookup endpoints. Stored in canonical form (the answer shows it)."
        }
      },
      "additionalProperties": false,
      "type": "object",
      "required": [
        "type",
        "value"
      ],
      "title": "WatchEntity"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/bewary-watch-detail"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.