Skip to main content

API Referentie

NL EN

Bijgewerkt 15 juni 2026

Volledige referentie voor alle Recruitsome API endpoints. Elk onderdeel linkt naar het bijbehorende artikel met voorbeelden en response bodies.

Base URL

Code
https://app.recruitsome.com/api/v1

Authenticatie

Alle endpoints vereisen Bearer token-authenticatie:

Code
Authorization: Bearer YOUR_API_KEY

Elk endpoint (behalve de health check) vereist ook een specifieke scope op je API sleutel. Deze staat hieronder per endpoint vermeld. Een sleutel zonder de juiste scope krijgt een 403 met de foutcode INSUFFICIENT_SCOPE.

Endpoints

Health Check

GET/health

Verifieer API-authenticatie en tenantcontext

Scope: geen — elke geldige API sleutel

Response:

JSON
{
  "status": "authenticated",
  "tenant": "tenant-id"
}

Gepubliceerde vacatures ophalen

GET/vacancies

Haal een gepagineerde lijst van gepubliceerde vacatures op

Scope: vacancies:read

Query Parameters:

ParameterTypeStandaardBeschrijving
pageinteger1Paginanummer
per_pageinteger20Items per pagina (max: 100)
languagestring-Filter op taalcode
location_idinteger-Filter op locatie-ID
department_idinteger-Filter op afdeling-ID
company_location_id[]array-Filter op bedrijfslocatie-ID's
searchstring-Zoek in titel en samenvatting
job_types[]array-Filter op dienstverband-ID's
experience_levels[]array-Filter op ervaringsniveau-ID's
education_levels[]array-Filter op opleidingsniveau-ID's
tags[]array-Filter op tag-ID's (hoofdtags omvatten automatisch subtags)
sortstringpublished_atSorteerveld: published_at, title, created_at
sort_directionstringdescSorteerrichting: asc of desc
includestring-Aanvullende data meenemen: facets
include_mediabooleanfalseHeaderafbeelding-URL's meenemen
include_compensationbooleanfalseSalarisgegevens meenemen
include_company_namebooleanfalseBedrijfsnaam meenemen

Response: Gepagineerde lijst van vacatures, zie Gepubliceerde vacatures ophalen


Vacaturefacetten ophalen

GET/vacancies/facets

Haal filterfacetten met tellingen op voor vacaturepublicaties

Scope: vacancies:read

Query Parameters: Dezelfde filterparameters als bij het ophalen van vacatures (worden toegepast vóór het tellen)

Response: Facettellingen voor locaties, afdelingen, dienstverbanden, ervaringsniveaus, opleidingsniveaus, tags en talen, zie Vacaturefacetten ophalen


Vacaturedetails ophalen

GET/vacancies/{slug}

Haal volledige informatie op voor een specifieke vacature

Scope: vacancies:read

Path Parameters:

ParameterTypeVerplichtBeschrijving
slugstringJaURL-vriendelijke vacature-identifier

Query Parameters:

ParameterTypeStandaardBeschrijving
languagestring-Stel de taal in voor vertaalde labels in de response
include_compensationbooleanfalseSalarisgegevens meenemen
include_mediabooleanfalseHeaderafbeelding-URL's meenemen
include_company_namebooleanfalseBedrijfsnaam meenemen

Response: Volledige vacaturedetails inclusief de volledige inhoud, zie Vacaturedetails ophalen


Vacature-URL rapporteren

POST/vacancies/{slug}/canonical-url

Rapporteer de canonical publieke URL die je website aan een vacature heeft toegekend

Scope: vacancies:write

Path Parameters:

ParameterTypeVerplichtBeschrijving
slugstringJaDe publication_slug van de vacature

Body:

VeldTypeVerplichtBeschrijving
urlstringJaDe volledige canonical URL op je website. Moet beginnen met https:// (max 2048 tekens) en op het domein van je carrièrewebsite staan

Response: Bevestiging met de opgeslagen URL. Gerapporteerde URL's hebben voorrang op het geconfigureerde URL-patroon, zie Vacature-URL rapporteren


Sollicitatie indienen

POST/applications

Dien een sollicitatie in voor een gepubliceerde vacature

Scope: applications:write — beperkt tot 10 verzoeken per minuut

Body:

VeldTypeVerplichtBeschrijving
vacancystring of integerJaDe slug of het ID van de vacature
candidateobjectJaKandidaatgegevens: given_name, family_name en email zijn verplicht; linkedin_url, mobile_phone en fixed_phone zijn optioneel
documentsobjectNeeOptioneel resume, cover_letter en maximaal 5 additional documenten (base64-gecodeerd)
privacy_policy_acceptedbooleanNeeOf de kandidaat je privacybeleid heeft geaccepteerd
trackingobjectNeeOptioneel ip_address, user_agent en referrer

Response: 201 met de aangemaakte sollicitatie, zie Sollicitatie indienen


Locaties ophalen

GET/locations

Haal een gepagineerde lijst van kantoorlocaties op

Scope: locations:read

Query Parameters:

ParameterTypeStandaardBeschrijving
pageinteger1Paginanummer
per_pageinteger20Items per pagina (max: 100)
languagestring-Stel de taal in voor landnamen in de response
country_codestring-Filter op landcode
searchstring-Zoek in naam, stad en adres
sortstringnameSorteerveld: name, locality, created_at
sort_directionstringascSorteerrichting: asc of desc
include_coordinatesbooleanfalseBreedte- en lengtegraad meenemen
include_vacancy_countbooleanfalseAantal vacatures meenemen

Response: Gepagineerde lijst van locaties met adressen, zie Locaties ophalen


Locatiedetails ophalen

GET/locations/{slug}

Haal volledige informatie op voor een specifieke locatie

Scope: locations:read

Path Parameters:

ParameterTypeVerplichtBeschrijving
slugstringJaURL-vriendelijke locatie-identifier

Query Parameters:

ParameterTypeStandaardBeschrijving
languagestring-Stel de taal in voor landnamen in de response
include_coordinatesbooleanfalseBreedte- en lengtegraad meenemen
include_vacancy_countbooleanfalseAantal vacatures meenemen

Response: Volledige locatiedetails, zie Locatiedetails ophalen


Teamleden ophalen

GET/team

Haal een gepagineerde lijst van actieve teamleden op

Scope: team:read

Query Parameters:

ParameterTypeStandaardBeschrijving
pageinteger1Paginanummer
per_pageinteger20Items per pagina (max: 100)
searchstring-Zoek in naam, e-mailadres en functietitel
job_titlestring-Filter op functietitel
rolestring-Filter op rolnaam
has_avatarbooleanfalseAlleen leden met een avatar
sortstringgiven_nameSorteerveld: given_name, family_name, job_title
sort_directionstringascSorteerrichting: asc of desc
include_phonebooleanfalseTelefoonnummer meenemen
include_rolebooleanfalseRollabel meenemen

Response: Gepagineerde lijst van teamleden met avatars, zie Teamleden ophalen


Teamliddetails ophalen

GET/team/{id}

Haal volledige informatie op voor een specifiek teamlid

Scope: team:read

Path Parameters:

ParameterTypeVerplichtBeschrijving
idintegerJaTeamlid-ID

Query Parameters:

ParameterTypeStandaardBeschrijving
include_phonebooleanfalseTelefoonnummer meenemen
include_rolebooleanfalseRollabel meenemen

Response: Volledige teamliddetails, zie Teamliddetails ophalen


Kandidaten ophalen

GET/candidates

Haal een gepagineerde lijst op van kandidaten die aan een gebruiker zijn gekoppeld

Scope: candidates:read

Query Parameters:

ParameterTypeStandaardBeschrijving
user_idintegerverplichtAlleen kandidaten die aan deze gebruiker zijn gekoppeld worden geretourneerd
emailstring-Filter op e-mailadres (exacte match)
searchstring-Zoek in voornaam, achternaam en e-mailadres
statusstring-Filter op kandidaatstatus
sortstringcreated_atSorteerveld: created_at, first_name, last_name, email
sort_directionstringdescSorteerrichting: asc of desc
per_pageinteger20Items per pagina (max: 100)

Response: Gepagineerde lijst van kandidaten, zie Kandidaten ophalen


Kandidaat aanmaken

POST/candidates

Maak een kandidaat aan via cv-upload (asynchroon)

Scope: candidates:write — beperkt tot 10 verzoeken per minuut

Body:

VeldTypeVerplichtBeschrijving
user_idintegerJaDe gebruiker waaraan de kandidaat wordt gekoppeld
resumeobjectJaHet cv: filename, content (base64-gecodeerd) en mime_type (PDF, DOC of DOCX, max 10 MB)
create_intakebooleanNeeMaak ook een intake aan voor de kandidaat

Response: 202 met een processing_id. De kandidaat wordt op de achtergrond aangemaakt op basis van het cv. Zie Kandidaat aanmaken


Artikelen ophalen

GET/articles

Haal een gepagineerde lijst van gepubliceerde artikelen op

Scope: articles:read

Query Parameters:

ParameterTypeStandaardBeschrijving
pageinteger1Paginanummer
per_pageinteger20Items per pagina (max: 100)
languagestring-Filter op taalcode
typestring-Filter op type: news, company_update, event, blog_post
searchstring-Zoek in titel en samenvatting
tags[]array-Filter op tag-ID's (hoofdtags omvatten automatisch subtags)
is_featuredboolean-Alleen uitgelichte artikelen
sortstringpublished_atSorteerveld: published_at, title, created_at, views_count
sort_directionstringdescSorteerrichting: asc of desc
include_mediabooleanfalseUitgelichte afbeelding-URL's meenemen

Response: Gepagineerde lijst van artikelen, zie Artikelen ophalen


Artikeldetails ophalen

GET/articles/{slug}

Haal volledige informatie op voor een specifiek artikel

Scope: articles:read

Path Parameters:

ParameterTypeVerplichtBeschrijving
slugstringJaURL-vriendelijke artikelcontent-identifier

Query Parameters:

ParameterTypeStandaardBeschrijving
languagestring-Stel de taal in voor de response
include_mediabooleanfalseUitgelichte afbeelding-URL's meenemen

Response: Volledige artikeldetails inclusief de volledige body-HTML en SEO-metadata, zie Artikeldetails ophalen


Statuscodes

CodeBeschrijving
200Geslaagd
201Aangemaakt (sollicitatie ingediend)
202Geaccepteerd (cv van kandidaat in wachtrij voor verwerking)
400Ongeldig verzoek (bedrijfsregel mislukt, bijv. vacature gesloten)
401Niet geautoriseerd
403Geen toegang (ontbrekende scope)
404Niet gevonden
422Validatiefout
429Snelheidslimiet bereikt
500Serverfout

Snelheidslimieten

  • POST /vacancies/{slug}/canonical-url: 60 verzoeken per minuut per API sleutel
  • POST /applications en POST /candidates: 10 verzoeken per minuut per API sleutel
  • Lees-endpoints hebben op dit moment geen vaste limiet per sleutel. Houd je aantal verzoeken beperkt; limieten kunnen later worden ingevoerd.
  • Endpoints met snelheidslimieten bevatten de headers X-RateLimit-Limit en X-RateLimit-Remaining in hun responses.

Ondersteuning

Heb je vragen? Stuur ons een e-mail op [email protected] of bekijk de rest van het Helpcentrum.