1. Discovery & Protocol Endpoints
| Specification | Endpoint URL | Content-Type |
|---|---|---|
| RFC 9727 API Catalog | /.well-known/api-catalog | application/linkset+json |
| OpenAPI 3.1.0 Spec | /openapi.json | application/openapi+json |
| Streamable HTTP MCP Server | /api/mcp | application/json |
| MCP Server Card (SEP-1649) | /.well-known/mcp/server-card.json | application/json |
| Agent Skills Index (RFC v0.2.0) | /.well-known/agent-skills/index.json | application/json |
| Agentic Resource Discovery (ARD) | /.well-known/ai-catalog.json | application/json |
| Agent Auth & Registration | /auth.md | text/markdown |
| LLM Handbook Reference | /llms-full.txt | text/plain |
2. REST API v1 Endpoints & Sandbox Environment
All public read endpoints require no authentication and return rate-limit headers (RateLimit-Limit: 100, RateLimit-Policy: 100;w=60). Append ?env=sandbox to any request to test in deterministic sandbox mode.
GET /api/v1/health
curl -i https://lifetest.uk/api/v1/health?env=sandbox
GET /api/v1/exam-rules
curl -s https://lifetest.uk/api/v1/exam-rules
GET /api/v1/chapters
curl -s https://lifetest.uk/api/v1/chapters
GET /api/v1/flashcards
curl -s "https://lifetest.uk/api/v1/flashcards?limit=5"
3. Model Context Protocol (MCP) Server (/api/mcp)
Connect any MCP client over Streamable HTTP JSON-RPC 2.0 at https://lifetest.uk/api/mcp. Supported methods: initialize, ping, tools/list, tools/call, resources/list, and resources/read.
curl -X POST https://lifetest.uk/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
4. Structured Error Model & Versioning Policy
All API errors return a structured JSON object containing error.code, error.message, error.hint, error.status, and error.docs_url. Deprecated endpoints publish Deprecation and Sunset headers at least 90 days prior to retirement.