Goal: host AI Manifest field definitions, examples, and public snapshots.
Example entry
{
"domain": "example.com",
"manifest": "https://example.com/.well-known/ai.json",
"openapi": "https://api.example.com/openapi.yaml",
"jwks_uri": "https://example.com/.well-known/jwks.json",
"servers": [{"type":"rest","url":"https://api.example.com"}],
"capabilities": ["search","vector.upsert","invoice.create"],
"status": "active"
}
Cross links: AI Manifest · AgentPKI · AgentURN
// OpenAPI fragment
paths:
/search:
post:
requestBody:
content:
application/json:
schema: { $ref: "#/components/schemas/SearchInput" }
/.well-known/ai.json
(minimal example):
{
"manifest_version": "0.1",
"provider": { "name": "Your Inc.", "homepage": "https://your-domain" },
"spec": { "schemas": ["https://your-domain/schemas/YourSchema.json"] },
"servers": [{ "type": "rest", "url": "https://api.your-domain" }],
"capabilities": ["schemas.list", "urn:agent:skill:your-domain:example.v1"],
"auth": { "jwks_uri": "https://your-domain/.well-known/jwks.json", "schemes": ["bearer"] }
}
/.well-known/jwks.json
(placeholder for demo; use a real public key in production):
{
"keys": [{
"kty": "RSA",
"kid": "2025-01-01-rsa",
"use": "sig",
"alg": "RS256",
"n": "base64url...",
"e": "AQAB"
}]
}
/.well-known/ai-crl.json
to revoke keys or mark compliance status.node ai-manifest-kit/scripts/validate-ai.mjs --file .well-known/ai.json --out _reports/ai_local.json\nnode ai-manifest-kit/scripts/validate-jwks.mjs --file .well-known/jwks.json --out _reports/jwks_local.json\nnode ai-manifest-kit/scripts/validate-crl.mjs --file .well-known/ai-crl.json --out _reports/crl_local.json
registry.json
(see Registry Viewer on the site).Notes: Use HTTPS and absolute URLs. Send ETag and Last-Modified and a Cache-Control (e.g., max-age=600+). Rotate JWKS by kid
with an overlap window (≥ 7 days): add new key first, then remove the old one.