EmployeeCreate a competence

Create a competence

Adds a competence to the account's competence catalogue, in an existing competence group.

Administration operation (System administration > Employee competencies). The response is the literal null: the new competence's ID is not returned — list the catalogue to find it. Names are not unique, so a retried create makes a second competence with the same name. IsActive defaults to false: send true, or the new competence is inactive and cannot be picked for employees in the UI.

Use it to:

  • Seed the competence catalogue from an external skills taxonomy

Behaviour:

  • Not idempotent.
  • Not safe to retry blindly. Names are not unique: a retry after a lost response creates a duplicate competence. List first.
  • Duplicates: Not deduplicated — no uniqueness on Name.
  • Changes are visible to the next read immediately.

Call first: GET /v2/competences/by-group

Next: GET /v2/competences

See also: PUT /v2/competences

Not yet documented: examples.

curl -X POST "https://app3.timelog.com/your-account/api/v2/competences" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "Name": "John Doe",
  "GroupId": 123,
  "IsActive": true
}'
"null"
POST
/v2/competences
POST
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
Namestring
Required

Competence name. Duplicates are allowed. Can be set on create only. - Missing, empty or whitespace — 500 Code 102 / 60015 (captured). > Not yet documented: behaviour.

Min length: 1 • Max length: 255
GroupIdinteger
Required

ID of the competence group the competence belongs to. Can be set on create only. Refers to CompetenceGroupDetailRead.GroupId. Look up valid values with GET /v2/competences/by-group. - Not validated. > Not yet documented: behaviour.

Format: int32
IsActiveboolean

true = the competence is active and can be picked for employees; false = created deactivated. Can be set on create only. - Omitted — Binds as false: the new competence is INACTIVE and does not appear in the 'available' list. Send true explicitly.

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
Namestring
Required

Competence name. Duplicates are allowed.

Can be set on create only.

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

Not yet documented: behaviour.

GroupIdinteger
Required

ID of the competence group the competence belongs to.

Can be set on create only.

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

  • Not validated.

Not yet documented: behaviour.

IsActiveboolean

true = the competence is active and can be picked for employees; false = created deactivated.

Can be set on create only.

  • Omitted — Binds as false: the new competence is INACTIVE and does not appear in the 'available' list. Send true explicitly.

Responses

*Success without content: HTTP 200 with the literal JSON body null. Literal JSON null (TafSuccessResult).

Order: none

Empty result: none*