EmployeeUpdate a competence

Update a competence

Renames a competence, moves it to another group, or activates / deactivates it (full replace).

All three of Name, GroupId and IsActive are written. Omitting IsActive DEACTIVATES the competence; omitting GroupId fails (no group 0). Employees who have the competence keep it — deactivating only hides it from the 'available' list. Works on competences in use (the defined 'cannot edit, users attached' rule is not applied). Unlike create, success is 204 with no body.

Use it to:

  • Retire a skill without losing employees' history (IsActive false)
  • Rename or regroup a competence

Behaviour:

  • Idempotent.
  • Safe to retry.
  • Changes are visible to the next read immediately.

Call first: GET /v2/competences

See also: POST /v2/competences, DELETE /v2/competences/{id}

Not yet documented: examples.

curl -X PUT "https://app3.timelog.com/your-account/api/v2/competences" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "ID": 123,
  "Name": "John Doe",
  "GroupId": 123,
  "IsActive": true
}'
{}
PUT
/v2/competences
PUT
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

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.

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.
Content-Typestring
Required

The media type of the request body

Options: application/json
IDinteger
Required

Competence ID (CompetenceRead.Id). Refers to CompetenceRead.Id. Look up valid values with GET /v2/competences. - Missing, 0 or unknown — The lookup throws → 500 Code 100.

Format: int32
Namestring
Required

New name (replaces the old one). - Missing, empty or whitespace — 500 Code 102 / 60015. - The competence is in use by employees — Allowed — the defined 38009 'Unable to Edit competence ... Users are attached' is never raised.

Min length: 1 • Max length: 255
GroupIdinteger
Required

Group the competence belongs to (moving it is allowed). Refers to CompetenceGroupDetailRead.GroupId. Look up valid values with GET /v2/competences/by-group. - Missing, 0 or not an existing group — Foreign-key violation → 500 Code 100.

Format: int32
IsActiveboolean

New active state. Omitted = false: a PUT without IsActive DEACTIVATES the competence. - Omitted — Binds as false and is written (full replace). - Set to false on a competence employees have — Employees keep it; it disappears from the 'available' list.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

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

application/json
IDinteger
Required

Competence ID (CompetenceRead.Id).

Refers to CompetenceRead.Id. Look up valid values with GET /v2/competences.

  • Missing, 0 or unknown — The lookup throws → 500 Code 100.
Namestring
Required

New name (replaces the old one).

  • Missing, empty or whitespace — 500 Code 102 / 60015.

  • The competence is in use by employees — Allowed — the defined 38009 'Unable to Edit competence ... Users are attached' is never raised.

GroupIdinteger
Required

Group the competence belongs to (moving it is allowed).

Refers to CompetenceGroupDetailRead.GroupId. Look up valid values with GET /v2/competences/by-group.

  • Missing, 0 or not an existing group — Foreign-key violation → 500 Code 100.
IsActiveboolean

New active state. Omitted = false: a PUT without IsActive DEACTIVATES the competence.

  • Omitted — Binds as false and is written (full replace).

  • Set to false on a competence employees have — Employees keep it; it disappears from the 'available' list.

Responses