EMPO Academy Docs
API quickstart

API & MCP · Quickstart

Quickstart

Five minutes from zero to your first agent call.

1. Mint an API key

  1. Sign in as an admin or instructor at /login
  2. Go to Dashboard → API keys /dashboard/api-keys
  3. Click Create API key
  4. Name it (e.g. Claude Desktop · personal laptop), pick the scopes you want, optionally set an expiry
  5. Copy the token. It’s shown only once.Store it in your password manager or your client’s config file.

2. Verify with curl

curl -i -H "Authorization: Bearer empo_xxxxxxxxxxxx" \
  https://academy.empomm.com/api/v1/me

Should return your user record + the scopes on the key:

HTTP/1.1 200 OK
RateLimit-Limit: 60
RateLimit-Remaining: 59
RateLimit-Reset: 47

{
  "user": { "id": "...", "name": "Zon Hsai", "email": "...", "role": "ADMIN" },
  "scopes": ["courses:read", "courses:write", "certificates:issue"],
  "apiKeyId": "..."
}

The RateLimit-*headers are present on every response. Your agent should respect them — back off on 429s instead of looping. See REST endpoints → Rate limits.

3. Create a draft course

curl -X POST \
  -H "Authorization: Bearer empo_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"title":"My first API course"}' \
  https://academy.empomm.com/api/v1/courses

Returns { "id", "slug", "title", "status": "DRAFT" }. The course will appear in your My Courses dashboard immediately.

4. Connect Claude Desktop

Edit your Claude Desktop config (on macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "empo-academy": {
      "url": "https://academy.empomm.com/api/mcp",
      "transport": "streamable-http",
      "headers": {
        "Authorization": "Bearer empo_xxxxxxxxxxxx"
      }
    }
  }
}

Restart Claude Desktop. In any new conversation, ask: “Using EMPO, list my courses.” Claude will call empo_list_courses and display the table.

5. Try a real task

With the MCP server connected, agents can do useful work without clicking around the dashboard. Examples to try in Claude:

  • “Create a draft course titled ‘Intro to KoboToolbox’ with these three modules: Setup, Form design, Field collection. Add two lessons to each module.”
  • “Issue a Project DPro certificate to alice@example.com (in-person training delivered yesterday, 16 hours).”
  • “Here’s a CSV of 50 trainees. Issue them all certificates for the same workshop, then summarize who got emailed successfully.”

Where to next

  • REST endpoints— full reference, with the rate-limit + error-code contract
  • MCP server setup— stdio package + Cursor instructions
  • Scopes & permissions
  • /dashboard/api-keys/<your-key-id>/usage— last 25 calls, error rate, average duration, last error. Check here first when an agent misbehaves.