{
  "specVersion": "1.0",
  "host": {
    "displayName": "omnichannel",
    "identifier": "https://omnichannel.cx"
  },
  "entries": [
    {
      "identifier": "urn:air:omnichannel.cx:catalog:api-catalog",
      "displayName": "omnichannel.cx API catalog",
      "type": "application/ai-catalog+json",
      "url": "https://omnichannel.cx/.well-known/api-catalog",
      "capabilities": [
        "api-discovery"
      ],
      "description": "RFC 9727 linkset catalog of the public API surface and agent-readable indexes.",
      "representativeQueries": [
        "what APIs does omnichannel.cx expose",
        "find the OpenAPI spec for omnichannel.cx",
        "list machine-readable resources on omnichannel.cx"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:omnichannel.cx:card:site-agent",
      "displayName": "omnichannel.cx agent card",
      "type": "application/agent-card+json",
      "url": "https://omnichannel.cx/.well-known/agent-card.json",
      "capabilities": [
        "a2a-discovery"
      ],
      "description": "A2A discovery card for the site. Discovery only - this site is not an A2A endpoint.",
      "representativeQueries": [
        "does omnichannel.cx have an agent card",
        "a2a agent card for omnichannel"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:omnichannel.cx:api:contact-enquiry",
      "displayName": "Contact enquiry API",
      "type": "application/openapi+json",
      "url": "https://omnichannel.cx/openapi.json",
      "capabilities": [
        "submit-enquiry"
      ],
      "description": "REST API a human operator uses to submit a consultancy enquiry. Cloudflare Turnstile verified, so agents prepare the payload and a human submits it.",
      "representativeQueries": [
        "contact omnichannel.cx",
        "submit an enquiry to the omnichannel consultancy",
        "book a CX maturity review"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:omnichannel.cx:api:site-search",
      "displayName": "Site semantic search API",
      "type": "application/openapi+json",
      "url": "https://omnichannel.cx/openapi.json",
      "capabilities": [
        "semantic-search",
        "content-retrieval"
      ],
      "description": "GET /api/search?q=<query> returns ranked chunks of the site's public content with source URLs. No auth; rate limited per IP. Retrieval only.",
      "representativeQueries": [
        "search omnichannel.cx content for a topic",
        "which page on omnichannel.cx explains CX maturity",
        "find omnichannel consulting services for a market"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:omnichannel.cx:index:agent-skills",
      "displayName": "omnichannel.cx agent skills index",
      "type": "application/agent-skills+json",
      "url": "https://omnichannel.cx/.well-known/agent-skills/index.json",
      "capabilities": [
        "capability-discovery"
      ],
      "description": "Index of the agent-facing capabilities exposed by omnichannel.cx.",
      "representativeQueries": [
        "what agent capabilities does omnichannel.cx offer",
        "agent skills index for omnichannel.cx"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:omnichannel.cx:index:llms-txt",
      "displayName": "omnichannel.cx llms.txt",
      "type": "text/markdown",
      "url": "https://omnichannel.cx/llms.txt",
      "capabilities": [
        "content-index"
      ],
      "description": "Markdown index of all pages and agent-facing resources, with per-section indexes under each main section.",
      "representativeQueries": [
        "site map of omnichannel.cx for an agent",
        "what content does omnichannel.cx publish"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:omnichannel.cx:mcp:site",
      "displayName": "omnichannel.cx MCP server",
      "type": "application/mcp-server-card+json",
      "url": "https://omnichannel.cx/mcp/server-card",
      "capabilities": [
        "semantic-search",
        "content-retrieval"
      ],
      "description": "Read-only remote MCP server (Streamable HTTP, https://omnichannel.cx/mcp) with search_site and get_page tools over the public site content. No auth; rate limited per IP.",
      "representativeQueries": [
        "mcp server for omnichannel.cx",
        "connect an agent to omnichannel.cx over MCP",
        "read omnichannel consulting pages from an MCP client"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    },
    {
      "identifier": "urn:air:omnichannel.cx:api:nlweb-ask",
      "displayName": "NLWeb ask endpoint",
      "type": "application/openapi+json",
      "url": "https://omnichannel.cx/openapi.json",
      "capabilities": [
        "semantic-search",
        "nlweb"
      ],
      "description": "NLWeb v0.55 POST /ask over the site content: list mode only (retrieval, no generated answers), JSON or SSE streaming.",
      "representativeQueries": [
        "nlweb endpoint for omnichannel.cx",
        "ask omnichannel.cx a question in natural language"
      ],
      "trustManifest": {
        "identity": "https://omnichannel.cx",
        "identityType": "https"
      }
    }
  ]
}
