---
title: UserSkillRanking - Global
description: 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.Instantiates a UserSkillRanking object.Provides a list of qualified users based on matching mandatory skills and levels if the isSkillLevelEnforced parameter is true\).
locale: en-US
canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/server-api-reference/UserSkillRankingAPI.html
release: australia
product: Server API Reference
classification: server-api-reference
topic_type: concept
last_updated: "2026-03-12"
reading_time_minutes: 1
breadcrumb: [Server API reference, API reference, API implementation and reference]
---
# UserSkillRanking- Global
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://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/assign-work-based-on-skills.md).
**Parent Topic:**[Server API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/server-api-reference/api-server.md)
## UserSkillRanking - UserSkillRanking\(\)
Instantiates a UserSkillRanking object.
|Name|Type|Description|
|----|----|-----------|
|None| | |
## UserSkillRanking - getQualifiedRankedUsers\(String requiredSkillsJson, String usersJson, String rankType, Boolean isSkillLevelEnforced\)
Provides a list of qualified users based on matching mandatory skills and levels if the `isSkillLevelEnforced` parameter is true\).
|
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.
|
|
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.
|
|
isSkillLevelEnforced
|
Boolean
|
True if user must have minimum skill level for all required mandatory skills, false otherwise. Default: false.
|
|
Type
|
Description
|
|---|
|
String
|
List of qualified users as JSON.Error if inaccurate parameters or malformed JSON provided.
|
```
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);
```