Skip to content

Metadata API

Public API for retrieving enumeration values and system configuration.

Base URL: {base-url}/metadata Authentication: Not required


Endpoints

Endpoint Purpose
GET / All metadata enumerations
GET /difficulty-levels Difficulty level options
GET /health Health check

GET /

Returns all metadata enumerations used by the platform.

Response

{
  "difficulty_levels": [
    { "value": "beginner", "label": "Beginner", "order": 1 },
    { "value": "intermediate", "label": "Intermediate", "order": 2 },
    { "value": "advanced", "label": "Advanced", "order": 3 },
    { "value": "expert", "label": "Expert", "order": 4 }
  ],
  "journey_statuses": [
    { "value": "in_progress", "label": "In Progress" },
    { "value": "completed", "label": "Completed" },
    { "value": "paused", "label": "Paused" }
  ],
  "learning_verbs": [
    { "value": "started", "label": "Started" },
    { "value": "completed", "label": "Completed" },
    { "value": "mastered", "label": "Mastered" },
    { "value": "bookmarked", "label": "Bookmarked" }
  ]
}

GET /difficulty-levels

Returns difficulty level options.

Response

{
  "data": [
    { "value": "beginner", "label": "Beginner", "order": 1 },
    { "value": "intermediate", "label": "Intermediate", "order": 2 },
    { "value": "advanced", "label": "Advanced", "order": 3 },
    { "value": "expert", "label": "Expert", "order": 4 }
  ]
}

When to Use

  • Populate filter dropdowns
  • Validate user input
  • Display human-readable labels for enum values