openapi: 3.2.0
info:
title: Skills Intelligence Engine Skills Library API
description: 'Everything you need to power skills and turn them into actions.
'
license:
name: Apache License, Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
version: 1.0.0
tags:
- name: Skills Library
description: 'Access over 14,000 skills and get complete skill details in 27 languages, such as alternative titles, descriptions, and hierarchies.
'
paths:
/v1/skills/{id}:
get:
summary: Get skill details by ID
tags:
- Skills Library
operationId: GetSkill
description: 'If you know the ID of a skill, use this endpoint to retrieve information such as display name, description, Automation Index, Remote Work Index, and alternative names.
'
parameters:
- name: id
in: path
required: true
schema:
type: string
description: 'The ID of the skill to retrieve details for.
'
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
responses:
'200':
description: 'Details of the requested skill.
'
content:
application/json:
schema:
$ref: '#/components/schemas/Skill'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-get-skill-arn}
security:
- api_key: []
/v1/skills:
get:
summary: Retrieve a list of skills
tags:
- Skills Library
operationId: ListSkills
description: 'Use this endpoint to retrieve all skills in Visier''s Skills Library.
'
parameters:
- name: skillGroupId
in: query
schema:
type: string
description: 'Filter only skills that belong to a certain skill group.
'
- name: skillCategoryId
in: query
schema:
type: string
description: 'Filter only skills that belong to a certain skill category.
'
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
responses:
'200':
description: 'List of skills.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillList'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-list-skills-arn}
security:
- api_key: []
/v1/skills/search:
get:
summary: Search skills
tags:
- Skills Library
operationId: SearchSkill
description: 'Retrieve a list of skills that match a specified search term.
'
parameters:
- name: term
in: query
required: true
schema:
type: string
description: 'The term to search for. The search term must be URL encoded and the minimum length is 3 characters.
'
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
responses:
'200':
description: 'List of skills matching the search term.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillList'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-search-skill-arn}
security:
- api_key: []
/v1/skills/extract:
post:
summary: Extract skills from text
tags:
- Skills Library
operationId: ExtractSkills
description: 'Extract the relevant skills from text such as job descriptions and course outlines.
'
parameters:
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
requestBody:
description: 'The text to extract skills from.
The minimum length is 4 characters and the maximum length is 7500 characters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillExtractionInput'
responses:
'200':
description: 'List of skills extracted from the text.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillExtractionOutput'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-extract-skills-arn}
security:
- api_key: []
/v1/skills/match:
post:
summary: Match a skill set to a group of skill sets (targets)
tags:
- Skills Library
operationId: MatchSkills
description: 'Find the best match between a skill set and a group of skill sets (targets). The response returns a ranking of the targets with the best match appearing at the top of the list.
'
requestBody:
description: 'The skill set and the group of skill sets (targets) to be matched. The skills included in each skill set are entered in the following format [skill_id, score]. The score represents how prevalent the skill was in the source and is used as a weighting factor when determining the best match.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillMatchInput'
responses:
'200':
description: 'Ranked list of skill sets (targets) with the best match appearing at the top of the list. The integer value indicates the position of the target in the request body.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillMatchOutput'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-match-skills-arn}
security:
- api_key: []
/v1/skill-groups/{id}:
get:
summary: Get skill group details by ID
tags:
- Skills Library
operationId: GetSkillGroup
description: 'If you know the ID of a skill group, use this endpoint to retrieve information such as display name, description, Automation Index, Remote Work Index, and alternative names.
'
parameters:
- name: id
in: path
required: true
schema:
type: string
description: 'The ID of the skill group to retrieve details for.
'
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
responses:
'200':
description: 'Details of the requested skill group.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillGroup'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-get-meta-skill-arn}
security:
- api_key: []
/v1/skill-groups:
get:
summary: Retrieve a list of skill groups
tags:
- Skills Library
operationId: ListSkillGroups
description: 'Use this endpoint to retrieve all skill groups in Visier''s Skills Library.
'
parameters:
- name: skillCategoryId
in: query
schema:
type: string
description: 'Filter only skills that belong to a certain skill category.
'
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
responses:
'200':
description: 'List of skill groups.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillGroupList'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-list-meta-skills-arn}
security:
- api_key: []
/v1/skill-categories/{id}:
get:
summary: Get skill category details by ID
tags:
- Skills Library
operationId: GetSkillCategory
description: 'If you know the ID of a skill category, use this endpoint to retrieve information such as display name, description, Automation Index, Remote Work Index, and alternative names.
'
parameters:
- name: id
in: path
required: true
schema:
type: string
description: 'The ID of the skill category to retrieve details for.
'
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
responses:
'200':
description: 'Details of the requested skill category.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillCategory'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-get-super-skill-arn}
security:
- api_key: []
/v1/skill-categories:
get:
summary: Retrieve a list of skill categories
tags:
- Skills Library
operationId: ListSkillCategories
description: 'Use this endpoint to retrieve all skill categories in Visier''s Skills Library.
'
parameters:
- name: Accept-Language
in: header
schema:
type: string
description: 'Allows you to specify if you want the output to be in one of the accepted languages.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is English.
'
responses:
'200':
description: 'List of skill categories.
'
content:
application/json:
schema:
$ref: '#/components/schemas/SkillCategoryList'
'400':
description: 'The API request failed given the parameters provided, such as missing or invalid parameters.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: 'An unexpected exception occurred on the server.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'504':
description: 'The server is taking too long to respond and the request timed out.
'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
x-amazon-apigateway-integration:
type: aws_proxy
credentials: ${apigateway_role}
httpMethod: POST
uri: ${lambda-list-super-skills-arn}
security:
- api_key: []
components:
schemas:
SkillList:
type: array
items:
type: object
title: SkillEntry
properties:
id:
type: string
description: 'The unique ID of the skill.
'
name:
type: string
description: 'The localized display name of the skill.
'
description:
type: string
description: 'The localized description of the skill.
'
required:
- id
- name
- description
Skill:
description: 'The details describing a skill.
'
type: object
properties:
id:
type: string
description: 'The unique ID of the skill.
'
name:
type: string
description: 'The localized display name of the skill.
'
description:
type: string
description: 'The localized description of the skill.
'
skillGroupId:
type: string
description: 'ID of the skill group that this skill belongs to.
'
skillCategoryId:
type: string
description: "ID of the skill category that this skill belongs to. \n"
isKnowledge:
type: boolean
description: 'Indicates whether the skill is a knowledge skill.
'
skillType:
type: string
description: 'The type of skill. Valid values are `Soft`, `Hard`, and `Unknown`.
'
alternativeTitles:
type: array
items:
type: string
description: 'List of alternative localized names for this skill.
'
remoteIndex:
type: number
description: 'The Remote Index represents how readily a skill can be done through remote work. The index ranges from 0 to 100, where a value of 100 means the skill can be done entirely remotely.
This field will be omitted if remotability is not applicable to the skill.
'
automationIndex:
type: integer
description: 'The Automation Index represents how readily a skill can be automated. The index ranges from 0 to 100, where a value of 100 means the skill is completely automatable.
This field will be omitted if automation is not applicable to the skill.
'
required:
- id
- name
- description
- skillGroupId
- skillCategoryId
- isKnowledge
- skillType
- alternativeTitles
SkillCategory:
description: 'Details describing a skill category.
'
type: object
properties:
id:
type: string
description: 'The unique ID of the skill category.
'
name:
type: string
description: 'The localized display name of the skill category.
'
description:
type: string
description: 'The localized description of the skill category.
'
skillGroups:
type: array
items:
$ref: '#/components/schemas/SkillGroup'
description: 'List of skill groups under this skill category.
'
required:
- id
- name
- description
- skillGroups
SkillGroupList:
type: array
items:
type: object
title: SkillGroupEntry
properties:
id:
type: string
description: 'The unique ID of the skill group.
'
name:
type: string
description: 'The localized display name of the skill group.
'
description:
type: string
description: 'The localized description of the skill group.
'
required:
- id
- name
- description
SkillExtractionInput:
description: 'The text to extract skills from, such as a job description or course outline.
'
type: object
properties:
content:
type: string
maxLength: 7500
minLength: 4
description: 'The body of text to extract skills from.
The maximum length is 7500 characters. The minimum length is 4 characters.
'
languageCode:
type: string
description: 'Identifies the language of the input text.
Format: **ISO 639-1** language code. For a list of supported languages, see "Supported Languages" in the Skills Intelligence Engine API documentation.
If no value is specified, the response language is used.
'
limit:
type: integer
minimum: 1
maximum: 50
description: 'The limit on the number of skills extracted from the text. The minimum is 1 and the maximum is 50 skills.
If no value is specified, the default limit of 10 skills is used.
'
required:
- content
SkillCategoryList:
type: array
items:
type: object
title: SkillCategoryEntry
properties:
id:
type: string
description: 'The unique ID of the skill category.
'
name:
type: string
description: 'The localized display name of the skill category.
'
description:
type: string
description: 'The localized description of the skill category.
'
required:
- id
- name
- description
SkillMatchOutput:
type: array
minItems: 1
description: 'Ranked list of the skill sets (targets) with the best match appearing at the top of the list. The integer value indicates the position of the target in the request body.
list. The groups are ranked by the best matched skill set to worst matched skill set to the input ''skills'' candidate.
'
example:
- 0
- 2
- 1
items:
type: integer
description: The position of the target skill set in the request body. The number sequence starts at 0.
ApiError:
title: ApiError
description: 'Description of an API error.
'
type: object
properties:
errorCode:
type: string
description: 'A brief identifier of the type of error.
'
message:
type: string
description: 'The details of the error.
'
rci:
type: string
description: 'A root cause identifier that allows Visier to determine the source of the problem.
'
required:
- errorCode
- message
- rci
SkillMatchInput:
description: 'The skill set and the group of skill sets (targets) to be matched.
'
type: object
properties:
skillSet:
type: array
minItems: 1
uniqueItems: true
items:
oneOf:
- type: string
- type: integer
minItems: 2
maxItems: 2
items:
description: 'The skills that make up the skill set to be matched. The skills included in each skill set are entered in the following format [skill_id, score]. The skill_id is the unique identifier of a skill in the Skills Library. The score represents how prevalent the skill was in the source and is used as a weighting factor when determining the best match.
'
description: 'The skills that make up the skill set that will be matched against a group of skill sets (targets).
'
example:
- - '21795'
- 85
- - '19391'
- 50
- - '21577'
- 40
targetSkillSets:
type: array
minItems: 1
items:
type: array
minItems: 1
description: 'The group of skill sets (targets) that is matched to the input skill set.
'
items:
type: array
oneOf:
- type: string
- type: integer
minItems: 2
maxItems: 2
items:
description: 'The skills that make up the skill set to be matched. The skills included in each skill set are entered in the following format [skill_id, score]. The skill_id is the unique identifier of a skill in the Skills Library. The score represents how prevalent the skill was in the source and is used as a weighting factor when determining the best match.
'
description: 'A comma-separated list of strings that represent the group of skill sets (targets).
'
example:
- - - '21795'
- 75
- - '19391'
- 70
- - '21577'
- 40
- - - '15812'
- 90
- - '16835'
- 88
- - '30645'
- 76
- - - '21577'
- 90
- - '19391'
- 67
- - '19237'
- 66
required:
- content
SkillExtractionOutput:
type: array
items:
title: ExtractedSkill
type: object
properties:
id:
type: string
description: 'The unique ID of the skill.
'
name:
type: string
description: 'The localized display name of the skill.
'
description:
type: string
description: 'The localized description of the skill.
'
score:
type: integer
description: 'The score representing the confidence level of the match between the extracted skill and the standardized skill in Visier’s Skills Library. The score ranges from 0 to 100.
'
required:
- id
- name
- description
- score
SkillGroup:
description: 'Details describing a skill group.
'
type: object
properties:
id:
type: string
description: 'The unique ID of the skill group.
'
name:
type: string
description: 'The localized display name of the skill group.
'
description:
type: string
description: 'The localized description of the skill group.
'
skillCategoryId:
type: string
description: 'ID of the parent skill category.
'
skills:
type: array
items:
$ref: '#/components/schemas/Skill'
description: 'List of skills under this skill group.
'
required:
- id
- name
- description
- skillCategoryId
- skills
securitySchemes:
api_key:
type: apiKey
in: header
name: x-api-key
x-amazon-apigateway-api-key-source: HEADER
x-amazon-apigateway-gateway-responses:
MISSING_AUTHENTICATION_TOKEN:
statusCode: 404
responseParameters: {}
responseTemplates:
application/json: '{"errorCode":"USER_INPUT_ERROR","message":"Resource not found","rci":"RCI9000001"}'
DEFAULT_4XX:
statusCode: 500
responseParameters: {}
responseTemplates:
application/json: '{"errorCode":"INTERNAL_SERVER_ERROR","message":"Internal server error","rci":"RCI9000002"}'
DEFAULT_5XX:
statusCode: 500
responseParameters: {}
responseTemplates:
application/json: '{"errorCode":"INTERNAL_SERVER_ERROR","message":"Internal server error","rci":"RCI9000003"}'
x-tagGroups:
- name: skills intelligence
tags:
- Jobs Library
- Skills Library