Upsert employee skill proficiency rating
curl --request POST \
--url https://api.kombo.dev/v1/hris/skill-proficiency-ratings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"rating": {
"rating_source": "EXTERNAL",
"proficiency": 4
}
}
'import requests
url = "https://api.kombo.dev/v1/hris/skill-proficiency-ratings"
payload = {
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"rating": {
"rating_source": "EXTERNAL",
"proficiency": 4
}
}
headers = {
"X-Integration-Id": "<x-integration-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Integration-Id': '<x-integration-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
employee_id: '26vafvWSRmbhNcxJYqjCzuJg',
skill_id: '28KMdr68N8kG9EzLwjsN9aoz',
rating: {rating_source: 'EXTERNAL', proficiency: 4}
})
};
fetch('https://api.kombo.dev/v1/hris/skill-proficiency-ratings', 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.kombo.dev/v1/hris/skill-proficiency-ratings",
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([
'employee_id' => '26vafvWSRmbhNcxJYqjCzuJg',
'skill_id' => '28KMdr68N8kG9EzLwjsN9aoz',
'rating' => [
'rating_source' => 'EXTERNAL',
'proficiency' => 4
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Integration-Id: <x-integration-id>"
],
]);
$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.kombo.dev/v1/hris/skill-proficiency-ratings"
payload := strings.NewReader("{\n \"employee_id\": \"26vafvWSRmbhNcxJYqjCzuJg\",\n \"skill_id\": \"28KMdr68N8kG9EzLwjsN9aoz\",\n \"rating\": {\n \"rating_source\": \"EXTERNAL\",\n \"proficiency\": 4\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/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.kombo.dev/v1/hris/skill-proficiency-ratings")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"employee_id\": \"26vafvWSRmbhNcxJYqjCzuJg\",\n \"skill_id\": \"28KMdr68N8kG9EzLwjsN9aoz\",\n \"rating\": {\n \"rating_source\": \"EXTERNAL\",\n \"proficiency\": 4\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/hris/skill-proficiency-ratings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Integration-Id"] = '<x-integration-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"employee_id\": \"26vafvWSRmbhNcxJYqjCzuJg\",\n \"skill_id\": \"28KMdr68N8kG9EzLwjsN9aoz\",\n \"rating\": {\n \"rating_source\": \"EXTERNAL\",\n \"proficiency\": 4\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"id": "8AvRLpxwY5J6pGxfY6fUD81Z",
"remote_id": "238476582-99123",
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"proficiency": {
"selected_option_id": "3aKMdr68N8kG9EzLwjsN4",
"type": "SINGLE_SELECT"
},
"rating_source": "EXTERNAL",
"rating_provider_id": "7xPdr68N8kG9EzLwjsN9xyz",
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_deleted_at": null,
"remote_data": null,
"custom_fields": null,
"integration_fields": []
},
"warnings": [
{
"message": "This is an example warning!"
}
]
}Skills
Upsert employee skill proficiency rating
Assign a skill to an employee with an optional proficiency rating, attributed to the provider configured in the settings. Re-sending the same skill and source overwrites the existing rating.
POST
/
hris
/
skill-proficiency-ratings
Upsert employee skill proficiency rating
curl --request POST \
--url https://api.kombo.dev/v1/hris/skill-proficiency-ratings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"rating": {
"rating_source": "EXTERNAL",
"proficiency": 4
}
}
'import requests
url = "https://api.kombo.dev/v1/hris/skill-proficiency-ratings"
payload = {
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"rating": {
"rating_source": "EXTERNAL",
"proficiency": 4
}
}
headers = {
"X-Integration-Id": "<x-integration-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Integration-Id': '<x-integration-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
employee_id: '26vafvWSRmbhNcxJYqjCzuJg',
skill_id: '28KMdr68N8kG9EzLwjsN9aoz',
rating: {rating_source: 'EXTERNAL', proficiency: 4}
})
};
fetch('https://api.kombo.dev/v1/hris/skill-proficiency-ratings', 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.kombo.dev/v1/hris/skill-proficiency-ratings",
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([
'employee_id' => '26vafvWSRmbhNcxJYqjCzuJg',
'skill_id' => '28KMdr68N8kG9EzLwjsN9aoz',
'rating' => [
'rating_source' => 'EXTERNAL',
'proficiency' => 4
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Integration-Id: <x-integration-id>"
],
]);
$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.kombo.dev/v1/hris/skill-proficiency-ratings"
payload := strings.NewReader("{\n \"employee_id\": \"26vafvWSRmbhNcxJYqjCzuJg\",\n \"skill_id\": \"28KMdr68N8kG9EzLwjsN9aoz\",\n \"rating\": {\n \"rating_source\": \"EXTERNAL\",\n \"proficiency\": 4\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/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.kombo.dev/v1/hris/skill-proficiency-ratings")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"employee_id\": \"26vafvWSRmbhNcxJYqjCzuJg\",\n \"skill_id\": \"28KMdr68N8kG9EzLwjsN9aoz\",\n \"rating\": {\n \"rating_source\": \"EXTERNAL\",\n \"proficiency\": 4\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/hris/skill-proficiency-ratings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Integration-Id"] = '<x-integration-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"employee_id\": \"26vafvWSRmbhNcxJYqjCzuJg\",\n \"skill_id\": \"28KMdr68N8kG9EzLwjsN9aoz\",\n \"rating\": {\n \"rating_source\": \"EXTERNAL\",\n \"proficiency\": 4\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"id": "8AvRLpxwY5J6pGxfY6fUD81Z",
"remote_id": "238476582-99123",
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"proficiency": {
"selected_option_id": "3aKMdr68N8kG9EzLwjsN4",
"type": "SINGLE_SELECT"
},
"rating_source": "EXTERNAL",
"rating_provider_id": "7xPdr68N8kG9EzLwjsN9xyz",
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_deleted_at": null,
"remote_data": null,
"custom_fields": null,
"integration_fields": []
},
"warnings": [
{
"message": "This is an example warning!"
}
]
}Supported integrations
Supported integrations
This feature is currently available for the following integrations:You’d like to see this feature for another integration? Please reach out!
We’re always happy to discuss extending our coverage.
This endpoint requires the permission Manage employee skill proficiency ratings to be enabled in your scope config.
Example Request Body
{
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"rating": {
"rating_source": "EXTERNAL",
"proficiency": 4
}
}
Authorizations
Headers
ID of the integration you want to interact with.
Body
application/json
POST /hris/skill-proficiency-ratings Request body
Response
POST /hris/skill-proficiency-ratings Positive response
Allowed value:
"success"Show child attributes
Show child attributes
Example:
{
"id": "8AvRLpxwY5J6pGxfY6fUD81Z",
"remote_id": "238476582-99123",
"employee_id": "26vafvWSRmbhNcxJYqjCzuJg",
"skill_id": "28KMdr68N8kG9EzLwjsN9aoz",
"proficiency": {
"selected_option_id": "3aKMdr68N8kG9EzLwjsN4",
"type": "SINGLE_SELECT"
},
"rating_source": "EXTERNAL",
"rating_provider_id": "7xPdr68N8kG9EzLwjsN9xyz",
"changed_at": "2022-08-07T14:01:29.196Z",
"remote_deleted_at": null,
"remote_data": null,
"custom_fields": null,
"integration_fields": []
}
These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console.
Show child attributes
Show child attributes
Was this page helpful?
⌘I