Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

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

...

  • Request:

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

    Code Block
    {
      "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:

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

    Code Block
    {
      "category": {
          "key": "24151a90-7c57-4dd1-bf86-762418c650de",
          "children": [
              {
                  "key": "React"
              },
              {
                  "key": "Angular"
              },
              {
                  "key": "JQuery"
              },
              {
                  "key": "Vue"
              },
              {
                  "key": "d8a55cf6-9828-4a7b-a951-2557bdb9dbc7",
                  "children": [
                      {
                          "key": "Bootstrap"
                      }
                  ],
                  "type": "category",
                  "displayName": "CSS"
              }
          ],
          "type": "category",
          "displayName": "Frontend"
      }
    }

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:

    Code Block
    HTTP POST: https://{your-generated-endpoint-url} 
    {
      "displayName": "New Category Name",
      "description": "New category description"
    }
  • Response (200):

    Code Block
    {
      "created": [{
          "key": "24151a90-7c57-4dd1-bf86-762418c650de",
          "children": [],
          "type": "category",
          "displayName": "New Category Name",
          "description": "New category description"
      }]
    }

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:

    Code Block
    HTTP PUT: https://{your-generated-endpoint-url} 
    {
      "key": "24151a90-7c57-4dd1-bf86-762418c650de",
      "displayName": "New Category Name",
      "description": "New category description"
    }
  • Response (200):

    Code Block
    {
      "changed": [{
          "key": "24151a90-7c57-4dd1-bf86-762418c650de",
          "children": [
              {
                  "key": "React"
              },
              {
                  "key": "Angular"
              },
              {
                  "key": "JQuery"
              },
              {
                  "key": "Vue"
              },
              {
                  "key": "d8a55cf6-9828-4a7b-a951-2557bdb9dbc7",
                  "children": [
                      {
                          "key": "Bootstrap"
                      }
                  ],
                  "type": "category",
                  "displayName": "CSS"
              }
          ],
          "type": "category",
          "displayName": "New Category Name",
          "description": "New category description"
      }]
    }

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:

    Code Block
    HTTP PATCH: https://{your-generated-endpoint-url}?key=24151a90-7c57-4dd1-bf86-762418c650de&newParentKey=dafdf116-c294-461c-813c-01b896a18d6e
  • Response (200):

    Code Block
    {
      "moved": [{
          "key": "24151a90-7c57-4dd1-bf86-762418c650de",
          "children": [],
          "type": "category",
          "displayName": "New Category Name",
          "description": "New category description",
          "parentKey": "dafdf116-c294-461c-813c-01b896a18d6e"
      }]
    }

Delete Category

Deletes the specified category.

Note

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:

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

    Code Block
    {
      "deleted": [{
          "key": "24151a90-7c57-4dd1-bf86-762418c650de",
          "children": [],
          "type": "category",
          "displayName": "New Category Name",
          "description": "New category description"
      }]
    }

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:

    Code Block
    HTTP GET: https://{your-generated-endpoint-url}?key=Skill%20Name
  • Response (200):

    Code Block
    {
      "skill": {
        "key": "Skill Name"
      }
    }

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:

    Code Block
    HTTP POST: https://{your-generated-endpoint-url} 
    {
      "key": "New Skill",
      "parentKey": "24151a90-7c57-4dd1-bf86-762418c650de"
    }
  • Response (200):

    Code Block
    {
      "created": [{
          "key": "New Skill"
      }]
    }

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:

    Code Block
    HTTP PATCH: https://{your-generated-endpoint-url}?key=Skill%20Name&newParentKey=dafdf116-c294-461c-813c-01b896a18d6e
  • Response (200):

    Code Block
    {
      "moved": [{
          "key": "Skill Name",
          "parentKey": "dafdf116-c294-461c-813c-01b896a18d6e"
      }]
    }

Delete Skill

Deletes the specified skill.

Note

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:

    Code Block
    HTTP DELETE: https://{your-generated-endpoint-url}?key=Obsolete%20Skill
  • Response (200):

    Code Block
    {
      "deleted": [{
          "key": "Obsolete Skill"
      }]
    }