AgentPrepGet a license

API

AgentPrep API

AgentPrep is a gamified coach for Anthropic's certification exams. This API is the engine behind all three surfaces — the Telegram bot, the web app and the Claude Code skill — and it is the single source of truth for question content and correctness.

Base URL: https://api.agentprep.dev. Most endpoints authenticate with a Pro license key; one real practice question is open to anyone, with no account.

Authentication

Send the license key as a bearer token:

Authorization: Bearer <LICENSE_KEY>

The server is the authority on entitlement: it verifies the license is active and meters usage server-side, answering 401 when the token is missing or unknown and 403 when it is known but not entitled to that tier. Clients hold no entitlement logic. A key comes from a Pro purchase — see the landing page.

Open endpoints

No token needed. Rate limits are per client IP.

MethodPathWhat it does
GET/healthzLiveness probe. Returns {"ok":true}.
GET/v1/app/sample-questionOne real practice question, no account. 60 req/min.
POST/v1/app/sample-question/answerGrades an answer to that sample question. Writes nothing.
POST/v1/licenses/activateExchanges a purchased license key for access. 20 req/min.

Licensed endpoints

All of these require the bearer token above. This table is the map, not the contract: exact request and response shapes live in the skill file below, which is what the shipped client actually follows.

MethodPathWhat it does
GET/v1/examsLive catalog of supported certifications. Never hardcode it.
PUT/v1/me/examSwitches the caller's active certification.
GET/v1/quest/todayThe daily quest: today's practice questions.
POST/v1/answersSubmits an answer and returns the grading + explanation.
GET/v1/me/statsXP, level, streak, per-domain mastery.
GET/v1/me/readinessReadiness score and forecast ready-by date.
GET/v1/me/mistakesThe caller's missed questions, for review.
POST/v1/simulado/startStarts a 60-question / 120-minute mock exam.
POST/v1/simulado/:id/finishCloses a mock exam and returns the score breakdown.

Discovery

Every public page here returns an RFC 8288 Link header pointing at this documentation, at the RFC 9727 catalog and at the skill — so an agent can find all three from a single HEAD /:

</.well-known/api-catalog>; rel="api-catalog"; type="application/linkset+json", </docs/api>; rel="service-doc"; type="text/html", </.well-known/agent-skills/agentprep/SKILL.md>; rel="describedby"; type="text/markdown"

What this API will never do

Reference