APIs.io Watches API

The Watches API from APIs.io — 0 operation(s) for watches.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/apis-io-watches-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

apis-io-watches-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: APIs.io Provider Control Watches API
  version: 1.0.0
  description: 'The surface a provider uses to act on their own listing: claim it, correct it, submit artifacts, dispute a finding, ask what to fix, and simulate a fix before doing the work.'
  contact:
    name: API Evangelist
    url: https://apis.io
  license:
    name: CC BY 4.0
    url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://apis.io/api/v1
  description: Production server.
tags:
- name: Watches
paths: {}
webhooks:
  watchEvents:
    post:
      operationId: receiveWatchEvents
      summary: Watch events for one provider
      description: 'One POST per watched provider per scoring run, carrying every event that provider produced for you in that run. Signed with `X-APIs-Io-Signature: t=,v1=.">`; verify it before trusting the payload and reject on the age of `t` to refuse a replay. Retried twice on 5xx and on transport failure, never on 4xx. Return any 2xx to acknowledge.'
      tags:
      - Watches
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - slug
              - run_ts
              - events
              properties:
                slug:
                  type: string
                  examples:
                  - apis-io
                run_ts:
                  type: string
                  description: The scoring run this reports on; the idempotency key for the delivery.
                  examples:
                  - '2026-09-11T06:00:00.000Z'
                events:
                  type: array
                  minItems: 1
                  items:
                    oneOf:
                    - $ref: '#/components/schemas/WatchScoreChanged'
                    - $ref: '#/components/schemas/WatchBandChanged'
                    - $ref: '#/components/schemas/WatchAgentBandChanged'
      responses:
        2XX:
          description: Acknowledged. Any 2xx stops the retry.
        4XX:
          description: Rejected. Not retried — a receiver that calls the payload malformed will call it malformed again.
components:
  schemas:
    WatchBandChanged:
      type: object
      required:
      - event
      - slug
      - name
      - band
      - previous_band
      description: Sent when the band moves, including when the composite did not.
      properties:
        event:
          type: string
          const: provider.band.changed
        slug:
          type: string
        name:
          type: string
        band:
          type: string
          enum:
          - exemplar
          - strong
          - developing
          - thin
          - emerging
          - minimal
        previous_band:
          type: string
          enum:
          - exemplar
          - strong
          - developing
          - thin
          - emerging
          - minimal
        composite:
          type:
          - number
          - 'null'
        scored_at:
          type:
          - string
          - 'null'
    WatchAgentBandChanged:
      type: object
      required:
      - event
      - slug
      - name
      - agent_band
      - previous_agent_band
      description: Carries the band gate when one applies. `band_gated_from` with `gate_unmet` means the score cleared a higher band and an unmet gate held it below — the one thing about their own listing a provider cannot work out for themselves.
      properties:
        event:
          type: string
          const: provider.agent_band.changed
        slug:
          type: string
        name:
          type: string
        agent_band:
          type: string
          enum:
          - agent-native
          - agent-ready
          - agent-aware
          - human-only
        previous_agent_band:
          type: string
          enum:
          - agent-native
          - agent-ready
          - agent-aware
          - human-only
        agent_score:
          type:
          - number
          - 'null'
          examples:
          - 44.5
        band_gated_from:
          type: string
          examples:
          - agent-native
        gate_unmet:
          type: array
          items:
            type: string
          examples:
          - - idempotency
        scored_at:
          type:
          - string
          - 'null'
    WatchScoreChanged:
      type: object
      required:
      - event
      - slug
      - name
      - composite
      - previous_composite
      - delta
      properties:
        event:
          type: string
          const: provider.score.changed
        slug:
          type: string
        name:
          type: string
        composite:
          type: number
          examples:
          - 71.9
        previous_composite:
          type: number
          description: What you were last TOLD, which is not necessarily the previous scoring run.
          examples:
          - 72.6
        delta:
          type: number
          examples:
          - -0.7
        scored_at:
          type:
          - string
          - 'null'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key