# Eloquent Models > Eloquent Models exposes a fleet of agent-facing surfaces. Base URL: https://models.eloquentanalytics.com ## AI model registry and metadata catalog The source of truth for what models exist, what they cost, and which workers serve them. Query, filter, and describe AI models from every supported provider. Structured presets select models by usecase, quality, cost, latency, and architecture diversity. Worker routing maps model requests to the specialist that can fulfill them. ### Use this when - You need to know what AI models are available and their capabilities. - You need to select models by cost, latency, quality, or capability. - You need to resolve a model name to the worker specialist that serves it. - You need structured preset groups for model selection in polls or agents. ### Do not use this when - You need to actually call a model (use complete for inference dispatch). - You need to manage API keys or billing (use account). - You need to run scheduled scripts (use agents). ### Inputs - Model IDs, alias names, or filter criteria. - Preset names for structured model selection. - Worker configuration for model-to-specialist mapping. ### Outputs - Model metadata (capabilities, pricing, performance, lifecycle). - Filtered model lists from preset or ad-hoc queries. - Worker specialist IDs for model routing. ### Decision rule for AI agents Choose this service when you need to discover, query, or filter AI models — or when you need to know which worker can serve a model. ### API endpoint `GET /api/models` ## Discovery & Interaction Surfaces Eloquent Models exposes 33 interaction surfaces — different ways for agents and developers to discover, invoke, and integrate the service. ### Standard - **robots_txt** [RFC 9309, Content Signals v1] — robots.txt with AI bot directives and Content Signals for crawl control (GET /robots.txt) - **sitemap_xml** [Sitemaps.org Protocol] — XML sitemap with canonical URLs for search engines and discovery agents (GET /sitemap.xml) - **agent_homepage** — Agent-focused homepage listing discovery endpoints, tools, and registered surfaces (GET /) - **human_homepage** — Human-readable homepage with styled layout, discovery links, and surface overview (GET /?view=human) - **a2a_delegation_surface** [Google A2A Protocol] — Google A2A agent card and task endpoint for agent-to-agent delegation (GET /.well-known/agent.json, POST /api/a2a/tasks/send) - **tool_execution_service** [OpenAPI 3.1] — Authenticated tool-execution service: checks balance, dispatches tool call, records usage (POST /api/invoke, GET /api/results/:id) ### Emerging - **oauth_discovery** [RFC 8414, RFC 9728, OpenID Connect Discovery 1.0] — OAuth protected resource metadata (RFC 9728) and OIDC discovery (RFC 8414) (GET /.well-known/oauth-protected-resource, GET /.well-known/openid-configuration) - **api_catalog** [RFC 9727, RFC 9264] — RFC 9727 API catalog for automated API discovery via linkset format (GET /.well-known/api-catalog) - **mcp_server_card** [SEP-1649, Model Context Protocol] — MCP Server Card (SEP-1649) for Model Context Protocol server discovery (GET /.well-known/mcp/server-card.json) - **a2a_agent_card** [Google A2A Protocol] — A2A agent card at /.well-known/agent.json (and agent-card.json alias) (GET /.well-known/agent.json, GET /.well-known/agent-card.json) - **llms_txt** [llms.txt] — LLM-optimized documentation at /llms.txt generated from the surface registry (GET /llms.txt) - **link_headers** [RFC 8288, RFC 9727] — RFC 8288 Link headers on the homepage for agent resource discovery (Link header on GET /) - **agent_skills_index_surface** [Agent Skills Discovery RFC v0.2.0] — Agent Skills Discovery index listing available skills with SHA256 digests (GET /.well-known/agent-skills/index.json) - **discovery_metadata_cards** [OpenAI Plugin Manifest] — Multi-format agent cards at /.well-known/ai-plugin.json and /api/agent-card for agent discovery (GET /.well-known/ai-plugin.json, GET /api/agent-card) - **schema_first_routing_descriptions** [OpenAPI 3.x, x-agent-hints] — Enhanced OpenAPI with x-agent-hints and machine-readable routing descriptions (GET /api/routing-descriptions.json) - **machine_readable_recovery_guidance** [RFC 9457] — RFC 9457 Problem Details error responses with recovery actions for machine clients (GET /api/errors/catalog) - **cost_aware_invocation** — Cost and latency estimation endpoint that returns estimates without calling LLMs (GET /api/invoke/estimate) - **sdk_generated_examples_and_quickstarts** — Templated code examples for curl, TypeScript, Python, and MCP config (GET /api/examples, GET /api/examples/:language) - **model_variant_seo_surface** [SEO / HTML (WHATWG Living Standard), OpenAPI 3.x] — Machine-readable tool variant registry derived from registered tools with SEO-friendly HTML pages (GET /models, GET /api/models) - **static_anonymous_html** [RFC 7234, RFC 7232, RFC 7231] — Server-rendered anonymous HTML pages with baked-in data and HTTP caching headers (Cache-Control, Vary, ETag) (GET / (static), GET /surfaces (static), GET /pricing (static), GET /result/:id (static)) - **streaming_status_partial_progress** [W3C Server-Sent Events, RFC 9112] — SSE endpoint for real-time partial progress events during long-running tool invocation (POST /api/invoke/stream) - **user_home_mirror_skills** [Cursor Skills Convention, Claude Code SKILL.md, Codex Skills] — HTTP mirrors of SKILL.md and home-root agent files (AGENTS.md, CLAUDE.md, …) so URI patterns match filesystem discovery (GET /.cursor/skills/mirror/SKILL.md, GET /.cursor/mirror/SKILL.md, GET /.claude/skills/mirror/SKILL.md, GET /.claude/skills/mirror.md, GET /.codex/skills/mirror/SKILL.md, GET /.agents/skills/mirror/SKILL.md, GET /~/.cursor/skills/mirror/SKILL.md, GET /~/.cursor/mirror/SKILL.md, GET /~/.claude/skills/mirror/SKILL.md, GET /~/.claude/skills/mirror.md, GET /~/.codex/skills/mirror/SKILL.md, GET /~/.agents/skills/mirror/SKILL.md, GET /%7E/.cursor/skills/mirror/SKILL.md, GET /%7E/.cursor/mirror/SKILL.md, GET /%7E/.claude/skills/mirror/SKILL.md, GET /%7E/.claude/skills/mirror.md, GET /%7E/.codex/skills/mirror/SKILL.md, GET /%7E/.agents/skills/mirror/SKILL.md, GET /~/AGENTS.md, GET /%7E/AGENTS.md, GET /~/CLAUDE.md, GET /%7E/CLAUDE.md, GET /~/SKILLS.md, GET /%7E/SKILLS.md, GET /~/GEMINI.md, GET /%7E/GEMINI.md, GET /~/CODEX.md, GET /%7E/CODEX.md, GET /~/AI.md, GET /%7E/AI.md, GET /~/AGENTS.override.md, GET /%7E/AGENTS.override.md) ### Speculative - **behavioral_profile_risk_posture** — Named profiles (conservative, balanced, quick) mapping to preset+threshold+cost for simplified invocation (GET /api/profiles) - **machine_readable_reputation_surface** — Aggregate service metrics including uptime, success rate, average latency and cost (GET /api/reputation, GET /api/reputation/models) - **composable_graph_export** [LangChain Tool spec, OpenAPI 3.x, JSON Schema Draft-07] — Export the service as a composable graph node (JSON Schema, OpenAPI ref, LangChain Tool spec) (GET /api/graph/node-spec) - **feedback_loop_endpoint** — Submit and retrieve feedback on tool invocation outcomes for quality improvement (POST /api/feedback, GET /api/feedback/:id) - **intent_signature_matching** — Machine-readable intent signatures for matching natural language to tool-invocation patterns (GET /api/intents, POST /api/intents/match) - **speculative_execution_dry_run** — Dry run mode for POST /api/invoke/dry-run that validates input and returns cost estimates without executing tools (POST /api/invoke/dry-run) - **markdown_negotiation_surface** [Cloudflare Markdown for Agents] — Content negotiation for Accept: text/markdown returning markdown versions of HTML pages (Markdown response for Accept: text/markdown) - **web_bot_auth_surface** [Web Bot Authentication (Experimental)] — Bot request signature verification framework for authenticated crawler access (Middleware: Bot signature verification, Response header: X-Bot-Verified, GET /api/bot-auth/verify) - **webmcp_surface** [WebMCP Specification (W3C Web Machine Learning CG)] — WebMCP browser API exposing tools via navigator.modelContext for in-browser AI agents (JavaScript: navigator.modelContext.registerTool()) - **free_unauthenticated_invocation** — Anonymous agents invoke free-tier tools without authentication using open-weight models with tighter input limits (POST /api/invoke (unauthenticated)) - **zero_context_invocation** — Minimal-input invocation endpoint accepting shorthand formats for zero-context tool invocation without auth or session (POST /api/invoke)