API Reference
Example API DocumentationExample API Documentation
A sample of how Prakura API reference pages are structured. The endpoint below is illustrative.
List courses
GET/api/v1/courses
Returns a paginated list of courses visible to the authenticated organisation.
Parameters
category · query · string · optional
Filter by category, e.g. automation-testing.
level · query · string · optional
beginner · intermediate · advanced
page · query · integer · optional
Page number (default 1).
limit · query · integer · optional
Items per page, max 100 (default 20).
Authorization · header · string · required
Bearer <YOUR_API_KEY>
Code examples
curl "https://api.example.prakura.dev/api/v1/courses?level=intermediate" \
-H "Authorization: Bearer <YOUR_API_KEY>"Response 200 OK
application/json
{
"data": [
{
"id": "crs_demo_001",
"title": "Playwright with TypeScript",
"category": "automation-testing",
"level": "intermediate",
"modules": 5,
"durationWeeks": 10
},
{
"id": "crs_demo_002",
"title": "React Full Stack Developer",
"category": "full-stack",
"level": "intermediate",
"modules": 5,
"durationWeeks": 16
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}Error examples
401 · unauthorized
Missing or invalid API key.
{ "error": { "code": "unauthorized", "message": "Missing or invalid API key." } }403 · forbidden
Key lacks the courses:read scope.
{ "error": { "code": "forbidden", "message": "Key lacks the courses:read scope." } }429 · rate_limited
Too many requests. Retry after the Retry-After header.
{ "error": { "code": "rate_limited", "message": "Too many requests. Retry after the Retry-After header." } }
All API areas
- Learning API
GET /api/v1/courses - Employee API
GET /api/v1/employees - Coding API
POST /api/v1/coding/submissions - Placement API
GET /api/v1/placements/applications - AI Agent API
POST /api/v1/agents/{id}/runs - Notification API
POST /api/v1/notifications - Analytics API
GET /api/v1/analytics/summary