Rename a competence group
Renames a competence group.
The name is the only property that changes; the competences in the group and employees' ratings are untouched. Success is 204 with no body (create answers null). Works on groups that contain or are rated on competences.
Use it to:
- Keep group names in sync with an external skills taxonomy
Behaviour:
- Idempotent.
- Safe to retry.
- Changes are visible to the next read immediately.
Call first: GET /v2/competence-groups
See also: POST /v2/competence-groups, DELETE /v2/competence-groups/{id}
Not yet documented: behaviour → side effects; examples.
curl -X PUT "https://app3.timelog.com/your-account/api/v2/competence-groups" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"ID": 123,
"Name": "John Doe"
}'
import requests
import json
url = "https://app3.timelog.com/your-account/api/v2/competence-groups"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"ID": 123,
"Name": "John Doe"
}
response = requests.put(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app3.timelog.com/your-account/api/v2/competence-groups", {
method: "PUT",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"ID": 123,
"Name": "John Doe"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"ID": 123,
"Name": "John Doe"
}`)
req, err := http.NewRequest("PUT", "https://app3.timelog.com/your-account/api/v2/competence-groups", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app3.timelog.com/your-account/api/v2/competence-groups')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Put.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"ID": 123,
"Name": "John Doe"
}'
response = http.request(request)
puts response.body
{}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"Code": 100,
"Details": [],
"Message": "Unknown error occur in system, please contact system administrator.",
"Parameters": "model: {"ID":0,"Name":null}",
"Url": "https://app{server-number}.timelog.com/{account}/api/v2/competence-groups"
}
/v2/competence-groups
Target server for requests. Edit to use your own host.
OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
> Not yet documented: how to obtain a token.
> Not yet documented: token lifetime.
Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
> Not yet documented: how to obtain a token.
> Not yet documented: token lifetime.The media type of the request body
Competence group ID (CompetenceGroupRead.GroupId).
Refers to CompetenceGroupRead.GroupId. Look up valid values with GET /v2/competence-groups.
- Missing, 0 or unknown — The lookup throws → 500 Code 100.
New name (replaces the old one). > Not yet documented: behaviour.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. JWT and reference tokens are both accepted. The token must carry the required scope (default tlp).
The token's sub claim is the acting user. A token WITHOUT sub (client-credentials) acts as the system service user. If the sub user cannot log in (inactive, locked, deleted), the request is rejected with 401 — it is no longer let through without a user.
Not yet documented: how to obtain a token.
Not yet documented: token lifetime.
Body
Competence group ID (CompetenceGroupRead.GroupId).
Refers to CompetenceGroupRead.GroupId. Look up valid values with GET /v2/competence-groups.
- Missing, 0 or unknown — The lookup throws → 500 Code 100.
New name (replaces the old one).
Not yet documented: behaviour.