This page is the human-readable index of Interview Solver developer resources. Agents should also load /openapi.json and /llms.txt. The public API is unauthenticated JSON for product discovery. Chat, document upload, and billing remain account-gated and are not listed as public operations.
OpenAPI specification
The OpenAPI 3.1 document is published at /openapi.json. Every operation has a unique operationId, a description, typed parameters where applicable, and a JSON response schema so LLM function-calling runtimes can import the Interview Solver API automatically.
Public REST endpoints
- GET /api/v1/health — liveness
- GET /api/v1/product — product metadata
- GET /api/v1/pricing — public plans
- GET /api/v1/models — AI models
- GET /api/v1/version — desktop downloads
- GET /api/v1/resources — this catalog as JSON
Compatibility aliases used by existing clients: GET /api/version, GET /api/products, GET /api/models.
Authentication
Public catalog endpoints require no credentials. Account APIs expect a Supabase session: the website sends cookies, and the Interview Solver Electron app sends access_token and refresh_token request headers. Do not send those tokens to the public catalog routes.
Webhooks
Stripe delivers subscription lifecycle events to POST /api/webhooks. The handler verifies the Stripe-Signature header. It is inbound-only and is not a client-callable REST method. Configure the webhook URL in the Stripe Dashboard.
Markdown and discovery
HTML pages also negotiate Accept: text/markdown per acceptmarkdown.com. Sibling .md URLs work the same way. Start from About Interview Solver or Contact Interview Solver (hello@interviewsolver.com) if you need a human. Interview Solver does not currently publish an MCP server.