curl --request POST \
  --url https://{tenant_name}.{region}.techwolf.ai/vacanies/search \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "text": "Software Engineer",
  "location": {
    "lat": 51.0216707,
    "lng": 3.6887328
  },
  "filters": [
    {
      "filter": "max_geo_distance",
      "max_geo_distance": 50
    },
    {
      "filter": "custom_property",
      "property_name": "direct_manager",
      "property_value": "John Doe"
    },
    {
      "filter": "custom_property_is_in_list",
      "property_name": "drivers_license",
      "possible_values": [
        "C",
        "CE"
      ]
    },
    {
      "filter": "custom_property_contains_element",
      "property_name": "industries",
      "property_value": "electronics"
    },
    {
      "filter": "external_id_is_in_list",
      "external_ids": [
        "external_id_1",
        "external_id_2",
        "external_id_3"
      ]
    },
    {
      "filter": "is_active",
      "is_active": true
    },
    {
      "filter": "exclude_match_feedback",
      "search_for": "employee_id",
      "exclude_match_feedback": "thumbs_up"
    }
  ],
  "weights": [
    {
      "weight": "max_geo_distance",
      "value": 0.1,
      "full_score_distance": 5,
      "zero_score_distance": 15
    },
    {
      "weight": "custom_property",
      "property_name": "direct_manager",
      "property_value": "John Doe",
      "operator": "eq",
      "value": 0.04
    },
    {
      "weight": "custom_property",
      "property_name": "yearly_salary",
      "property_value": 45000,
      "operator": "gte",
      "value": 0.04
    }
  ]
}'
{
  "results": [
    {
      "vacancy_id": "vuid-123",
      "score": 0.82
    },
    {
      "vacancy_id": "vuid-456",
      "score": 0.74
    },
    {
      "vacancy_id": "vuid-789",
      "score": 0.56
    }
  ]
}

Authorizations

Authorization
string
header
required

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

Query Parameters

limit
integer
default:
10

The maximal number of results returned.

Required range: 1 < x < 100
offset
integer
default:
0

The rank offset for returned matches, return matches starting from rank offset up to rank offset+limit.

Required range: x > 0
score_min_threshold
number
default:
0.5

The minimum score of the results. Due to approximations for fast result-delivery, there might be records with a score slightly lower than the minimum.

Required range: 0 < x < 1
language
enum<string>
default:
auto

The language of the input text. auto will automatically detect the language used.

Available options:
auto,
nl,
fr,
en,
de
match_type
enum<string>
default:
literal

The type of matching. literal will search text-based. skills will use the Skills extracted from the input to find the best-matching Vacancies.

Available options:
literal,
skills

Body

application/json

Request structure for free text search.

text
string
required

Input text.

filters
object[]
required
weights
object[]
required
location
object

A geographic location, expressed in latitude and longitude. This can represent a home address, an office location... Each entity is limited to having a single location. To get the latitude and longitude for a given address, you can use the Google Maps Geocoding API or a predefined lookup table (for example by zip code). If location is present in matching or filters, it will act as an override for geo-distance calculations.

Response

200
application/json
OK
results
object[]
required

List of search results.