Skill Tree management API

Limits

  • Max length of every string (e.g. keys, descriptions) is limited to 100 characters

  • Strings starting or ending with whitespace are not allowed

Endpoints

Get skill tree

Returns the applicable skill tree

  • HTTP Method: GET

  • Request:

    • fieldId (query) The API will return the skill tree that applies to the specified field

    • projectIdOrKey (query) The API will return the skill tree that applies to the specified project. Case-sensitive. [Required if fieldId is specified]

    • issueTypeId (query) The API will return the skill tree that applies to the specified issue type [Required if fieldId is specified]

  • Response [JSON]:

    • skillTree: Hierarchical skill tree including categories and skills

Example:

  • Request:

    HTTP GET: https://{your-generated-endpoint-url}
  • Response (200):

    { "skillTree": [ { "key": "f2c4cba9-6082-48c8-b23e-852e101bedbd", "type": "category", "displayName": "Design", "children": [ { "key": "9935f79d-02d1-4415-a81b-04f9e9dcd7ce", "type": "category", "displayName": "UX" "children": [ { "key": "User Flows" }, { "key": "Wireframes" }, { "key": "Usability Testing" } ] } ] } ] }

Get Category

Returns the category along with the nested sub-categories and skills

  • HTTP Method: GET

  • Request:

    • key (query) The key (id) of the category. Required

  • Response [JSON]:

    • category: The requested category along with sub-categories and skills

Example:

  • Request:

    HTTP GET: https://{your-generated-endpoint-url}?key=24151a90-7c57-4dd1-bf86-762418c650de
  • Response (200):

Create Category

Creates a new category under the specified parent

  • HTTP Method: POST

  • Request:

    • displayName (body) The display name for the category. Required

    • description (body) The description for the category.

    • parentKey (body) The key (id) of the category under which to create the new category. If not specified, the new category will be created at the root of the skill tree

  • Response [JSON]:

    • created: The array of created categories (array with 1 item)

Example:

  • Request:

  • Response (200):

Update Category

Updates the skill tree category name and description

  • HTTP Method: PUT

  • Request:

    • key (body) The key (id) of the category. Required

    • displayName (body) The new display name for the category. Required

    • description (body) The new description for the category.

  • Response [JSON]:

    • changed: The array of updated categories (array with 1 item)

Example:

  • Request:

  • Response (200):

Move Category

Move the specified category under a different parent

  • HTTP Method: PATCH

  • Request:

    • key (query) The key (id) of the category. Required

    • newParentKey (query) The key (id) of the new parent category. Required

  • Response [JSON]:

    • moved: The array of moved categories (array with 1 item)

Example:

  • Request:

  • Response (200):

Delete Category

Deletes the specified category.

Only categories with no sub-categories or skills can be deleted

  • HTTP Method: DELETE

  • Request:

    • key (query) The key (id) of the category. Required

  • Response [JSON]:

    • deleted: The array of deleted categories (array with 1 item)

Example:

  • Request:

  • Response (200):

Get Skill

Returns the skill

  • HTTP Method: GET

  • Request:

    • key (query) The key (id) of the skill. Required

  • Response [JSON]:

    • skill: The requested skill object

Example:

  • Request:

  • Response (200):

Create Skill

Creates a new skill under the specified parent

  • HTTP Method: POST

  • Request:

    • key (body) The key (name) of the new skill. Required

    • parentKey (body) The key (id) of the category under which to create the new skill. If not specified, the skill will be created at the root of the skill tree

  • Response [JSON]:

    • created: The array of created skills (array with 1 item)

Example:

  • Request:

  • Response (200):

Move Skill

Move the specified skill under a different parent category

  • HTTP Method: PATCH

  • Request:

    • key (query) The key (name) of the skill. Required

    • newParentKey (query) The key (id) of the new parent category. Required

  • Response [JSON]:

    • moved: The array of moved skills (array with 1 item)

Example:

  • Request:

  • Response (200):

Delete Skill

Deletes the specified skill.

The deleted skill will no longer be available for use. However, skill requirements of the existing issues will not be affected.

  • HTTP Method: DELETE

  • Request:

    • key (query) The key (name) of the skill. Required

  • Response [JSON]:

    • deleted: The array of deleted skills (array with 1 item)

Example:

  • Request:

  • Response (200):