Skip to main content

Vacaturedetails

NL EN

Bijgewerkt 22 april 2026

GET /api/v1/vacancies/{slug}
curl -X GET \
  "https://app.recruitsome.com/api/v1/vacancies/{slug}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/vacancies/{slug}', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Accept': 'application/json',
  },
});

const data = await response.json();
console.log(data);
use Illuminate\Support\Facades\Http;

$response = Http::withToken('YOUR_API_KEY')
    ->acceptJson()
    ->get('https://app.recruitsome.com/api/v1/vacancies/{slug}');

$data = $response->json();

Vacaturedetails

Haal volledige details op voor een specifieke vacaturepublicatie.

Endpoint

GET /api/v1/vacancies/{slug}

Padparameters

ParameterTypeBeschrijving
slugstringDe publicatie-slug (URL-vriendelijke identifier)

Queryparameters

ParameterTypeStandaardBeschrijving
languagestring-ISO 639-1-taalcode (bijv. nl, en). Stelt de locale in voor vertaalde velden zoals opleidingsniveaus, functietypes en afdelingsnamen.
include_compensationbooleanfalseSalarisdetails meenemen
include_mediabooleantrueHeaderafbeelding en media-URL's meenemen
include_company_namebooleanfalseBedrijfsnaam opnemen in het company_location-object (opt-in vanwege privacy)

Antwoordvelden

Het detail-endpoint retourneert de volgende structuur:

VeldTypeBeschrijving
idintegerUniek vacaturepublicatie-ID
slugstringURL-vriendelijke identifier
titlestringVacaturetitel
summarystringKorte beschrijving (HTML)
languagestringTaalcode (ISO 639-1)
published_atstringISO 8601 publicatiedatum
ends_atstring\nullISO 8601 vervaldatum
views_countintegerAantal keer bekeken (wordt bij elk verzoek opgehoogd)
header_imageobject\nullHeader-afbeelding-URL's in meerdere formaten (Legacy, gekoppeld aan 'default' crop)
imagesobjectOverzicht van alle geconfigureerde afbeeldingscrops (gegroepeerd op configuratie-ID)
job_descriptionstringVolledige functiebeschrijving (HTML)
job_requirementsstringFunctie-eisen (HTML)
job_offerstringWat het bedrijf biedt (HTML)
company_descriptionstring\nullBedrijfsbeschrijving in de taal van de vacature (valt terug op de eerst beschikbare taal)
locationobject\nullLocatiegegevens (kantoor-/vestigingslocatie)
company_locationobject\nullBedrijfslocatiegegevens (daadwerkelijke werklocatie, voor uitzendbureaus)
departmentobject\nullAfdelingsgegevens
hiring_managerobject\nullInformatie over de hiring manager
education_levelsarrayVereiste opleidingsniveaus
job_typesarrayDienstverbandtypen
experience_levelsarrayErvarings-/senioriteitsniveaus (bijv. Junior, Medior, Senior, Lead)
work_arrangementobject\nullWerkmodel: op locatie, hybride of remote
tagsarrayFunctiecategorietags (hoofd- en subcategorieën)
language_proficienciesarrayVereiste taalvaardigheden
application_urlstringURL om te solliciteren op deze functie
metadataobjectAanvullende vacaturemetadata
compensationobjectBeloningsgegevens (alleen wanneer include_compensation=true)

Objectstructuren

Images Object (Nieuw)

Retourneert een overzicht van alle geconfigureerde afbeeldingscrops. De 'default'-sleutel komt overeen met de legacy header_image-URL.

{

"default": {

"url": "https://...",

"width": 1200,

"height": 675,

"mime_type": "image/jpeg"

},

"narrow_casting": {

"url": "https://...",

"width": 1080,

"height": 1920,

"mime_type": "image/jpeg"

}

}

Header Image Object (Legacy)

{

"small": "https://...",

"medium": "https://...",

"large": "https://...",

"xlarge": "https://...",

"original": "https://..."

}

Location Object

{

"id": 123,

"name": "Amsterdam Office",

"city": "Amsterdam",

"country_code": "NL",

"country_name": "Netherlands"

}

Company Location Object

De werklocatie voor uitzendbureaus. Retourneert null voor niet-uitzendbureau-tenants of wanneer er geen bedrijfslocatie is toegewezen.

{

"id": 789,

"name": "Shell Pernis Refinery",

"city": "Rotterdam",

"country_code": "NL",

"country_name": "Netherlands",

"company_name": "Shell Nederland B.V."

}

Het veld company_name wordt alleen meegestuurd wanneer include_company_name=true wordt meegegeven. Dit is opt-in om te voorkomen dat per ongeluk wordt onthuld voor welk opdrachtgeversbedrijf een uitzendbureau werft.

Department Object

{

"id": 456,

"name": "Engineering Department"

}

Hiring Manager Object

{

"given_name": "John",

"family_name": "Doe",

"full_name": "John Doe",

"job_title": "Engineering Manager",

"email": "[email protected]",

"avatar": {

"small": "https://...",

"medium": "https://...",

"large": "https://...",

"xlarge": "https://...",

"original": "https://..."

}

}

Education Level Object

{

"id": 1,

"name": "Bachelor"

}

Job Type Object

{

"id": 1,

"name": "Full-time"

}

Experience Level Object

{

"id": 3,

"name": "Senior"

}

Mogelijke waarden: Junior, Medior, Senior, Lead. Retourneert een lege array wanneer er geen ervaringsniveau is toegewezen.

Work Arrangement Object

{

"value": "Hybrid remote",

"label": "Hybride"

}

Het veld value bevat de canonieke identifier (on-site, Fully remote, Hybrid remote). Het label is de gelokaliseerde weergavenaam (respecteert de language queryparameter).

Tag Object

{

"id": 5,

"name": "Software Engineer",

"type": "sub",

"parent_id": 1

}

Het veld type geeft aan of de tag een main-categorie of een sub-categorie is. Hoofdtags hebben parent_id: null.

Language Proficiency Object

{

"language_code": "en",

"speaking_level": "Professional",

"reading_level": "Professional",

"writing_level": "Professional"

}

Metadata Object

{

"status": "active"

}

Compensation Object (wanneer include_compensation=true)

Het compensation-object bevat informatie over salaris, uren en vakantiedagen. De gegevens worden bepaald via een prioriteitsketen:

  • Salaris: uit de eigen velden van de vacature (salary_min_cents, salary_max_cents)
  • Uren: uit de eigen velden van de vacature, met terugval op de gekoppelde arbeidsvoorwaarden (CompanyRemuneration) en vervolgens de bedrijfsstandaarden
  • Vakantiedagen: uit de gekoppelde arbeidsvoorwaarden (CompanyRemuneration), met terugval op de bedrijfsstandaarden

{

"salary": {

"min": 3500,

"max": 5000,

"currency": "EUR",

"period": "monthly"

},

"hours": {

"min_per_week": 32,

"max_per_week": 40

},

"holidays": {

"total_days": 38,

"breakdown": {

"statutory": 20,

"non_statutory": 5,

"adv": 13

}

}

}

Elke sectie wordt weggelaten wanneer er geen gegevens beschikbaar zijn. Een vacature zonder ingesteld salaris bevat bijvoorbeeld geen salary-sleutel in het compensation-object.

Het compensation-object bevat uitsluitend salaris, uren en vakantiedagen. Secundaire arbeidsvoorwaarden zoals pensioen, vakantiegeld, dertiende maand, reiskostenvergoeding, thuiswerkvergoeding en overige arbeidsvoorwaarden worden niet via de API ontsloten.

Voorbeeldverzoek

Basisverzoek

curl -X GET https://api.example.com/api/v1/vacancies/senior-developer-position \

-H "Authorization: Bearer YOUR_API_TOKEN"

Met taal (Nederlands)

curl -X GET "https://api.example.com/api/v1/vacancies/senior-developer-position?language=nl" \

-H "Authorization: Bearer YOUR_API_TOKEN"

Met compensatie

curl -X GET "https://api.example.com/api/v1/vacancies/senior-developer-position?include_compensation=true&language=nl" \

-H "Authorization: Bearer YOUR_API_TOKEN"

Voorbeeldrespons

Zonder compensatie

{

"data": {

"id": 123,

"slug": "senior-developer-position",

"title": "Senior Software Developer",

"summary": "Join our team to build innovative solutions...",

"language": "en",

"published_at": "2024-01-15T09:00:00+00:00",

"ends_at": "2024-02-15T23:59:59+00:00",

"views_count": 42,

"header_image": {

"small": "https://cdn.example.com/images/header-small.jpg",

"medium": "https://cdn.example.com/images/header-medium.jpg",

"large": "https://cdn.example.com/images/header-large.jpg",

"xlarge": "https://cdn.example.com/images/header-xlarge.jpg",

"original": "https://cdn.example.com/images/header.jpg"

},

"images": {

"default": {

"url": "https://cdn.example.com/images/header-large.jpg",

"width": 1200,

"height": 675,

"mime_type": "image/jpeg"

}

},

"job_description": "<h2>About the Role</h2><p>We are looking for a Senior Software Developer...</p>",

"job_requirements": "<h2>Requirements</h2><ul><li>5+ years experience</li><li>PHP expertise</li></ul>",

"job_offer": "<h2>What We Offer</h2><ul><li>Competitive salary</li><li>Great benefits</li></ul>",

"company_description": "<p>We are a leading technology company focused on innovative solutions...</p>",

"location": {

"id": 1,

"name": "Amsterdam Office",

"city": "Amsterdam",

"country_code": "NL",

"country_name": "Netherlands"

},

"company_location": null,

"department": {

"id": 5,

"name": "Engineering"

},

"hiring_manager": {

"given_name": "John",

"family_name": "Doe",

"full_name": "John Doe",

"job_title": "Engineering Manager",

"email": "[email protected]",

"avatar": null

},

"education_levels": [

{

"id": 1,

"name": "Bachelor"

},

{

"id": 2,

"name": "Master"

}

],

"job_types": [

{

"id": 1,

"name": "Full-time"

}

],

"experience_levels": [

{

"id": 3,

"name": "Senior"

}

],

"work_arrangement": {

"value": "Hybrid remote",

"label": "Hybrid"

},

"tags": [

{

"id": 1,

"name": "Engineering",

"type": "main",

"parent_id": null

},

{

"id": 5,

"name": "Software Engineer",

"type": "sub",

"parent_id": 1

}

],

"language_proficiencies": [

{

"language_code": "en",

"speaking_level": "Professional",

"reading_level": "Professional",

"writing_level": "Professional"

}

],

"application_url": "https://careers.example.com/senior-developer-position",

"metadata": {

"status": "active"

}

}

}

Met compensatie

De respons bevat alle bovenstaande velden, plus een compensation-object met de structuur zoals beschreven in de sectie Compensatie-object.

Opmerkingen

  • De views_count wordt bij elk verzoek naar dit endpoint opgehoogd
  • Het veld header_image wordt standaard meegeleverd (stel include_media=false in om het uit te sluiten)
  • Kernrelatievelden (location, company_location, department, hiring_manager) worden altijd meegeleverd, ook wanneer ze null zijn
  • Het veld compensation wordt alleen meegeleverd wanneer include_compensation=true is opgegeven
  • Arrays voor opleidingsniveaus, dienstverbandtypes en tags kunnen leeg zijn als er geen zijn opgegeven
  • Salarisbedragen zijn in de basisvaluta-eenheid (bijv. 3500 = €3.500)
  • Compensatie maakt gebruik van een prioriteitsketen: vacaturevelden → arbeidsvoorwaarden (CompanyRemuneration) → bedrijfsstandaarden
  • Lege compensatiesecties (salaris, uren, vakantiedagen) worden weggelaten uit de response

Lokalisatie

Wanneer de parameter language wordt meegegeven, worden de volgende velden in de opgegeven taal geretourneerd:

  • education_levels[].name - Vertaalde namen van opleidingsniveaus (bijv. "Middelbaar onderwijs" voor Nederlands)
  • job_types[].name - Vertaalde namen van dienstverbandtypes (bijv. "Voltijd" voor Nederlands)
  • department.name - Afdelingsnaam (indien vertalingen beschikbaar zijn)

Als er geen language-parameter wordt meegegeven, retourneert de API waarden in de standaardtaal van de applicatie.