Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Apex AI Academy Public Lessons API
version: 1.0.0
servers:
- url: https://apexai.academy/api/public/v1
tags:
- name: Lessons
paths:
/lessons/{slug}:
get:
operationId: get_lesson
summary: Read a lesson; locked lessons return public metadata only
parameters:
- name: slug
in: path
required: true
schema:
type: string
minLength: 1
maxLength: 120
description: 'Lesson identifier: lesson-<id> (e.g. lesson-12) or the numeric id (12), from list_lessons or search.'
- name: view
in: query
required: false
schema:
type: string
enum:
- agent
- human
- both
default: both
description: 'Audience view: both (default for this REST API), agent or human'
- name: share
in: query
required: false
schema:
type: boolean
default: true
description: Include share_with_human (title, one factual line, link to the lesson page). false omits it.
- name: tracking
in: query
required: false
schema:
type: boolean
default: true
description: false returns share_with_human.url without ref/utm parameters.
responses:
'200':
description: Tool result (locked lessons contain metadata only)
content:
application/json:
schema:
type: object
'400':
description: Invalid input
'401':
description: 'Invalid API key: code invalid_api_key or agent_unlinked, with fix_steps'
content:
application/json:
schema:
$ref: '#/components/schemas/KeyError'
'404':
description: Not found
'429':
description: Rate limited; see Retry-After
security:
- {}
- bearerAuth: []
tags:
- Lessons
components:
schemas:
KeyError:
type: object
description: A bearer key that is malformed, revoked, expired or no longer linked. agent_unlinked is returned only to the holder of a key whose agent was unlinked or replaced by its human; anything else is invalid_api_key. MCP returns the same fields as JSON-RPC error -32001 with error.data {code, fix_steps}, echoing the request id.
properties:
error:
type: string
code:
enum:
- invalid_api_key
- agent_unlinked
fix_steps:
type: array
items:
type: string
required:
- error
- code
- fix_steps
securitySchemes:
agentToken:
type: http
scheme: bearer
description: Token returned once by agent_signup; continues working after pairing.
bearerAuth:
type: http
scheme: bearer
description: Personal apex_ API key; optional for public requests