Skip to main content

Kandidaten ophalen

NL EN

Bijgewerkt 22 april 2026

GET /api/v1/candidates
curl -X GET \
  "https://app.recruitsome.com/api/v1/candidates" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/candidates', {
  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/candidates');

$data = $response->json();

Kandidaten ophalen

Haal een gepagineerde lijst op van kandidaten die gekoppeld zijn aan een specifieke gebruiker. Kandidaten zijn afgebakend tot de repository van de gebruiker — alleen kandidaten die aan de betreffende gebruiker zijn gekoppeld, worden geretourneerd.

Endpoint

GET /api/v1/candidates

Query Parameters

ParameterTypeStandaardBeschrijving
user_idinteger-Verplicht. Het tenant-gebruikers-ID waarvan de kandidatenrepository bevraagd moet worden
emailstring-Filter op exact overeenkomend e-mailadres
searchstring-Zoek in voornaam, achternaam en e-mailadres (gedeeltelijke overeenkomst)
statusstring-Filter op kandidaatstatus (zie Statuswaarden hieronder)
sortstringcreated_atSorteerveld: created_at, first_name, last_name, email
sort_directionstringdescSorteerrichting: asc of desc
pageinteger1Paginanummer voor paginering
per_pageinteger20Items per pagina (max: 100)

Statuswaarden

WaardeBeschrijving
potentialNieuwe kandidaat, nog niet benaderd
waiting_for_intakeBenaderd en geïnteresseerd, wacht op intake
intake_scheduledIntakegesprek is ingepland
active_mediationWordt actief voorgesteld in procedures
latent_mediationBeschikbaar maar wordt niet actief voorgesteld
upcoming_employeeAanbod geaccepteerd, start binnenkort
employeeMomenteel in dienst
ex_employeeVoormalig medewerker
do_not_contactMag niet benaderd worden

Responsevelden

VeldTypeBeschrijving
idintegerUniek kandidaat-ID
slugstringURL-vriendelijke identificator
first_namestringVoornaam
middle_namestring\nullTussenvoegsel of tweede naam
last_namestringAchternaam
full_namestringBerekende volledige naam
emailstringE-mailadres
mobile_phonestring\nullOpgemaakt mobiel telefoonnummer
fixed_phonestring\nullOpgemaakt vast telefoonnummer
statusobjectHuidige kandidaatstatus
localitystring\nullPlaats/woonplaats
country_codestring\nullISO 3166-1 alpha-2 landcode
linkedin_urlstring\nullLinkedIn-profiel-URL
profile_completenessinteger\nullPercentage profielvolledigheid (0-100)
avatarobjectURL's van profielafbeeldingen
created_atstringISO 8601 aanmaakdatum
updated_atstringISO 8601 datum laatste wijziging

Objectstructuren

Status-object

{

"value": "potential",

"label": "Potential Candidate"

}

Avatar-object

{

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

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

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

}

Avatar-URL's kunnen null zijn als de kandidaat geen profielfoto heeft.

Paginering

De respons bevat standaard pagineringsmetadata:

{

"data": [...],

"links": {

"first": "https://app.recruitsome.com/api/v1/candidates?page=1",

"last": "https://app.recruitsome.com/api/v1/candidates?page=3",

"prev": null,

"next": "https://app.recruitsome.com/api/v1/candidates?page=2"

},

"meta": {

"current_page": 1,

"from": 1,

"last_page": 3,

"path": "https://app.recruitsome.com/api/v1/candidates",

"per_page": 20,

"to": 20,

"total": 52

}

}

Voorbeeldverzoek

Basisverzoek

``bash cURL

curl -X GET "https://app.recruitsome.com/api/v1/candidates?user_id=1" \

-H "Authorization: Bearer YOUR_API_TOKEN"


javascript JavaScript

const response = await fetch(

'https://app.recruitsome.com/api/v1/candidates?user_id=1',

{

headers: {

'Authorization': 'Bearer YOUR_API_TOKEN'

}

}

);

const data = await response.json();

console.log(data);


python Python

import requests

response = requests.get(

'https://app.recruitsome.com/api/v1/candidates',

params={'user_id': 1},

headers={'Authorization': 'Bearer YOUR_API_TOKEN'}

)

data = response.json()

print(data)



Kandidaat zoeken op e-mailadres

bash cURL

curl -X GET "https://app.recruitsome.com/api/v1/[email protected]" \

-H "Authorization: Bearer YOUR_API_TOKEN"


javascript JavaScript

const response = await fetch(

'https://app.recruitsome.com/api/v1/[email protected]',

{

headers: {

'Authorization': 'Bearer YOUR_API_TOKEN'

}

}

);


python Python

response = requests.get(

'https://app.recruitsome.com/api/v1/candidates',

params={

'user_id': 1,

'email': '[email protected]'

},

headers={'Authorization': 'Bearer YOUR_API_TOKEN'}

)



Met filters

bash

curl -X GET "https://app.recruitsome.com/api/v1/candidates?user_id=1&search=developer&status=active_mediation&sort=last_name&sort_direction=asc" \

-H "Authorization: Bearer YOUR_API_TOKEN"


Voorbeeldrespons

json

{

"data": [

{

"id": 42,

"slug": "john-doe-amsterdam",

"first_name": "John",

"middle_name": null,

"last_name": "Doe",

"full_name": "John Doe",

"email": "[email protected]",

"mobile_phone": "+31 6 12345678",

"fixed_phone": null,

"status": {

"value": "potential",

"label": "Potential Candidate"

},

"locality": "Amsterdam",

"country_code": "NL",

"linkedin_url": "https://linkedin.com/in/johndoe",

"profile_completeness": 75,

"avatar": {

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

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

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

},

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

"updated_at": "2024-01-20T14:30:00+00:00"

}

],

"links": {

"first": "https://app.recruitsome.com/api/v1/candidates?page=1",

"last": "https://app.recruitsome.com/api/v1/candidates?page=1",

"prev": null,

"next": null

},

"meta": {

"current_page": 1,

"from": 1,

"last_page": 1,

"path": "https://app.recruitsome.com/api/v1/candidates",

"per_page": 20,

"to": 1,

"total": 1

}

}

`

Opmerkingen

  • De user_id parameter is verplicht — kandidaten zijn gekoppeld aan de repository van een specifieke gebruiker
  • Alleen kandidaten die aan de opgegeven gebruiker zijn gekoppeld, worden geretourneerd
  • Soft-deleted kandidaten worden automatisch uitgesloten
  • Het email filter zoekt op exacte overeenkomst; gebruik search voor gedeeltelijke overeenkomsten
  • De search parameter voert een hoofdletterongevoelige gedeeltelijke zoekopdracht uit op voornaam, achternaam en e-mailadres
  • Telefoonnummers worden geretourneerd in hun opgemaakte weergaveformaat (niet als onbewerkt E.164)
  • Avatar-URL's kunnen null` zijn als de kandidaat geen profielfoto heeft geüpload