MultiPoster API for Vacatures&co. v1.3 Last updated: 9th of december 2019

Documentation for posting jobs to job boards from Vacatures&co.

All request parameters are sent using the request body in a json format. When the json body has invalid formatting the entire body will be ignored.

The API is REST API and uses token based authentication for authorization purposes.

The base API url is: https://api.vacatures.co/api/mp/v1


1. Authentication

The API uses token based authentication for authorization purposes. These tokens are unique per organisation. So each of your clients must supply you with a token in order for you to post jobs in their name. Do you not have a token yet? Please contact your contact person at Vacatures&co.


The token must be supplied with each request in the X-Authorization HTTP header.


2. Available routes

Action Route Action
GET https://api.vacatures.co/api/mp/v1/jobs Retrieve jobs for the given token Go
POST https://api.vacatures.co/api/mp/v1/jobs Post a job for the client for the given token Go
POST https://api.vacatures.co/api/mp/v1/jobs/check Check input for a job without posting the job Go
GET https://api.vacatures.co/api/mp/v1/jobs/{{uuid}} Get information of a job by the uuid Go
PUT https://api.vacatures.co/api/mp/v1/jobs/{{uuid}} Update information of a job by the uuid Go
DELETE https://api.vacatures.co/api/mp/v1/jobs/{{uuid}} Remove job by the uuid Go

3. Unique fields for Vacatures&co.

Available job boards

Job board id Job board name Job board url
1 Vacatures&co https://vacatures.co

Available segments

Segment group Segment id Segment value
time 1 Fulltime
time 2 Parttime
education 3 Geen opleiding
education 4 Middelbare school
education 5 LBO
education 6 MBO
education 7 HBO
education 8 WO
education 9 Phd
career_level 10 Student
career_level 11 Junior (starter)
career_level 12 Medior (mid-career)
career_level 13 Senior (ervaren)
career_level 14 Directie / Management
contract 15 Bijbaan
contract 16 Stage
contract 17 Tijdelijk / Project / ZZP
contract 18 Traineeship
contract 19 Vakantiebaan
contract 20 Vast
category 21 Administratief en Secretarieel
category 22 Agrarisch, natuur en milieu
category 23 Automotive
category 24 Beauty en wellness
category 25 Bouw en Installatie
category 26 Chemie en petrochemie
category 27 Communicatie en journalistiek
category 28 Cultureel en creatief
category 29 Consultancy en advies
category 30 Design en ontwikkeling
category 31 Detailhandel
category 32 Delftstofwinning
category 33 Dieren en dierverzorging
category 34 Energie, gas en water
category 35 Engineering
category 36 Entertainment en Media
category 37 Facilitair en schoonmaak
category 38 Farmacie
category 39 Finance
category 40 FMCG
category 41 Horeca
category 42 HR, P&O en recruitment
category 43 ICT
category 44 Juridisch
category 45 Klantenservice en callcenter
category 46 Kwaliteit
category 47 Laboratorium
category 48 Logistiek
category 49 Maatschappelijk werk
category 50 Management
category 51 Marketing
category 52 Maritiem en Offshore
category 53 Metaal
category 54 Mode, textiel en cosmetica
category 55 Onderwijs, opleiding en coaching
category 56 Onderzoek en wetenschap
category 57 Overheid en non-profit
category 58 Productie en ambacht
category 59 Sales en inkoop
category 60 Sport en recreatie
category 61 Taal
category 62 Techniek
category 63 Thuiswerk
category 64 Toerisme
category 65 Vastgoed en makelaardij
category 66 Veiligheid en Defensie
category 67 Vervoer
category 68 Zorg en medisch

Available products

Product id Product name
1 Gratis plaatsing

Available payment types

Payment id Payment name
29 Bancontact
24 Contract
30 Creditcard
28 Giropay
26 iDeal
1 Op factuur
27 PayPal
25 Slot
2 Via credits

4. Job details

Fields

Required Field name Field key Field type Field example value More
* Title title string Fullstack webdeveloper
* Company / Organisation organisation_name string EXENZO
Image image base64 iVBORw0KGgoAAAANSUhEUg....AElFTkSuQmCC
* Text type text_type string own
* Text own text_own string <p>Hello world</p> HTML is supported. The API will strip all invalid tags.
Remote function remote boolean false For jobs that have no fixed location, use remote true. The location of the job will be displayed nation wide.
* City / Location name city string Breda Required if remote is false or null
* Postal code postal_code string Breda Required if remote is false or null
* Country code country_code string NL Country code, ISO Alpha-2
Lat lat decimal You can leave thise empty. Based on the city/postcode the API will generate a lat and lon.
Lon lon decimal You can leave thise empty. Based on the city/postcode the API will generate a lat and lon.
* Apply url apply_url string The url where the candidate can apply for the job. Is required when apply_email is empty.
* Apply email apply_email string apply@exenzo.com The recruiters email to send the applicant to when applied for the job. Is required when apply_url is empty.
Custom image pixel pixel_url string Pixels are for tracking campaign results only. Storing cookies is not allowed.
* Segments segments array
[
 "time": [1],
 "education": [3],
 "career_level": [10],
 "contract": [15],
 "category": [21],
]
Each job board can have different rules per segment group. See available segments.
* Job boards job_boards array
[1]
You can post a job to multiple job boards. Choose the job board id to where you want to post the job. See available job boards.
* Payment type payment_type_id integer 29 Choose the payment type. For some tokens, a default payment type is already assigned to the token. For example, credits is than the only payment option. See available payment types.
* Product type product_id integer 1 Choose the job product.
External reference external_reference string If you have a reference for the job.

5. API in action

GET https://api.vacatures.co/api/mp/v1/jobs

Headers

Content-Type application/json
token your_provided_token

Response

{
    "total": 31,
    "data": [
        {
            // Job collection 1
            ...
        },
            ...
        {

            // Job collection 10
            ...
        }
    ],
    "lastPage": 4,
    "currentPage": 1
}

POST https://api.vacatures.co/api/mp/v1/jobs
POST https://api.vacatures.co/api/mp/v1/jobs/check

Headers

Content-Type application/json
token your_provided_token

Body

{
	"title": "Job title",
	"organisation_name": "EXENZO",
	"product_id": 1,
	"payment_type_id": 2,
	"text_type": "platform",
	"text_own": "

Full HTML

", "text_platform": { "job": "

Job descritpion

", "function": "

Function requirements

", "company": "

Company information

", "offer": "

Job offer

" }, "remote": false, "city": "Breda", "postal_code": "4811 WP", "country_code": "NL", "apply_email": "apply@exenzo.com", "recruiter_phone_country": "", "recruiter_phone": "", "job_boards": [ 1, 2 ], "hours_max": 24, "hours_min": 0, "salary_year": 55000, "segments": { "time": [1], "education": [6,7], "career_level": [9,10], "contract": [13,14], "industry": [23] } }


Response

{
    "data": {
        "uuid": "f9ba6b60-906d-43db-aadd-4856083f0cb9",
        // Job collection
        ...
    },
    "message": "Job successfully created."
}

In case of https://api.vacatures.co/api/mp/v1/jobs/check you will not receive the job collection back. It will however check the input of the request and will give the same error responses as the https://api.vacatures.co/api/mp/v1/jobs route in case of errors. Ideal for debugging and testing the creation of jobs with the API.

GET https://api.vacatures.co/api/mp/v1/jobs/{{uuid}}

Headers

Content-Type application/json
token your_provided_token

Response

{
    "data": {
        "uuid": "f9ba6b60-906d-43db-aadd-4856083f0cb9",
        // Job collection
        ...
    }
}

PUT https://api.vacatures.co/api/mp/v1/jobs/{{uuid}}

Headers

Content-Type application/json
token your_provided_token

Body

{
	"title": "Job title",
	"organisation_name": "EXENZO",
	"text_type": "platform",
	"text_own": "

Full HTML

", "text_platform": { "job": "

Job descritpion

", "function": "

Function requirements

", "company": "

Company information

", "offer": "

Job offer

" }, "remote": false, "city": "Breda", "postal_code": "4811 WP", "country_code": "NL", "apply_email": "apply@exenzo.com", "recruiter_phone_country": "", "recruiter_phone": "", "hours_max": 24, "hours_min": 0, "salary_year": 55000, "segments": { "time": [1], "education": [6,7], "career_level": [9,10], "contract": [13,14], "industry": [23] } }


Response

{
    "data": {
        "uuid": "f9ba6b60-906d-43db-aadd-4856083f0cb9",
        // Job collection
        ...
    },
    "message": "Job successfully updated."
}

DELETE https://api.vacatures.co/api/mp/v1/jobs/{{uuid}}

Headers

Content-Type application/json
token your_provided_token

Response

{
    "message": "Job successfully deleted."
}