VacancyAnalysis

The VacancyAnalysis endpoint is designed to assist you in generating inputs required for building a vacancy_application_flow. This endpoint provides a list of skills associated with a particular vacancy and denotes their relevance.

In the sandbox environment, synchronous vacancy analysis is permitted. This implies that our system will hold the response to the POST request until the flow has been completely generated.

This feature is incredibly useful for development and testing purposes as it negates the need for implementing full webhook handling. To access this feature, append the query parameter ?sync=true to the POST request.

This feature is not available in the production environment.

Endpoints

  • GET /vacancy-analyses - Retrieves a list of all vacancy analyses.

  • GET /vacancy-analyses/{id} - Retrieves a specific vacancy analysis by ID.

  • POST /vacancy-analyses - Generates a new vacancy analysis.

  • DELETE /vacancy-analyses/{id} - Deletes a specific vacancy analysis by ID.

Attributes

Field
Type
Description

inputText

String

The vacancy description to analyze

analyzeResult

Object

The result of the vacancy analysis. See AnalyzedResult attributes for details

HTTP Methods

Field
GET
POST

inputText

X

X

analyzeResult

X

Required Fields for Creation (POST)

Field
Type
Example value

inputText

String

"Example Text"

AnalyzedResult attributes

Field
Type
Description

hardSkills

Array of Objects

A list of hard skills extrapolated from the vacancy description. Each object in the list has the keys skill, rating, reasoning, and writtenAsRequirement.

softSkills

Array of Objects

A list of soft skills extrapolated from the vacancy description. Each object in the list has the keys skill, rating, reasoning, and writtenAsRequirement.

certifications

Array of Objects

A list of certifications extrapolated from the vacancy description. Each object in the list has the keys required, reasoning, certification, and writtenAsRequirement.

languageRequirements

Array of Objects

A list of language requirements extrapolated from the vacancy description. Each object in the list has the keys language, required, reasoning, proficiency, and writtenAsRequirement.

educationalQualifications

Array of Objects

A list of educational qualifications extrapolated from the vacancy description. Each object in the list has the keys qualification, required, reasoning, and writtenAsRequirement.

createdAt

Timestamp

The timestamp when the vacancy analysis was created.

updatedAt

Timestamp

The timestamp when the vacancy analysis was last updated.

suggested

Array of Objects

Suggested input for FlowGeneration.

FAQ

What is the "suggested" key?

The "suggested" key contains recommendations for the requirements that we advise you to use as input for the FlowGeneration. If you want to keep the flow as short as possible we suggest only including the requirements with the "active":true flag. These recommendations are calculated based on our experience and the ratings determined by the AI.

What does a "rating" mean in the skills section?

The "rating" is a heuristic score representing the relevance or importance of a particular skill for the vacancy, as interpreted from the description. It is an integer value ranging from 0 to 7.

What is the difference between "hardSkills" and "softSkills"?

"hardSkills" are specific, teachable abilities that can be defined and measured, such as the ability to use a certain software, tool, or carry out a specific procedure. "softSkills", on the other hand, are less tangible and harder to quantify, such as teamwork, communication skills, or flexibility.

What are the educational qualifications?

These are academic qualifications extrapolated from the vacancy description. If no qualifications are explicitly mentioned, this list will be empty.

Why are there booleans in "certifications" and "languageRequirements"?

The required field in these sections indicates whether the language or certification is explicitly required in the vacancy description according to the analysis.

Limitations and Considerations

This API endpoint uses Natural Language Processing (NLP) techniques to understand and extrapolate information from vacancy descriptions. Due to the nature of NLP, there may be some inaccuracies, especially if the vacancy description is vague, poorly worded, or lacks detail.

Example POST body

{
    "data": {
        "type": "vacancyAnalyses",
        "attributes": {
            "inputText": "some vacancy description"
        }
    }
}

Example Analyses result

{
    "data": {
        "id": "3f409ab1-04b7-42d2-b0f0-607704a75b59",
        "type": "vacancyAnalyses",
        "attributes": {
            "createdAt": "2024-08-05T13:24:58+00:00",
            "updatedAt": "2024-08-05T13:25:15+00:00",
            "inputText": "Vacancy description....",
            "analyzeResult": {
                "location": {
                    "id": "4e4df566-39bd-45c9-a597-78106d9d3ced",
                    "city": "Schiphol",
                    "reasoning": "The job posting explicitly states that the candidate must work at Schiphol",
                    "sessionVariable": "near_schiphol",
                    "writtenAsRequirement": "Must be willing to work at Schiphol",
                    "mustBeNearOrOnSite": true
                },
                "suggested": [
                    {
                        "id": "4e4df566-39bd-45c9-a597-78106d9d3ced",
                        "name": "Must be willing to work at Schiphol",
                        "type": "hardSkill",
                        "active": true,
                        "knockout": true
                    },
                    {
                        "id": "005d001d-6f87-4c3a-bf83-510b7fe60821",
                        "name": "Must have basic proficiency in English.",
                        "type": "hardSkill",
                        "active": true,
                        "knockout": true
                    },
                    {
                        "id": "6fd89c38-9a45-45d3-82cb-b43840a4954b",
                        "name": "Must have a sense of responsibility.",
                        "type": "hardSkill",
                        "active": true,
                        "knockout": true
                    },
                    {
                        "id": "19da1f5e-74ec-40e8-9a54-08a1d7aea529",
                        "name": "Must be communicative.",
                        "type": "hardSkill",
                        "active": true,
                        "knockout": true
                    },
                    {
                        "id": "abf11dc8-e799-4c4a-a324-ab603b93926f",
                        "name": "Must be able to work well in a team.",
                        "type": "softSkill",
                        "active": true,
                        "knockout": false
                    },
                    {
                        "id": "0f015c48-f1c1-47f3-a5ca-93f1463cb0a9",
                        "name": "Must be able to prioritize.",
                        "type": "hardSkill",
                        "active": false,
                        "knockout": false
                    },
                    {
                        "id": "076e5f2b-9ea9-4d6c-9331-e7f06c81f64e",
                        "name": "Must be flexible.",
                        "type": "hardSkill",
                        "active": false,
                        "knockout": false
                    },
                    {
                        "id": "5b7b3a59-14eb-45d6-a1f8-d12e80e0754e",
                        "name": "Must be proactive.",
                        "type": "softSkill",
                        "active": false,
                        "knockout": false
                    }
                ],
                "hardSkills": [
                    {
                        "id": "6fd89c38-9a45-45d3-82cb-b43840a4954b",
                        "skill": "verantwoordelijkheidsgevoel",
                        "rating": 7,
                        "reasoning": "The job posting explicitly states that the candidate must have a sense of responsibility, which is crucial for the role.",
                        "sessionVariable": "verantwoordelijkheidsgevoel",
                        "writtenAsRequirement": "Must have a sense of responsibility."
                    },
                    {
                        "id": "54bb64e7-799f-4f07-943c-435cd81be797",
                        "skill": "teamwork",
                        "rating": 6,
                        "reasoning": "The job posting explicitly states that the candidate must be able to work well in a team, which is important for the role.",
                        "sessionVariable": "teamwork",
                        "writtenAsRequirement": "Must be able to work well in a team."
                    },
                    {
                        "id": "19da1f5e-74ec-40e8-9a54-08a1d7aea529",
                        "skill": "communication",
                        "rating": 6,
                        "reasoning": "The job posting explicitly states that the candidate must be communicative, which is important for the role.",
                        "sessionVariable": "communication",
                        "writtenAsRequirement": "Must be communicative."
                    },
                    {
                        "id": "076e5f2b-9ea9-4d6c-9331-e7f06c81f64e",
                        "skill": "flexibility",
                        "rating": 5,
                        "reasoning": "The job posting explicitly states that the candidate must be flexible, which is important for the role.",
                        "sessionVariable": "flexibility",
                        "writtenAsRequirement": "Must be flexible."
                    },
                    {
                        "id": "0f015c48-f1c1-47f3-a5ca-93f1463cb0a9",
                        "skill": "prioritization",
                        "rating": 5,
                        "reasoning": "The job posting explicitly states that the candidate must be able to prioritize, which is important for the role.",
                        "sessionVariable": "prioritization",
                        "writtenAsRequirement": "Must be able to prioritize."
                    }
                ],
                "softSkills": [
                    {
                        "id": "abf11dc8-e799-4c4a-a324-ab603b93926f",
                        "skill": "teamwork",
                        "rating": 7,
                        "reasoning": "The job posting explicitly states that the candidate must be able to work well in a team, which is crucial for the role.",
                        "sessionVariable": "teamwork",
                        "writtenAsRequirement": "Must be able to work well in a team."
                    },
                    {
                        "id": "47e7ea85-937c-4da0-a0d6-5bea7cd8cc67",
                        "skill": "communication",
                        "rating": 6,
                        "reasoning": "The job posting explicitly states that the candidate must be communicative, which is important for the role.",
                        "sessionVariable": "communication",
                        "writtenAsRequirement": "Must be communicative."
                    },
                    {
                        "id": "1a483186-d70c-432b-a0b2-62454aa25f41",
                        "skill": "flexibility",
                        "rating": 5,
                        "reasoning": "The job posting explicitly states that the candidate must be flexible, which is important for the role.",
                        "sessionVariable": "flexibility",
                        "writtenAsRequirement": "Must be flexible."
                    },
                    {
                        "id": "5b7b3a59-14eb-45d6-a1f8-d12e80e0754e",
                        "skill": "proactiveness",
                        "rating": 5,
                        "reasoning": "The job posting explicitly states that the candidate must be proactive, which is important for the role.",
                        "sessionVariable": "proactiveness",
                        "writtenAsRequirement": "Must be proactive."
                    }
                ],
                "certifications": [],
                "languageRequirements": [
                    {
                        "id": "005d001d-6f87-4c3a-bf83-510b7fe60821",
                        "rating": 7,
                        "language": "English",
                        "required": true,
                        "reasoning": "The job posting explicitly states that the candidate must be able to 'beheers je de Engelse taal', which translates to 'have basic proficiency in English'.",
                        "proficiency": "basic",
                        "sessionVariable": "basic_english",
                        "writtenAsRequirement": "Must have basic proficiency in English."
                    }
                ],
                "educationalQualifications": []
            },
            "status": "finished"
        }
    },
    "meta": {}
}
     

OpenAPI

Create a AnalyzeVacancyResult

post
Authorizations
Body
Responses
422

inputText can not be nil

No content

post
POST /public/v2/vacancy-analyses HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Content-Type: application/vnd.api+json
Accept: */*
Content-Length: 70

{
  "data": {
    "id": "text",
    "type": "text",
    "attributes": {
      "inputText": "text"
    }
  }
}
422

inputText can not be nil

No content

Retrieve all VacancyAnalyses

get
Authorizations
Responses
200

vacancy_analyses found

application/vnd.api+json
get
GET /public/v2/vacancy-analyses HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Accept: */*
{
  "data": [
    {
      "id": "5a63c9e7-5a46-4562-b52b-3ed472ccb9ad",
      "type": "vacancyAnalyses",
      "attributes": {
        "createdAt": "2024-08-20T10:45:13+00:00",
        "updatedAt": "2024-08-20T10:45:13+00:00",
        "inputText": "Laboriosam vero explicabo dignissimos commodi reiciendis accusamus.",
        "analyzeResult": null,
        "status": "created"
      }
    },
    {
      "id": "8696b493-8ee2-43f4-ae63-c00ec541f293",
      "type": "vacancyAnalyses",
      "attributes": {
        "createdAt": "2024-08-20T10:45:13+00:00",
        "updatedAt": "2024-08-20T10:45:13+00:00",
        "inputText": "Cumque nobis nulla neque ipsam maiores.",
        "analyzeResult": null,
        "status": "created"
      }
    },
    {
      "id": "08193aa7-2b3c-4b1b-b914-6903207af955",
      "type": "vacancyAnalyses",
      "attributes": {
        "createdAt": "2024-08-20T10:45:13+00:00",
        "updatedAt": "2024-08-20T10:45:13+00:00",
        "inputText": "Iure blanditiis ab aperiam quo error voluptatibus.",
        "analyzeResult": null,
        "status": "created"
      }
    }
  ],
  "meta": {
    "total": 3,
    "totalUnfiltered": 3,
    "currentSize": 25,
    "currentPage": 1,
    "maxPage": 1
  }
}

Retrieve a single vacancy_analysis

get
Authorizations
Path parameters
idstringRequired
Responses
200

vacancy_analysis found

application/vnd.api+json
get
GET /public/v2/vacancy-analyses/{id} HTTP/1.1
Host: {defaulthost}
Authorization: YOUR_API_KEY
Accept: */*
{
  "data": {
    "id": "f20bc16e-1ec1-4dbc-9de5-744e380b2921",
    "type": "vacancyAnalyses",
    "attributes": {
      "createdAt": "2024-08-20T10:45:13+00:00",
      "updatedAt": "2024-08-20T10:45:13+00:00",
      "inputText": "Harum error veritatis commodi similique rerum voluptates.",
      "analyzeResult": null,
      "status": "created"
    }
  },
  "meta": {}
}

Last updated