- The data contained in the API export is a reflection of the data at the time of the request (i.e., live data).
- The output will always be given in the default JSON format of the API.
- Most exports use pagination, returning the data piece by piece instead of in bulk.
- Especially when working with large amounts of data, the export API requests can often take some time to complete.
- No time-consuming live generation required: the last export is always readily available on the desired location (i.e. S3, SFTP server).
- No need to handle data tranformation.
- No need to handle pagination.
Prerequisites
To have access to the file-based output integrations, regardless of type, at least the following prerequisites must be met:- You have the appropriate TechWolf API licenses.
- You have the appropriate SkillEngine API credentials, which include:
- Tenant ID
- Tenant secret
- Tenant name
- Region (Europe or United States)
- You have a TechWolf API tenant set up that contains the relevant information for the requested output integration.
- Both you and TechWolf have access to the agreed output location.
Supported output formats
Currently supported output formats for all exports are- CSV
- XLSX
- The data is split across multiple worksheets in the same XLSX file.
- Each worksheet includes the header row, followed by up to 1,048,575 data rows.
- This ensures large datasets are fully exported across multiple sheets in the same XLSX file, without data loss.
Supported export types
Below we list the available export types. Some export types are configurable and can be configured in the TechWolf’s Console via the export builder or by your TechWolf representative. If no configuration options are specified, this export type is not configurable. When no configuration is specified by the user, the default settings are used.Employee Info
Provides an overview of all Employees and their fields, including their current position, organizational unit, and data availability status.View Employee Info export details
View Employee Info export details
Field name | Field description |
---|---|
external_id | The external ID of the Employee in TechWolf. |
low_data_availability | Flag indicating whether sufficient data is available for qualitative Skill inference for the given Employee. |
active | Flag indicating whether the Employee will be used in matching. This is useful if an Employee is being phased out. |
last_updated | Timestamp of the last update to this entity. |
assigned_position | The title of the Job the Employee is currently assigned to. |
assigned_position_id | The external ID of the Job the Employee is currently assigned to. |
organisational_unit_X | The Organisational Unit of the Employee. Column organisational_unit_0 is the top-level Organisational Unit, column organisational_unit_1 the second-level etc. |
- Mask
external_id
: mask the Employee’s external ID to protect privacy. - Include Custom Properties: the selected Custom properties will be added as a column to every row. If the Employee does not have this Custom Property, the field will be empty.
Job Info
Provides an overview of all Jobs and their fields, including Job Family information, data availability status, and active status.View Job Info export details
View Job Info export details
Field name | Field description |
---|---|
external_id | The external ID of the Job in TechWolf. |
job_name | The name of the Job in TechWolf. |
job_family | The Job Family to which this Job belongs. |
job_family_group | The Job Family group to which this Job belongs |
low_data_availability | Flag indicating whether sufficient data is available for qualitative Skill inference for the given Job. |
active | Flag indicating whether the Job will be used in matching. This is useful when a Job is being phased out. |
last_updated | Timestamp of the last update to this entity. |
- Include Custom Properties: the selected Custom properties will be added as a column to every row. If the Job does not have this Custom Property, the field will be empty.
Course info
Provides an overview of all available Courses, including their titles and source systems.View Course Info export details
View Course Info export details
Field name | Field description |
---|---|
course_id | The external ID of the Course in TechWolf. |
course_title | The title of the Course in TechWolf. |
source | The LMS from which the Course originates. |
Course Skill Profiles (Course to Skill)
Maps the relationship between Courses and their associated Skills, showing which Skills are taught in each Course.View Course Skill Profiles export details
View Course Skill Profiles export details
Field name | Field description |
---|---|
course_id | The external ID of the Course with the Skill in TechWolf. |
skill_id | The external ID of the Skill in TechWolf. |
skill | The name of the Skill in TechWolf. |
Employee Skill Profiles (Employee to Skill)
Maps the relationship between Employees and their Skills, including validation states and sources of skill inference.View Employee Skill Profiles export details
View Employee Skill Profiles export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee with the Skill in TechWolf. |
skill_id | The external ID of the Skill in TechWolf. |
skill | The name of the Skill in TechWolf. |
validation_state | The validation state of the Skill; one of “validated”, “suggested”, “rejected”. |
skill_source | The event type from which the Skill is inferred for this Employee (e.g. “working_history”). |
skill_event_source | The source of the Skill event from which the Skill is inferred (e.g. “Workday” or “Degreed”). |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy. - Include rejected Skills.
Job Skill Profiles (Job to Skill)
Maps the relationship between Jobs and their required Skills, including skill types, validation states, and proficiency levels.View Job Skill Profiles export details
View Job Skill Profiles export details
Field name | Field description |
---|---|
job_id | The external ID of the Job with the Skill in TechWolf. |
skill_id | The external ID of the Skill in TechWolf. |
skill | The name of the Skill in TechWolf. |
skill_type | The type of the Skill; one of “Job-Specific”, “Family-Specific”. |
validation_state | The validation state of the Skill; one of “validated”, “suggested”, “initially_validated”. |
proficiency_level | The required Skill proficiency level for this Job as an integer. |
critical | Indicates whether the Skill is critical for the Job. |
Skill Info
Provides comprehensive information about all Skills, including descriptions and their location in the Taxonomy.View Skill Info export details
View Skill Info export details
Field name | Field description |
---|---|
skill_id | The external ID of the Skill. |
skill_name | The name of the Skill. |
skill_description | The description of the Skill. |
techwolf_domain | The default Domain provided by TechWolf. |
taxonomy_skill_cluster_id | The external ID of the Cluster the Skill belongs to; empty for Skills that are not part of the Taxonomy. |
taxonomy_skill_cluster_name | The name of the Cluster the Skill belongs to; empty for Skills that are not part of the Taxonomy |
taxonomy_subdomain_id | The external ID of the Subdomain the Skill belongs to; empty for Skills that are not part of the Taxonomy; only relevant for four-level taxonomies, always empty for three-level Taxonomies. |
taxonomy_subdomain_name | The name of the Subdomain the Skill belongs to; empty for Skills that are not part of the Taxonomy; only relevant for four-level taxonomies, always empty for three-level Taxonomies. |
taxonomy_domain_id | The external ID of the top-level Domain the Skill belongs to; empty for Skills that are not part of the Taxonomy. |
taxonomy_domain_name | The name of the top-level Domain the Skill belongs to; empty for Skills that are not part of the Taxonomy. |
Employee Skill Gap
Shows the match score between Employees and their assigned positions, helping identify Skill gaps.View Employee Skill Gap export details
View Employee Skill Gap export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job that the Employee is assigned to. If the Employee has no assigned position, the field is left blank. |
score | The match score between the Employee and the Job, expressed as a number between 0 and 1. If the Employee has no assigned position, this value is set to 0.0 . |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy.
Employee Skill Gap Explained
Provides detailed analysis of Skill gaps between Employees and their positions, including adjacent Skills and alignment scores.View Employee Skill Gap Explained export details
View Employee Skill Gap Explained export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job that the Employee is assigned to. |
status | The current status of the match (e.g., “present”, “missing”). |
skill_id | The external ID of the required Skill. |
adjacent_skill_id | The external ID of the most similar adjacent Skill that the Employee has. |
adjacency_score | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1. |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy.
Internal Mobility Deprecated
Shows potential matches between Employees and Jobs within the organization, with match scores.View Internal Mobility export details
View Internal Mobility export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job within the organisation. |
score | The match score between the Employee and the Job, expressed as a number between 0 and 1. |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy.
Internal Mobility Explained Deprecated
Provides detailed analysis of potential matches between Employees and Jobs, including Skill-level comparisons.View Internal Mobility Explained export details
View Internal Mobility Explained export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job within the organization. |
status | The current status of the Internal Mobility match (e.g., “present”, “missing”). |
skill_id | The external ID of the required Skill. |
adjacent_skill_id | The external ID of the most similar adjacent Skill that the Employee has. |
adjacency_score | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1. |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy.
Matching Employees for Job
Shows the best suited Employees for every Job within the organization, with match scores.View Matching Employees for Job export details
View Matching Employees for Job export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job within the organisation. |
score | The match score between the Employee and the Job, expressed as a number between 0 and 1. |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy. - Set the
score_min_threshold
: only include Employees with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching Employees are shown for each Job. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently support 3 types of filters:
- Custom Property filter: filter out all Employees for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all Employees for which the Custom Property is not equal to the Custom Property of the Job.
- Custom Property is in filter: filter out all Employees for which the
list
Custom Property does not contain the Custom Property of the Job.
Matching Employees for Job Explained
Provides detailed analysis of the best suited Employees for every Job within the organization, including Skill-level comparisons.View Matching Employees for Job Explained export details
View Matching Employees for Job Explained export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job within the organization. |
status | The current status of the Internal Mobility match (e.g., “present”, “missing”). |
skill_id | The external ID of the required Skill. |
adjacent_skill_id | The external ID of the most similar adjacent Skill that the Employee has. |
adjacency_score | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1. |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy. - Set the
score_min_threshold
: only include Employees with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching Employees are shown for each Job. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently support 3 types of filters:
- Custom Property filter: filter out all Employees for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all Employees for which the Custom Property is not equal to the Custom Property of the Job.
- Custom Property is in filter: filter out all Employees for which the
list
Custom Property does not contain the Custom Property of the Job.
Matching Jobs for Employee
Shows the best suited Jobs for every Employee within the organization, with match scores.View Matching Jobs for Employee export details
View Matching Jobs for Employee export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job within the organisation. |
score | The match score between the Employee and the Job, expressed as a number between 0 and 1. |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy. - Set the
score_min_threshold
: only include Jobs with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching Jobs are shown for each Employee. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently support 3 types of filters:
- Custom Property filter: filter out all Jobs for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all Jobs for which the Custom Property is not equal to the Custom Property of the Employee.
- Custom Property is in filter: filter out all Jobs for which the
list
Custom Property does not contain the Custom Property of the Employee.
Matching Jobs for Employees Explained
Provides detailed analysis of the best suited Jobs for every Employee within the organization, including Skill-level comparisons.View Matching Jobs for Employee Explained export details
View Matching Jobs for Employee Explained export details
Field name | Field description |
---|---|
employee_id | The external ID of the Employee. |
job_id | The external ID of the Job within the organization. |
status | The current status of the Internal Mobility match (e.g., “present”, “missing”). |
skill_id | The external ID of the required Skill. |
adjacent_skill_id | The external ID of the most similar adjacent Skill that the Employee has. |
adjacency_score | The adjacency score between the required Skill and the adjacent Skill, expressed as a number between 0 and 1. |
- Mask
employee_id
: mask the Employee’s external ID to protect privacy. - Set the
score_min_threshold
: only include Jobs with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching Jobs are shown for each Employee. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently support 3 types of filters:
- Custom Property filter: filter out all Jobs for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all Jobs for which the Custom Property is not equal to the Custom Property of the Employee.
- Custom Property is in filter: filter out all Jobs for which the
list
Custom Property does not contain the Custom Property of the Employee.
Matching source Jobs for Jobs
Shows the most relevant Jobs from which potential candidates can be hired to fill a given Job’s Skill requirements, with match scores. This helps identify which existing Jobs within your organization could serve as talent pools for filling open positions.View Matching source Jobs for Jobs export details
View Matching source Jobs for Jobs export details
Field name | Field description |
---|---|
job_id | The external ID of the Job. |
source_job_id | The external ID of the source Job from which potential candidates can be hired. |
score | The matching score between the Job and the source Job, expressed as a number between 0 and 1. |
- Set the
score_min_threshold
: only include source Jobs with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching source Jobs are shown for each Job. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently
support 3 types of filters:
- Custom Property filter: filter out all source Jobs for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all source Jobs for which the Custom Property is not equal to the Custom Property of the Job.
- Custom Property is in
filter: filter out all source Jobs for which the
list
Custom Property does not contain the Custom Property of the Job.
Matching source Jobs for Jobs explained
Provides detailed analysis of the most relevant Jobs from which potential candidates can be hired to fill a given Job’s Skill requirements, including Skill-level comparisons. This helps identify which existing Jobs within your organization could serve as talent pools for filling open positions.View Matching source Jobs for Jobs explained export details
View Matching source Jobs for Jobs explained export details
Field name | Field description |
---|---|
job_id | The external ID of the Job. |
source_job_id | The external ID of the source Job from which potential candidates can be hired. |
skill_id | Universally unique ID of the Skill required by the Job. |
status | Can be “missing” or “present”. If “missing”, the Skill is required by the Job, but is missing from the source Job. |
adjacent_skill_id | If status is “present”, this field indicates the universally unique Skill ID of the Skill adjacent to the required Skill. |
adjacency_score | The adjacency score between the Skill and the adjacent Skill, expressed as a number between 0 and 1. |
- Set the
score_min_threshold
: only include source Jobs with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching source Jobs are shown for each Job. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently
support 3 types of filters:
- Custom Property filter: filter out all source Jobs for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all source Jobs for which the Custom Property is not equal to the Custom Property of the Job.
- Custom Property is in
filter: filter out all source Jobs for which the
list
Custom Property does not contain the Custom Property of the Job.
Matching target Jobs for Jobs
Shows the most relevant Jobs to which Employees in a Job can be moved based on Job Skill requirements for each Job of the organization, with match scores. This helps identify potential career paths for Employees currently in specific Jobs.View Matching target Jobs for Jobs export details
View Matching target Jobs for Jobs export details
Field name | Field description |
---|---|
job_id | The external ID of the Job. |
target_job_id | The external ID of the target Job to which employees in the given Job can be moved. |
score | The matching score between the Job and the target Job, expressed as a number between 0 and 1. |
- Set the
score_min_threshold
: only include target Jobs with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching target Jobs are shown for each Job. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently
support 3 types of filters:
- Custom Property filter: filter out all target Jobs for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all target Jobs for which the Custom Property is not equal to the Custom Property of the Job.
- Custom Property is in
filter: filter out all target Jobs for which the
list
Custom Property does not contain the Custom Property of the Job.
Matching target Jobs for Jobs explained
Provides detailed analysis of the most relevant Jobs to which Employees in a Job can be moved based on Job Skill requirements for each Job of the organization, including Skill-level comparisons. This helps identify potential career paths for Employees currently in specific Jobs.View Matching target Jobs for Jobs explained export details
View Matching target Jobs for Jobs explained export details
Field name | Field description |
---|---|
job_id | The external ID of the Job. |
target_job_id | The external ID of the target Job to which employees in the Job can be moved based on Job Skill requirements. |
skill_id | Universally unique ID of the Skill required by the target Job. |
status | Can be “missing” or “present”. If “missing”, the Skill is required by the target Job, but is missing from the Job. |
adjacent_skill_id | If status is “present”, this field indicates the universally unique Skill ID of the Skill adjacent to the required Skill. |
adjacency_score | The adjacency score between the Skill and the adjacent Skill, expressed as a number between 0 and 1. |
- Set the
score_min_threshold
: only include target Jobs with a match score above this threshold, higher values mean stricter matching. When not set, the default is used. - Set the
max_matches_per_entity
: limit how many matching target Jobs are shown for each Job. Higher numbers give you more options but significantly increases data size. When not set, the default limit is used. - Filters: add custom filters on Custom Properties to further refine the results. We currently
support 3 types of filters:
- Custom Property filter: filter out all target Jobs for which the given Custom Property does not match the condition defined by an operator and a value.
- Custom Property equal filter: filter out all target Jobs for which the Custom Property is not equal to the Custom Property of the Job.
- Custom Property is in
filter: filter out all target Jobs for which the
list
Custom Property does not contain the Custom Property of the Job.
Market Info
Shows the configuration of peer groups and their member companies.View Market Info export details
View Market Info export details
Field name | Field description |
---|---|
peer_group | The name of the peer group in TechWolf. |
company | The name of the company within the peer group. |
Market Skill Profiles (Market to Skill)
Shows the Skills required by companies in different peer groups for each Job.View Market Skill Profiles export details
View Market Skill Profiles export details
Field name | Field description |
---|---|
job_id | The external ID of the Job with the Skill in TechWolf. |
peer_group | The name of the peer group in TechWolf. |
skill_id | The external ID of the Skill in TechWolf. |
skill | The name of the Skill in TechWolf. |
Market Comparison
Shows alignment scores between Jobs and their peer group market Skill Profiles, in both directions.View Market Comparison export details
View Market Comparison export details
Field name | Field description |
---|---|
job_id | The external ID of the Job in TechWolf. |
peer_group | The name of the peer group in TechWolf. |
job_to_peer_score | The Job to market alignment score, indicating how well the Job Skill Profile covers the Skill requirements of the peer Skill Profile. |
peer_to_job_score | The market to Job alignment score, indicating how well the peer Skill Profile covers the Skill requirements of the Job Skill Profile. |
Market Comparison Explained
Provides detailed analysis of alignment between Jobs and peer group Skill Profiles, including Skill-level comparisons.View Market Comparison Explained export details
View Market Comparison Explained export details
Field name | Field description |
---|---|
job_id | The external ID of the Job in TechWolf. |
peer_group | The name of the peer group in TechWolf. |
skill_id | The external ID of a Skill in TechWolf, that is present in the Job Skill Profile and/or peer Skill profile. |
skill_status | The current status of the Skill in the profile (e.g., “literal_overlap”, “peer_skill_covered_by_adjacent_job_skill”, “job_skill_covered_by_adjacent_peer_skill”, “peer_skill_missing_in_job_profile”, “job_skill_missing_in_peer_profile”). Indicates whether the Skill is present in both the Job and peer Skill Profile, sufficiently covered by an adjacent Skill, or missing in one of the Skill Profiles. |
job_adjacent_skill_id | The external ID of the most similar adjacent Skill in the Job Skill Profile. |
peer_adjacent_skill_id | The external ID of the most similar adjacent Skill in the peer Skill Profile. |
job_adjacency_score | The adjacency score between the Skill and the adjacent Job Skill. |
peer_adjacency_score | The adjacency score between the Skill and the adjacent peer Skill. |
Supported output locations
S3
We support the use of Amazon S3 buckets as the location the above-mentioned output integrations can be shared. These buckets are owned and managed by TechWolf, but will be made accessible to you to fetch the export files. Export output files will be located on your bucket, namedtechwolf-X
(with ‘X’
being your company name or abbreviation), under the output/exports
directory.
The names of the files can be configured per file type, but the names must
always contain the date at which they were created in one of the supported date
formats. For compatibility reasons, names cannot contain semicolons (’:’) or
periods (’.’).
Private SFTP server
We also support the use of a private SFTP server to share the above-mentioned output integrations. You are free to set up and manage an SFTP server on your end, and you may specify the destinition folder where the integration files should be stored. To establish the connection with your SFTP server, please provide the following details:- Host (servername or IP address)
- Username for authentication
- Password authentication: You provide the password associated with the specified username.
- Key-based authentication: We will generate and store a private SSH key securely within our system and provide you with the corresponding public SSH key. You will need to install this public key on your SFTP server (e.g., in the authorized_keys file) to enable access.
Encryption
The exports can be PGP (Pretty Good Privacy) encrypted. To enable this, provide your TechWolf representative with the public key and passphrase.Standard export relation diagram
The diagram below shows the relations between all standard exports. In this diagram, `Internal Mobility (Explained) serves as the umbrella term for:Internal Mobility (Explained)
Matching Employees for Job (Explained)
Matching Jobs for Employee (Explained)