<?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-03" 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-03"/>
    <author initials="C." surname="Rehfeld" fullname="Carsten Rehfeld">
      <organization/>
      <address>
        <email>carsten@botstandards.org</email>
      </address>
    </author>
    <date year="2026" month="June" day="07"/>
    <abstract>
      <?line 67?>

<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 80?>

<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", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in
all capitals, as shown here.</t>
    </section>
    <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>
  </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="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </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-06"/>
        </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-03"/>
        </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 1777?>

<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>
      <t><strong>-03:</strong> Editorial corrections, no normative change. BCP 14 boilerplate
updated to the current post-RFC 8174 form, citing both <xref target="RFC2119"/> and
<xref target="RFC8174"/> and including the "when, and only when, they appear in all
capitals" clarification; the "NOT RECOMMENDED" keyword is added to the
keyword list. Top-level body section headings normalised to start at level
1 (was level 2), aligning with kramdown-rfc convention. Cross-references
updated to the co-submission cluster (core-06, iot-03).</t>
    </section>
    <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="RFC8174"/> Leiba, B., "Ambiguity of Uppercase vs Lowercase in
RFC 2119 Key Words", BCP 14, RFC 8174, May 2017.</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>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+S963LcWJIm+B9PAWPZbpLqiBBvSmVSXZvDpKRK7uhWolTZ
NW1lDEQESKKEACIBBKnoVJb1r/m9trPPsA/WT7L++eVcEKCkmu7ZWbNNq8oM
RgAHB378+PHr5+PxOOmKrsxP0p3TN+f/lF7kzW0xz9v0TVNfFfj+adHO69u8
2aTn1VWTtV2znnfrJk+v6ib9OZ+ldF+aVYv0x7pzt+8k2WzW5Lf9YXeSedbl
13WzOUnbbpEs6nmVLekpiya76sZNfnOVl4txtio+jlu9Z7x/lLTr2bJo26Ku
us2KLj9/9u55sqChTtLD/cNvx/v0v8cJPe4oSbJ1d1M3J0majtOiak/Ss0n6
Vgam79JUHniWNW2XV9Ev+TIrypN0Lj/9p1ndtR29WdYs2kndXCdJVTfLrCtu
c4z+9vnZ4cHB9/rxu4PHx/rx0bfH39q3h4/sgm+PHz2yb48Pjt1Hf+23B3bB
9wcH+/gI2o3PXr99dsLzC1aKFmORf0x3ccUevU1NCzKwPqfrrq7qZb1u09Pr
vHIL5Fd1h0f2NMM/w3Sj9SjytqiuarvuvOrypsq78VOs3uAizmlitDoy/ay5
zumym65btScPH9L6ZV2TzT/kzaTIuyvQ+CFxxMN7xnmYJHh6vATffX/8vafa
AT7+fHQ2vrjo0QwvnjfjCxDh2S39ux16c5rBSfrzT6fvfv7D4JRvumU5aVf5
fHJ3k3V31zzl5brsilV2nT9s5SEtDT/O+SET3GEref763dZC/lN6Xr9Ln+a8
KgObDjvrTZPTkHNZ0rO6qvJ5ly/sJr+3/oeuZFF32In/3oWkYR7SIK/fPHtF
bx+R4/Uqr8DaF0Tf4qogSUH7PT2aHEz271squ+W8KrqC2YJ/dZLhYLx/OD54
NDhrXsaaBqB58f5+WGftw1t73suzN9HsXtaLvAT1u/xjh5Xq6nld3jex06q7
aepVMR989BJjzWWolY40KWrwycWfX531CXPabqr5EGX276eMu6dHmv5U7u7u
JhmuJSpM5vUS69Y+bPKrvAHLMZXcI0Edeeb5+Olkma+rgtj9Lp+RqMQcaKmv
C5JAmxO9ZL4uxhn9D7JnvDCmHhfVbS0jniTJeDxOs1kLBuqS5N1N0aY0h/US
O3WRXxUVnUbdTZ7ecz5lVUpUzCscDmlX49KELx2SidHb0KVZl9L6z0oacBFu
ORwiNckZ2mX0lb+jvkrvgiOPXpskU9WulxgjtRNrkp53iT7KTf5lSn+UC7qo
E9FMY9gNo+AFV8Uib5LoqcYio7SkZSR6tOmypmWtm6K6TmkCV8X1uuFrRzRm
1sxv+CWIQLSt01/WeKuWTreqK+b0MEwdD9THp01O4pVmNr+ha9p09wXJrjI9
SOm9llmzSXC9fHeYXq3LUm/Yo/8SVSsiEtFd6IAJ8WoTEYLDR75KmODFclXm
vLod1nolC0mnbuXWICJOel3Ws6wsN+lVUy/TLCHJdU030Aj0Wqu6qLpRmt9m
5ZrWC+9VNCkteNvRby2v+l1B22Pd0XtvUvrvuL4az0CfD1V9V+aL61xI0uYl
CVb/XJ5tS2RtrzY6bn1Xpe947Dd1Wcw3E2HfZbFYlHmS/A6CtKkXxG20FmBm
XdUhXvz1V3e8//ZbxOm0DWl9iUvWpHzwSGAY2US05vSffOEWz/HtCd97jc9V
htOCpcxIacF/JItiKTuFuABPyZt5kZVpXc1q0nKIrsQ/dC+e2eKCVVlgKM8y
s6zNE9E9aPaT9B1o5LZrIfMXcVR0LHVSJ0uY7WkhwSrzfEX8gFGdTkUX/rIu
GmaNNm1vsobeMps3NbG7vSy0v3bSlxK8/xdtQGo86Ss26kkSL3b+kViG5k+6
KV/307t3by6I0RbKZav1rCxa2lzpMpvf0HqRwMsWuDSJJYtNTQhHb6JihEed
QcSkXsLMm4zYsAEx6ZxPcDWouGoK7L7o3eXFbgra4Pyyd7RdidLXRcUbhAlL
pFzwWAnzFIsIIiZJV5pCCwkAMUYzCDYZzZMlYFfQ4us+q1gzWbCSkfjrmhwy
Oz1VGilR5vT0bE6EbAu84pQ35yWTbZq+f/tiwrf0qdaTx7QCmQ6XTvl4Xjfl
NN3VU34kp/LInW0jevf0D022uvnji/Ti6Ys9POWFE5EZPZz+TxQmiotcTW/y
rOxuiCD5/APtgaru9A2J3KpktcU1UbPFWK9q6E8d76Yy2+TNSSQ3ld31zyf4
o+Fvqzpd0cG4utm09G7lmM7JjiYvYpPY99xEYN206cv3F++cmMH2uGdHFFUs
MpJZfgVez1arcoNV5q23WBSgZVZu3dyFe2YiwulDvknvaE5tuoNp7Izkv+mr
1/z57bM/vj9/++wpPl/8dPrihfsgVyT0x+v3L/R3fPJ3nr1++fLZq6dyM32b
9r56efrnHd4eyc7rN+/OX786fbGzNU3eOnS4zIisUFFpkbBjwKx5O2+KGf1R
VMmPZ2/Sg2Mij9pkJE/5M4wy+nx3k1eyE+uK+FT+JGptQDs6LjEEyyXSgTpa
et4N7Q2EPVaUaEWS/V3e0OlWl/X1Rmh3VZdlfceEp59anqpI8cXWWvHD1y39
wiyiB1JCEo63KGtCvKNH0BRGsrlfZlVxlbfdyDjsslhE4nyUkKpHF7WqzvAv
JR/Uu6/H+ylU0PX1Tfp6/GjPDRIrNHx1snsRXH0xPt7zmkZ0TkBlhSAJTwla
hjyHlCEynXruE5oE9IjWlUTIgwes0cqkHjxI/+1f/y8IFaeSQJHMcQSAWCoO
IAKnrEERT2QJSfix6UYpFIA83VWFfpQu5yuso2i2o/QaYuKXcm+S/kSLaxI+
2RJUIrCHJZXfPemfmIgsWpKe7jbRd7O/9d3eycEYy3w+Y+tKlCESf7I2OR9l
SUwL0e9ayLKrvMPsrk2a2QHVihoTytTEpiwLucoalRQk4K8zCLeQ1C2Rjvi+
Ux1xvYL6UV0n97NOy2/71g8BEyW90HGCV/+86HfTlHfDFsebkHwU6Q0SqwQn
Kl0VjZu3qb1QLbokz/hkfClTz4WodKaZGJwSL1zSW0AFmvIh6d5ZpXkSqyum
rgnzt3jLar7R84PECenIs5YELftWZILNuhKquJPopVfWz0JlPSDPit0GQmXi
705Wid5okXcseIgnSCDR0SwPKyOa0MEiE8psA33TKnMkxhzbvBEeBn62Oqmn
90myi5w3fno4SZ/3zZjE2SdEzGWetetg/YItkd4WGV65qBd01IuWFZ3MiTHn
9Ndgg/72UC7SlfMvzycYnd+0laC+3WZFmc2Ksug2o8R93ZHua3yNz5jAnEYn
vXpivhRbAvceJLOJqqQ3XzFXkOAlUkPkLtPdNndK/Pnrd7/9tsd0NA/bW55W
sMR8YaCUqNXFSnGsjCW0U2eiuZntyA7Qrgt2gz7m9V1FNGAZKfQYqwxZJHpS
5F0GBw3ZY0IX2nu0Kbq7GjKxWpckErqN7uaT1Gy/XTX+QEA18ogV1Lgkmq7L
rt1LQ8twNzANR940xOamKRSlbO09ZbarfL6Z01QuQP+ASvN104jlT6PWK1EC
wLnr1apuOsjtbi0arImlE1I3P4KbcHFWTkfpdEZPxH9FyuPTIifdAc7nxZSF
xbSlbZp3U54OtsVlsL/dcaQkDVZNjHimNx2YxAF87pAlMXX300Gyy8cFiXpi
59aJGDpWp0tiHXxt14CbrvWUg0qAxVYBpUIMd62rBqKNX0ZvxFkF9ZWpyqtK
b0XynZaI/hAyn85J8tGRTOPrgWWn0WmVRrpD5q9UBhNDEtJ/Vi82OHCJxPC+
kjpxzEtCakU6oIBkLe2ZluWtaE7s+1BRYf4b+v53tEVYQ12kz0HUNrCXTfUZ
2B3O2jNz1MZfZuYvWiR9qSUCw2tsbNqSZFWfB+vQ7KqpWQM3gZZs6R6syOTO
/Ze+g1H2Vr1e6a4Jx+M90nD+9re/Jb+S2r+TrZZ26OycpDsHk/0d2DI7Xq3D
12QkkGg30/P8aToep+/f039vj1Oh3j+Ni7Zd5wu5G3EM3HdDRm0VnKtKJv6Z
LxRVedXp4+0kdrwCvVfFpbl85MaSWHNN25Pu+uedvNr5y0jepgjfxvxKjmuJ
EiAxzT6fXE/onHDvW9quv2w7GXYn3LifsGs/yft/8vv1k+xUJdmaric9Om/l
2UZAUS/FJeSvwSScccH31xCXdOuv7AzdCdn30gha5td03NNYIIgjI1391zUZ
0HRiGSXPL16nRwfffjs+IK5Z3WTjQ2KsNc9hTvq53RYqKpfVejnjGeDrSSp/
Yp6NbQaw/Ovx4T/Y7VC6Sedu3awxb3pD0QeZiIhbYQzSdEheBWf9+Ip+gbMp
I2WThhjZAMQSWZnZi7gBzso19Lj0KPUXPPEk5Lt/o3//JotBT/C0xAbBYKKI
sw/BlPPWlLWNvRQZ9rgWQkx8tl/yDZiuYgOEHAhxGHPfjpuj4+2CWeafda6k
U8kUw9+3Zvmly+gq2ROBkoIZsVjCu9ExFXgIhAVZSt7DgnwKYwQ232oWsbQs
sHhILBfsd4MNaxO0DeDuu5D7yIb7/H29Aw+3kipQfvKH2Cc7qT4Fh090P588
PEo+X8NfcancBkLv65UVievLlo/RS9KML7POds533+4fsFJGO365wnRxbaBF
28NMGQs3QJm13eWKVvreAT2v82XsPiDWvKTJ1nR80E1H+/vuGlEJL4/2F5eq
FtIF338/+d5dkd1eX5ouebnE/QfHhxp/8VuC52Ua2KVqsZcSdInmuSWZ6Cx3
3O5fdUf1nhxHBHFObkKB1IaKFDbH0qmjzfBWDIcf2919ht8WV/E+NVMRdgbZ
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
cOit6m6s7TpTWWLIGGtzG+WXynL/SCwsWgX8hEX7QdVDfrbT9nzqPqfNRBEY
DhS4WonrdUbU7fJcaj6yq7zbjAzuD9RlWNyoZxiJJyiJ/sxut+NSSV+bFgjn
qHyl5wlC7IIeDxZbB80kXVtpCVyhdCwKXt2vZPEejkwuY2WGd9OUYa03wOa3
uus4UT7UtC1up3lG0iNBw2/LyaCtPFOjaGHlIqxusiVBRwlRLnBC8wQAHBBw
pZNU21vo9Do2XGYbBoSiYZPQtR0dBSwAHHBvF85XDJQIdEWZyztEfrEfWGEB
YpbWKAn0sCsvIiW16NSj6pJ/Eyb1iXYr5fMWcF0MXZd/7HKu0m/R6OtnVmGs
gS7r8+arvWKNU+L1suPZ4xq0ftTT+Qfz7LHxKqCM7Fs0J+JIlVdomOL4TNOh
bOZr5/6mIbKyvoa1ZG0YBqAgdaY/aG/PkFtd2yrVEvGubpa6D6wbvG9xxSNg
cjoI0dn8M1bxxe9S5qLSMXZoV3BouKu3GOcHDHXqh3e1blqSUrGO79l4G7mT
SUObpmH5k6a+Utk9RS5fyYSvyvyjBW21DehbhmqidX1rwWWxm9kq5yaoKLUh
HgsxpehyjyyO54aO+3tGJD74WbT5FQqvIHLCIX1Jd1XDLIMiki/6s5Kml4aF
Cu0uK9UccfJeTk4pNgdADqASFFM81rNa1IlscA5YrPkH6xhIAtnsT9CAfd7O
k7xdvdcyDLezWLnLOz2dKyi/4Ng2oaseLFcPggHV7cz7Ie55Wht3II6A6/lM
dqfNiJt2pK5pB3GCQFBLxz+xMGGRo+LiB+33dybkVPR6xr8g2bbI58H37glC
FZ08Q6Ogw+BaGhN22Qf2dBAHFTMJYJNBUkjzpMx67sUVvFIHp6FyVz2C0eBz
J9Gy5rXGqczldvQyGstR4HIY2mSCwop22DMCQHfK9f2h241Lx1BMD34Ksypm
GxfDaq2IlPmby39uaaMSIbGr4LTxhT3p7un5qwvpw3UOvaciC/IVImJ6YO2N
pEQAY3GfC/jzYALzZliMWadDBbnD1qyvvSPeGN0FS6S8D1Q2UVmvmMIhoQUL
5rrJVjfQlPjwMcpwIQntwrphN0yDpgXsuMJ4fCa6+h2gQ9AhnTmxAaHVXK+l
Q6JF6pgPmN4nJJFohXFEuOiZNwVCV5AIrDUj/2VNt3nCxXnaBoFLosasKOgk
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
pRVr+XxsAQA=

-->

</rfc>
