<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rehfeld-apix-services-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="APIX Services">APIX Services Profile: Discovery Infrastructure for Web API and Bot Services</title>
    <seriesInfo name="Internet-Draft" value="draft-rehfeld-apix-services-02"/>
    <author initials="C." surname="Rehfeld" fullname="Carsten Rehfeld">
      <organization/>
      <address>
        <email>carsten@botstandards.org</email>
      </address>
    </author>
    <date year="2026" month="June" day="05"/>
    <abstract>
      <?line 66?>

<t>This document defines the APIX Services Profile: an extension to the
APIX Core Infrastructure specification that enables discovery and
automated verification of web API and bot-consumable services. It
specifies the APM field set for API services, the APIX Spider
verification protocol, liveness monitoring configuration, search and
filter query semantics, and the service record schemas (Level 1 summary
and Level 2 full record) returned to consuming agents. Autonomous agents
that implement this profile can discover API services globally from a
single entry point, evaluate their trust posture without any out-of-band
knowledge, and select services that satisfy their own Trust Policy.</t>
    </abstract>
  </front>
  <middle>
    <?line 79?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The APIX Core Infrastructure <xref target="APIX-CORE"/> defines the common foundation
for agent-oriented service discovery: the governance model, trust model
dimensions, commercial onboarding, sanctions compliance, and the base
Index API. That document is the authoritative reference for all concepts
and normative requirements shared across service types.</t>
      <t>This document extends APIX Core for web API and bot-consumable services:
services that expose a stable HTTPS endpoint, publish a machine-readable
specification document, and are verifiable by an automated crawler. These
are the primary service type for which APIX was originally conceived. The
defining characteristics of an API service, as distinct from an IoT device
service, are:</t>
      <ul spacing="normal">
        <li>
          <t>A stable, publicly accessible <tt>entry_point</tt> URL.</t>
        </li>
        <li>
          <t>A machine-readable specification at a public <tt>spec.url</tt> (OpenAPI,
MCP, AsyncAPI, or GraphQL SDL).</t>
        </li>
        <li>
          <t>Liveness maintained by Spider health checks, not device presence signals.</t>
        </li>
        <li>
          <t>No instance layer: the service is the service; there is no per-physical-unit
record.</t>
        </li>
      </ul>
      <t>Implementors MUST satisfy all normative requirements in <xref target="APIX-CORE"/>
before applying the additional requirements in this document.</t>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref target="RFC2119"/>.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The following terms are defined in <xref target="APIX-CORE"/> and used here without
redefinition: APIX, APM, APIX Manifest, service_id, trust model,
organisation trust level (O-0 through O-5), service verification level
(S-0 through S-4), liveness, commercial contract, sanctions screening.</t>
        <t>Additional terms defined in this document:</t>
        <t><strong>API Service</strong> — A service registered with <tt>spec.type</tt> set to a
web-protocol value (openapi, mcp, asyncapi, graphql). Has a stable
<tt>entry_point</tt> URL and a machine-readable spec document. Verified by
the APIX Spider.</t>
        <t><strong>APIX Spider</strong> — The automated crawler component that verifies API
service registrations by fetching health endpoints and specification
documents, comparing them against registered snapshots, and updating
service verification levels.</t>
        <t><strong>Registered Spec Snapshot</strong> — The machine-readable specification
document fetched and stored by the Spider at first registration, or at
each APM update that increments <tt>api_version</tt>. The snapshot is the
reference for structural consistency checks on subsequent Spider runs.</t>
        <t><strong>Liveness Monitoring Configuration</strong> — The per-service setting that
determines how frequently the Spider rechecks a service's health
endpoint and specification document.</t>
        <t><strong>Liveness</strong> — Defined in <xref target="APIX-CORE"/> Section 2. For API services,
liveness is measured by the APIX Spider via periodic HTTPS health checks
against <tt>{entry_point}/health</tt>. The Spider records response availability,
response time, and uptime percentage. Device service liveness uses a
different mechanism (see <xref target="APIX-IOT"/>).</t>
        <t><strong>Service Record</strong> — The APIX-maintained record for an API service,
combining the APM submitted by the Service Owner with Spider-verified
trust metadata. Available at two granularity levels: Level 1 (summary,
returned in search results) and Level 2 (full record, returned on
detail fetch).</t>
        <t><strong>Lifecycle Stage</strong> — The current development and support status of a
service: <tt>experimental</tt>, <tt>beta</tt>, <tt>stable</tt>, <tt>deprecated</tt>, or <tt>sunset</tt>.</t>
        <t><strong>spec_consistency</strong> — A Spider-maintained field with three values:
<tt>consistent</tt> (spec matches snapshot), <tt>mismatch</tt> (spec changed without
APM version update), <tt>unreachable</tt> (spec URL not fetchable or parseable).</t>
        <t><strong>Accredited Verifier</strong> — An organisation accredited by the governing
body to perform O-4 and O-5 organisation trust assessments.</t>
      </section>
      <section anchor="apm-for-api-services">
        <name>APM for API Services</name>
        <section anchor="required-fields">
          <name>Required Fields</name>
          <t>The APIX Manifest for an API service extends the base APM format defined
in <xref target="APIX-CORE"/>. The following complete schema applies to all services
with <tt>spec.type</tt> in the Protocol Type Registry (Section 4):</t>
          <artwork><![CDATA[
{
  "apm_version": "1.0",
  "service_id": "unique stable ID -- UUID v4 or APIX-issued",
  "name": "human-readable service name",
  "description": "machine-parseable capability summary",
  "language": ["en"],
  "api_version": "semantic version string -- e.g. 2.1.0",
  "lifecycle_stage": "experimental|beta|stable|deprecated|sunset",
  "supersedes": "service_id this entry supersedes -- OPTIONAL",
  "owner": {
    "organisation_name": "legal entity name",
    "jurisdiction": "ISO 3166-1 alpha-2 country code",
    "registration_number": "reg. number -- required for O-2+",
    "contacts": {
      "operations": "email -- incident and spec-failure alerts",
      "escalation": "email -- Cluster 3 escalation; OPTIONAL"
    }
  },
  "spec": {
    "type": "value from protocols registry",
    "url": "URL to the machine-readable specification document",
    "version": "spec version string"
  },
  "capabilities": [
    "term from capabilities registry",
    "term from capabilities registry"
  ],
  "entry_point": "base URL of the service",
  "trust": {
    "organisation_level": "O-0 to O-5 -- set by index only",
    "service_level": "S-0 to S-4 -- set by index only",
    "spec_consistency": "null|consistent|mismatch|unreachable",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "ISO 8601 timestamp -- next Spider run",
    "liveness": {
      "last_ping_at": "ISO 8601 timestamp",
      "ping_interval_seconds": 300,
      "uptime_30d_percent": 99.9,
      "avg_response_ms": 142.0
    }
  },
  "last_verified_against_target": "ISO 8601 -- OPTIONAL",
  "notifications": {
    "supported": true,
    "channels": [
      {
        "type": "value from notification-channels registry",
        "registration_url": "URL to register a subscription",
        "events": ["event-type"],
        "spec_url": "URL to event schema -- OPTIONAL"
      }
    ]
  },
  "legal": {
    "terms_of_service_url": "URL",
    "privacy_policy_url": "URL",
    "data_processing_agreement_url": "URL -- required for O-3+",
    "gdpr_applicable": true,
    "jurisdiction_flags": ["ISO 3166-1 alpha-2 country code"]
  },
  "authentication": {
    "methods": ["oauth2 | api_key | bearer | mtls | none"],
    "oauth2_discovery_url": "URL to OAuth2 discovery endpoint"
  },
  "pricing": {
    "model": "free | freemium | paid | enterprise | dynamic",
    "pricing_url": "URL to human-readable pricing page -- OPTIONAL",
    "pricing_endpoint": "machine-readable price endpoint -- dynamic"
  },
  "standard_warnings": [
    {
      "field": "APM field path",
      "value": "the deprecated value in use",
      "registry_status": "deprecated",
      "deprecated_in_apix_version": "version string",
      "sunset_date": "ISO 8601 date",
      "replacement": "replacement value",
      "message": "human-readable warning"
    }
  ],
  "custom": [
    "com.example.coverage_polygon",
    "com.example.seasonal_availability"
  ]
}
]]></artwork>
          <t><strong>Field notes:</strong></t>
          <t><tt>last_verified_against_target</tt> is OPTIONAL and self-reported: it records the
freshness of this service's content against the external target it describes
(primarily for meta/description services, capability <tt>meta.api-spec</tt>). The
index validates the timestamp format only, not its truthfulness.</t>
          <t><tt>owner.contacts.operations</tt> MUST be provided. It is the primary notification
address for all automated Spider alerts: spec fetch failures at Cluster 2
entry, liveness degradation, and recovery confirmations. This address
SHOULD reach the team responsible for keeping the service registration
current.</t>
          <t><tt>owner.contacts.escalation</tt> is OPTIONAL but RECOMMENDED. It is the
escalation address sent to when failures reach Cluster 3 — indicating
a persistent problem that has not been resolved through the Cluster 1
and Cluster 2 retry windows and likely requires management attention or
a deliberate APM configuration update. This address SHOULD reach a team
lead, service owner, or on-call manager. It MUST NOT be identical to
<tt>operations</tt> — if the same person handles both, the escalation path
provides no additional coverage.</t>
          <t><tt>api_version</tt> MUST follow Semantic Versioning 2.0.0. It describes
the version of the service's own API, not the APM format version.</t>
          <t>Each <tt>api_version</tt> value is bound to exactly one registered spec snapshot
and carries an immutable field structure definition. The schema associated
with a published <tt>api_version</tt> MUST NOT change after first publication:</t>
          <ul spacing="normal">
            <li>
              <t>Adding a field requires a new minor version (e.g., <tt>2.3.0</tt> → <tt>2.4.0</tt>).</t>
            </li>
            <li>
              <t>Removing a field, changing a field type, or making any other breaking
change requires a new major version (e.g., <tt>2.4.0</tt> → <tt>3.0.0</tt>).</t>
            </li>
          </ul>
          <t>This is not a convention — it is a hard invariant enforced by the snapshot
model. A consuming agent that targets <tt>v2.4</tt> receives a permanent contract:
every service matching that version will expose exactly the fields defined
for <tt>v2.4</tt>, no more and no less, for the lifetime of that registration.
Service Owners are therefore free to drop outdated fields at a major version
boundary without deprecation gymnastics — the major bump is the explicit,
sufficient notice to consumers.</t>
          <t>A Service Owner who modifies the live spec document at <tt>spec.url</tt> without
submitting an APM update with a new <tt>api_version</tt> value WILL produce a
structural mismatch between the live document and the stored snapshot. The
Spider MUST record this as an S-2 consistency failure and MUST surface it
in the Service Record as a <tt>standard_warnings</tt> entry.</t>
          <t>Operators who need to change their API MUST register a new <tt>api_version</tt>.
This protects consuming agents from silent contract breakage.</t>
          <t><tt>language</tt> is OPTIONAL. When present, it MUST be a non-empty JSON array
of BCP 47 language tags (<xref target="RFC5646"/>). It declares the natural languages
in which the service's API responses, documentation, and user-facing
content are available. If omitted, the default value is <tt>["en"]</tt>. Agents
MAY use this field to select services that operate in a required language.
Example: <tt>["de", "en"]</tt> for a service supporting German and English.</t>
          <t><tt>authentication</tt> is OPTIONAL but RECOMMENDED. When present, it MUST
contain a <tt>methods</tt> array listing one or more of the following values:
<tt>"oauth2"</tt>, <tt>"api_key"</tt>, <tt>"bearer"</tt>, <tt>"mtls"</tt>, <tt>"none"</tt>. A service that
requires no authentication MUST declare <tt>["none"]</tt> explicitly. When
<tt>"oauth2"</tt> is in <tt>methods</tt>, <tt>oauth2_discovery_url</tt> MUST be provided; it
MUST point to a valid OAuth2 discovery document (RFC 8414 or OpenID
Connect Discovery). The <tt>authentication</tt> field enables agents to
pre-qualify whether they can authenticate with a service before
invocation, avoiding wasted round-trips and quota consumption against
services the agent cannot use. The APIX Spider does not verify credential
validity; it verifies only that <tt>oauth2_discovery_url</tt>, when declared, is
reachable and returns a parseable discovery document.</t>
          <t><tt>pricing</tt> is OPTIONAL. When present, it MUST contain a <tt>model</tt> field with
one of the following values:</t>
          <ul spacing="normal">
            <li>
              <t><tt>"free"</tt> — no charge for any usage; <tt>pricing_url</tt> MAY be omitted.</t>
            </li>
            <li>
              <t><tt>"freemium"</tt> — a free tier exists; <tt>pricing_url</tt> SHOULD be provided.</t>
            </li>
            <li>
              <t><tt>"paid"</tt> — all usage is charged; <tt>pricing_url</tt> MUST be provided.</t>
            </li>
            <li>
              <t><tt>"enterprise"</tt> — pricing is individually negotiated; <tt>pricing_url</tt> MUST
be provided.</t>
            </li>
            <li>
              <t><tt>"dynamic"</tt> — price varies based on service load or other real-time
factors; <tt>pricing_endpoint</tt> MUST be provided.</t>
            </li>
          </ul>
          <t><tt>pricing.model</tt> is self-declared and is not verified by the APIX Spider.
The index stores and exposes only the declared <tt>model</tt> value and the
<tt>pricing_endpoint</tt> URL; it does not fetch, cache, or display current
prices. Consuming agents are solely responsible for querying the
<tt>pricing_endpoint</tt> directly before invocation and for evaluating the
returned price against their operator-configured budget constraints.
Misrepresentation of the pricing model (e.g., declaring <tt>"free"</tt> while
charging) constitutes a breach of the service owner's registration
contract and MUST result in suspension at O-3+.</t>
          <t><tt>pricing.pricing_url</tt> MUST be a stable HTTPS URL pointing to a
human-readable pricing page. Agents MAY follow this URL for full pricing
detail.</t>
          <t><tt>pricing.pricing_endpoint</tt> is REQUIRED when <tt>model</tt> is <tt>"dynamic"</tt> and
MUST NOT be present for any other model value. It is a stable HTTPS URL
that agents query immediately before service invocation to obtain the
current price. The endpoint MUST respond with:</t>
          <sourcecode type="json"><![CDATA[
{
  "price_per_unit": 0.005,
  "currency": "ISO 4217 currency code -- e.g. USD, EUR",
  "unit": "request | token | minute | kb | device_hour",
  "valid_until": "ISO 8601 timestamp -- quote expires at this time",
  "quote_id": "single-use price reservation token",
  "load_factor": 1.2
}
]]></sourcecode>
          <t><tt>quote_id</tt> is a single-use price reservation token issued by the service
for this specific price quote. It MUST be treated as a binding commitment:
the service MUST honour the quoted <tt>price_per_unit</tt> when the agent presents
a valid, non-expired <tt>quote_id</tt> at invocation time. The <tt>quote_id</tt> expires
at <tt>valid_until</tt> and MUST NOT be accepted after that timestamp. A <tt>quote_id</tt>
is single-use — once presented in an invocation it is consumed and MUST NOT
be accepted again. How the agent presents the <tt>quote_id</tt> during invocation
(HTTP header, request body field, or other mechanism) is defined by the
service's own API documentation; APIX does not specify the invocation
protocol.</t>
          <t>An agent MUST NOT invoke the service after <tt>valid_until</tt> without re-querying
the pricing endpoint to obtain a fresh <tt>quote_id</tt>. An agent MAY compare
<tt>price_per_unit</tt> against its operator-configured budget ceiling and MUST
abandon the invocation and discard the <tt>quote_id</tt> if the ceiling is exceeded.</t>
          <t><tt>load_factor</tt> is OPTIONAL and indicates the current multiplier relative
to the service's baseline price (1.0 = baseline).</t>
          <t><tt>lifecycle_stage</tt> defines the publication maturity of this API service.
API service lifecycle is defined by this profile. Valid values are
<tt>experimental</tt>, <tt>beta</tt>, <tt>stable</tt>, <tt>deprecated</tt>, and <tt>sunset</tt>. Default
if omitted is <tt>stable</tt>. Services at <tt>experimental</tt> or <tt>beta</tt> are
excluded from default search results (see Section 7.2).</t>
          <table>
            <thead>
              <tr>
                <th align="left">Stage</th>
                <th align="left">Meaning</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>experimental</tt></td>
                <td align="left">Pre-release. Interface may change without notice.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>beta</tt></td>
                <td align="left">Feature-complete but not yet declared stable. Breaking changes possible.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>stable</tt></td>
                <td align="left">Production-ready. Breaking changes require a new <tt>api_version</tt>.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>deprecated</tt></td>
                <td align="left">Service owner is winding down. Successor SHOULD be declared via <tt>supersedes</tt>.</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>sunset</tt></td>
                <td align="left">Service endpoint will go dark at the declared <tt>sunset_date</tt>. Agents MUST stop using the service by that date.</td>
              </tr>
            </tbody>
          </table>
          <t>Transitions are unidirectional: <tt>experimental</tt> → <tt>beta</tt> → <tt>stable</tt> →
<tt>deprecated</tt> → <tt>sunset</tt>.</t>
          <t><tt>supersedes</tt> is OPTIONAL. When set, the index MUST automatically set
<tt>superseded_by</tt> on the referenced entry. The referencing service MUST be
registered under the same organisation account.</t>
          <t><tt>trust</tt> fields are set exclusively by the index operator based on
verification outcomes. APM submissions that include <tt>trust</tt> field values
MUST have those values overwritten by the index upon processing.</t>
          <t><tt>standard_warnings</tt> is set exclusively by the index operator. It is
populated only after the grace period for the relevant deprecation has
elapsed (see <xref target="APIX-CORE"/> Section 4.3). During the grace period the
field MUST be empty even if the service uses a deprecated value. Service
Owners MUST NOT submit this field; submitted values MUST be ignored.</t>
          <t><tt>custom</tt> is OPTIONAL. When present, it MUST be a JSON array of strings.
Each string MUST use reverse-domain notation (e.g.,
<tt>"com.example.coverage_polygon"</tt>) to prevent key collisions between
independent adopters. The array MUST NOT contain more than 20 entries.
Each entry MUST NOT exceed 128 characters.</t>
          <t>The <tt>custom</tt> array is a capability declaration list — it signals that
the service exposes properties not yet covered by the standard schema,
without encoding their values in the index. Values associated with
declared custom properties are defined and published by the registrant
outside the index (e.g., in their API documentation or spec document)
and are retrieved directly from the service. The index stores and
exposes only the declared key names.</t>
          <t>The <tt>custom</tt> field is the governed extension mechanism for early
adoption of field patterns that may be standardised in a future APM
version. The APIX Spider records declared key names in the index's
custom key registry. Consuming agents can discover services that
declare a known custom property via the <tt>custom_key</tt> search parameter;
interpretation of a custom property's semantics requires out-of-band
agreement between registrant and consumer.</t>
          <t>The promotion path: when a custom key appears in APM submissions from
five (5) or more independent organisations, The governing body MAY open a governance
track to evaluate the pattern as a candidate standard field in a future
APM version. Registrants are encouraged to document custom property
semantics publicly to support interoperability and accelerate
standardisation.</t>
          <t><tt>notifications</tt> is OPTIONAL for <tt>experimental</tt> and <tt>beta</tt> lifecycle stages
and RECOMMENDED for <tt>stable</tt>. If <tt>notifications.supported</tt> is <tt>true</tt>,
<tt>notifications.channels</tt> MUST contain at least one entry.</t>
          <t><tt>entry_point</tt> is the base HTTPS URL of the service, used by consuming agents
to construct API calls. The following normative requirements apply:</t>
          <ul spacing="normal">
            <li>
              <t><tt>entry_point</tt> MUST use the <tt>https</tt> scheme. HTTP entry points MUST be
rejected at registration.</t>
            </li>
            <li>
              <t><tt>entry_point</tt> MUST remain stable for the lifetime of the service
registration. A change to <tt>entry_point</tt> MUST be submitted as an APM
update and MUST trigger immediate Spider re-verification.</t>
            </li>
            <li>
              <t>The Spider MUST NOT hit <tt>entry_point</tt> directly for liveness checks.
Instead, the Spider checks <tt>entry_point + /health</tt> (see Section 5.2).</t>
            </li>
            <li>
              <t>HTTP redirects from <tt>entry_point</tt> are permitted for consuming agents
but MUST NOT be present at <tt>entry_point/health</tt> (the health endpoint
MUST respond directly without redirect).</t>
            </li>
          </ul>
          <t><tt>entry_point/health</tt> is the mandatory liveness endpoint. Every registered
service MUST expose a health endpoint at the path <tt>/health</tt> relative to
<tt>entry_point</tt>. This endpoint:</t>
          <ul spacing="normal">
            <li>
              <t>MUST return HTTP 2xx when the service is operational.</t>
            </li>
            <li>
              <t>MUST return without requiring authentication.</t>
            </li>
            <li>
              <t>MUST respond within a reasonable timeout (RECOMMENDED: 5 seconds).</t>
            </li>
            <li>
              <t>SHOULD return a JSON body of the form <tt>{"status": "ok", "api_version":
"&lt;semver&gt;"}</tt>. If <tt>api_version</tt> is present, the Spider SHOULD cross-check
it against the APM <tt>api_version</tt> field; a mismatch MUST be recorded as
a warning in the Service Record.</t>
            </li>
            <li>
              <t>MUST NOT be used by consuming agents for API calls — it is a
Spider-facing infrastructure endpoint only.</t>
            </li>
          </ul>
          <t><tt>spec.url</tt> is the URL to the machine-readable API specification document
(OpenAPI JSON/YAML, MCP manifest, AsyncAPI document, or GraphQL SDL).</t>
          <ul spacing="normal">
            <li>
              <t><tt>spec.url</tt> MUST use the <tt>https</tt> scheme.</t>
            </li>
            <li>
              <t><tt>spec.url</tt> MUST be publicly accessible without authentication. A spec
behind authentication cannot be fetched by the Spider and permanently
prevents the service from reaching S-2.</t>
            </li>
            <li>
              <t>On the initial Spider run following registration, the Spider fetches
the spec document and stores it as the registered spec snapshot.
All subsequent Spider runs compare the live document at <tt>spec.url</tt>
against this snapshot to detect breaking changes (S-3 assessment).
The snapshot is updated when the Service Owner submits an APM update
that increments <tt>api_version</tt>.</t>
            </li>
            <li>
              <t>An APM update that changes <tt>spec.url</tt> MUST trigger immediate Spider
re-verification and snapshot replacement (see Section 5.1).</t>
            </li>
          </ul>
          <t>The <tt>service_id</tt> MUST be stable across re-registrations and version updates.
It is the canonical identity of the service in the APIX and MUST be a UUID v4
or an APIX-issued deterministic identifier.</t>
        </section>
      </section>
      <section anchor="protocol-type-registry-v10-starter-set">
        <name>Protocol Type Registry (v1.0 starter set)</name>
        <t>The <tt>spec.type</tt> field MUST contain a value from the Protocol Type Registry
at <tt>apix.example.org/registry/protocols</tt>. The registry is the authoritative
and always-current list of valid values. The entries below are the v1.0
starter set for API services; the governing body extends the registry as
additional protocol types reach sufficient adoption. Registry entries
follow the lifecycle defined in <xref target="APIX-CORE"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Registry value</th>
              <th align="left">Standard</th>
              <th align="left">Spider behaviour</th>
              <th align="left">Status</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>openapi</tt></td>
              <td align="left">OpenAPI 3.x</td>
              <td align="left">Parses paths, schemas, auth requirements</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>mcp</tt></td>
              <td align="left">Model Context Protocol</td>
              <td align="left">Parses tool definitions and capability list</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>asyncapi</tt></td>
              <td align="left">AsyncAPI 2.x / 3.x</td>
              <td align="left">Parses channels, message schemas</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>graphql</tt></td>
              <td align="left">GraphQL SDL</td>
              <td align="left">Introspection query to <tt>entry_point</tt>; see below</td>
              <td align="left">active</td>
            </tr>
          </tbody>
        </table>
        <t>Note: IoT device service types (<tt>device-class</tt>, <tt>hub</tt>) are defined in
<xref target="APIX-IOT"/> and are not governed by this profile.</t>
        <section anchor="graphql-spider-behaviour">
          <name>GraphQL Spider Behaviour</name>
          <t>For services with <tt>spec.type: graphql</tt>, the <tt>spec.url</tt> field MUST point to
the GraphQL endpoint (identical to <tt>entry_point</tt> in most deployments). The
Spider MUST issue a standard GraphQL introspection query to that endpoint:</t>
          <sourcecode type="graphql"><![CDATA[
{ __schema {
    queryType { name }
    mutationType { name }
    subscriptionType { name }
    types {
      name
      kind
      fields(includeDeprecated: true) {
        name
        isDeprecated
        type { name kind ofType { name kind } }
        args { name type { name kind ofType { name kind } } }
      }
    }
} }
]]></sourcecode>
          <t>The Spider MUST POST this query as <tt>Content-Type: application/json</tt> with
<tt>{"query": "&lt;introspection query&gt;"}</tt>. A 200 response with a valid JSON
body containing a <tt>data.__schema</tt> object constitutes a successful spec
fetch (S-2 prerequisite).</t>
          <t><strong>Normalised schema representation:</strong> The Spider MUST normalise the
introspection result into a canonical form before storage as the registered
spec snapshot. The canonical form is a sorted JSON object containing:</t>
          <ul spacing="normal">
            <li>
              <t><tt>types</tt>: alphabetically sorted list of non-introspection type names
(excluding built-in scalar and introspection types: <tt>__Schema</tt>, <tt>__Type</tt>,
<tt>__TypeKind</tt>, <tt>__Field</tt>, <tt>__InputValue</tt>, <tt>__EnumValue</tt>, <tt>__Directive</tt>,
<tt>__DirectiveLocation</tt>, <tt>Boolean</tt>, <tt>Int</tt>, <tt>Float</tt>, <tt>String</tt>, <tt>ID</tt>)</t>
            </li>
            <li>
              <t>Per type: <tt>kind</tt>, sorted <tt>fields</tt> list, per field: name, required/optional
status, argument names and types, return type name</t>
            </li>
          </ul>
          <t>Normalisation eliminates cosmetic differences (field order, whitespace) from
breaking change detection.</t>
          <t><strong>Breaking change definition for GraphQL:</strong></t>
          <table>
            <thead>
              <tr>
                <th align="left">Change</th>
                <th align="left">Breaking</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Removed type</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="left">Removed field on existing type</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="left">Added required argument to existing field</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="left">Changed return type of existing field</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="left">Added optional field</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">Added new type</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">Added optional argument</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="left">Deprecated field (marked <tt>isDeprecated: true</tt>)</td>
                <td align="left">No — recorded as metadata warning only</td>
              </tr>
            </tbody>
          </table>
          <t><strong>Introspection disabled:</strong> Some production GraphQL services disable
introspection as a security measure. If the introspection query returns an
error (HTTP 200 with <tt>{"errors": [...]}</tt> containing a message indicating
introspection is disabled, or HTTP 4xx), the Spider MUST set
<tt>spec_consistency: unreachable</tt> and record a metadata warning with code
<tt>graphql_introspection_disabled</tt>. The service CANNOT achieve S-2 without
enabling introspection for the Spider's IP range, or by providing an
alternative static SDL document at a dedicated <tt>spec.url</tt> (in which case
<tt>spec.type</tt> MUST be <tt>graphql</tt> and the Spider will fetch and parse the SDL
document directly instead of issuing the introspection query).</t>
          <t>Services whose specification type is not yet in the registry SHOULD request
addition via the governing body's registry extension process before
registering. Until the type is added, such services cannot achieve S-2 or
above, as the Spider has no parser for unregistered types.</t>
        </section>
      </section>
      <section anchor="capability-taxonomy-registry-v10-starter-set">
        <name>Capability Taxonomy Registry (v1.0 starter set)</name>
        <t>The <tt>capabilities</tt> field MUST contain terms from the Capability Taxonomy
Registry at <tt>apix.example.org/registry/capabilities</tt>. The registry is the
authoritative and always-current list of valid terms. Terms are
hierarchical, dot-separated (e.g., <tt>commerce.marketplace</tt>), and follow
the lifecycle defined in <xref target="APIX-CORE"/>.</t>
        <t>The following are the v1.0 starter set for API services. IoT-specific
capability terms (<tt>iot</tt>, <tt>home.*</tt>) are defined in
<xref target="APIX-IOT"/>. The live registry is the authoritative
source; this list is illustrative only.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Term</th>
              <th align="left">Description</th>
              <th align="left">Status</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>commerce</tt></td>
              <td align="left">E-commerce and marketplaces</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>commerce.marketplace</tt></td>
              <td align="left">Multi-vendor marketplace</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>commerce.retail</tt></td>
              <td align="left">Single-vendor retail</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>payments</tt></td>
              <td align="left">Payment processing</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>payments.card</tt></td>
              <td align="left">Card payment processing</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>payments.crypto</tt></td>
              <td align="left">Cryptocurrency payments</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>data.financial</tt></td>
              <td align="left">Financial data and markets</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>data.legal</tt></td>
              <td align="left">Legal documents and data</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>nlp</tt></td>
              <td align="left">Natural language processing</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>nlp.translation</tt></td>
              <td align="left">Language translation</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>identity</tt></td>
              <td align="left">Authentication and identity</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>communication</tt></td>
              <td align="left">Messaging and notifications</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>storage</tt></td>
              <td align="left">File and object storage</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>compute</tt></td>
              <td align="left">Code execution and computing</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>media</tt></td>
              <td align="left">Image, audio, video services</td>
              <td align="left">active</td>
            </tr>
            <tr>
              <td align="left">
                <tt>search</tt></td>
              <td align="left">Information retrieval</td>
              <td align="left">active</td>
            </tr>
          </tbody>
        </table>
        <t>A Service MUST declare at least one capability term. Declared capabilities
are validated by the Spider against the parsed specification where the spec
type supports it. Services using deprecated taxonomy terms receive a
<tt>standard_warnings</tt> entry in their Service Record.</t>
        <section anchor="hierarchical-semantics">
          <name>Hierarchical semantics</name>
          <t>Capability terms form a strict containment hierarchy expressed by their
dot-separated segments. A term is a <em>sub-capability</em> of every term obtained by
removing one or more trailing segments: <tt>payments.card</tt> is a sub-capability of
<tt>payments</tt>; <tt>logistics.tracking.express</tt> is a sub-capability of both
<tt>logistics.tracking</tt> and <tt>logistics</tt>. Equivalently, declaring a service under a
term asserts that the service is an instance of every ancestor term
(<tt>is_instance_of</tt>).</t>
          <t>Containment MUST be evaluated on whole dot-separated segments, never on raw
character prefixes. A term <tt>T</tt> contains a term <tt>U</tt> if and only if <tt>U</tt> equals
<tt>T</tt>, or <tt>U</tt> begins with <tt>T</tt> immediately followed by a <tt>.</tt> separator. Thus
<tt>payments</tt> contains <tt>payments.card</tt> but does not contain a distinct term that
merely shares a leading substring.</t>
          <t>A service that declares a sub-capability is discoverable under every ancestor
term without separately declaring the ancestors; ancestor expansion is
performed by the index, not by the registrant. This hierarchy is the basis for
hierarchical capability search (see the <tt>capability</tt> search parameter) and for
graph-based discovery.</t>
        </section>
        <section anchor="capability-taxonomy-governance">
          <name>Capability Taxonomy Governance</name>
          <t>The Capability Taxonomy Registry is maintained by the governing body.
The following process governs additions, deprecations, and removals:</t>
          <t><strong>Proposing new terms:</strong></t>
          <t>Any organisation may propose a new taxonomy term. A proposal MUST include:
a candidate term (dot-separated, max 4 levels), a definition (max 200 words),
examples of services that would use it, and evidence of adoption (at minimum
3 registered or planned APIX services that require the term). Proposals
MUST be submitted via the governing body's designated public proposal
mechanism.</t>
          <t><strong>Review cycle:</strong> the governing body reviews taxonomy proposals quarterly. A proposal
is accepted when: the definition is unambiguous, the term does not overlap
with an existing term, and the adoption evidence is credible. Accepted terms
are added as <tt>active</tt> in the next quarterly registry update.</t>
          <t><strong>Versioning:</strong> The Capability Taxonomy Registry is independently versioned.
The registry version is exposed in the APIX root resource (see <xref target="APIX-CORE"/>
Section 9.2). The taxonomy version advances on any addition or deprecation.</t>
          <t><strong>Deprecation:</strong> A term is deprecated when a more precise replacement term
is accepted. Deprecation follows the lifecycle defined in <xref target="APIX-CORE"/>
Section 4.3: 12-month minimum window, 90-day grace period.</t>
          <t><strong>IANA considerations:</strong> The taxonomy is not maintained by IANA. The governing body
is the designated authority. Should a future version of this specification
transfer maintenance to IANA, a mapping document MUST be published.</t>
        </section>
      </section>
      <section anchor="notification-channel-registry-v10-starter-set">
        <name>Notification Channel Registry (v1.0 starter set)</name>
        <t>The <tt>notifications.channels[].type</tt> field MUST contain a value from the
Notification Channel Registry at <tt>apix.example.org/registry/notification-channels</tt>.
The following are the v1.0 starter set. Registry entries follow the lifecycle
defined in <xref target="APIX-CORE"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Registry value</th>
              <th align="left">Transport</th>
              <th align="left">Direction</th>
              <th align="left">Applicable to</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>webhook</tt></td>
              <td align="left">HTTPS POST</td>
              <td align="left">Server → agent</td>
              <td align="left">All service types</td>
              <td align="left">Service posts event payloads to an agent-registered callback URL. Agent provides the callback URL at subscription time via the <tt>registration_url</tt> endpoint. The service MUST include a shared secret in each delivery; agents MUST verify it. At-least-once delivery; agents MUST be idempotent.</td>
            </tr>
            <tr>
              <td align="left">
                <tt>sse</tt></td>
              <td align="left">HTTP Server-Sent Events</td>
              <td align="left">Server → agent</td>
              <td align="left">API services only</td>
              <td align="left">Agent opens a long-lived HTTP GET connection to the service's event stream. No subscription management endpoint required; the <tt>registration_url</tt> field carries the SSE stream URL. Agent reconnects on disconnect per the SSE specification (<xref target="W3C-SSE"/>).</td>
            </tr>
            <tr>
              <td align="left">
                <tt>websocket</tt></td>
              <td align="left">WebSocket (RFC 6455)</td>
              <td align="left">Bidirectional</td>
              <td align="left">API services only</td>
              <td align="left">Agent opens a WebSocket connection to the service. <tt>registration_url</tt> is the WebSocket endpoint. Enables request/response and push notification in a single persistent connection.</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Subscription management:</strong> For <tt>webhook</tt>, the <tt>registration_url</tt> MUST point
to an HTTPS endpoint that accepts a subscription registration payload. The
minimum subscription registration format is:</t>
        <sourcecode type="json"><![CDATA[
{
  "callback_url": "https://agent.example/events",
  "events": ["spec.updated", "status.changed"],
  "secret": "agent-supplied shared secret for HMAC verification"
}
]]></sourcecode>
        <t>The registration endpoint MUST return the subscription identifier and
expiry time. Agents are responsible for renewing subscriptions before expiry.</t>
        <t><strong>Event types:</strong> The <tt>events</tt> field in the APM notification channel and in
subscription requests MUST contain values from the APIX Event Type Registry
at <tt>apix.example.org/registry/event-types</tt>. The v1.0 starter set:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Event type</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">
                <tt>spec.updated</tt></td>
              <td align="left">The service's spec document has changed (new <tt>api_version</tt>)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>status.changed</tt></td>
              <td align="left">Service operational status has changed (up/down/degraded)</td>
            </tr>
            <tr>
              <td align="left">
                <tt>trust.changed</tt></td>
              <td align="left">Organisation or service trust level has changed</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Notification channel requirements are OPTIONAL for registration.</strong> Services
that do not support push notifications MUST set <tt>notifications.supported</tt> to
<tt>false</tt>. Consuming agents that require push notifications SHOULD filter by
<tt>notifications.supported: true</tt> before subscribing.</t>
      </section>
      <section anchor="registration-and-onboarding">
        <name>Registration and Onboarding</name>
        <section anchor="push-registration-human-initiated">
          <name>Push Registration (Human-Initiated)</name>
          <t>Service registration MUST be human-initiated. The registrant MUST agree
to the index operator's Terms of Service before any service record is
activated. For O-0 and O-1, self-service portal registration with
accepted Terms of Service satisfies this requirement. For O-2 and above,
registration MUST additionally involve a formal B2B contractual
relationship between the Service Owner and the index operator or its
Accredited Regional Representative.</t>
          <t>Registration MUST be scoped at the <strong>organisation level</strong>. An organisation
registers once and undergoes identity verification once; multiple services
may then be registered under that organisational identity. This requirement
ensures:</t>
          <ul spacing="normal">
            <li>
              <t>Identity verification and sanctions screening are performed once per
legal entity, not repeated per service.</t>
            </li>
            <li>
              <t>Organisation trust (O-level) established at registration propagates
to all services registered under that organisation without re-verification
of the organisation's identity.</t>
            </li>
          </ul>
          <t><strong>Definition:</strong> one service equals one APIX Manifest (APM) document
with one distinct <tt>entry_point</tt>. Logical bundling of API paths under a
single entry point is the registrant's responsibility and is permitted.</t>
          <t>The registration process:</t>
          <ol spacing="normal" type="1"><li>
              <t>The Service Owner (or their Accredited Regional Representative) creates
an Organisation Account in the APIX Registration Portal. The index
operator MUST screen the Service Owner against applicable sanctions
lists before account activation per <xref target="APIX-CORE"/>.</t>
            </li>
            <li>
              <t>The Service Owner provides organisation details sufficient for the
target Organisation trust level. This step is performed once per
organisation.</t>
            </li>
            <li>
              <t>The Service Owner submits an APIX Manifest for each service to be
registered, including the spec URL and entry point. Each service is
associated with a liveness monitoring configuration that determines
Spider check frequency (see Section 5.3).</t>
            </li>
            <li>
              <t>For O-1: email and domain ownership verification is completed
automatically.</t>
            </li>
            <li>
              <t>For O-2: the index operator or Regional Representative verifies the
declared company registration number.</t>
            </li>
            <li>
              <t>For O-3: APIX automatically checks security.txt, DMARC/SPF records,
and declared legal document URLs. No human review required.</t>
            </li>
            <li>
              <t>For O-4 and O-5: the Service Owner engages an Accredited Verifier
(O-4) or submits an audit certificate directly to the governing body (O-5).</t>
            </li>
            <li>
              <t>Upon completion of applicable checks, the service is activated in the
index and the Spider is triggered.</t>
            </li>
          </ol>
        </section>
        <section anchor="accredited-verifier-requirements">
          <name>Accredited Verifier Requirements</name>
          <t>Organisation levels O-4 and O-5 require an Accredited Verifier. To be
accredited by the governing body, a candidate Verifier organisation
MUST satisfy all of the following:</t>
          <t><strong>Independence:</strong> The Verifier MUST have no ownership relationship, employment
relationship, or consulting engagement with any organisation it assesses.
Independence is evaluated per assessment: a Verifier that provided consulting
services to the candidate organisation within the prior 24 months MUST recuse
itself from that assessment and the governing body MUST assign an
alternate Verifier.</t>
          <t><strong>Demonstrated audit competence:</strong> The Verifier organisation MUST hold at
least one of: ISO/IEC 27001 Lead Auditor certification (per ISO/IEC 17021),
SOC 2 attestation authority (AICPA CPA firm licensed for attestation
engagements), or ISAE 3402 Type II authority. At least one named individual
from the Verifier organisation MUST hold a current relevant professional
certification (CISA, CISSP, or equivalent recognised by the governing body).</t>
          <t><strong>APIX trust level:</strong> The Verifier organisation MUST itself be registered
in APIX at O-2 or above.</t>
          <t><strong>Contractual obligation:</strong> The Verifier MUST sign the Verifier Agreement,
which binds it to: the Verifier Standard, liability for negligent
assessments, incident reporting obligations, and annual re-accreditation.</t>
          <t><strong>Annual review:</strong> Accreditation is reviewed annually by the governing body. Failure to
maintain the requirements above or material error in an assessment MUST result
in suspension pending review. The governing body MUST maintain a public registry of all
accredited Verifiers and their current accreditation status.</t>
          <t><strong>Revocation:</strong> the governing body MAY revoke accreditation at any time for material
breach of the Verifier Agreement, demonstrated conflict of interest, or failure
to maintain competence requirements. Revocation is immediate; pending
assessments are transferred to an alternate Verifier at no additional cost to
the assessed organisation.</t>
        </section>
        <section anchor="spider-verification-automated">
          <name>Spider Verification (Automated)</name>
          <t>The APIX Spider is triggered automatically at two points:</t>
          <ul spacing="normal">
            <li>
              <t><strong>At registration</strong>: once a service is activated, the Spider performs
an initial verification run to establish the baseline Service
Verification Level.</t>
            </li>
            <li>
              <t><strong>On schedule</strong>: thereafter, the Spider rechecks the service at the
interval defined by the service's commercial tier (see Section 5.3).</t>
            </li>
          </ul>
          <t>During a Spider run, the Spider:</t>
          <ol spacing="normal" type="1"><li>
              <t>Performs an HTTPS request to <tt>{entry_point}/health</tt> and records the
response code, response time, and timestamp (Liveness: S-1).</t>
            </li>
            <li>
              <t>Fetches the spec document from <tt>spec.url</tt> (HTTPS, no authentication).</t>
            </li>
            <li>
              <t>Parses the fetched document and compares it structurally against the
registered spec snapshot (S-2 if fetchable and consistent; S-3 assessed
if no breaking changes detected across three or more consecutive runs).</t>
            </li>
            <li>
              <t>Updates all Liveness metrics in the Service Record.</t>
            </li>
            <li>
              <t>Records any failures and increments <tt>consecutive_failures</tt>.</t>
            </li>
            <li>
              <t>If the APM contains a <tt>custom</tt> field, records each declared key name
in the index's custom key registry. No values are stored; the <tt>custom</tt>
array contains only key name strings.</t>
            </li>
          </ol>
          <t>The Spider MUST NOT call any API endpoint beyond <tt>{entry_point}/health</tt>
and <tt>spec.url</tt>. The Spider MUST NOT submit data to, create resources in,
or otherwise interact with the production API of a registered service.</t>
          <t>The Spider MUST respect HTTP rate limits declared by the service. Spider
requests MUST include a <tt>User-Agent</tt> header identifying the APIX Spider
and version.</t>
        </section>
        <section anchor="service-verification-level-ceilings">
          <name>Service Verification Level Ceilings</name>
          <t>Certain service configuration states and governing body actions create
hard ceilings on the maximum Service Verification Level achievable or
maintainable. The following table defines all ceiling conditions for
API services. The index MUST enforce these ceilings automatically.</t>
          <table>
            <thead>
              <tr>
                <th align="left">Condition</th>
                <th align="left">Maximum S-level</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>spec.url</tt> requires authentication</td>
                <td align="left">S-1</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>spec.url</tt> unreachable or unparseable</td>
                <td align="left">S-1</td>
              </tr>
              <tr>
                <td align="left">Spec type not in APIX Protocol Type Registry</td>
                <td align="left">S-1</td>
              </tr>
              <tr>
                <td align="left">GraphQL service with introspection disabled and no SDL at <tt>spec.url</tt></td>
                <td align="left">S-1</td>
              </tr>
              <tr>
                <td align="left">Fewer than three consecutive Spider runs completed</td>
                <td align="left">S-2</td>
              </tr>
              <tr>
                <td align="left">Liveness frequency set to <tt>initial</tt> (Spider runs once only)</td>
                <td align="left">S-2</td>
              </tr>
              <tr>
                <td align="left">Active <tt>security_incident</tt> flag set by governing body</td>
                <td align="left">S-2</td>
              </tr>
              <tr>
                <td align="left">No completed security scan or pen test certificate on file</td>
                <td align="left">S-3</td>
              </tr>
            </tbody>
          </table>
          <t><tt>security_incident</tt> is an index-maintained flag, not an APM field. It
is set by the governing body upon receipt of credible breach intelligence
and cleared only after the service owner demonstrates full remediation
and passes a new security scan. The process for setting, contesting, and
clearing this flag — including the evidence threshold, contestation
procedure, and integration with external security feeds — is an open
question (see Section Open Questions).</t>
        </section>
        <section anchor="free-registration-tier-and-abuse-deterrence">
          <name>Free Registration Tier and Abuse Deterrence</name>
          <t>Service registration at O-0 and O-1 trust levels constitutes the free
registration tier. No payment information is required for these levels.
This is a deliberate design choice: requiring payment for O-0 would create a
barrier to early adoption and conflict with the open infrastructure mission.</t>
          <t>The following controls are sufficient at the free tier:</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>Mandatory Terms of Service acceptance:</strong> All registrations — including
free tier — require agreement to the index operator's Terms of Service
before account activation. For O-0 and O-1, this self-service acceptance
is the sole contractual requirement and creates legal accountability
regardless of tier. For O-2 and above, a formal B2B contract is
additionally required.</t>
            </li>
            <li>
              <t><strong>Sanctions screening at activation:</strong> All organisations are screened
before account activation per <xref target="APIX-CORE"/> Section 7. Sanctioned entities
cannot register at any tier.</t>
            </li>
            <li>
              <t><strong>Default discovery exclusion:</strong> Consuming agents applying standard Trust
Policies (org_level_min O-1 or higher) structurally exclude O-0 services
from results. Abuse at O-0 cannot reach consuming agents that apply
minimum recommended trust filters. Consuming agents that accept O-0
services MUST do so deliberately.</t>
            </li>
            <li>
              <t><strong>Liveness gating:</strong> O-0 services configured at <tt>initial</tt> liveness
frequency are excluded from default search results by default (see
Section 5.3). An abusive operator that registers a fake service and
then takes it offline will be gated out by both trust filtering and
liveness filtering simultaneously.</t>
            </li>
          </ol>
          <t><strong>Payment information on file is NOT required for O-0 or O-1 registration.</strong>
A future version of this specification MAY require payment information on
file (without charge) for O-1 as an additional identity anchor if operational
experience shows the above controls insufficient. This is not normative for
the current version.</t>
        </section>
        <section anchor="liveness-monitoring-configuration">
          <name>Liveness Monitoring Configuration</name>
          <t>Each registered API service MUST have a liveness monitoring configuration
that determines Spider check frequency. This configuration:</t>
          <ul spacing="normal">
            <li>
              <t>Is set per service, not per organisation account. An organisation
MAY configure different check frequencies for different services
registered under the same account.</t>
            </li>
            <li>
              <t>MUST be agreed in the commercial contract between the Service Owner
and the index operator.</t>
            </li>
            <li>
              <t>Determines the maximum age of <tt>last_ping_at</tt> data available to
consuming agents for that service.</t>
            </li>
          </ul>
          <t>Implementations MUST support at minimum the following frequency
classes, identified by their normative <tt>spider_interval</tt> value in
the Service Record:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Frequency class</th>
                <th align="left">Maximum spider_interval</th>
                <th align="left">Normative label</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Initial only</td>
                <td align="left">N/A (one run at activation)</td>
                <td align="left">
                  <tt>"initial"</tt></td>
              </tr>
              <tr>
                <td align="left">Daily</td>
                <td align="left">86,400 seconds</td>
                <td align="left">
                  <tt>"daily"</tt></td>
              </tr>
              <tr>
                <td align="left">Hourly</td>
                <td align="left">3,600 seconds</td>
                <td align="left">
                  <tt>"hourly"</tt></td>
              </tr>
              <tr>
                <td align="left">High-frequency</td>
                <td align="left">300 seconds</td>
                <td align="left">
                  <tt>"high"</tt></td>
              </tr>
            </tbody>
          </table>
          <t>Implementations MAY define additional frequency classes. The
<tt>spider_interval</tt> field in the Service Record MUST reflect the
actual configured interval in seconds.</t>
          <t><strong>Effect on trust signal quality:</strong> A consuming agent applying a
<tt>last_ping_age &lt; N</tt> filter will structurally exclude services whose
check frequency cannot produce sufficiently fresh liveness data.
Liveness monitoring configuration is therefore a market signal:
services requiring discovery by latency-sensitive agents must invest
in check frequency sufficient to satisfy those agents' trust policies.</t>
          <t>Services configured at initial-only frequency MUST be excluded from
standard discovery query results by default. Consuming agents MUST
explicitly opt in to include initial-only services in result sets.</t>
        </section>
      </section>
      <section anchor="spider-and-crawler-specification">
        <name>Spider and Crawler Specification</name>
        <section anchor="crawl-triggers">
          <name>Crawl Triggers</name>
          <t>The Spider is triggered by the following events:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Trigger</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Registration activation</td>
                <td align="left">Immediate first run when a service is activated</td>
              </tr>
              <tr>
                <td align="left">Scheduled interval</td>
                <td align="left">Recurring, per service liveness monitoring configuration (Section 5.3)</td>
              </tr>
              <tr>
                <td align="left">Manual re-trigger</td>
                <td align="left">Service Owner may request a manual re-trigger once per 24 hours</td>
              </tr>
              <tr>
                <td align="left">Spec URL change</td>
                <td align="left">An APM update that changes the <tt>spec.url</tt> triggers an immediate run</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="automated-verification-scope">
          <name>Automated Verification Scope</name>
          <t>The Spider performs the following checks in sequence. Each check's result
is stored independently; a failure at one level does not prevent checks
at other levels from being recorded.</t>
          <t>The Spider MUST use HTTPS for all outbound requests. The Spider MUST NOT
send authentication credentials to any registered service. Spider requests
to <tt>entry_point/health</tt> or <tt>spec.url</tt> MUST NOT include Authorization headers,
API keys, cookies, or client certificates.</t>
          <t>If a request returns an HTTP redirect (3xx), the Spider MUST follow the
redirect only if the redirect target also uses HTTPS. The Spider MUST NOT
follow redirects from HTTPS to HTTP.</t>
          <ol spacing="normal" type="1"><li>
              <t><strong>Liveness check</strong>: HTTPS GET to <tt>{entry_point}/health</tt>. Record HTTP
status code, response time, and timestamp. A 2xx response without
authentication constitutes a successful liveness check (S-1). If the
response body is valid JSON containing an <tt>api_version</tt> field, the Spider
MUST cross-check this value against the <tt>api_version</tt> declared in the APM.
A mismatch is recorded as a metadata warning, not a liveness failure.</t>
            </li>
            <li>
              <t><strong>Spec fetch</strong>: HTTPS GET to <tt>spec.url</tt>. The Spider MUST NOT send
authentication credentials. A successful fetch (2xx response, non-empty
body) is the prerequisite for steps 3 and 4. Record content type and
document size.</t>
            </li>
            <li>
              <t><strong>Spec parse and consistency check</strong>: Parse the fetched document
according to the declared <tt>spec.type</tt>. Compare it structurally against
the registered spec snapshot stored at initial registration time.
The Spider MUST set <tt>spec_consistency</tt> to one of three values after
every run:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>consistent</tt> — document is fetchable, parseable, and structurally
matches the registered snapshot. Constitutes S-2 verification.</t>
                </li>
                <li>
                  <t><tt>mismatch</tt> — document is fetchable and parseable, but structurally
differs from the snapshot (paths removed, required fields changed,
response schemas changed). S-2 is revoked; <tt>standard_warnings</tt> is
updated. This indicates operator-caused contract breakage.</t>
                </li>
                <li>
                  <t><tt>unreachable</tt> — <tt>spec.url</tt> returned a non-2xx response, was not
reachable, or the document could not be parsed. S-2 is not achieved
or is suspended. This indicates an availability problem, not a
contract violation.
<tt>spec_consistency</tt> MUST be <tt>null</tt> only before the Spider's first run
on a newly registered service. Once any run completes, the field MUST
carry one of the three values above.
The Spider MUST NOT call any API endpoint declared in the spec. Spec
verification is document comparison only.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><strong>Breaking change detection</strong>: Compare the current parsed spec against
the registered spec snapshot. Flag removed paths, changed required
fields, or changed response schemas as breaking changes. Three or more
consecutive runs with no breaking changes detected are required for
S-3 verification.</t>
            </li>
            <li>
              <t><strong>Liveness metrics update</strong>: Update <tt>last_ping_at</tt>, <tt>uptime_30d_percent</tt>,
<tt>avg_response_ms</tt>, <tt>consecutive_failures</tt>, and <tt>next_spider_run_at</tt>.</t>
            </li>
          </ol>
        </section>
        <section anchor="failure-handling">
          <name>Failure Handling</name>
          <t><strong>Liveness failures (<tt>entry_point/health</tt> unreachable):</strong></t>
          <ul spacing="normal">
            <li>
              <t>A single failed ping increments <tt>consecutive_failures</tt> and updates
<tt>last_ping_at</tt> with the failure timestamp.</t>
            </li>
            <li>
              <t>After 3 consecutive failures, the Service Record is flagged as
<tt>status: degraded</tt> in the index.</t>
            </li>
            <li>
              <t>After 10 consecutive failures, the Service Record is flagged as
<tt>status: unreachable</tt> and is excluded from standard search results.</t>
            </li>
            <li>
              <t><tt>contacts.operations</tt> is notified at the 3-failure threshold (incident
warning). Both <tt>contacts.operations</tt> and <tt>contacts.escalation</tt> are
notified at the 10-failure threshold (service unreachable escalation).</t>
            </li>
            <li>
              <t>A service that recovers (next ping succeeds) has its status restored
and <tt>consecutive_failures</tt> reset to 0 automatically.</t>
            </li>
          </ul>
          <t><strong>Spec fetch failures (<tt>spec_consistency: unreachable</tt>):</strong></t>
          <t>Spec fetch failures have distinct probable causes depending on how long
the failure persists. The Spider MUST apply a three-cluster retry model
that targets the likely cause window at each stage. Cluster escalation
is triggered by <tt>spec_fetch_consecutive_failures</tt> crossing a threshold.</t>
          <dl>
            <dt>Cluster 1 — Infrastructure / network (failures 1–3):</dt>
            <dd>
              <t>Cause: transient network loss, host restart, or CDN hiccup.
Retry: 5 min → 15 min → 30 min. No notification.</t>
            </dd>
            <dt>Cluster 2 — Application (failures 4–6):</dt>
            <dd>
              <t>Cause: software instability (crash loop, OOM, startup failure).
Retry: 2 h → 4 h → 8 h.
Notification: email to <tt>contacts.operations</tt> at failure 4.</t>
            </dd>
            <dt>Cluster 3 — Configuration (failures 7+):</dt>
            <dd>
              <t>Cause: persistent misconfiguration — wrong <tt>spec.url</tt>, auth gate
added, URL moved. Retry: 24 h → 72 h (cap).
Notification: email to <tt>contacts.operations</tt> AND
<tt>contacts.escalation</tt> at failure 7.</t>
            </dd>
          </dl>
          <ul spacing="normal">
            <li>
              <t><tt>spec_consistency</tt> is set to <tt>unreachable</tt> on the first failure and
remains <tt>unreachable</tt> until a successful fetch.</t>
            </li>
            <li>
              <t><tt>next_spider_run_at</tt> is set to the next retry timestamp after each
failed run so Service Owners can observe when the retry will occur.</t>
            </li>
            <li>
              <t>A successful spec fetch resets <tt>spec_fetch_consecutive_failures</tt> to 0
and sets <tt>spec_consistency</tt> to <tt>consistent</tt> or <tt>mismatch</tt> as
appropriate.</t>
            </li>
            <li>
              <t><tt>spec_fetch_consecutive_failures</tt> MUST be visible in the Service Record
so Service Owners can monitor retry cluster state without contacting
the Index operator.</t>
            </li>
          </ul>
          <t><strong>Manual re-trigger:</strong></t>
          <t>The Index operator SHOULD provide a mechanism for Service Owners to
request an immediate Spider re-run outside of the scheduled interval.
This is the primary recovery mechanism when a service has been repaired
and the operator does not want to wait for the next scheduled retry.</t>
          <t>When a manual re-trigger is requested:
- <tt>next_spider_run_at</tt> MUST be set to the current timestamp.
- <tt>spec_fetch_consecutive_failures</tt> MUST be reset to 0, returning the
  service to Cluster 1 retry behaviour for the next run.
- The Spider MUST execute the run as soon as scheduling permits.</t>
          <t>The Index MAY rate-limit manual re-triggers to at most once per hour
per service to prevent abuse.</t>
        </section>
      </section>
      <section anchor="index-api-services-layer">
        <name>Index API — Services Layer</name>
        <section anchor="search-and-filter-api">
          <name>Search and Filter API</name>
          <t>The search endpoint applies server-side filters to reduce result sets before
transmission. Only filters on indexed scalar values are server-side;
filters requiring deep metadata evaluation are applied client-side after
fetching the Level 2 Service Record (Section 7.4).</t>
          <t><strong>API version scoping (path segment):</strong></t>
          <t>The optional <tt>{api_version}</tt> path segment scopes the search to services
whose <tt>api_version</tt> starts with the specified major or major.minor prefix.
The segment uses the <tt>v</tt> prefix followed by the semver major or major.minor
value (e.g., <tt>v2</tt>, <tt>v2.4</tt>). When absent, no version constraint is applied.</t>
          <artwork><![CDATA[
GET /search/v2/?capability=payments.card   ← v2.x.x services only
GET /search/v2.4/?q=payment               ← v2.4.x services only
GET /search/?q=payment                    ← no version constraint
]]></artwork>
          <t>The <tt>api_version</tt> immutability invariant (see <xref target="APIX-CORE"/>) means that a
consuming agent pinned to <tt>/search/v2.4/</tt> receives a stable, permanent
schema contract: every result exposes exactly the fields defined for v2.4.</t>
          <t>The index does not perform cross-version mapping. A service registered at
v3.0 does not appear in <tt>/search/v2/</tt> results and is never synthesised into
a v2-shaped response. There are no null substitutions for dropped fields and
no type coercions for changed fields across version boundaries. If a
pinned-version query returns empty results, the agent SHOULD follow the
<tt>superseded_by</tt> link in any previously known Level 2 record to discover the
current version, or issue <tt>GET /search/</tt> with no path segment and no query
parameters to retrieve the version landscape (see <xref target="APIX-CORE"/>). The
parameter-less <tt>/search/</tt> endpoint returns version metadata only and executes
no content query — it is a discovery resource, not a full-index dump.</t>
          <t><strong>Example — buying bot querying for marketplace services:</strong></t>
          <artwork><![CDATA[
GET /search/v2/?capability=commerce.marketplace
              &protocol=mcp,openapi
              &org_level_min=O-2
              &service_level_min=S-2
              &max_ping_age=3600
              &uptime_30d_min=95.0
              &lifecycle_stage=stable
              &page=1
              &page_size=20
]]></artwork>
          <t><strong>Version landscape response (<tt>GET /search/</tt> — no path segment, no query parameters):</strong></t>
          <t>When the search endpoint is called with no <tt>api_version</tt> path segment and
no query parameters, it MUST return the version landscape and MUST NOT
return service records:</t>
          <sourcecode type="json"><![CDATA[
{
  "version_landscape": [
    {
      "api_version_prefix": "v1",
      "service_count": 0,
      "lifecycle_status": "sunset"
    },
    {
      "api_version_prefix": "v2",
      "service_count": 1847,
      "lifecycle_status": "stable",
      "_links": {
        "search": {
          "href": "https://apix.example.org/search/v2/{?...}",
          "templated": true
        }
      }
    },
    {
      "api_version_prefix": "v3",
      "service_count": 4201,
      "lifecycle_status": "stable",
      "_links": {
        "search": {
          "href": "https://apix.example.org/search/v3/{?...}",
          "templated": true
        }
      }
    }
  ]
}
]]></sourcecode>
          <t>Consuming agents that receive empty results from a pinned-version query
MUST use this endpoint to survey the current version landscape before
re-issuing a content query. The <tt>_links.search</tt> template in each entry
provides the correctly scoped search URL for that version prefix.</t>
          <t><strong>Normative server-side filter parameters:</strong></t>
          <table>
            <thead>
              <tr>
                <th align="left">Parameter</th>
                <th align="left">Type</th>
                <th align="left">Default</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>q</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Free-text search across <tt>name</tt> and <tt>description</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>capability</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Capability taxonomy term. MUST be an <tt>active</tt> or <tt>deprecated</tt> registry value. Matched hierarchically by default — see "Hierarchical capability matching" below</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>capability_match</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>subtree</tt></td>
                <td align="left">Capability match mode: <tt>subtree</tt> returns the term and all its sub-capabilities; <tt>exact</tt> returns only services declaring the exact term</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>filter_strictness</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>graceful</tt></td>
                <td align="left">Validation behaviour for filter values. <tt>graceful</tt>: an invalid filter value is ignored (treated as unset) and reported in <tt>_meta.warnings</tt>; <tt>strict</tt>: an invalid filter value rejects the request with <tt>400 Bad Request</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>protocol</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Comma-separated protocol type values. MUST be values from the Protocol Type Registry</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>org_level_min</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>O-0</tt></td>
                <td align="left">Minimum Organisation trust level. Excludes services below threshold</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>service_level_min</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>S-0</tt></td>
                <td align="left">Minimum Service verification level</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>max_ping_age</tt></td>
                <td align="left">integer</td>
                <td align="left">—</td>
                <td align="left">Maximum seconds since <tt>last_ping_at</tt>. Excludes services with older liveness data</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>uptime_30d_min</tt></td>
                <td align="left">float</td>
                <td align="left">—</td>
                <td align="left">Minimum 30-day uptime percentage</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>lifecycle_stage</tt></td>
                <td align="left">enum</td>
                <td align="left">
                  <tt>stable</tt></td>
                <td align="left">Filter by lifecycle stage. Default excludes <tt>experimental</tt>, <tt>beta</tt>, <tt>deprecated</tt>, and <tt>sunset</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>include_superseded</tt></td>
                <td align="left">boolean</td>
                <td align="left">
                  <tt>false</tt></td>
                <td align="left">When <tt>false</tt>, excludes services for which <tt>superseded_by</tt> is set. When <tt>true</tt>, all matching versions are returned</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>spec_consistency</tt></td>
                <td align="left">enum</td>
                <td align="left">—</td>
                <td align="left">Filter by spec consistency status. Values: <tt>consistent</tt>, <tt>mismatch</tt>, <tt>unreachable</tt>. <tt>null</tt> (Spider not yet run) is excluded when any value is specified. When absent, no constraint is applied. Agents performing consequential tasks SHOULD explicitly pass <tt>consistent</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>language</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">BCP 47 language tag (<xref target="RFC5646"/>). Returns only services whose <tt>language</tt> array contains the specified tag. Services with no <tt>language</tt> field are treated as <tt>["en"]</tt></td>
              </tr>
              <tr>
                <td align="left">
                  <tt>pricing_model</tt></td>
                <td align="left">enum</td>
                <td align="left">—</td>
                <td align="left">Filter by declared pricing model. Values: <tt>free</tt>, <tt>freemium</tt>, <tt>paid</tt>, <tt>enterprise</tt>, <tt>dynamic</tt>. When absent, no pricing constraint is applied</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>auth_method</tt></td>
                <td align="left">enum</td>
                <td align="left">—</td>
                <td align="left">Filter by supported authentication method. Values: <tt>oauth2</tt>, <tt>api_key</tt>, <tt>bearer</tt>, <tt>mtls</tt>, <tt>none</tt>. Returns services whose <tt>authentication.methods</tt> array contains the specified value</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>deployment_region</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Cloud or jurisdiction region identifier (e.g. <tt>eu-west-1</tt>, <tt>eu</tt>). Returns only services that declare the specified region in <tt>deployment_regions</tt>. Candidate field — see Open Question 8</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>near</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Decimal <tt>lat,lon</tt> coordinate pair (e.g. <tt>48.137,11.576</tt>). When combined with <tt>coverage_radius_km</tt>, returns only services whose declared coverage area overlaps the specified point. Candidate field — see Open Question 8</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>coverage_radius_km</tt></td>
                <td align="left">integer</td>
                <td align="left">—</td>
                <td align="left">Radius in kilometres around the <tt>near</tt> coordinate. Only meaningful when <tt>near</tt> is also specified. Candidate field — see Open Question 8</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>custom_key</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Reverse-domain key name (e.g. <tt>com.example.coverage_polygon</tt>). Returns only services whose <tt>custom</tt> object contains the specified top-level key. Values are not searchable; key presence only</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>fresh_within</tt></td>
                <td align="left">duration</td>
                <td align="left">—</td>
                <td align="left">Maximum age of <tt>last_verified_against_target</tt> (e.g. <tt>7d</tt>, <tt>24h</tt>). Returns only services whose self-reported verification timestamp falls within the window. Services without the field are excluded when this parameter is present</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>verification_basis</tt></td>
                <td align="left">string</td>
                <td align="left">—</td>
                <td align="left">Filter by the Organisation trust level's evidence basis. MUST be a Verification Basis Registry value (e.g. <tt>eidas2_qeaa</tt>, <tt>cra_conformity</tt>). Matches the recorded evidence channel</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>page</tt></td>
                <td align="left">integer</td>
                <td align="left">
                  <tt>1</tt></td>
                <td align="left">Result page number</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>page_size</tt></td>
                <td align="left">integer</td>
                <td align="left">
                  <tt>20</tt></td>
                <td align="left">Results per page. Maximum: 100</td>
              </tr>
            </tbody>
          </table>
          <t>All filter parameters are OPTIONAL. When absent, the parameter imposes no
constraint except <tt>lifecycle_stage</tt> (default <tt>stable</tt>), <tt>include_superseded</tt>
(default <tt>false</tt>), and <tt>capability_match</tt> (default <tt>subtree</tt>).</t>
          <t><strong>Hierarchical capability matching.</strong> A <tt>?capability=T</tt> query MUST return every
service whose declared <tt>capabilities</tt> array contains <tt>T</tt> or any sub-capability
of <tt>T</tt>, using the whole-segment containment rule defined under "Hierarchical
semantics" in the Capability Taxonomy Registry section. For example,
<tt>?capability=payments</tt> MUST return services that declared <tt>payments.card</tt> or
<tt>payments.crypto</tt>, not only those that declared <tt>payments</tt> exactly. Setting
<tt>capability_match=exact</tt> restricts the result to services declaring <tt>T</tt>
exactly. Ancestor expansion is performed by the index at query time; a service
need not declare ancestor terms to be discoverable under them.</t>
          <t><strong>Filter validation and result warnings.</strong> The index validates every filter
value that references a registry (<tt>capability</tt>, <tt>protocol</tt>,
<tt>verification_basis</tt>, …) or a closed enum. Two outcomes are signalled back to
the consuming agent so that neither a deprecated nor an invalid filter fails
silently:</t>
          <ul spacing="normal">
            <li>
              <t>A <em>deprecated-but-valid</em> value (e.g. a <tt>capability</tt> term in its warning
period) is honoured normally and reported with a <tt>deprecated</tt> warning,
including <tt>sunset_date</tt> and <tt>replacement</tt>. A deprecated value is <strong>never</strong>
rejected: <tt>filter_strictness</tt> governs invalid values only, so a <tt>strict</tt>
query never short-circuits the deprecation window's grace period.</t>
            </li>
            <li>
              <t>An <em>invalid</em> value (not present in the relevant registry or enum, e.g.
<tt>verification_basis=wishful_thinking</tt>) is handled according to <tt>filter_strictness</tt>:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>graceful</tt> (default): the offending filter is ignored — treated as
unset — and reported with an <tt>invalid</tt> warning. The query proceeds with
the remaining valid filters. This prevents the silent-failure trap in
which an agent believes a constraint was applied when it was not.</t>
                </li>
                <li>
                  <t><tt>strict</tt>: the index rejects the request with <tt>400 Bad Request</tt>; the
response body names each invalid parameter and value.</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>Warnings are returned in a <tt>_meta.warnings</tt> array on the search response
envelope, alongside the existing <tt>_links</tt>:</t>
          <sourcecode type="json"><![CDATA[
{
  "_meta": {
    "warnings": [
      {
        "parameter": "capability",
        "value": "payments.legacy",
        "status": "deprecated",
        "sunset_date": "2026-12-31",
        "replacement": "payments.card",
        "message": "Deprecated; replaced by 'payments.card'."
      },
      {
        "parameter": "verification_basis",
        "value": "wishful_thinking",
        "status": "invalid",
        "message": "Unknown registry value; filter ignored."
      }
    ]
  }
}
]]></sourcecode>
          <t>An index MAY additionally emit a lightweight <tt>APIX-Warning</tt> response header
carrying the warning count as a fast signal; the authoritative warning detail
is always the <tt>_meta.warnings</tt> array. The obsolete HTTP <tt>Warning</tt> header
(<xref target="RFC9111"/>) MUST NOT be used for this purpose.</t>
          <t>Results are returned as paginated Level 1 Search Result records (Section 7.2)
with HATEOAS links to Level 2 Service Records. Pagination is REQUIRED.</t>
          <t><strong>Design note — natural language search is out of scope for the base
specification:</strong>
The APIX search endpoint provides keyword and structured-filter search
only. Semantic or natural-language query processing — where a free-text
prompt such as "find me a low-latency European payment API that handles
refunds" is resolved to a ranked service list by embedding or language
model inference — is explicitly excluded from this version of the
specification. The I-D draft-cui-ai-agent-discovery-invocation
(<xref target="I-D.cui-ai-agent-discovery-invocation"/>) describes this pattern as
an optional registry capability (MAY); APIX does not exercise this
option in the base specification for the reasons stated below.</t>
          <t>Two factors motivate this exclusion. First, semantic search is
computationally expensive at index scale: inference on every incoming
query creates a load profile incompatible with the latency and cost
targets of a globally shared, freely accessible discovery endpoint.
Second, short free-text queries — the form agents will most commonly
submit — are insufficient input for embedding-based retrieval to
reliably outperform structured keyword and capability-taxonomy filters;
the signal-to-noise ratio degrades rapidly below approximately 50 tokens
of context, producing ranking instability that would erode agent trust in
the index.</t>
          <t>The <tt>q</tt> parameter (free-text across <tt>name</tt> and <tt>description</tt>) combined
with the structured filters defined above covers the precision requirements
of well-formed agent queries. Agents requiring relevance ranking beyond
what structured filters provide SHOULD perform client-side re-ranking
over a filtered candidate set fetched from the index.</t>
          <t>Agents requiring semantic selection over a filtered candidate set are
encouraged to implement — or delegate to — a Semantic Routing Platform
(SRP) as described in draft-cui-ai-agent-discovery-invocation
(<xref target="I-D.cui-ai-agent-discovery-invocation"/>): an optional control-plane
layer that performs semantic matching and ranking against a structured
candidate pool. APIX is the natural source for that pool; an SRP queries
APIX with structured filters to obtain a trusted, governed candidate set
and then applies semantic ranking above that foundation. This separation
keeps index infrastructure costs predictable while enabling full semantic
selection capability for agents that need it.</t>
          <t>A future premium tier of the APIX MAY introduce semantic search as a
priced capability (charged per request) once a quality and cost model
acceptable to the governing body and the operator community has
been established. Any such capability would be offered as an optional
endpoint and would not alter the behaviour of the base search endpoint
defined in this specification.</t>
        </section>
        <section anchor="search-result-schema-level-1">
          <name>Search Result Schema (Level 1)</name>
          <t>Search results return lightweight summary records. These contain only the
fields needed to evaluate candidates and decide which detail pages to fetch.
Complex metadata (auth requirements, version history, notifications, legal,
<tt>standard_warnings</tt>) is available only at Level 2 and is evaluated
client-side after fetching the detail resource.</t>
          <sourcecode type="json"><![CDATA[
{
  "service_id": "svc-examplepay-v2",
  "name": "ExamplePay Payment API",
  "description": "Card and subscription payment processing",
  "api_version": "2.4.1",
  "lifecycle_stage": "stable",
  "capabilities": ["payments.card", "payments.subscription"],
  "protocol": "openapi",
  "trust": {
    "organisation_level": "O-4",
    "service_level": "S-2",
    "spec_consistency": "consistent",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "2026-04-20T14:55:00Z",
    "liveness": {
      "last_ping_at": "2026-04-20T13:55:00Z",
      "ping_interval_seconds": 3600,
      "uptime_30d_percent": 99.87,
      "consecutive_failures": 0
    }
  },
  "_links": {
    "self": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    },
    "latest_stable": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    }
  }
}
]]></sourcecode>
          <t>The <tt>latest_stable</tt> link points to the leaf version of the service's version
chain. When <tt>latest_stable</tt> differs from <tt>self</tt>, a newer stable version
exists and the agent SHOULD follow the link before proceeding.</t>
        </section>
        <section anchor="service-record-schema-level-2">
          <name>Service Record Schema (Level 2)</name>
          <t>The full Service Record is returned when a consuming agent fetches the
detail resource via the <tt>self</tt> link. It is the APM plus Spider-enriched
trust metadata, versioning links, and any <tt>standard_warnings</tt>.</t>
          <sourcecode type="json"><![CDATA[
{
  "service_id": "svc-examplepay-v2",
  "apm_version": "1.0",
  "name": "ExamplePay Payment API",
  "description": "Card and subscription payment processing",
  "api_version": "2.4.1",
  "lifecycle_stage": "stable",
  "supersedes": "svc-examplepay-v1",
  "superseded_by": null,
  "owner": { "...": "..." },
  "spec": {
    "type": "openapi",
    "url": "https://example.com/openapi.json",
    "version": "2.4.1"
  },
  "capabilities": ["payments.card", "payments.subscription"],
  "entry_point": "https://api.example.com/v2",
  "trust": {
    "organisation_level": "O-4",
    "organisation_verified_at": "2026-03-01T00:00:00Z",
    "organisation_verifier_id": "verifier-ch-001",
    "organisation_verification_basis": "national_registry",
    "service_level": "S-2",
    "service_level_updated_at": "2026-04-19T08:00:00Z",
    "spec_consistency": "consistent",
    "spec_consistency_checked_at": "2026-04-20T13:55:00Z",
    "spec_fetch_consecutive_failures": 0,
    "next_spider_run_at": "2026-04-20T14:55:00Z",
    "liveness": {
      "last_ping_at": "2026-04-20T13:55:00Z",
      "ping_interval_seconds": 3600,
      "uptime_30d_percent": 99.87,
      "avg_response_ms": 142.3,
      "consecutive_failures": 0
    }
  },
  "notifications": { "...": "..." },
  "legal": { "...": "..." },
  "standard_warnings": [],
  "registered_at": "2026-01-15T00:00:00Z",
  "last_updated_at": "2026-04-20T13:00:00Z",
  "_links": {
    "self": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    },
    "owner": {
      "href": "https://apix.example.org/organisations/org-examplepay"
    },
    "spec": { "href": "https://example.com/openapi.json" },
    "previous_version": {
      "href": "https://apix.example.org/services/svc-examplepay-v1"
    },
    "latest_stable": {
      "href": "https://apix.example.org/services/svc-examplepay-v2"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="trust-metadata-schema">
          <name>Trust Metadata Schema</name>
          <t>Trust metadata is always included in full Service Records (Level 2) and
MUST NOT be omitted or summarised. Consuming agents rely on the full set
of trust fields to evaluate their Trust Policy. Partial trust metadata
MUST be represented with explicit <tt>null</tt> values, not omitted fields.</t>
          <t>Trust metadata is included in summary form (Level 1) for server-side
filter compatibility. The Level 1 trust object omits verification
timestamps and verifier IDs; these are available only at Level 2.</t>
        </section>
        <section anchor="verification-basis-registry">
          <name>Verification Basis Registry</name>
          <t>The <tt>trust.organisation_verification_basis</tt> field records <em>which</em> evidence
channel substantiated the Organisation trust level. It is set by the index,
not self-declared. This lets consuming agents that operate under specific
regulatory regimes filter by the provenance of a trust level — for example,
preferring an O-2 substantiated by an EU-anchored credential over one
substantiated by an arbitrary national registry.</t>
          <t>The registry is maintained by the governing body. The v1.0 starter set:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Value</th>
                <th align="left">Applies to</th>
                <th align="left">Evidence channel</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>national_registry</tt></td>
                <td align="left">O-2</td>
                <td align="left">Company registration number confirmed against an official national registry</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>gleif_lei</tt></td>
                <td align="left">O-2</td>
                <td align="left">Legal Entity Identifier verified against the GLEIF LEI database</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>eidas2_qeaa</tt></td>
                <td align="left">O-2</td>
                <td align="left">Qualified Electronic Attestation of Attributes from a Qualified Trust Service Provider per Regulation (EU) 2024/1183 (eIDAS 2)</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>soc2_type2</tt></td>
                <td align="left">O-5</td>
                <td align="left">SOC 2 Type II audit certificate</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>iso27001</tt></td>
                <td align="left">O-5</td>
                <td align="left">ISO/IEC 27001 certification</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>cra_conformity</tt></td>
                <td align="left">O-5</td>
                <td align="left">Conformity assessment under Regulation (EU) 2024/2847 (Cyber Resilience Act)</td>
              </tr>
            </tbody>
          </table>
          <t>The field is OPTIONAL and MAY be <tt>null</tt> for trust levels where the basis is
not recorded (O-0, O-1) or not yet captured.</t>
          <t><strong>Governance.</strong> The Verification Basis Registry lives at
<tt>apix.example.org/registry/verification-basis</tt> and is maintained by the
governing body following the same proposal, quarterly-review, versioning, and
deprecation process defined for the Capability Taxonomy Registry: any
organisation MAY propose a new evidence channel with a definition, the
applicable O-level, and adoption evidence; accepted values are added as
<tt>active</tt> in the next quarterly update; superseded values are deprecated under
the <xref target="APIX-CORE"/> lifecycle. The registry is independently versioned and its
version is exposed in the APIX root resource.</t>
          <t><strong>IANA considerations.</strong> This registry is not maintained by IANA. The
governing body is the designated authority. Should a future version of this
specification transfer maintenance to IANA, a mapping document MUST be
published.</t>
        </section>
        <section anchor="transport-encoding">
          <name>Transport Encoding</name>
          <t>The Index API is consumed by autonomous agents at machine speed. Response
payloads are structured JSON with highly repetitive field names across
result arrays. Transport-layer compression achieves 70–85% size reduction
on typical search result payloads with no information loss and no
application-layer schema changes.</t>
          <t><strong>Compression support requirements:</strong></t>
          <t>The Index API MUST support the following <tt>Accept-Encoding</tt> values:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Encoding</th>
                <th align="left">Requirement</th>
                <th align="left">Notes</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>gzip</tt></td>
                <td align="left">MUST</td>
                <td align="left">Universally supported baseline</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>br</tt> (Brotli)</td>
                <td align="left">SHOULD</td>
                <td align="left">Higher compression ratio than gzip</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>zstd</tt></td>
                <td align="left">SHOULD</td>
                <td align="left">Similar ratio to Brotli; faster decompression</td>
              </tr>
            </tbody>
          </table>
          <t>The Index API MUST perform content negotiation via the <tt>Accept-Encoding</tt>
request header. Responses MUST include a <tt>Content-Encoding</tt> header
identifying the applied encoding. If a client sends no <tt>Accept-Encoding</tt>
header, the server MAY respond uncompressed.</t>
          <t>Consuming agents SHOULD include <tt>Accept-Encoding: zstd, br, gzip</tt> in
all Index API requests.</t>
          <t><strong>Binary encoding (optional):</strong></t>
          <t>The Index API MAY additionally support CBOR (<xref target="RFC8949"/>) as a binary
alternative to JSON. A client that prefers CBOR MUST signal this via
<tt>Accept: application/cbor</tt>. The server MAY respond with
<tt>Content-Type: application/cbor</tt>. CBOR responses carry identical
information to JSON responses; the encoding difference is transparent
to the data model.</t>
          <t>Clients MUST NOT assume CBOR support. JSON over compressed transport
is the normative interchange format.</t>
        </section>
      </section>
      <section anchor="security-considerations">
        <name>Security Considerations</name>
        <section anchor="abuse-and-fake-listings">
          <name>Abuse and Fake Listings</name>
          <t>The mandatory Terms of Service acceptance at registration provides a first
barrier against malicious actors listing fake or harmful services. For O-0
and O-1, identity verification is limited; consuming agents SHOULD NOT rely
solely on index presence for trust at these levels. For O-2 and above, the
formal B2B contractual relationship and progressively stronger identity and
compliance verification substantially raise the cost of abuse.</t>
          <t>Consuming agents SHOULD apply Trust Policies that exclude O-0 services for
any task involving sensitive data or consequential actions.</t>
          <t>The governing body MUST maintain an abuse reporting mechanism and
MUST be able to suspend or remove a Service Record within 24 hours of
confirmed abuse. Suspended service records MUST remain in the index with a
<tt>status: suspended</tt> flag and MUST NOT be silently deleted, to provide
transparency to agents that had cached the record.</t>
        </section>
        <section anchor="trust-level-spoofing">
          <name>Trust Level Spoofing</name>
          <t>Organisation and Service trust levels in the Service Record are set only
by the APIX itself, not by the Service Owner. APM submissions that include
<tt>trust</tt> field values MUST have those values overwritten by the APIX upon
processing. The Index API MUST NOT expose self-asserted trust values.</t>
        </section>
        <section anchor="transport-security-requirements">
          <name>Transport Security Requirements</name>
          <t>All URLs submitted as <tt>entry_point</tt> or <tt>spec.url</tt> values in an APM MUST use
the <tt>https</tt> scheme. The Index MUST reject APM submissions that provide HTTP
(non-TLS) values for these fields.</t>
          <t>The <tt>{entry_point}/health</tt> endpoint MUST NOT require authentication of any
kind. Requiring authentication at <tt>/health</tt> defeats liveness verification and
MUST be treated as a registration defect. The Index MUST record a metadata
warning if the <tt>/health</tt> endpoint returns a 401 or 407 status.</t>
          <t>The <tt>spec.url</tt> endpoint MUST be publicly accessible without authentication.
A <tt>spec.url</tt> that requires authentication cannot be verified by the Spider and
MUST be treated as an S-2 failure until authentication is removed.</t>
          <t>The Spider MUST enforce HTTPS for all outbound requests and MUST NOT follow
redirects from HTTPS to HTTP.</t>
        </section>
        <section anchor="spider-targeted-attacks">
          <name>Spider-Targeted Attacks</name>
          <t>A service that knows when the Spider will visit could serve compliant
responses only to Spider requests, presenting a different interface to
consuming agents. Mitigations:</t>
          <ul spacing="normal">
            <li>
              <t>Spider visit timing MUST be randomised within the liveness monitoring
interval window.</t>
            </li>
            <li>
              <t>Spider <tt>User-Agent</tt> headers MUST be versioned but MUST NOT include
the specific visit schedule.</t>
            </li>
            <li>
              <t>The APIX operator SHOULD perform periodic unannounced spot-checks
from non-Spider infrastructure.</t>
            </li>
          </ul>
        </section>
        <section anchor="bot-consumer-risks">
          <name>Bot Consumer Risks</name>
          <t>The APIX provides discovery and trust metadata. It does not guarantee the
safety, correctness, or availability of listed services. Consuming agents
MUST NOT assume that a service listed in the APIX is safe to use without
applying their own Trust Policy.</t>
          <t>Consuming agents SHOULD treat Index API responses as untrusted input and
validate the structure of Service Records before acting on them.</t>
          <t>The Index API MUST be served exclusively over TLS. Certificate validity
MUST be verified by consuming agents. Agents MUST NOT bypass TLS
certificate verification when querying the Index API.</t>
        </section>
      </section>
      <section anchor="open-questions">
        <name>Open Questions</name>
        <t>The following questions are unresolved and explicitly invited for community
input:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>APM spec type extensions</strong>: What is the formal process for registering
new <tt>spec.type</tt> values? Should this be an IANA registry, or remain under
the governing body governance analogous to the capability taxonomy process?</t>
          </li>
          <li>
            <t><strong>Trust Policy standardisation</strong>: Should the APIX define a standard Trust
Policy expression language, or leave this entirely to consuming agents?
A standard language would enable Index API server-side filtering but risks
constraining agent-side policy flexibility.</t>
          </li>
          <li>
            <t><strong>Regional Representative model</strong>: How are jurisdictional boundaries
defined for Regional Representatives? What happens in jurisdictions with
no appointed Representative — does the central index operator serve as
fallback, or is registration simply unavailable?</t>
          </li>
          <li>
            <t><strong>Bot identity</strong>: This document explicitly excludes bot identity from
scope. Should a future version of the APIX include optional bot consumer
registration to enable personalised discovery, rate limit management, or
abuse tracking?</t>
          </li>
          <li>
            <t><strong>Centralised index vs. decentralised discovery</strong>: The APIX architecture
takes a deliberate position: a single authoritative global index, governed
by a neutral non-profit, with a commercial sustainability model. An
alternative approach — represented by proposals such as
draft-vandemeent-ains-discovery (AINS — AInternet Name Service), which
uses signed, append-only replication logs with no central authority — takes
the opposite position: cryptographic verifiability and censorship resistance
over governed accountability.  </t>
            <t>
Arguments for the APIX model: business adoption requires a contractual
counterparty; institutional co-sponsorship is only available to an
accountable entity; a single entry point minimises agent-side integration
complexity; the supply-side funding model creates a regional development
flywheel that decentralised models cannot replicate.  </t>
            <t>
Arguments for the decentralised model: censorship resistance; no single
point of failure or organisational control; cryptographic verifiability
without trusting the governor.  </t>
            <t>
Community input is explicitly invited on whether the APIX and AINS-style
approaches are mutually exclusive or whether a future APIX version could
expose a verifiable, signed export of index records that enables
third-party verification without requiring a federated registry.</t>
          </li>
          <li>
            <t><strong>Geographic distribution of the index infrastructure</strong>: This specification
defines a single globally stable root entry point (<tt>https://apix.example.org/</tt>)
and leaves index deployment topology to the operator. A conformant
implementation MAY use CDN edge nodes, read replicas, or geographically
distributed origin servers provided the HATEOAS link structure and the
canonical entry-point URL remain stable. The specification intentionally
does not mandate a replication or failover architecture: these are
operational concerns for the governing body as index operator.
A future operational profile MAY specify minimum availability, recovery
time objectives, and regional failover requirements.</t>
          </li>
          <li>
            <t><strong>Breach-driven trust degradation and security feed integration</strong>:
This specification defines a <tt>security_incident</tt> flag that caps
a service at S-2 while active. The following questions are unresolved
and invited for community input:  </t>
            <ul spacing="normal">
              <li>
                <t><strong>Evidence threshold</strong>: What constitutes sufficient evidence for the
governing body to set the <tt>security_incident</tt> flag? A confirmed
breach notification from the service owner, a credible third-party
report, or an entry in a recognised security feed (BSI, CISA KEV,
CERT-Bund, or equivalent national CERT)?</t>
              </li>
              <li>
                <t><strong>Feed integration</strong>: Should APIX consume external security feeds
automatically to detect affected services, or require human review
before setting a flag? Automated feed integration requires APIX to
maintain knowledge of software stacks and versions per service —
information not currently indexed.</t>
              </li>
              <li>
                <t><strong>Aftermath window</strong>: Should a service that has suffered a confirmed
breach be required to remain at a degraded trust level for a minimum
period after remediation is declared (analogous to a probationary
period), or does passing a new security scan immediately restore
the full S-level? If a minimum period applies, what is the appropriate
duration and who determines it?</t>
              </li>
              <li>
                <t><strong>Contestation process</strong>: What is the process by which a service
owner can contest a <tt>security_incident</tt> flag they believe was set
in error?</t>
              </li>
              <li>
                <t><strong>Real-time attack detection</strong>: The current model is retrospective —
the flag is set after a breach is confirmed. Should a future version
define a real-time signal path (for example, a service owner-initiated
incident declaration that immediately and automatically caps the
S-level) to allow proactive trust degradation during an active
attack, before a formal breach is confirmed?</t>
              </li>
            </ul>
          </li>
          <li>
            <t><strong>Dynamic pricing negotiation</strong>: This specification defines the
<tt>"dynamic"</tt> pricing model with a <tt>pricing_endpoint</tt> that agents query
to obtain the current price before invocation. The current model is
accept-or-abandon: the agent queries the price, compares it against
its budget ceiling, and either proceeds or abandons the invocation.
A richer interaction model is conceivable — particularly for IoT
services where load-based pricing varies continuously — in which an
agent can submit a counter-offer (maximum acceptable price), request
scheduling at a lower-load time window, or enter a brief negotiation
exchange before committing to an invocation. Such a negotiation
protocol would require a standardised request/response schema beyond
the current pricing endpoint response, and potentially a reservation
or commitment mechanism to hold a quoted price while the agent
confirms with its operator. Community input is invited on whether
dynamic pricing negotiation should be standardised in a future
revision of this specification, and on the appropriate protocol model
(synchronous counter-offer, asynchronous scheduling request, or
market-based auction).</t>
          </li>
          <li>
            <t><strong>Deployment region and service coverage area</strong>: Service geography
is two distinct concepts that the current APM schema does not
distinguish, and both are increasingly relevant for agent-driven
discovery.  </t>
            <t><strong>Deployment region</strong> is a data-residency and compliance concept: in
which cloud regions or legal jurisdictions does the service process
and store data? This matters for GDPR controller obligations, data
localisation regulations, and enterprise procurement rules that
prohibit cross-border data transfer. A service deployed exclusively
in <tt>eu-west</tt> cannot lawfully serve queries whose data must not leave
the European Economic Area.  </t>
            <t><strong>Service coverage area</strong> is a relevance concept: for which
geographic area does the service actually provide value, independent
of where its infrastructure runs? A regional organic food delivery
platform running on US-hosted cloud infrastructure is still only
useful to buyers and sellers located within its delivery catchment.
An agent sourcing local produce for a household in Munich has no use
for a service whose coverage area is the Pacific Northwest, regardless
of that service's technical availability. Coverage area is a
statement about the service's value proposition, not its
infrastructure topology. For sustainability-oriented use cases — such
as minimising transport distance as a proxy for carbon footprint — the
coverage area radius directly determines whether a service is a
candidate for selection at all.  </t>
            <t>
The two concepts can diverge: a globally deployed CDN-backed service
may have a coverage area restricted to a single city; a locally
hosted service may lawfully serve any jurisdiction. Conflating them
into a single <tt>region</tt> field would produce incorrect filtering in
both directions.  </t>
            <t>
A candidate schema extension would introduce two optional fields in
the APM:  </t>
            <t><tt>json
"deployment_regions": ["eu-west-1", "eu-central-1"],
"coverage": {
  "type": "radius",
  "center": { "lat": 48.137, "lon": 11.576 },
  "radius_km": 150
}
</tt>  </t>
            <t>
or alternatively a GeoJSON polygon for irregular coverage areas.
Corresponding search parameters (<tt>deployment_region</tt>, <tt>near</tt>,
<tt>coverage_radius_km</tt>) would allow agents to filter by both dimensions
independently.  </t>
            <t>
Community input is invited on: (a) the appropriate geometry
primitives for coverage area (radius, bounding box, GeoJSON polygon,
or NUTS/ISO 3166-2 administrative codes); (b) whether deployment
region should reference cloud provider region identifiers or legal
jurisdiction codes; (c) how coverage area interacts with the existing
capability taxonomy for services where proximity is intrinsic to the
capability (local logistics, in-person services, regional
marketplaces); and (d) whether coverage area belongs in the base APM
or as a profile extension.</t>
          </li>
        </ol>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5646">
          <front>
            <title>Tags for Identifying Languages</title>
            <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips"/>
            <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object. It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="47"/>
          <seriesInfo name="RFC" value="5646"/>
          <seriesInfo name="DOI" value="10.17487/RFC5646"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC6455">
          <front>
            <title>The WebSocket Protocol</title>
            <author fullname="I. Fette" initials="I." surname="Fette"/>
            <author fullname="A. Melnikov" initials="A." surname="Melnikov"/>
            <date month="December" year="2011"/>
            <abstract>
              <t>The WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the origin-based security model commonly used by web browsers. The protocol consists of an opening handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g., using XMLHttpRequest or s and long polling). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6455"/>
          <seriesInfo name="DOI" value="10.17487/RFC6455"/>
        </reference>
        <reference anchor="RFC8414">
          <front>
            <title>OAuth 2.0 Authorization Server Metadata</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <date month="June" year="2018"/>
            <abstract>
              <t>This specification defines a metadata format that an OAuth 2.0 client can use to obtain the information needed to interact with an OAuth 2.0 authorization server, including its endpoint locations and authorization server capabilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8414"/>
          <seriesInfo name="DOI" value="10.17487/RFC8414"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="APIX-CORE" target="https://datatracker.ietf.org/doc/draft-rehfeld-apix-core/">
          <front>
            <title>API Index (APIX): Core Infrastructure for Autonomous Agent Service Discovery</title>
            <author initials="C." surname="Rehfeld">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rehfeld-apix-core-05"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9111">
          <front>
            <title>HTTP Caching</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.</t>
              <t>This document obsoletes RFC 7234.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="98"/>
          <seriesInfo name="RFC" value="9111"/>
          <seriesInfo name="DOI" value="10.17487/RFC9111"/>
        </reference>
        <reference anchor="W3C-SSE" target="https://html.spec.whatwg.org/multipage/server-sent-events.html">
          <front>
            <title>Server-Sent Events</title>
            <author>
              <organization>WHATWG</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="APIX-IOT" target="https://datatracker.ietf.org/doc/draft-rehfeld-apix-iot/">
          <front>
            <title>APIX IoT Device Profile: Discovery and Presence for Connected Device Services</title>
            <author initials="C." surname="Rehfeld">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-rehfeld-apix-iot-02"/>
        </reference>
        <reference anchor="OPENAPI" target="https://spec.openapis.org/oas/v3.1.0">
          <front>
            <title>OpenAPI Specification 3.1.0</title>
            <author>
              <organization>OpenAPI Initiative</organization>
            </author>
            <date year="2021" month="February" day="15"/>
          </front>
        </reference>
        <reference anchor="MCP" target="https://modelcontextprotocol.io">
          <front>
            <title>Model Context Protocol</title>
            <author>
              <organization>Anthropic</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="ASYNCAPI" target="https://www.asyncapi.com/docs/reference/specification/v3.0.0">
          <front>
            <title>AsyncAPI Specification 3.0.0</title>
            <author>
              <organization>AsyncAPI Initiative</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.meunier-webbotauth-registry">
          <front>
            <title>Registry and Signature Agent card for Web bot auth</title>
            <author fullname="Maxime Guerreiro" initials="M." surname="Guerreiro">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Ulas Kirazci" initials="U." surname="Kirazci">
              <organization>Amazon</organization>
            </author>
            <author fullname="Thibault Meunier" initials="T." surname="Meunier">
              <organization>Cloudflare</organization>
            </author>
            <date day="26" month="May" year="2026"/>
            <abstract>
              <t>   This document describes a JSON based format for clients using
   [DIRECTORY] to advertise information about themselves.

   This document describes a JSON-based "Signature Agent Card" format
   for signature agent using [DIRECTORY] to advertise metadata about
   themselve.  This includes identity, purpose, rate expectations, and
   cryptographic keys.  It also establishes an IANA registry for
   Signature Agent Card parameters, enabling extensible and
   interoperable discovery of agent information.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-meunier-webbotauth-registry-02"/>
        </reference>
        <reference anchor="I-D.cui-ai-agent-discovery-invocation">
          <front>
            <title>AI Agent Discovery and Invocation Protocol</title>
            <author fullname="Yong Cui" initials="Y." surname="Cui">
              <organization>Tsinghua University</organization>
            </author>
            <author fullname="Yihan Chao" initials="Y." surname="Chao">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <author fullname="Chenguang Du" initials="C." surname="Du">
              <organization>Zhongguancun Laboratory</organization>
            </author>
            <date day="12" month="February" year="2026"/>
            <abstract>
              <t>   This document proposes a standardized protocol for discovery and
   invocation of AI agents.  It defines a common metadata format for
   describing AI agents (including capabilities, I/O specifications,
   supported languages, tags, authentication methods, etc.), a
   capability-based discovery mechanism, and a unified RESTful
   invocation interface.

   This revision additionally specifies an optional extension that
   enables intent-based agent selection prior to discovery and
   invocation, without changing existing discovery or invocation
   semantics.

   The goal is to enable cross-platform interoperability among AI agents
   by providing a discover-and-match mechanism and a unified invocation
   entry point.  Security considerations, including authentication and
   trust measures, are also discussed.  This specification aims to
   facilitate the formation of multi-agent systems by making it easy to
   find the right agent for a task and invoke it in a consistent manner
   across different vendors and platforms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cui-ai-agent-discovery-invocation-01"/>
        </reference>
      </references>
    </references>
    <?line 1774?>

<section anchor="change-log">
      <name>Change Log</name>
      <t><strong>-00:</strong> Initial submission.</t>
      <t><strong>-01:</strong> Stream and intended status changed: the document moves from the
Independent Submission stream (Informational) to the IETF stream (Standards
Track), following IETF dispatch guidance. Capability string hierarchy
formalised — "Hierarchical semantics" (<tt>is_instance_of</tt>, whole-segment
containment) added to the Capability Taxonomy Registry, and "Hierarchical
capability matching" (<tt>?capability=</tt> is subtree-match by default,
<tt>capability_match=exact</tt> opt-out, query-time ancestor expansion) added to the
search parameters. Editorial: sentence-initial capitalisation corrected.</t>
      <t><strong>-02:</strong> EU-aligned discoverability and validation transparency. New
<strong>Verification Basis Registry</strong> (Section "Verification Basis Registry"):
records which evidence channel substantiated the Organisation trust level
(<tt>national_registry</tt>, <tt>gleif_lei</tt>, <tt>eidas2_qeaa</tt>, <tt>soc2_type2</tt>, <tt>iso27001</tt>,
<tt>cra_conformity</tt>), exposed in the trust metadata as
<tt>organisation_verification_basis</tt> and filterable via the search parameter of
the same name. <strong>Freshness for meta services</strong>: new APM field
<tt>last_verified_against_target</tt> and search filter <tt>fresh_within</tt>. <strong>Filter
validation transparency</strong>: new section "Filter validation and result warnings"
with <tt>_meta.warnings</tt> response envelope, distinguishing <em>deprecated</em> (always
honoured, signalled) from <em>invalid</em> (behaviour selectable via the new
<tt>filter_strictness=graceful|strict</tt> parameter); explicit prohibition on the
obsolete HTTP <tt>Warning</tt> header (<xref target="RFC9111"/>). New informative reference:
RFC 9111. IANA Considerations extended for the Verification Basis Registry.</t>
      <section anchor="iana-considerations">
        <name>IANA Considerations</name>
        <section anchor="additions-to-the-apix-protocol-type-registry">
          <name>Additions to the APIX Protocol Type Registry</name>
          <t>This document requests the following additions to the Protocol Type
Registry maintained by the governing body at
<tt>apix.example.org/registry/protocols</tt>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Registry value</th>
                <th align="left">Standard</th>
                <th align="left">Spider behaviour</th>
                <th align="left">Status</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>openapi</tt></td>
                <td align="left">OpenAPI 3.x</td>
                <td align="left">Parses paths, schemas, auth requirements</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>mcp</tt></td>
                <td align="left">Model Context Protocol</td>
                <td align="left">Parses tool definitions and capability list</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>asyncapi</tt></td>
                <td align="left">AsyncAPI 2.x / 3.x</td>
                <td align="left">Parses channels, message schemas</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>graphql</tt></td>
                <td align="left">GraphQL SDL</td>
                <td align="left">Introspects schema via introspection query</td>
                <td align="left">active</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="additions-to-the-apix-notification-channel-registry">
          <name>Additions to the APIX Notification Channel Registry</name>
          <t>This document requests the following additions to the Notification Channel
Registry maintained by the governing body at
<tt>apix.example.org/registry/notification-channels</tt>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Registry value</th>
                <th align="left">Transport</th>
                <th align="left">Direction</th>
                <th align="left">Status</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>webhook</tt></td>
                <td align="left">HTTPS POST</td>
                <td align="left">Server → agent</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>sse</tt></td>
                <td align="left">HTTP Server-Sent Events</td>
                <td align="left">Server → agent</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>websocket</tt></td>
                <td align="left">WebSocket (RFC 6455)</td>
                <td align="left">Bidirectional</td>
                <td align="left">active</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="additions-to-the-apix-event-type-registry">
          <name>Additions to the APIX Event Type Registry</name>
          <t>This document requests the following additions to the Event Type Registry
maintained by the governing body at
<tt>apix.example.org/registry/event-types</tt>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Event type</th>
                <th align="left">Description</th>
                <th align="left">Status</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>spec.updated</tt></td>
                <td align="left">Service spec document changed (new <tt>api_version</tt>)</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>status.changed</tt></td>
                <td align="left">Service operational status changed</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>trust.changed</tt></td>
                <td align="left">Organisation or service trust level changed</td>
                <td align="left">active</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="additions-to-the-apix-capability-taxonomy-registry">
          <name>Additions to the APIX Capability Taxonomy Registry</name>
          <t>This document requests the following additions to the Capability
Taxonomy Registry maintained by the governing body at
<tt>apix.example.org/registry/capabilities</tt>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Term</th>
                <th align="left">Description</th>
                <th align="left">Status</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>commerce</tt></td>
                <td align="left">E-commerce and marketplaces</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>commerce.marketplace</tt></td>
                <td align="left">Multi-vendor marketplace</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>commerce.retail</tt></td>
                <td align="left">Single-vendor retail</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>payments</tt></td>
                <td align="left">Payment processing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>payments.card</tt></td>
                <td align="left">Card payment processing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>payments.crypto</tt></td>
                <td align="left">Cryptocurrency payments</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>data.financial</tt></td>
                <td align="left">Financial data and markets</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>data.legal</tt></td>
                <td align="left">Legal documents and data</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>nlp</tt></td>
                <td align="left">Natural language processing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>nlp.translation</tt></td>
                <td align="left">Language translation</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>identity</tt></td>
                <td align="left">Authentication and identity</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>communication</tt></td>
                <td align="left">Messaging and notifications</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>storage</tt></td>
                <td align="left">File and object storage</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>compute</tt></td>
                <td align="left">Code execution and computing</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>media</tt></td>
                <td align="left">Image, audio, video services</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>search</tt></td>
                <td align="left">Information retrieval</td>
                <td align="left">active</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="additions-to-the-apix-verification-basis-registry">
          <name>Additions to the APIX Verification Basis Registry</name>
          <t>This document requests the establishment of the Verification Basis Registry
maintained by the governing body at
<tt>apix.example.org/registry/verification-basis</tt>, recording which evidence
channel substantiated an Organisation trust level (see
<tt>trust.organisation_verification_basis</tt>):</t>
          <table>
            <thead>
              <tr>
                <th align="left">Registry value</th>
                <th align="left">Applies to</th>
                <th align="left">Evidence channel</th>
                <th align="left">Status</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
                  <tt>national_registry</tt></td>
                <td align="left">O-2</td>
                <td align="left">Official national company registry</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>gleif_lei</tt></td>
                <td align="left">O-2</td>
                <td align="left">GLEIF Legal Entity Identifier</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>eidas2_qeaa</tt></td>
                <td align="left">O-2</td>
                <td align="left">QEAA from a Qualified Trust Service Provider, Regulation (EU) 2024/1183</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>soc2_type2</tt></td>
                <td align="left">O-5</td>
                <td align="left">SOC 2 Type II audit</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>iso27001</tt></td>
                <td align="left">O-5</td>
                <td align="left">ISO/IEC 27001 certification</td>
                <td align="left">active</td>
              </tr>
              <tr>
                <td align="left">
                  <tt>cra_conformity</tt></td>
                <td align="left">O-5</td>
                <td align="left">Conformity assessment under Regulation (EU) 2024/2847 (CRA)</td>
                <td align="left">active</td>
              </tr>
            </tbody>
          </table>
          <t>As with the other registries in this section, the Verification Basis Registry
is maintained by the governing body, not by IANA.</t>
        </section>
      </section>
      <section anchor="references">
        <name>References</name>
        <section anchor="normative-references">
          <name>Normative References</name>
          <ul spacing="normal">
            <li>
              <t><xref target="RFC2119"/> Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.</t>
            </li>
            <li>
              <t><xref target="RFC5646"/> Phillips, A., Davis, M., "Tags for Identifying Languages",
BCP 47, RFC 5646, September 2009.</t>
            </li>
            <li>
              <t><xref target="RFC8259"/> Bray, T., "The JavaScript Object Notation (JSON) Data
Interchange Format", RFC 8259, December 2017.</t>
            </li>
            <li>
              <t><xref target="RFC6455"/> Fette, I., Melnikov, A., "The WebSocket Protocol",
RFC 6455, December 2011.</t>
            </li>
            <li>
              <t><xref target="RFC8414"/> Jones, M., et al., "OAuth 2.0 Authorization Server
Metadata", RFC 8414, June 2018.</t>
            </li>
            <li>
              <t><xref target="RFC8446"/> Rescorla, E., "The Transport Layer Security (TLS)
Protocol Version 1.3", RFC 8446, August 2018.</t>
            </li>
            <li>
              <t><xref target="RFC8615"/> Nottingham, M., "Well-Known Uniform Resource Identifiers
(URIs)", RFC 8615, May 2019.</t>
            </li>
            <li>
              <t><xref target="RFC9110"/> Fielding, R., et al., "HTTP Semantics", RFC 9110,
June 2022.</t>
            </li>
            <li>
              <t><xref target="APIX-CORE"/> Rehfeld, C., "API Index (APIX): Core Infrastructure
for Autonomous Agent Service Discovery",
draft-rehfeld-apix-core-05.</t>
            </li>
          </ul>
        </section>
        <section anchor="informative-references">
          <name>Informative References</name>
          <ul spacing="normal">
            <li>
              <t><xref target="RFC8949"/> Bormann, C., Hoffman, P., "Concise Binary Object
Representation (CBOR)", RFC 8949, December 2020.</t>
            </li>
            <li>
              <t><xref target="OPENAPI"/> OpenAPI Initiative, "OpenAPI Specification 3.1.0",
February 2021.</t>
            </li>
            <li>
              <t><xref target="MCP"/> Anthropic, "Model Context Protocol".</t>
            </li>
            <li>
              <t><xref target="ASYNCAPI"/> AsyncAPI Initiative, "AsyncAPI Specification 3.0.0".</t>
            </li>
            <li>
              <t><xref target="APIX-IOT"/> Rehfeld, C., "APIX IoT Device Profile: Discovery and
Presence for Connected Device Services", draft-rehfeld-apix-iot-02.</t>
            </li>
            <li>
              <t><xref target="W3C-SSE"/> WHATWG, "Server-Sent Events",
https://html.spec.whatwg.org/multipage/server-sent-events.html.</t>
            </li>
            <li>
              <t><xref target="I-D.meunier-webbotauth-registry"/> Meunier, T., et al.,
"Web Bot Authentication Registry".</t>
            </li>
            <li>
              <t><xref target="I-D.cui-ai-agent-discovery-invocation"/> Cui, Y., et al.,
"AI Agent Discovery and Invocation", see Section 7.2.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="authors-address">
        <name>Author's Address</name>
        <t>Carsten Rehfeld
Email: carsten@botstandards.org</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+S97XIcWZIl9p9mfIcwjEkNcDOTAMj6ArfVQpGsbmhZRQ7B
mp7esTZkIDMARDORkZ0RCRBTrLH9tb9lWj2DHmyeRH6Ou9+PyADJ3tmVtKay
7ioSiLhxr1+/fv3z+Hg8fvigq7tFdVTsHL85+cfitFrf1LOqLd6sm4saP39R
t7PmplrfFSfLi3XZduvNrNusq+KiWRd/rM4Lea8ol/Pi+6YLr+88fFCen6+r
m/648otZ2VWXzfruqGi7+cMH82a2LK/lQ/N1edGN19XVRbWYj8tV/WHc2lvj
/cOHD9rN+XXdtnWz7O5W8vzJy3c/yOsy2lFxuH/49Xhf/vfVwwfyzScPH8gE
Nt1Vsz56+KAoxkW9bI+K55PirQ6PHxaFfvd5uW67apn/qrou68VRMdPf/a/n
Tdd2sshyPW8nzfoS4y+b9XXZ1TcVP/H2h+eHBwff+Z+/+vrp1/7nbw+/Cj//
+ulXX4WfPz14Gv+cPP/1QXjmu4ODff4ZVBw/f/325ZFOMNk12Zh59aHYxSN7
sp5GNmdgr443XbNsrptNWxxfVsuwWXGHd3TohHD45x7iyd7UVVsvL5rw5Mmy
q9bLqhu/wFYO7uhMJsdd4hrK9WUlz1113ao9evxY9rLs1uXsfbWe1FV3AUo/
Fv54fM9Aj7ENmEFvI7797ul3CQEP+Oc/Pnk+Pj3tkw80qNbjU9Dj5Y38ux0m
gszkqPjjH47f/fH3w3O/6q4Xk3ZVzSa3V2V3e8m5X28WXb0qL6vHrX6nlS+M
K35ngjfCzp68fre9sf9YnDTvihcVd2ngQOLUvVlXMuhMt/h5s1xWs66a+0vJ
sfvvvbN10/GY/ls3VsZ5jFFev3n5k9Agp8rrVbUEx58KoeuLWkSJiIPiyeRg
sn//tvlLJ8u6q8ko+usgOg5k4uODe5iSe9rIEDI7nv3HTdk+vgnf/PH5m3yO
PzbzaoGt6KoPHbata2bN4v7pHS+7q3WzqmfD37/GcDMdbWWDTeqGnHP6p5+e
b9HouL1bzoaItP8pIoW3+lTqz+f29nZS4mGhx2TWXGMf28fr6qJagw9Jr/BV
0Mk+ezJ+MbmuNstajsFtdS4SFdOQvb+sRU7dHfkzs009LuV/EFHjufP6uF7e
NDrmEU79eDwuyvMWTNXh7++u6raQmWyucZLn1UW9lEusu6qKe661clkIQasl
7pOia/Dowwd8dkh+ZouSZ8uuEIY4X8iI8/Q48tZpRBrJEZSfxVeai+I2uStl
9SLBlu3mGoMUfs9NihNZjX0szP/HQv6ymMtTnQpyGcTfGCVrXNXzai33X/pd
55hRsZAdFZq0xXUjO9ys6+VlIVO4qC83az47kkHL9exK1yFUkiNf/HWDlbVy
HS67eiafw+zxSZtAsa5EEsvcZlfyTFvsvhLptigOClnadbm+E4LIC/rDw+Ji
s1jYG3vyXyHtUggl1FdaYErcdyFEclvpj0RRAdnr69Wi4iZ32PKV7qdc1Muw
ExmBistFc14uFnfFxbq5Lkohr3xG3pAhZGWrpl52o6K6KRcb2TUsrV4Xsu9t
J79rufm3tRyXTSdLvyvkv+PmYnxOGr1fNreLan5ZKVnaaiHCN36Z822Ftu3F
nQ3c3C6Ldxz8TbOoZ3cT5+Xrej5fVPjb3/0dpO26mQvrya4oc9sWD7HmL78E
1eDXXzPOl8Mpey0ssxHFRccC++jJEgaQ/1TzsJGBj4/48iX+vCxxs1ACjYwo
/IuoXfW1nh1hCXynWs/qclE0y/NGdCShsHCTvIyvtnhgtagxVuSf87KV5arm
IguYFO9ArXCCa12CSqq6ozwqgpDhMZBNBd/MqhWYA+MGjUye/OumXpNP2qK9
Ktey0HK2boT9fb1QItvJtuygVJi3CcHxsS84vCKX8q2vPggHyRpEz+WDf3j3
7s2p8N3cmG61OV/UrZy34rqcXcm2iTAs53g0yAA7xT45JZ+sxoQLhz2H5Cmi
3JmtS+HKNShagcZ4HLRcrWucyIwAurarWk4913srR1jofVkveWRIXqHnnIPJ
roO7KDiEpCJ5ZRItxALEm8whOXcyU4rGrhYmsKO3pDozp2YSaDXCclSkF8dG
KSPNTGZQzoScbY11Tnliz0i8afHz21cTfadPvJ6wlo0obbxiyst8s15Mi13T
CkZ2h4/CDTgSChS/X5erq79/VZy+eLXH77wK4rOU78v/hdJCeRW6xVVVLror
IUs1ey8nYtl0tk6huulnbX0pRG052E8NNK+Op2tR3lXro0ymGvPbX5/hL2v+
dNkUK7k+V1d3rSxvMZbbtMP8VaSSmU9cPjbrtvjx59N3QQLhvNxzQuplLkYe
PjivLsD65Wq1uMOG8zDO5zVIWi623u7SIzRxmfW+uituZWJtsYOZ7Iz0v8VP
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
3yVRY0tvCeVOfvMi36X4GamaHMrnUuLsj6BTXMUjZU64dPsJHHAu3x/5le6w
36VicoOSa3IBGDT4vSLEPP0Uz6N59a78gO4Gd1/krUhhwgYdFgqzHNwVA995
+CB86NNOi+xbg34Lb6zkoPyf9VtwdhMiaFumpFB2jUg2FBZUb3bjtkJQG8zu
FegGOV1NKGw7OrWmeyMrJYFDQS2bL/Qo5PG/1GFSfMpfMoGBOHZORu+qQFol
+u60bqh8XImonjz6jIGoBF1o4PGT3qBWDEGFfpffk56ooloAAmOtdA9O9Y8k
bYGLKgK1BE9Hep8Hl4QTF0mHL8f+N9I2IXcbTeb8tWxP4GxAQu/4Rmw7YhCE
3937/pqFJkx51DR1e1d/3n9tVaoRyqRO/XOSyHbf0xNkM+OV57BNV3/De+u7
VdfwTf4pFHD4E/03abfIhpdLIKQzp9X/UvBKinQdfpfoYnjvFTEjA0i35mVj
hN5by8UKj//UK5j+xOrkjQnyF1pHgpGPhdrs+PP+a+7JxfPHebCCxoE7egc2
erMM9azIJoZy4LnoWbpA/10znpSMVstpJpDbVdtfE8uCbzxHjU31gZiBNkf9
7QBJ6FjHSyfXJVu4iBHUjArU/jXxOujPjik4fMv7jtEoZPZUmbNuCqCQ1Sxn
mRA9kYJMcM8QS2SxtvFwMKWtwFASM+Rl1Ef0vmXbAY/ciOTEDWjZHAjaJOnl
mjac5EV2flepxDMcDsT/7oU2iEloW1FH9X39IbkBYnYSfvu8L2FpFJfMe4xW
MM+yXyPQAGDTt4Eu9Rr6THqttNWlnu7imOOqmf2o3ZyP4wY8oonBMDqf0UIN
w/ZfOw5LWgiPIsSFphfr+EdbAkjt+ew78hkUdbhYe1ZMF82ldlKZMH8J+oqt
6b4BCAfE+ov+m5bzE34h1/hLsb2Edxg1TCsgY4G4pkDLnnLhCJGtO8uq68Xv
WTdkvUsCufA3nE7S7eEDuRXbM3/qrLkw9JjnyeaFDF1L06INKYojLvLBnRuJ
9YZEOhy38larNZksCr/PRf2hins7fRdsk5aATfjZz6xloTSB7SV/xo8qlNML
48krivctPzuXq3npblcZKi00VB1CGa0sphMk5XGmDRvubNp0Y+Mk+kyBxJJQ
mhTjTqFhDqesmYJyY+LDbGKE1QB4ihy3OddcYINqSeETIq7GFufUsWMZo326
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
UZmbG/8BBNCG1ndxAQA=

-->

</rfc>
