Other
/askRetrieve published website evidence
Ora GET convenience adapter for NLWeb list retrieval. Use POST for the canonical envelope and context. JSON is the default.
PARAMETERS
RESPONSES
200NLWeb answer with retrieved evidence and source provenance, or application failure. -> NlwebAskResponse400Malformed NLWeb request.403Request Origin is not this website.404Domain querying is disabled or no eligible publication exists.406Accept does not allow the requested response transport.429Shared query allowance exhausted.503Query service or admission unavailable.504Query deadline exceeded./askRetrieve published website evidence
NLWeb v0.55 synchronous list/conversational_search profile. JSON by default; prefer.streaming, or an Accept header preferring text/event-stream when prefer.streaming is absent, selects named SSE events. Unsupported modes/formats return HTTP 200 failure envelopes. No promises or await.
RESPONSES
200NLWeb answer with retrieved evidence and source provenance, or application failure. -> NlwebAskResponse400Malformed NLWeb request.403Request Origin is not this website.404Domain querying is disabled or no eligible publication exists.406Accept does not allow the requested response transport.429Shared query allowance exhausted.503Query service or admission unavailable.504Query deadline exceeded./api/agent-files/{domain}Draft a domain's own agent discovery files (ard.json, ai-catalog.json, poppy.json)
Drafts the agent discovery files a domain publishes about itself: /.well-known/ard.json (Agentic Resource Discovery), /.well-known/ai-catalog.json (the same catalog at the AI Catalog Standard's path) and /.well-known/poppy.json (Personal Agent Protocol, Draft 0.2). Built from what ora already holds for the domain - no live crawl - so a domain ora never scanned still gets a valid minimal set (a catalog listing its website, a poppy.json for signed-out browsing) with scannedAt null. Every catalog entry is anchored to the domain itself (urn:air:<domain>:..., identity https://<domain>), never to ora, and carries only https URLs on the domain or its subdomains: anything the scan saw on another host is named in the file's notes instead. MCP servers are listed by their server card (the card the scan found, else the reserved <server-url>/server-card location, which the notes ask the owner to serve). The poppy.json is the minimal valid document; what ora saw that a fuller one could name (an OAuth issuer, MCP servers, an OpenAPI description) is listed in that file's notes. Pass ?include= for llms.txt, an edit of the site's robots.txt, an RFC 9727 api-catalog and draft MCP server cards. Review every file before publishing it. A leading www. is dropped, and any spelling other than the canonical domain answers 308 to /api/agent-files/<domain>. Sends Access-Control-Allow-Origin: * and is CDN-cached. Rate limited to 60 requests per minute per IP - returns 429 if exceeded. Also used by the generator page at directory.ora.ai/generate and by `npx ax generate-files <domain>`.
PARAMETERS
RESPONSES
200The drafted files. -> AgentFilesBundle308The domain was spelled differently from its canonical form (www., upper case, a trailing dot); Location is /api/agent-files/<domain>.400INVALID_ARGUMENT - not a public domain. -> ArdErrorResponse429RATE_LIMIT_EXCEEDED - max 60 requests per minute per IP. -> ArdErrorResponse500INTERNAL_ERROR -> ArdErrorResponse/api/web-bot-auth/directoryGet the Web Bot Auth signature agent card (public keys for verifying ora's crawler)
Returns ora's Web Bot Auth signature agent card: the client name, contact, stated purpose, and the public Ed25519 keys that verify HTTP Message Signatures (RFC 9421) on requests from ora's scanner. Bot-management verifiers resolve a signed request's `keyid` against the `kid` of a key here. Also served at /.well-known/http-message-signatures-directory via a rewrite, which is the path the specification fixes and the one verifiers fetch. `keys` is an empty array when no signing key is configured, so the endpoint is always valid JSON and can be probed unconditionally.
RESPONSES
200The signature agent card ({ client_name, homepage_uri, contact_email, purpose, keys: [...] }).