Competency v1
Access all the major skills/occupations/domains of knowledge from one single API 📍
Introduction
This page shows you how to access our Domains of Competency Index. A Domain of Competency (DomComp for short) is a general term used to refers to a topic, skill, domain of knowledge or occupation associated to a learning object. The main objective of a DomComp is to make it easier for learners to find educational content related to their objective or interest, whatever the way they formulate it.
This API is currently in public beta. As such, it is available for free until we launch it commercially. Feel free to email us at [email protected] if you have any questions.
Background
While building the Learning Objects Index, we faced tremendous challenges classifying the various skills, occupations or domains of knowledge that each learning object can be associated with. A lot of frameworks and taxonomies have tried to map this. Wikipedia is one of the most known and used. In Europe, there is the ESCO which is the multilingual classification of European Skills, Competences, Qualifications and Occupations. In France, there are similar frameworks such as ROME or Formacode. And many more in each country or industry. But none is perfect or really universal.
Knowing that we couldn't build one single taxonomy that would work for every learner, we decided to take another approach. Instead of creating a new taxonomy or framework, we decided to build the Domains of Competency Index (DCI) to bring them all and in the lightness bind them. As a result, Inokufu DCI is sort of a meta index that can be connected to any existing skill/occupation/domain taxonomies or frameworks. Using Machine Learning and Graph Theory, Inokufu DCI binds these sources together and makes it easier for edtech companies to build the next generation of learning tools.
We built the Competency API as the easiest way to get skills, occupations or domains of knowledge from one single API.
Authentication
Inokufu APIs expects for the API key to be included in API requests to the server in a header that looks like the following:
# With shell, you can just pass the correct header with each request
curl "api_endpoint_here"
-H "x-api-key: SAY-FRIEND-AND-ENTER"
Make sure to replace SAY-FRIEND-AND-ENTER with the demo key or with your own Developer API key.
Usage plans
For now, the API is available for free using the demo key above. This is a demo key and thus the API is throttled. If you want higher usage quota, email us at [email protected] and we will provide you with your own Developer API key.
If you have specific requirement for your use case, we can offer you a tailored usage plan. If you want to know more about our enterprise plans, please feel free to contact our Inokufu sales team.
Best efforts
Our mission is to help you find the best learning objects out there. While we are working hard on this ambitious goal, we are still at the beginning of this journey, and we have not connected every existing skill/occupation/domain (yet). At this stage, we can't guaranty 100% accuracy of our results.
Results returned by the API are our best efforts to match your query.
Most endpoints of the Competency API returns a score
that gives you an indication of the confidence level of the corresponding result. The higher the score, the more confident.
Responses returned by endpoint suggest
also contains a message (msg
) that tells you how good we think our answer to your query is. Messages currently returned by the API are shown in the table below.
A00
These results are our best effort to answer your query.
We are pretty confident that these results closely match what you are looking for.
B00
These results does not match exactly your query.
We have some results to show you that may be close enough to your query but still it's not exactly what you asked for, so you know.
C00
No result to display for this query.
We have found no result we are confident enough to show you based on what you are looking for. Try again with less strict parameters.
Similar
This endpoint returns a list of term that are similar to specific keywords about a skill, occupation or domain of knowledge.
Request
GET https://api.inokufu.com/domcomp/v1/similar
Headers
The API key must be included in the header.
"x-api-key": "SAY-FRIEND-AND-ENTER"
Make sure to replace SAY-FRIEND-AND-ENTER with the demo key or your own Developer API key.
Query Parameters
Query parameters must be included in the URL.
keywords
string
Yes
Keywords describing a skill, occupation or domain of knowledge for which you want to find similar terms in other taxonomies or frameworks.
lang
string
en
Yes
Language of the query such as en
(english) orfr
(french).
Code examples
curl "https://api.inokufu.com/domcomp/v1/similar?keywords=weld&lang=en"
-H "x-api-key: SAY-FRIEND-AND-ENTER"
Response
Response parameters
label
Yes
The title of the term according to the source
(see below)
source
Yes
The name or the corresponding taxonomy or framework
score
No
This number is an indication of the confidence of the match between the keywords
and the label
. The higher the score
, the better.
Response example
Here is an example of the JSON structured response provided by this endpoint.
{
"statusCode": 200,
"request": {
"keywords": "weld",
"lang": "en"
},
"response": [
{
"label": "welder",
"score": 1.0,
"source": "Inokufu DomComp index"
},
{
"label": "welding",
"source": "Inokufu DomComp synonym"
},
{
"label": "operate welding equipment",
"source": "ESCO classification"
},
{
"label": "weld underwater",
"source": "ESCO classification"
},
{
"label": "weld in hyperbaric conditions",
"source": "ESCO classification"
},
{
"label": "weld mining machinery",
"source": "ESCO classification"
},
{
"label": "apply thermite welding techniques",
"source": "ESCO classification"
},
{
"label": "join metals",
"source": "ESCO classification"
},
{
"label": "perform tungsten inert gas welding",
"source": "ESCO classification"
},
{
"label": "welding coordinator",
"source": "ESCO classification"
},
{
"label": "perform metal active gas welding",
"source": "ESCO classification"
},
{
"label": "perform metal inert gas welding",
"source": "ESCO classification"
}
]
}
Tagger
This endpoint returns a list of tags
that can be extracted and/or associated to a text. It is helpful when you want to identify a list of skill, occupation or domain of knowledge associated to a full text.
Request
POST https://api.inokufu.com/domcomp/v1/tagger
Headers
The API key must be included in the header.
"x-api-key": "SAY-FRIEND-AND-ENTER"
Make sure to replace SAY-FRIEND-AND-ENTER with the demo key or your own Developer API key.
Body
This endpoint requires the parameters to be sent in the body, formatted as JSON. Parameters are described in the table below.
text
string
Yes
Text for which you want to find the associated skill, occupation or domain of knowledge. Best results are obtained for text between 100 and 500 characters.
lang
string
Yes
Language of the query such as en
(english) orfr
(french).
Response
Response parameters
tokenized_text
Yes
The text in tokenized version that we used to find the tags.
lang
Yes
The language of the text
tags
This is the list of terms associated to the text.
Response example
Here is an example of the JSON structured response provided by this endpoint.
{
"statusCode": 200,
"body": {
"tokenized_text": "a web developer is a programmer who specializes in or is specifically engaged in the development of world wide web applications using a client server model",
"lang": "en",
"tags": [
"world wide web",
"developer",
"web developer",
"networks it",
"web",
"computer network",
"telecommunications - telecommunications networks",
"internet",
"dev",
"code programming",
"van",
"programming",
"computer networks",
"development"
]
}
}
Suggest
This endpoint returns a list of suggestion of skill, occupation or domain of knowledge for specific keywords. This endpoint is not to be confused with the endpoint /similar
which acts more as a synonym search within various finite taxonomies/frameworks. The endpoint /suggest
is designed to make features such as autocomplete search input or suggested query. This endpoint is not limited by any taxonomy/framework.
This endpoint is still experimental and has been trained on a corpus of french texts only. The english version is in progress and will be available soon.
Request
GET https://api.inokufu.com/domcomp/v1/suggest
Headers
The API key must be included in the header.
"x-api-key": "SAY-FRIEND-AND-ENTER"
Make sure to replace SAY-FRIEND-AND-ENTER with the demo key or your own Developer API key.
Query Parameters
Query parameters must be included in the URL.
keywords
string
Yes
Keywords describing a skill, occupation or domain of knowledge for which you want to suggest other terms.
Code examples
curl "https://api.inokufu.com/domcomp/v1/suggest?keywords=python"
-H "x-api-key: SAY-FRIEND-AND-ENTER"
Response
Response parameters
label
Yes
The suggested term
score
Yes
This number is an indication of the confidence of the match between the keywords
and the label
. The higher the score
, the better.
Response example
Here is an example of the JSON structured response provided by this endpoint.
{
"statusCode": 200,
"request": {
"keywords": "python",
"keywords_transformed": [
"python"
]
},
"response": {
"content": [
{
"label": "sql",
"confidence": 0.6683011054992676
},
{
"label": "jupyter",
"confidence": 0.6620635390281677
},
{
"label": "poo",
"confidence": 0.6430356502532959
},
{
"label": "langage python",
"confidence": 0.6339637041091919
},
{
"label": "iterateurs",
"confidence": 0.6258624196052551
},
{
"label": "java",
"confidence": 0.6247775554656982
},
{
"label": "swift",
"confidence": 0.6237753629684448
},
{
"label": "expression lambda",
"confidence": 0.6212818026542664
},
{
"label": "programmation objet",
"confidence": 0.6212782859802246
},
{
"label": "programmation java",
"confidence": 0.621195375919342
}
],
"msg": "A00 - These results are our best effort to answer your query."
}
}
Last updated
Was this helpful?