gaipagents-com Agent Observatory API

Conformance of A2A, MCP and OpenAPI declarations and the manifest change log.

Operations 29

GET /data/weekly/{week}/{file} Weekly download file #
GET /v1/free/agent-web-index Agent Web Index (monthly) #
GET /v1/free/changes/feed.atom Observatory change feed (Atom) #
GET /v1/free/changes/feed.json Observatory change feed (JSON Feed 1.1) #
GET /v1/free/changes/subscribe Follow one target's changes #
GET /v1/free/changes/weekly.json What changed in the agent ecosystem (weekly) #
POST /v1/free/conformance/check Check public agent conformance #
GET /v1/free/data/dictionary Data dictionary #
GET /v1/free/data/releases Permanent ids of frozen cohorts and quarterly aggregate releases #
GET /v1/free/ecosystem/snapshots Weekly agent-ecosystem snapshots (frozen, hash-chained) #
GET /v1/free/host-timeline GAIP's record about one site, as a timeline #
POST /v1/free/host-timeline/verify Your own site's full timeline, after proving you run it #
POST /v1/free/interoperability/inspect Inspect interoperability schema drift #
GET /v1/free/knowledge/conformance-rules Get V1Free knowledge conformance rules #
GET /v1/free/observatory/anchors Dated chain-head anchors #
GET /v1/free/observatory/changed-since Has this MCP server changed since GAIP began recording it? #
GET /v1/free/observatory/changes Manifest Transparency Log #
POST /v1/free/observatory/corrections Request a correction or opt-out #
POST /v1/free/observatory/corrections/exclusion Make an opt-out permanent (site owner) #
GET /v1/free/observatory/lookup Look up an observed agent or MCP server #
GET /v1/free/observatory/methods Dataset method versions #
GET /v1/free/observatory/summary Agent Observatory summary #
GET /v1/free/observatory/targets/{target_id} One observed target #
GET /v1/free/permission May my agent fetch this? #
GET /v1/free/record/names Names: since when a registry name is on record, and what looks like it #
POST /v1/free/record/names/objection A publisher's objection to its name #
POST /v1/free/record/names/reply The publisher's reply about a name #
GET /v1/free/record/tenure Tenure: since when GAIP has recorded this endpoint #
GET /v1/free/state-of-agents State of Agents monthly report (JSON) #

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/gaipagents-com:gaipagents-com-agent-observatory-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

gaipagents-com-agent-observatory-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: GAIP
    url: https://www.gaipagents.com/contact
  description: 'GAIP, the Governed Agentic Intelligence Platform, keeps an independent, dated record of what AI agents, MCP servers and online shops publish, and answers questions about that record with signed receipts. Free, read-only, no key; facts at a stated time, never an assessment. First call: gaip_check on https://www.gaipagents.com/mcp, or GET https://www.gaipagents.com/v1/free/conformance/check?url=. What it answers, by who asks: https://www.gaipagents.com/v1/free/map. Every completed answer carries a continuity handle; send it back and the answer is bound to your own history with GAIP.'
  summary: GAIP keeps an independent, dated record of what AI agents, MCP servers and online shops publish.
  termsOfService: https://www.gaipagents.com/terms
  title: GAIP Agent Observatory API
  version: 1.8.0
  x-gaip-legal:
    corrections: https://www.gaipagents.com/corrections
    methodology: https://www.gaipagents.com/methodology
    privacyPolicy: https://www.gaipagents.com/privacy
    status: DRAFT_PENDING_LEGAL_REVIEW
    termsOfService: https://www.gaipagents.com/terms
  x-gaip-manifest-version: 0.15.0
  x-gaip-platform-name: GAIP
servers:
- url: https://www.gaipagents.com
security: []
tags:
- description: Conformance of A2A, MCP and OpenAPI declarations and the manifest change log.
  name: Agent Observatory
paths:
  /data/weekly/{week}/{file}:
    get:
      description: 'A frozen ISO week''s files, built once when the week is frozen: totals.csv / totals.jsonl (aggregate figures, one row…'
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getWeeklyDownload
      operationId: getWeeklyDownload
      parameters:
      - description: ISO week YYYY-Www, or latest
        in: path
        name: week
        required: true
        schema:
          type: string
      - description: totals.csv, totals.jsonl, changes.csv or changes.jsonl
        in: path
        name: file
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The file (text/csv or application/jsonlines)
        '302':
          description: Redirect to the newest week
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Week not built
      summary: Weekly download file
      tags:
      - Agent Observatory
  /v1/free/agent-web-index:
    get:
      description: Monthly headline figures on the 2026-10 reference panel, each with its count, denominator and share (withheld under 5)…
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getAgentWebIndex
      operationId: getAgentWebIndex
      parameters:
      - description: 'Calendar month YYYY-MM (default: this month)'
        in: query
        name: month
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                externalDocs:
                  url: https://www.gaipagents.com/v1/free/data/dictionary
                properties:
                  available: {}
                  citation: {}
                  declared_derivations: {}
                  error: {}
                  example: {}
                  figures: {}
                  generated_at_utc: {}
                  json: {}
                  licence: {}
                  licence_url: {}
                  license: {}
                  meaning: {}
                  message: {}
                  minimum_cell_size: {}
                  month: {}
                  name: {}
                  not_collected_yet: {}
                  reliability: {}
                  reproduce: {}
                  rules: {}
                  sample_frame: {}
                  schema_version: {}
                  served: {}
                  status: {}
                  title: {}
                  weekly_totals_rule: {}
                  weeks: {}
                  window_utc: {}
                type: object
          description: The month's index
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad month
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: No copy stored for the month
      summary: Agent Web Index (monthly)
      tags:
      - Agent Observatory
      x-license:
        covers: aggregate figures
        id: CC-BY-4.0
        url: https://creativecommons.org/licenses/by/4.0/
  /v1/free/changes/feed.atom:
    get:
      description: 'Dated neutral facts about published MCP server and A2A agent manifests, newest first (at most 100): tools added…'
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getChangesAtomFeed
      operationId: getChangesAtomFeed
      parameters:
      - description: Target URL (MCP endpoint or agent card) for a per-target feed
        in: query
        name: url
        schema:
          type: string
      - description: Observatory target id
        in: query
        name: target_id
        schema:
          type: string
      - description: Maximum entries (default 50, at most 100)
        in: query
        name: limit
        schema:
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          description: Atom feed (application/atom+xml)
        '304':
          description: Not modified
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid query
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Target not observed
      summary: Observatory change feed (Atom)
      tags:
      - Agent Observatory
  /v1/free/changes/feed.json:
    get:
      description: The same entries as the Atom feed as JSON Feed 1.1 (application/feed+json).
      operationId: getChangesJsonFeed
      parameters:
      - description: Target URL for a per-target feed
        in: query
        name: url
        schema:
          type: string
      - description: Observatory target id
        in: query
        name: target_id
        schema:
          type: string
      - description: Maximum entries (default 50, at most 100)
        in: query
        name: limit
        schema:
          maximum: 100
          minimum: 1
          type: integer
      responses:
        '200':
          description: JSON Feed
        '304':
          description: Not modified
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid query
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Target not observed
      summary: Observatory change feed (JSON Feed 1.1)
      tags:
      - Agent Observatory
  /v1/free/changes/subscribe:
    get:
      description: Whether GAIP observes a URL, its feed URLs, its latest dated changes and how to get webhooks (gaip_watch_register); if…
      externalDocs:
        url: https://www.gaipagents.com/docs/api#subscribeToChanges
      operationId: subscribeToChanges
      parameters:
      - description: Target URL
        in: query
        name: url
        schema:
          type: string
      - description: Observatory target id
        in: query
        name: target_id
        schema:
          type: string
      responses:
        '200':
          description: Subscription details
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid query
      summary: Follow one target's changes
      tags:
      - Agent Observatory
  /v1/free/changes/weekly.json:
    get:
      description: 'Per ISO week: aggregate counts (targets observed and changed, tools added and removed, reachability and protocol…'
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getWeeklyEcosystemChanges
      operationId: getWeeklyEcosystemChanges
      parameters:
      - description: 'ISO week, e.g. 2026-W40 (default: all weeks)'
        in: query
        name: week
        schema:
          type: string
      responses:
        '200':
          description: Weekly report
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Week not found
      summary: What changed in the agent ecosystem (weekly)
      tags:
      - Agent Observatory
  /v1/free/conformance/check:
    post:
      description: 'Checks caller-supplied public A2A, MCP, or OpenAPI metadata: per-finding severity, JSON path, fix and spec link, a…'
      externalDocs:
        url: https://www.gaipagents.com/docs/api#checkPublicAgentConformance
      operationId: checkPublicAgentConformance
      requestBody:
        content:
          application/json:
            schema:
              required:
              - data_classification
              - protocol
              - metadata
              type: object
        required: true
      responses:
        '200':
          description: Deterministic conformant or non-conformant report
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Malformed request
        '413':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Payload too large
      tags:
      - Agent Observatory
      summary: Check public agent conformance
      x-summary-source: derived
  /v1/free/data/dictionary:
    get:
      description: Every column of the weekly download files and every top-level field of the public data answers (summary, snapshots…
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getDataDictionary
      operationId: getDataDictionary
      responses:
        '200':
          description: OK
      summary: Data dictionary
      tags:
      - Agent Observatory
  /v1/free/data/releases:
    get:
      description: The append-only registry of GAIP's permanent dataset ids (e.g.
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getDataReleases
      operationId: getDataReleases
      responses:
        '200':
          content:
            application/json:
              schema:
                externalDocs:
                  url: https://www.gaipagents.com/v1/free/data/dictionary
                properties:
                  automatic_evidence_credit: {}
                  chain: {}
                  dois: {}
                  entries: {}
                  licence: {}
                  licence_url: {}
                  license: {}
                  meaning: {}
                  method: {}
                  notice: {}
                  price_gbp: {}
                  schema_version: {}
                  title: {}
                  weekly_snapshots: {}
                type: object
          description: Registry
      summary: Permanent ids of frozen cohorts and quarterly aggregate releases
      tags:
      - Agent Observatory
      x-license:
        covers: aggregate figures
        id: CC-BY-4.0
        url: https://creativecommons.org/licenses/by/4.0/
  /v1/free/ecosystem/snapshots:
    get:
      description: 'One aggregate snapshot per completed ISO week, frozen after the week ends and never rewritten: targets, reachability…'
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getEcosystemSnapshots
      operationId: getEcosystemSnapshots
      parameters:
      - description: 'ISO week, e.g. 2026-W40 (default: index of frozen weeks)'
        in: query
        name: week
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                externalDocs:
                  url: https://www.gaipagents.com/v1/free/data/dictionary
                properties:
                  automatic_evidence_credit: {}
                  chain: {}
                  citation: {}
                  corrections: {}
                  error: {}
                  first_snapshot: {}
                  licence: {}
                  licence_url: {}
                  license: {}
                  method: {}
                  notice: {}
                  previous_sha256: {}
                  price_gbp: {}
                  schema_version: {}
                  snapshot: {}
                  snapshot_sha256: {}
                  title: {}
                  week: {}
                  weeks: {}
                type: object
          description: Index or one snapshot
      summary: Weekly agent-ecosystem snapshots (frozen, hash-chained)
      tags:
      - Agent Observatory
      x-license:
        covers: aggregate figures
        id: CC-BY-4.0
        url: https://creativecommons.org/licenses/by/4.0/
  /v1/free/host-timeline:
    get:
      description: Dated events GAIP observed about one host across its records (Observatory capability record, agent keys, AI…
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getHostTimeline
      operationId: getHostTimeline
      parameters:
      - description: The site's host name, e.g. shop.example
        in: query
        name: host
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The timeline (state TIMELINE, NO_RECORD, NOT_IN_PUBLIC_RECORD or WITHHELD)
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid host
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Rate limited
      summary: GAIP's record about one site, as a timeline
      tags:
      - Agent Observatory
  /v1/free/host-timeline/verify:
    post:
      description: Send {"host"} to get a private challenge and a token; publish the token at…
      externalDocs:
        url: https://www.gaipagents.com/docs/api#verifyHostOwner
      operationId: verifyHostOwner
      requestBody:
        $ref: '#/components/requestBodies/JsonObject'
      responses:
        '200':
          description: A token, or the verified timeline
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid host
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not verified
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Rate limited
      summary: Your own site's full timeline, after proving you run it
      tags:
      - Agent Observatory
  /v1/free/interoperability/inspect:
    post:
      description: POST /v1/free/interoperability/inspect
      operationId: inspectInteroperabilitySchemaDrift
      responses:
        '200':
          description: Declaration consistency evidence with no suitability verdict
      tags:
      - Agent Observatory
      summary: Inspect interoperability schema drift
      x-summary-source: derived
  /v1/free/knowledge/conformance-rules:
    get:
      description: Versioned catalogue of every conformance finding code (severity, fix, spec section, versions)
      operationId: getV1FreeKnowledgeConformanceRules
      responses:
        '200':
          description: Read-only public knowledge document
      tags:
      - Agent Observatory
      summary: Get V1Free knowledge conformance rules
      x-summary-source: derived
  /v1/free/observatory/anchors:
    get:
      description: Each day's signed chain-head document with its Sigstore/Rekor log index, OpenTimestamps proof and weekly Internet…
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getRecordAnchors
      operationId: getRecordAnchors
      parameters:
      - description: Maximum anchors (default 30)
        in: query
        name: limit
        schema:
          minimum: 1
          type: integer
      responses:
        '200':
          description: OK
      summary: Dated chain-head anchors
      tags:
      - Agent Observatory
  /v1/free/observatory/changed-since:
    get:
      description: 'Connect-time check: when GAIP began recording the server, its last recorded change, change classes since a date, stored…'
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getToolsChangedSince
      operationId: getToolsChangedSince
      parameters:
      - description: MCP endpoint or agent card URL, exactly as you connect to it
        in: query
        name: url
        schema:
          type: string
      - description: Observatory target id
        in: query
        name: target_id
        schema:
          type: string
      - description: Approval date (RFC 3339 or YYYY-MM-DD)
        in: query
        name: since
        schema:
          type: string
      - description: SHA-256 (64 hex) of the tool list you approved
        in: query
        name: tools_digest
        schema:
          type: string
      responses:
        '200':
          description: 'Facts (known: false with a capture offer when GAIP has no history yet)'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid input
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Rate limited
      summary: Has this MCP server changed since GAIP began recording it?
      tags:
      - Agent Observatory
  /v1/free/observatory/changes:
    get:
      description: Hash-chained log of published manifest changes (before/after hashes, time observed).
      operationId: getManifestChanges
      parameters:
      - description: ISO-8601 time or sequence to read from
        in: query
        name: since
        schema:
          type: string
      - description: Observatory target id
        in: query
        name: target_id
        schema:
          type: string
      - description: Maximum entries (default 50)
        in: query
        name: limit
        schema:
          minimum: 1
          type: integer
      responses:
        '200':
          description: Change entries
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid query
      summary: Manifest Transparency Log
      tags:
      - Agent Observatory
  /v1/free/observatory/corrections:
    post:
      description: An operator can request a correction or exclusion of their public entries.
      operationId: submitObservatoryCorrection
      requestBody:
        $ref: '#/components/requestBodies/JsonObject'
      responses:
        '202':
          description: Accepted for review
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid request
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Rate limited
      summary: Request a correction or opt-out
      tags:
      - Agent Observatory
  /v1/free/observatory/corrections/exclusion:
    post:
      description: An opt-out only pauses.
      externalDocs:
        url: https://www.gaipagents.com/docs/api#confirmObservatoryExclusion
      operationId: confirmObservatoryExclusion
      requestBody:
        $ref: '#/components/requestBodies/JsonObject'
      responses:
        '200':
          description: Token issued or excluded
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not confirmed
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Rate limited
      summary: Make an opt-out permanent (site owner)
      tags:
      - Agent Observatory
  /v1/free/observatory/lookup:
    get:
      description: Find an Observatory target by public url or name and read what it published over time.
      operationId: lookupObservatoryTarget
      parameters:
      - description: Public agent card, MCP endpoint or server URL
        in: query
        name: url
        schema:
          type: string
      - description: Published name
        in: query
        name: name
        schema:
          type: string
      responses:
        '200':
          description: Matching targets
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: url or name required
      summary: Look up an observed agent or MCP server
      tags:
      - Agent Observatory
  /v1/free/observatory/methods:
    get:
      description: 'Per long-run dataset: each method version, when it took effect, what changed, known defects of earlier versions and the…'
      externalDocs:
        url: https://www.gaipagents.com/docs/api#getDatasetMethods
      operationId: getDatasetMethods
      responses:
        '200':
          content:
            application/json:
              schema:
                externalDocs:
                  url: https://www.gaipagents.com/v1/free/data/dictionary
                properties:
                  datasets: {}
                  from_basis_note: {}
                  license: {}
                  meaning: {}
                  method_doc: {}
                  overlap_rule: {}
                  schema_version: {}
                  title: {}
                  url: {}
                type: object
          description: OK
      summary: Dataset method versions
      tags:
      - Agent Observatory
      x-license:
        covers: aggregate figures
        id: CC-BY-4.0
        url: https://creativecommons.org/licenses/by/4.0/
  /v1/free/observatory/summary:
    get:
      description: Totals and common fixes across observed public MCP servers and A2A agents; no named verdicts.
      operationId: getObservatorySummary
      responses:
        '200':
          content:
            application/json:
              schema:
                externalDocs:
                  url: https://www.gaipagents.com/v1/free/data/dictionary
                properties:
                  automatic_evidence_credit: {}
                  capability_record: {}
                  cold_archive: {}
                  collection_ledger: {}
                  coverage: {}
                  cycle_health: {}
                  declared_derivations: {}
                  declared_extras: {}
                  ecosystem_conformance: {}
                  endpoints: {}
                  full_text_archive: {}
                  generated_at_utc: {}
                  license: {}
                  limits: {}
                  manifest_changes: {}
                  metadata_signal_pattern_rates: {}
                  neutrality: {}
                  notice: {}
                  outcome_ledger: {}
                  overall_verdicts: {}
                  price_gbp: {}
                  ranking: {}
                  reach: {}
                  registry_archive: {}
                  reliability_index: {}
                  retention_days: {}
                  retention_notes: {}
                  schema_version: {}
                  served: {}
                  shop_panel: {}
                  sources: {}
                  status_distribution: {}
                  targets: {}
                  third_party_scanners: {}
                  tiers: {}
                  unique_datasets: {}
                  weekly_snapshots: {}
                type: object
          description: OK
      summary: Agent Observatory summary
      tags:
      - Agent Observatory
      x-license:
        covers: aggregate figures
        id: CC-BY-4.0
        url: https://creativecommons.org/licenses/by/4.0/
  /v1/free/observatory/targets/{target_id}:
    get:
      description: Observations and change history for one target (facts at time T, not an assessment).
      operationId: getObservatoryTarget
      parameters:
      - description: Observatory target id
        in: path
        name: target_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Target view
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Target not found
      summary: One observed target
      tags:
      - Agent Observatory
  /v1/free/permission:
    get:
      description: Reads the target site's robots.txt (RFC 9309), Content-Signal and IETF AI-preference lines, RSL licence links…
      externalDocs:
        url: https://www.gaipagents.com/docs/api#checkPermission
      operationId: checkPermission
      parameters:
      - description: The public https URL your agent wants to fetch
        in: query
        name: url
        required: true
        schema:
          type: string
      - description: Your agent's user-agent token, e.g. GPTBot (default *)
        in: query
        name: agent
        schema:
          type: string
      responses:
        '200':
          description: The signed answer
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Invalid input
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Rate limited
      summary: May my agent fetch this?
      tags:
      - Agent Observatory
  /v1/free/record/names:
    get:
      description: First-recorded date, registry, host, lookalike names on record, replies. Facts, not intent.
      operationId: getRecordNames
      parameters:
      - description: Registry name or its last segment
        in: query
        name: name
        schema:
          type: string
      - description: Instead of name
        in: query
        name: url
        schema:
          type: string
      responses:
        '200':
          description: OK
      summary: 'Names: since when a registry name is on record, and what looks like it'
      tags:
      - Agent Observatory
  /v1/free/record/names/objection:
    post:
      description: '{name, owner_challenge}.'
      operationId: objectToRecordName
      requestBody:
        $ref: '#/components/requestBodies/JsonObject'
      responses:
        '200':
          description: OK
      summary: A publisher's objection to its name
      tags:
      - Agent Observatory
  /v1/free/record/names/reply:
    post:
      description: '{name, text, owner_challenge?}.'
      operationId: replyAboutRecordName
      requestBody:
        $ref: '#/components/requestBodies/JsonObject'
      responses:
        '200':
          description: OK
      summary: The publisher's reply about a name
      tags:
      - Agent Observatory
  /v1/free/record/tenure:
    get:
      description: First record date, days recorded and answered, changes, anchors. Not a trust signal.
      operationId: getRecordTenure
      parameters:
      - description: MCP endpoint or agent card URL
        in: query
        name: url
        schema:
          type: string
      responses:
        '200':
          description: OK
      summary: 'Tenure: since when GAIP has recorded this endpoint'
      tags:
      - Agent Observatory
  /v1/free/state-of-agents:
    get:
      description: Monthly aggregate figures on what public MCP servers and A2A agents published; page /state-of-agents.
      operationId: getStateOfAgents
      parameters:
      - description: 'Calendar month YYYY-MM (default: this month)'
        in: query
        name: month
        schema:
          type: string
      responses:
        '200':
          description: The month's report
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad month
      summary: State of Agents monthly report (JSON)
      tags:
      - Agent Observatory
components:
  schemas:
    Error:
      additionalProperties: true
      description: 'Error body returned by GAIP routes: a stable machine code plus optional detail.'
      properties:
        detail:
          description: Optional human-readable detail or structured context.
        error:
          description: Stable machine-readable error code, e.g. NOT_FOUND.
          type: string
        failure_class:
          description: Optional failure class for storage errors.
          type: string
      required:
      - error
      type: object
  requestBodies:
    JsonObject:
      content:
        application/json:
          schema:
            type: object
      required: true
externalDocs:
  description: Agent-readable guide
  url: https://www.gaipagents.com/llms.txt
x-gaip-internal-paths:
  description: Served but not part of the public API listing (operations, programme metrics, founder-only plans). No stability commitment.
  paths:
  - /a2a/buyer-assurance
  - /activation-pack.json
  - /erc8004/transaction-plan.json
  - /examples/art-claix-002.json
  - /examples/broker-claix-002.json
  - /integration.json
  - /measurement.json
  - /onboarding.json
  - /phase-entry.json
  - /phase1-acceleration.json
  - /phase1-exit.json
  - /phase1-outcome-receipt-schema.json
  - /phase1-receipt-verification.json
  - /phase1-receipts/preflight
  - /phase1-scorecard.json
  - /phase1-use-receipt-schema.json
  - /progress.json
  - /proof.json
  - /schemas/counterparty-evidence-request-v1.schema.json
  - /schemas/counterparty-evidence-response-v1.schema.json
  - /shared-result.json
  - /status.json
  - /v1/free/adoption/status
  - /v1/free/agents/buyer-assurance/operations
  - /v1/free/art/evaluate
  - /v1/free/broker/preflight
  - /v1/free/commercial/capabilities
  - /v1/free/commercial/coo-report
  - /v1/free/commercial/outcome-value/capabilities
  - /v1/free/counterparty-evidence
  - /v1/free/delegation-evidence
  - /v1/free/design-partner/qualify
  - /v1/free/digital-art/evidence-check
  - /v1/free/discovery/cohort
  - /v1/free/extended-preflight/capabilities
  - /v1/free/history/metrics
  - /v1/free/incubator/agent-output-assurance
  - /v1/free/interoperability/recovery
  - /v1/free/loop/run
  - /v1/free/outcomes/preflight
  - /v1/free/sales/inbound-reply
  - /v1/free/sales/outbound-policy
  - /v1/free/verify-before-call
  - /v1/shadow/services
  - /value-outputs.json
x-gaip-native-execution:
  automaticEvidenceCredit: false
  durableReceiptRequiredBeforeSuccess: true
  status: ACTIVE_BOUNDED_FREE
  transports:
  - A2A_JSONRPC
  - MCP_STREAMABLE_HTTP_JSONRPC
  - OPENAPI_HTTPS