---
category: [Administration & Integrations, Platform and Product Extensions, Platform and Product Extensions/Integration, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions/Workday Extend]
nav: wcp_docs
parent_url: /wcp_docs/
title: Skill Gap Analysis REST API
layout: subsection
---

## <a id="section_20"></a>Overview

The Skill Gap Analysis REST API accepts 2 unstructured text documents and returns a set analysis on the 2 documents. The Skill Gap Analysis REST API uses the[Skill Extract REST APIs](/wcp_docs/GUID-d934c61c-80ee-4513-9800-ae2f6d1d02d2.html) to extract the skills from the documents. Skills Cloud uses Workday proprietary techniques developed around a multidimensional graph that enables the relationships between the skills.

## <a id="section_urlBasePath"></a>URL

```
https://api.workday.com/ml/skills-cloud/{version}/gap-analysis
```

For regional URL base paths, see [Reference: Workday Extend API Gateways and Authorization Base URLs](/wcp_docs/dlh1653340161856.html).

## <a id="section_11"></a>Analyzing Skills Gaps Between Two Documents

To compare skills from 2 unstructured text documents and perform a gap analysis, call this endpoint:

```
POST {baseURL}/gap-analysis
```

In the request body, specify:

-   `doc_a` - A text field containing skills to extract and compare with `doc_b`. Maximum length is 10,000 characters.
-   `doc_b` - A text field containing skills to extract and compare with `doc_a`. Maximum length is 10,000 characters.


If the documents have different locales, specify the `input_locale` and `output_locale` query parameters. For valid locale code values, see [Reference: Skills Cloud Locales](/wcp_docs/GUID-b3c75508-018f-4cce-9d4d-9718cf5dfc69-enHYPHENus.html).

The POST endpoint extracts Skills Cloud canonical names from both documents and compares the skills between the documents based on exact matches. Similar skills aren't considered a match.

The number of results has no maximum, but the results are based on the input text having a limit of 10,000 characters.

The response includes:

-   `common_skills` - A list of skill objects that occur in both `doc_a` and `doc_b`.
-   `skills_in_a_not_b` - A list of skill objects that occur in `doc_a` but not in `doc_b`.
-   `skills_in_b_not_a` - A list of skill objects that occur in `doc_b` but not in `doc_a`.
-   `doc_similarity` - The result of comparing all skills extracted from each document as two skill groups. Use similarity scores only to compare the relative similarity of the results within a given API response. The API doesn’t calibrate scores; don’t use the scores for thresholding or comparison across APIs as they might change over time and across models. Furthermore, the effective range of the scores might vary. Example: the range of low to high similarity results could be 0.4 to 0.99 depending on the model.
-   `a_covered_by_b` and `b_covered_by_a` - Overlap ratios as the result of:

    1.  Analyzing the skills extracted from each document.
    2.  Inferring related skills to the extracted skills based on semantic similarities.
    3.  Evaluating the gap between the collection of all skills between the two documents.



If you want to analyze the relationship between two documents based on the exact skills extracted, use the `doc_similarity`, `common_skills`, `skills_in_a_not_b`, and `skills_in_b_not_a` fields. The `a_covered_by_b` and `b_covered_by_a` fields add another layer of support that uses more complex ML methodology to the analysis.

In the following sample request:

-   The skills extracted from `doc_a` are "Machine Learning" and "Neural Networks". The skills extracted from `doc_b` are "Machine Learning" and "Arts". The returned lists highlight the skills extracted from each document and both documents.
-   The model identified that all skills extracted and inferred from `doc_a` are fully covered by skills from `doc_b`. Thus, `a_covered_by_b` is 1.0 or 100%. The extracted skill "Neural Networks" from `doc_a` can be inferred from the extracted skill "Machine Learning" from `doc_b`, hence the full coverage.

    Another way of understanding the overlap score better is to represent `doc_a` and `doc_b` as the experiences from <i>person_a</i> and <i>person_b</i>. <i>person_b</i> could have all the skills that <i>person_a</i> has, plus the extra knowledge of “Arts”.



Sample request:

```
POST https://api.workday.com/ml/skills-cloud/v2/gap-analysis
```

Sample request body:

```
{
"doc_a": "I work in machine learning and neural networks.",
"doc_b": "I work in machine learning and art intelligence."
}
```

Sample response:

```
{
"doc_similarity": 0.9055,
"a_covered_by_b": 1,
"b_covered_by_a": 0.5,
"common_skills": [
{
  "id": "REMOTE_SKILL-1-47031",
  "name": "Machine Learning",
  "locale": "en_US",
  "category": null,
  "description": {
    "text": "Machine Learning is a subset of artificial intelligence that involves the development of algorithms and statistical models that enable computers to perform tasks without explicit programming. Being knowledgeable in Machine Learning may involve understanding various types of learning algorithms, data mining, statistical pattern recognition, and the ability to apply these techniques to large datasets. A professional skilled in Machine Learning can help an organization with tasks such as predictive analytics, customer segmentation, fraud detection, and the development of recommendation systems."
  },
  "is_maintained": false
}
],
"skills_in_a_not_b": [
{
  "id": "REMOTE_SKILL-1-40555",
  "name": "Neural Networks",
  "locale": "en_US",
  "category": null,
  "description": {
    "text": "Neural Networks are a subset of machine learning that are modeled after the human brain and designed to recognize patterns. Being knowledgeable in Neural Networks may involve understanding how to design and implement these systems, as well as having a strong foundation in mathematics, particularly in linear algebra, calculus, and statistics. A professional skilled in Neural Networks may be able to help an organization with tasks such as image and speech recognition, natural language processing, and predictive analytics, thereby enhancing decision-making processes and operational efficiency."
  },
  "is_maintained": false
}
],
"skills_in_b_not_a": [
{
  "id": "REMOTE_SKILL-1-483",
  "name": "Arts",
  "locale": "en_US",
  "category": null,
  "description": {
    "text": "'Arts' is a broad field encompassing various forms of creative expression, including visual arts, performing arts, literature, and more. Being knowledgeable in 'Arts' may involve understanding different art forms, techniques, historical contexts, and the ability to create or critique artistic works. A professional skilled in 'Arts' can help an organization with tasks such as designing impactful marketing materials, curating exhibitions, creating engaging content, and enhancing the aesthetic appeal of the workspace."
  },
  "is_maintained": false
}
]
}
 
```

## <a id="section_22"></a>Limitations

-   Any text data input must use a single language. For supported languages, see [Reference: Skills Cloud Locales](/wcp_docs/GUID-b3c75508-018f-4cce-9d4d-9718cf5dfc69-enHYPHENus.html).
-   The Skill Gap Analysis API currently returns skill descriptions in English only.
-   The Skill Gap Analysis API doesn't support maintained, external, or crowdsourced skills.


