cURL
curl --request POST \
--url https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance \
--header 'Content-Type: application/vnd.api+json' \
--header 'X-Session-Token: <api-key>' \
--data '
{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
]
}
'import requests
url = "https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance"
payload = { "data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
] }
headers = {
"X-Session-Token": "<api-key>",
"Content-Type": "application/vnd.api+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Session-Token': '<api-key>', 'Content-Type': 'application/vnd.api+json'},
body: JSON.stringify({data: [{id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: '<string>'}]})
};
fetch('https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.api+json",
"X-Session-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance"
payload := strings.NewReader("{\n \"data\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Session-Token", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.api+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance")
.header("X-Session-Token", "<api-key>")
.header("Content-Type", "application/vnd.api+json")
.body("{\n \"data\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Session-Token"] = '<api-key>'
request["Content-Type"] = 'application/vnd.api+json'
request.body = "{\n \"data\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "aaaaaaaa-0000-0000-0000-000000000001:bbbbbbbb-0000-0000-0000-000000000001",
"type": "<string>",
"attributes": {
"satisfied": true,
"report": {
"satisfied": true,
"type": "qualifications",
"reference_id": "aaaaaaaa-0000-0000-0000-000000000001"
}
},
"relationships": {
"competency_requirement_specification": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"user": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
}
}
}
],
"jsonapi": {
"version": "<string>"
},
"included": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"attributes": {
"qualification_number": "<string>",
"title": "<string>",
"level": "<string>",
"sub_level": "<string>",
"type": "<string>",
"total_credits": 123,
"guided_learning_hours": 123,
"total_qualification_time": 123,
"ssa": "<string>",
"operational_start_date": "2023-11-07T05:31:56Z",
"operational_end_date": "2023-11-07T05:31:56Z",
"regulation_status": "<string>",
"awarding_body_rn": "<string>",
"awarding_body_name": "<string>",
"high_risk_duration": 2,
"medium_risk_duration": 2,
"low_risk_duration": 2
},
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"awarding_body": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
}
}
}
]
}{
"id": "98ca4a78-b66f-4234-9719-aaf832ee6669",
"status": "400",
"title": "A validation error was encountered",
"source": {
"parameter": "include"
},
"meta": {
"resource": "wrong_value"
}
}{
"id": "05fc9c8d-73b9-4697-9337-57f7a567a48f",
"status": "401",
"title": "You are not authorised to access this resource",
"detail": "In order to access this resource, you need the 'admin' role.",
"code": "AUTH.001"
}{
"id": "7b4c8f12-3e9a-4d5b-8c6f-1a2b3c4d5e6f",
"status": "404",
"title": "Resource not found",
"detail": "The requested resource could not be found or does not exist.",
"code": "NOT_FOUND.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Qualifications
Evaluate group compliance for a CRS
Evaluate compliance for a collection of users against a competency requirement specification. Returns the overall satisfied outcome and a hierarchical compliance report.
POST
/
v3
/
competency-requirement-specifications
/
{competency_requirement_specification_id}
/
compliance
cURL
curl --request POST \
--url https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance \
--header 'Content-Type: application/vnd.api+json' \
--header 'X-Session-Token: <api-key>' \
--data '
{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
]
}
'import requests
url = "https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance"
payload = { "data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
] }
headers = {
"X-Session-Token": "<api-key>",
"Content-Type": "application/vnd.api+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Session-Token': '<api-key>', 'Content-Type': 'application/vnd.api+json'},
body: JSON.stringify({data: [{id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: '<string>'}]})
};
fetch('https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
[
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.api+json",
"X-Session-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance"
payload := strings.NewReader("{\n \"data\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Session-Token", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.api+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance")
.header("X-Session-Token", "<api-key>")
.header("Content-Type", "application/vnd.api+json")
.body("{\n \"data\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/competency-requirement-specifications/{competency_requirement_specification_id}/compliance")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Session-Token"] = '<api-key>'
request["Content-Type"] = 'application/vnd.api+json'
request.body = "{\n \"data\": [\n {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "aaaaaaaa-0000-0000-0000-000000000001:bbbbbbbb-0000-0000-0000-000000000001",
"type": "<string>",
"attributes": {
"satisfied": true,
"report": {
"satisfied": true,
"type": "qualifications",
"reference_id": "aaaaaaaa-0000-0000-0000-000000000001"
}
},
"relationships": {
"competency_requirement_specification": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"user": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
}
}
}
],
"jsonapi": {
"version": "<string>"
},
"included": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"attributes": {
"qualification_number": "<string>",
"title": "<string>",
"level": "<string>",
"sub_level": "<string>",
"type": "<string>",
"total_credits": 123,
"guided_learning_hours": 123,
"total_qualification_time": 123,
"ssa": "<string>",
"operational_start_date": "2023-11-07T05:31:56Z",
"operational_end_date": "2023-11-07T05:31:56Z",
"regulation_status": "<string>",
"awarding_body_rn": "<string>",
"awarding_body_name": "<string>",
"high_risk_duration": 2,
"medium_risk_duration": 2,
"low_risk_duration": 2
},
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"awarding_body": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
}
}
}
]
}{
"id": "98ca4a78-b66f-4234-9719-aaf832ee6669",
"status": "400",
"title": "A validation error was encountered",
"source": {
"parameter": "include"
},
"meta": {
"resource": "wrong_value"
}
}{
"id": "05fc9c8d-73b9-4697-9337-57f7a567a48f",
"status": "401",
"title": "You are not authorised to access this resource",
"detail": "In order to access this resource, you need the 'admin' role.",
"code": "AUTH.001"
}{
"id": "7b4c8f12-3e9a-4d5b-8c6f-1a2b3c4d5e6f",
"status": "404",
"title": "Resource not found",
"detail": "The requested resource could not be found or does not exist.",
"code": "NOT_FOUND.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Authorizations
SessionOAuth2Cookie
Session token for authentication.
Path Parameters
The unique identifier for the competency requirement specification.
Query Parameters
A comma separated list of related resources to include.
Available options:
qualifications, qualification_units, skills_registers, skills_register_schemes, skills_register_scheme_categories, training_standards, training_items, inductions, assessment_definitions, qualification_awards, training_completions, induction_completions, registrations, scheme_registrations, category_registrations, assessment_records Body
application/vnd.api+json
The collection of users to evaluate compliance for.
Minimum array length:
1Show child attributes
Show child attributes
Response
Per-user compliance results for a CRS — one entry per user supplied in the request.
JSON API response object
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Related resources that can be included when a compliance result is returned.
A qualification
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
Show child attributes
Show child attributes
⌘I