GET /companies/{id}/competency-matrix
Summary
Get company competency matrix
Agency-scoped API keys can retrieve the matrix for a company connected to their agency. Supply projectId to retrieve the effective matrix for a specific project.
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Company identifier |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| projectId | string | No | Project identifier. When supplied, returns the effective competency matrix for that project. Additive project requirements are combined with the project's sector or company matrix; replacement project requirements are returned on their own. |
Request Example
- cURL
- JavaScript
- Python
- Go
curl -X GET 'https://api.requidex.com/api/open/v1/companies/{id}/competency-matrix' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'
To retrieve the effective matrix for a project, pass projectId:
curl -X GET 'https://api.requidex.com/api/open/v1/companies/{id}/competency-matrix?projectId={projectId}' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'
const response = await fetch("https://api.requidex.com/api/open/v1/companies/{id}/competency-matrix", {
method: "GET",
headers: {
Authorization: "Bearer <API_KEY>",
Accept: "application/json",
},
});
const json = await response.json();
import requests
response = requests.request(
'GET',
'https://api.requidex.com/api/open/v1/companies/{id}/competency-matrix',
headers={
'Authorization': 'Bearer <API_KEY>',
'Accept': 'application/json',
},
timeout=30,
)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.requidex.com/api/open/v1/companies/{id}/competency-matrix", nil)
req.Header.Set("Authorization", "Bearer <API_KEY>")
req.Header.Set("Accept", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
payload, _ := io.ReadAll(resp.Body)
fmt.Println(string(payload))
}
Response Fields
| Field | Type | Description |
|---|---|---|
| company | object | Company reference with id and name |
| project | object | Project reference with id and name. Returned when projectId is supplied. |
| entries | array | Competency matrix entries for the company, or effective project entries when projectId is supplied |
Each entry includes:
trade,project,sector,source,requirementstradecontainsidandnameprojectis populated when the entry is a project override, otherwisenullsourceisproject,sector, orcompanyto show which scope supplied the entryrequirementsis an array of rule objects withitemsand groupeditems, each containing qualificationnameonly
Response Example (200)
{
"success": true,
"data": {
"company": {
"id": "67bc36db80a1616ec3f47001",
"name": "Requidex Construction Ltd"
},
"project": {
"id": "67bc36db80a1616ec3f47055",
"name": "Project Alpha"
},
"entries": [
{
"trade": {
"id": "67bc36db80a1616ec3f47031",
"name": "Electrician"
},
"project": {
"id": "67bc36db80a1616ec3f47055",
"name": "Project Alpha"
},
"sector": null,
"source": "project",
"requirements": [
{
"rule": "mandatory",
"items": [
{
"name": "ECS Gold Card"
}
],
"groups": []
}
]
}
]
}
}
Errors
| HTTP Status | Description |
|---|---|
| 400 | Invalid or missing company id |
| 401 | Missing, invalid, revoked, or expired API key |
| 403 | Forbidden due to scope, IP restrictions, or company access |
| 404 | Company not found |
| 405 | Method not allowed on Open API routes |
| 429 | Rate limit exceeded |
| 500 | Unexpected internal error |