Competency Framework

Adding Competencies

The essential first step of any flow with the Skill Engine API is creating the Entities within the system.

For example, to create a Competency you can simply submit a POST request to /competencies:

{
  "external_id": "CP-001",
  "competency_name": "Data Science Modelling",
  "competency_description": "The ability to use machine learning algorithms to extract value from data"
}

The sequence diagram below shows the communication steps:

Your SystemSkill Engine APIPOST /competenciesSkill Extraction✅ HTTP 204 No ContentSkill Extraction Failed❌ HTTP 422 Unprocessable Entity❌ HTTP 409 Conflictalt[Creation Successful][Creation Failed][Entity Already Exists]Your SystemSkill Engine API

After the initial creation, the Competency can be updated by sending a PATCH request to /competencies/CP-001. More information can be found at the endpoint specification .

The lifecycle of each Entity is managed explicitly, meaning that you cannot overwrite an existing Entity with a POST message. To update an Entity, you can execute a PATCH call at its specific endpoint.

Providing Profile Feedback

After creating Competency CP-001, you can check its skill profile via a GET request to /competencies/CP-001/skill_profile:

{
  "external_id": "CP-001",
  "skills": [
    {
      "skill": "Manage Data",
      "score": 3.3977703385459996
    },
    {
      "skill": "Machine Learning Algorithms",
      "score": 3.4488449834888506
    },
    {
      "skill": "Algorithms",
      "score": 3.077467422973527
    }
  ]
}

If you think that this skill profile is not complete, you can add or remove skills by sending a PUT request to the /competencies/CP-001/skill_profile endpoint.

Note that the body of this feedback message replaces the existing skill profile

  • so for example if you want to replace the skill Algorithms with Python, you can send a PUT request with query parameter feedback_format="skills" and the following body:
{
  "skills": [
    {
      "skill": "Manage Data",
      "score": 3.3977703385459996
    },
    {
      "skill": "Machine Learning Algorithms",
      "score": 3.4488449834888506
    },
    {
      "skill": "Python",
      "score": 3.0
    }
  ]
}