API Reference

API Documentation

Build powerful integrations with the CareerMap REST API. Access roles, skills, career graphs, and skill gap analysis programmatically.

Authentication

# All API requests require a Bearer token
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://careermap.africoders.net/api/roles

Generate API tokens from your Profile → API Tokens page after signing in. All endpoints require authentication via Laravel Sanctum.

Base URL

https://careermap.africoders.net/api

Endpoints

GET /api/roles

Retrieve all active roles with their associated department and required skills.

Response

{
  "data": [
    {
      "id": 1,
      "title": "Junior Backend Engineer",
      "slug": "junior-backend-engineer",
      "level": "junior",
      "department": { "id": 1, "name": "Engineering" },
      "skills": [
        { "id": 1, "name": "PHP/Laravel", "proficiency_required": "intermediate" }
      ],
      "compensation_band": { "low": 70000, "mid": 85000, "high": 100000 }
    }
  ]
}
GET /api/roles/{id}

Retrieve a single role with full details including career paths, skills, and responsibilities.

Parameters

NameTypeDescription
idintegerThe role ID
GET /api/skills

Retrieve all active skills grouped by category (technical, soft, leadership, domain).

Response

{
  "data": [
    {
      "id": 1,
      "name": "PHP/Laravel",
      "slug": "php-laravel",
      "category": "technical",
      "description": "Server-side development...",
      "assessment_criteria": ["Can write clean PHP", "..."]
    }
  ]
}
GET /api/career-graph

Retrieve the full career graph as nodes (roles) and edges (career paths). Ideal for rendering interactive career visualizations.

Response

{
  "nodes": [
    { "id": 1, "label": "Junior Backend Engineer", "level": "junior", "department": "Engineering" }
  ],
  "edges": [
    { "from": 1, "to": 2, "type": "vertical", "timeline_months": 18 }
  ]
}
POST /api/skill-gap

Analyze the authenticated user's skill gap against a target role. Returns matched skills, gaps, and a readiness percentage.

Request Body

{
  "role_id": 5
}

Response

{
  "target_role": "Senior Backend Engineer",
  "readiness_percentage": 72,
  "matched": [ { "skill": "PHP/Laravel", "current": "advanced", "required": "advanced" } ],
  "gaps": [ { "skill": "System Design", "current": null, "required": "advanced" } ],
  "exceeds": []
}

Rate Limits

Starter: 100 requests/minute · Growth: 1,000 requests/minute · Enterprise: Custom

Rate limit headers are included in all responses: X-RateLimit-Remaining

SDKs & Libraries

🐘

PHP / Laravel

composer require careermap/sdk

Node.js

npm install @careermap/sdk

🐍

Python

pip install careermap

Need help?

Our engineering team is here to help with your integration.

Contact API Support