EmployeeList competences by group

List competences by group

Lists every competence group with its competences, optionally filtering the competences.

The tree view of the competence catalogue. Every group of the account is returned, ordered by name, whatever the filters; the filters only decide which competences appear under each group. A group with no matching competence keeps its place but has no Items member. Groups carry GroupCanBeDeleted, competences CanBeDeleted.

Use it to:

  • Render or export the skills catalogue as a tree

Not for:

  • A flat list — GET /v2/competences

Behaviour:

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

Next: POST /v2/competences

See also: GET /v2/competences

curl -X GET "https://app3.timelog.com/your-account/api/v2/competences/by-group?searchText=example_string&groupIds=example_string&isActive=true" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "Entities": [
    {
      "Properties": {
        "GroupId": 1,
        "GroupName": "Skills",
        "GroupCanBeDeleted": true,
        "Items": [
          {
            "Id": 1,
            "Name": "Frontend",
            "IsActive": true,
            "CanBeDeleted": true
          }
        ]
      }
    }
  ],
  "Links": [
    {
      "Href": "https://app{server-number}.timelog.com/{account}/api/v2/competences/by-group",
      "Rel": "self"
    }
  ]
}
GET
/v2/competences/by-group
GET
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.
query
searchTextstring

Filters the competences (not the groups); same LIKE / 50-character behaviour as on the flat list. Filters on CompetenceGroupDetailItemRead.Name (contains).

query
groupIdsstring

Comma-separated group IDs. Filters the COMPETENCES only: groups not listed are still returned, with Items omitted. Non-integer entry → 500 Code 100. Several values: one string, separated by ,. Filters on CompetenceRead.GroupId (in).

query
isActiveboolean

Filters the competences by active state; omitted = both. Filters on CompetenceGroupDetailItemRead.IsActive (eq).

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.

Query Parameters

searchTextstring

Filters the competences (not the groups); same LIKE / 50-character behaviour as on the flat list.

Filters on CompetenceGroupDetailItemRead.Name (contains).

groupIdsstring

Comma-separated group IDs. Filters the COMPETENCES only: groups not listed are still returned, with Items omitted. Non-integer entry → 500 Code 100.

Several values: one string, separated by ,.

Filters on CompetenceRead.GroupId (in).

isActiveboolean

Filters the competences by active state; omitted = both.

Filters on CompetenceGroupDetailItemRead.IsActive (eq).

Responses

Entitiesarray

Omitted (not []) when the list is empty.

Linksarray