---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# UserSkillRanking - Global

# UserSkillRanking - Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read

The UserSkillRanking API provides methods to configure options for choosing the right user and getting a sorted list of qualified users based on number of matching skills and skill-level gap.

This API requires the Skills Management plugin (com.snc.skills_management), which you can activate if you have the admin role.

See [Qualify and rank users based on skills and skill levels](https://www.servicenow.com/docs/access?context=assign-work-based-on-skills&version=xanadu&pubname=xanadu-servicenow-platform&ft:locale=en-US).

## UserSkillRanking - UserSkillRanking() {#ariaid-title2}

Instantiates a UserSkillRanking object.
{#SR-UserSkillRanking__table_shf_4b1_whb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 1. Parameters]

{#SR-UserSkillRanking__table_shf_4b1_whb}

## UserSkillRanking - getQualifiedRankedUsers(String requiredSkillsJson, String usersJson,
String rankType, Boolean isSkillLevelEnforced) {#ariaid-title3}

Provides a list of qualified users based on matching mandatory skills and levels if the
`isSkillLevelEnforced` parameter is true).
{#SR-getQualifiedRankedUsers_S_S_S_B__table_lcv_g1s_lhb__entry__3}

| Name | Type | Description |
|-|-|-|
| requiredSkillsJson | String | List of required skills to qualify users. Each skill is listed as a JSON entry in the following format: * sys_id: String. Sys ID of skill from the Skills \[cmn_skill\] table. * is_mandatory: Boolean. Flag that indicates whether the skill is mandatory. * level: String. Sys ID from the Skill Levels \[cmn_skill_level\] table. {#SR-getQualifiedRankedUsers_S_S_S_B__ul_qrj_c5w_33b} |
| usersJson | String | List of user Sys IDs from sys_user table (in JSON format) representing users to be qualified against required skills. |
| rankType | String | Enables sorting qualified users based on ranking type. Possible values are comparators to provide sorted list of qualified users based on number of matching skills and skill level gap: * NO_RANKING (default) -- Used if empty value provided. * NUM_SKILLS -- Number of skills matched against required skills. * NUM_SKILL_ MATCHING_LEVEL -- Number of user skills matching the required skill level. * LEAST_SKILL_ LEVEL_GAP -- Finds user skill that most closely meets minimum skill level requirements. * MOST_SKILL_ LEVEL_GAP -- Finds user that least meets minimum skill level requirements. * BEST_OPTIMUM_ USER -- Finds optimum user for all skill levels. {#SR-getQualifiedRankedUsers_S_S_S_B__ul_rw2_byz_vhb} |
| isSkillLevelEnforced | Boolean | True if user must have minimum skill level for all required mandatory skills, false otherwise. Default: false. |
[Table 2. Parameters]

{#SR-getQualifiedRankedUsers_S_S_S_B__table_lcv_g1s_lhb} {#SR-getQualifiedRankedUsers_S_S_S_B__table_mcv_g1s_lhb__entry__2}

| Type | Description |
|-|-|
| String | List of qualified users as JSON. Error if inaccurate parameters or malformed JSON provided. |
[Table 3. Returns]

{#SR-getQualifiedRankedUsers_S_S_S_B__table_mcv_g1s_lhb}  

    var skills = [{"sys_id":"48c9f873c0a8018b65c3814608b201e6", "is_mandatory": true, "level":"4e0ac4d6b3332300290ea943c6a8dc4e"},
    				{"sys_id":"48c9fdddc0a8018b04bd8d7914c82c9d", "is_mandatory": false, "level":"4e0ac4d6b3332300290ea943c6a8dc4eS"}];
    var users = ["a8f98bb0eb32010045e1a5115206fe3a", "62826bf03710200044e0bfc8bcbe5df1"];
    var userSkillRanking = new SNC.UserSkillRanking();
    var qualifiedUsers = userSkillRanking.getQualifiedRankedUsers(JSON.stringify(skills), JSON.stringify(users), "BEST_OPTIMUM_USER", true);


