Skip to main content
Export top matching Vacancies for Employees.
curl --request POST \
  --url https://{tenant_name}.{region}.techwolf.ai/export/employees/matching_vacancies \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "filters": [
    {
      "filter": "max_geo_distance",
      "max_geo_distance": 50
    },
    {
      "filter": "multi_max_geo_distances",
      "multi_max_geo_distances": [
        {
          "max_geo_distance": 20,
          "location": {
            "lat": 51.34,
            "lng": 3.15
          }
        },
        {
          "max_geo_distance": 20,
          "location": {
            "country": "BE",
            "postal_code": 9000
          }
        }
      ]
    },
    {
      "filter": "language",
      "max_overqualification": 2,
      "max_underqualification": 1
    },
    {
      "filter": "last_updated",
      "value": "2022-01-01",
      "operator": "lt"
    },
    {
      "filter": "custom_property_equal",
      "from_entity_property": "desired_wage",
      "to_entity_property": "wage"
    },
    {
      "filter": "custom_property",
      "property_name": "direct_manager",
      "property_value": "John Doe"
    },
    {
      "filter": "custom_property_is_in",
      "from_entity_property": "required_drivers_license",
      "to_entity_property": "drivers_licenses"
    },
    {
      "filter": "custom_property_is_in_list",
      "property_name": "drivers_license",
      "possible_values": [
        "C",
        "CE"
      ]
    },
    {
      "filter": "custom_property_contains",
      "from_entity_property": "shift_regime_codes",
      "to_entity_property": "desired_regime"
    },
    {
      "filter": "custom_property_list_overlap",
      "from_entity_property": "desired_industries",
      "to_entity_property": "industries"
    },
    {
      "filter": "custom_property_contains_element",
      "property_name": "industries",
      "property_value": "electronics"
    },
    {
      "filter": "external_id_is_in_list",
      "external_ids": [
        "c350500-eb84-42dc-a79f-5e7b1fe897b7",
        "b450500-eb84-42dc-a79f-5e7b1fe897c8"
      ]
    }
  ],
  "weights": [
    {
      "weight": "skills_match",
      "value": 1
    },
    {
      "weight": "desired_functions",
      "value": 0.03
    },
    {
      "weight": "geo_distance",
      "value": 0.1,
      "full_score_distance": 5,
      "zero_score_distance": 50
    },
    {
      "weight": "language",
      "value": 0.1,
      "max_overqualification": 2,
      "max_underqualification": 3
    },
    {
      "weight": "custom_property",
      "value": 0.04,
      "property_name": "yearly_salary",
      "operator": "gte",
      "property_value": 45000
    },
    {
      "weight": "custom_property_is_in",
      "value": 0.06,
      "from_entity_property": "desired_work_regime",
      "to_entity_property": "offered_work_regimes"
    },
    {
      "weight": "custom_property_is_in_list",
      "value": 0.05,
      "property_name": "region",
      "possible_values": [
        "Flanders",
        "Wallonia"
      ]
    },
    {
      "weight": "custom_property_contains",
      "value": 0.07,
      "from_entity_property": "sectors",
      "to_entity_property": "desired_sector"
    },
    {
      "weight": "custom_property_contains_element",
      "value": 0.04,
      "property_name": "industries",
      "property_value": [
        "Electronics",
        "Aviation"
      ]
    },
    {
      "weight": "custom_property_list_overlap",
      "value": 0.04,
      "from_entity_property": "desired_industries",
      "to_entity_property": "industries"
    }
  ],
  "limit": 10,
  "match_limit_per_entity": 10,
  "score_min_threshold": 0.7,
  "starting_after": "a3903505-eb84-42dc-a79f-5e7b1fe897b7"
}
'
{
  "has_next": true,
  "next_starting_after": "a3903505-eb84-42dc-a79f-5e7b1fe897b7",
  "records": [
    {
      "employee_id": "employee_1_id",
      "matches": [
        {
          "vacancy_id": "vacancy_1_id",
          "score": 0.87657
        },
        {
          "vacancy_id": "vacancy_2_id",
          "score": 0.82341
        }
      ]
    }
  ]
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Query Parameters

response_format
enum<string>
default:simple

If set to explained, the response will include an explanation of the match.

Available options:
simple,
explained
Example:

"explained"

external_vendor
enum<string>

The external vendor vocabulary you want to see the Skills displayed in. This will only work for vendors that are activated on your tenant.

Available options:
workday,
sap_attribute_library
Example:

"workday"

Body

application/json

List of weights to be applied during matching

filters
(max_geo_distance · object | multi_max_geo_distances · object | language · object | last_updated · object | custom_property_equal · object | custom_property · object | custom_property_is_in · object | custom_property_is_in_list · object | custom_property_contains · object | custom_property_contains_element · object | custom_property_list_overlap · object | external_id_is_in_list · object | exclude_match_feedback · object)[]
required
Example:
[
  {
    "filter": "max_geo_distance",
    "max_geo_distance": 50
  },
  {
    "filter": "multi_max_geo_distances",
    "multi_max_geo_distances": [
      {
        "max_geo_distance": 20,
        "location": { "lat": 51.34, "lng": 3.15 }
      },
      {
        "max_geo_distance": 20,
        "location": { "country": "BE", "postal_code": 9000 }
      }
    ]
  },
  {
    "filter": "language",
    "max_overqualification": 2,
    "max_underqualification": 1
  },
  {
    "filter": "last_updated",
    "value": "2022-01-01",
    "operator": "lt"
  },
  {
    "filter": "custom_property_equal",
    "from_entity_property": "desired_wage",
    "to_entity_property": "wage"
  },
  {
    "filter": "custom_property",
    "property_name": "direct_manager",
    "property_value": "John Doe"
  },
  {
    "filter": "custom_property_is_in",
    "from_entity_property": "required_drivers_license",
    "to_entity_property": "drivers_licenses"
  },
  {
    "filter": "custom_property_is_in_list",
    "property_name": "drivers_license",
    "possible_values": ["C", "CE"]
  },
  {
    "filter": "custom_property_contains",
    "from_entity_property": "shift_regime_codes",
    "to_entity_property": "desired_regime"
  },
  {
    "filter": "custom_property_list_overlap",
    "from_entity_property": "desired_industries",
    "to_entity_property": "industries"
  },
  {
    "filter": "custom_property_contains_element",
    "property_name": "industries",
    "property_value": "electronics"
  },
  {
    "filter": "external_id_is_in_list",
    "external_ids": [
      "c350500-eb84-42dc-a79f-5e7b1fe897b7",
      "b450500-eb84-42dc-a79f-5e7b1fe897c8"
    ]
  }
]
weights
(skills_match · object | desired_functions · object | geo_distance · object | language · object | custom_property · object | custom_property_is_in · object | custom_property_is_in_list · object | custom_property_contains · object | custom_property_contains_element · object | custom_property_list_overlap · object)[]
required
Example:
[
  { "weight": "skills_match", "value": 1 },
  {
    "weight": "desired_functions",
    "value": 0.03
  },
  {
    "weight": "geo_distance",
    "value": 0.1,
    "full_score_distance": 5,
    "zero_score_distance": 50
  },
  {
    "weight": "language",
    "value": 0.1,
    "max_overqualification": 2,
    "max_underqualification": 3
  },
  {
    "weight": "custom_property",
    "value": 0.04,
    "property_name": "yearly_salary",
    "operator": "gte",
    "property_value": 45000
  },
  {
    "weight": "custom_property_is_in",
    "value": 0.06,
    "from_entity_property": "desired_work_regime",
    "to_entity_property": "offered_work_regimes"
  },
  {
    "weight": "custom_property_is_in_list",
    "value": 0.05,
    "property_name": "region",
    "possible_values": ["Flanders", "Wallonia"]
  },
  {
    "weight": "custom_property_contains",
    "value": 0.07,
    "from_entity_property": "sectors",
    "to_entity_property": "desired_sector"
  },
  {
    "weight": "custom_property_contains_element",
    "value": 0.04,
    "property_name": "industries",
    "property_value": ["Electronics", "Aviation"]
  },
  {
    "weight": "custom_property_list_overlap",
    "value": 0.04,
    "from_entity_property": "desired_industries",
    "to_entity_property": "industries"
  }
]
limit
integer
default:10

The maximum number of entities to calculate matches for. This controls how many source entities will be processed for matching calculations.

Required range: 1 <= x <= 50
Example:

10

match_limit_per_entity
integer
default:10

The maximum number of matches to return per entity. This controls how many of the best matching results are returned for each source entity.

Required range: 1 <= x <= 100
Example:

10

score_min_threshold
number<float>
default:0.5

The minimum threshold score to apply to match results. All matches with scores below this threshold will not be returned. Due to approximations for fast result-delivery, there might be records with a score slightly lower than the minimum.

Required range: 0 <= x <= 1
Example:

0.7

starting_after
string<uuid>

The UUID of the entity to start pagination after. This is used for cursor-based pagination to retrieve the next page of results. Leave empty or null to start from the beginning.

Required string length: 1 - 100
Example:

"a3903505-eb84-42dc-a79f-5e7b1fe897b7"

Response

OK

records
Simple · object[]
required

List of match results.

has_next
boolean

True when there is more data after this page.

Example:

true

next_starting_after
string<uuid>

The next starting_after value for pagination.

Required string length: 1 - 100
Example:

"a3903505-eb84-42dc-a79f-5e7b1fe897b7"