Public HTTP APIs
Human-readable overview of public HTTP surfaces (IANA service-doc). For automated discovery, use the machine-readable catalog at /.well-known/api-catalog (application/linkset+json, RFC 9727).
| Path | Methods | Summary |
|---|---|---|
| /.well-known/api-catalog | GET, HEAD | RFC 9727 API catalog (application/linkset+json) listing discoverable API entry points. |
| /openapi.json | GET | OpenAPI 3.1 description of advertised HTTP surfaces (RFC 8631 service-desc). |
| /api/health | GET | JSON health probe for uptime and RFC 9727 status links. |
| /api/search | GET | Site search over courses, programs, and public pages (query parameters). |
| /api/chat | POST | Workers AI streaming chat with RAG and rate limits; AI SDK UIMessage body. |
| /api/email-marketing-signup | POST | Email marketing signup; JSON body with email (rate limited). |
| /api/course-registration | POST | Returning-student course registration request; JSON body with details and selected courses (rate limited). |
| /api/turnstile/site-key | GET | Cloudflare Turnstile site key for client form widgets (runtime config). |
| /api/turnstile/required | GET | Whether donation and form APIs require a Turnstile token (runtime config). |
| /api/auth | GET, POST, … | Better Auth handler (session and auth routes under this prefix). |
Some operational APIs exist but are not advertised for general automated use. Respect rate limits and terms of use when calling any endpoint.