Developers

API- & webhookdocumentatie.

Een REST API en ondertekende webhooks om gescreende, gescoorde kandidaten naar uw eigen ATS te sturen. Elk verzoek hieronder is live — pas de parameters aan en verstuur ze naar een werkend sandbox-account, geen aanmelding vereist.

Direct uitproberen

Elke console op deze pagina is vooraf ingevuld met een lees/schrijf-sandbox API-key (sk_live_d0c50000) die gekoppeld is aan een demobureau met echte seed-data. Vervang deze door uw eigen key uit API & Webhooks in uw ChatSieve-accountinstellingen zodra u klaar bent om tegen uw eigen tenant te testen. De sandbox-key is publiek en gedeeld — reken er niet op dat de data blijft staan.

Authenticatie

Bearer tokens

Elk verzoek authenticeert met een API-key die is aangemaakt via API & Webhooks in uw accountinstellingen. Keys worden eenmalig getoond bij aanmaak — bewaar ze veilig.

curl https://api.chatsieve.example.com/api/v1/candidates \
  -H "Authorization: Bearer sk_live_..."

Alle endpoints zijn gekoppeld aan het bureau dat de key bezit — er is geen manier om de data van een andere tenant te lezen of te schrijven met een geldige key. Verzoeken zonder een geldige Authorization-header retourneren 401.

Endpoint

Kandidaten opvragen

GET /api/v1/candidates — filter op status of vacature, meest recente eerst.

GET/api/v1/candidates
API-sleutel
status
vacancy_id
limit
Endpoint

Een kandidaat opvragen

GET /api/v1/candidates/:id — volledige details inclusief WhatsApp-berichtgeschiedenis, documenten en scorefactoren. Plak een id uit de lijst hierboven.

GET/api/v1/candidates/:id
API-sleutel
id
Endpoint

Status van een kandidaat bijwerken

POST /api/v1/candidates/:id/status — accepteren of afwijzen activeert het bijbehorende webhook-event naar elk geabonneerd endpoint.

POST/api/v1/candidates/:id/status

status must be one of: NEW, SCREENING, PENDING_REVIEW, ACCEPTED, REJECTED

API-sleutel
id
Aanvraaginhoud (JSON)
Endpoint

Vacatures opvragen

GET /api/v1/vacancies — elke openstaande functie voor het geauthenticeerde bureau, met een kandidaatteller.

GET/api/v1/vacancies
API-sleutel
limit
Endpoint

Een vacature aanmaken

POST /api/v1/vacancies — de minimale velden die nodig zijn om sollicitanten naar een screeningflow te routeren.

POST/api/v1/vacancies
API-sleutel
Aanvraaginhoud (JSON)
Endpoint

Bulkscreening starten

POST /api/v1/bulk-screening — stuurt het openingsbericht van de WhatsApp-screening naar elke nieuwe kandidaat op een vacature (of een specifieke candidate_ids-lijst). Berichten worden echt verstuurd zodra WhatsApp-gegevens zijn geconfigureerd; tot die tijd worden ze vastgelegd met een gesimuleerde status.

POST/api/v1/bulk-screening
API-sleutel
Aanvraaginhoud (JSON)
Referentie

Foutmeldingen

Status
Betekenis
400
De request body of query-parameters ontbreken of zijn ongeldig — zie het foutbericht voor details.
401
Ontbrekende, foutieve of ingetrokken API-key.
404
De resource bestaat niet, of behoort niet toe aan uw bureau.
200 / 201
Succes — 201 bij het aanmaken van een resource, anders 200.
Webhooks

Abonneren op events

Registreer een endpoint via API & Webhooks in uw accountinstellingen en kies welke events u wilt ontvangen. Elk endpoint krijgt een eigen ondertekeningssecret, eenmalig getoond bij aanmaak.

Event
Wordt geactiveerd wanneer
candidate.accepted
De status van een kandidaat wordt ingesteld op ACCEPTED (vanuit het portaal of de API).
candidate.rejected
De status van een kandidaat wordt ingesteld op REJECTED (vanuit het portaal of de API).
document.flagged
Een ingediend document wordt gemarkeerd als NEEDS_REVIEW tijdens documentcontrole.
Vorm van de payload
{
  "event": "candidate.accepted",
  "created_at": "2026-07-11T10:00:00.000Z",
  "data": {
    "candidate_id": "clx_9f2a7b",
    "name": "Emily Carter",
    "vacancy_id": "vac_platform_eng",
    "score": 92
  }
}
De handtekening verifiëren

Elke levering bevat een X-ChatSieve-Signature-header — een HMAC-SHA256 hex-digest van de ruwe request body, ondertekend met het signing secret van uw endpoint. Verifieer altijd tegen de ruwe bytes, vóór het parsen als JSON, en gebruik een vergelijking met constante tijd.

const crypto = require("crypto");

function isValidSignature(rawBody, signatureHeader, signingSecret) {
  const expected = crypto
    .createHmac("sha256", signingSecret)
    .update(rawBody)
    .digest("hex");

  return crypto.timingSafeEqual(
    Buffer.from(expected),
    Buffer.from(signatureHeader)
  );
}

// In your webhook route handler:
app.post("/hooks/chatsieve", express.raw({ type: "*/*" }), (req, res) => {
  const signature = req.header("X-ChatSieve-Signature");
  if (!isValidSignature(req.body, signature, process.env.CHATSIEVE_WEBHOOK_SECRET)) {
    return res.status(401).send("Invalid signature");
  }
  const event = JSON.parse(req.body);
  // handle event.event, event.data …
  res.status(200).send("ok");
});
Een test-webhook verzenden

Verstuurt een ondertekende voorbeeldpayload naar elke URL die je opgeeft, zodat je je ontvanger kunt testen zonder te wachten op een echte kandidaat- of documentgebeurtenis. Haal een gratis wegwerp-URL bij webhook.site om het binnen te zien komen.

API-sleutel
Doel-URL
Gebeurtenis
Referentie

Versiebeheer

De huidige API-versie is v1, onder /api/v1/*. Breaking changes worden uitgebracht onder een nieuw versieprefix in plaats van bestaand gedrag ter plekke te wijzigen. Vragen? Neem contact met ons op.

Klaar om ChatSieve te koppelen aan uw ATS?

Genereer een live API-key vanuit uw account in minder dan een minuut.

ChatSieve

AI-gestuurde kandidatenscreening via WhatsApp, gebouwd voor uitzendbureaus.

Product
Bedrijf
Bronnen
Juridisch
© 2026 ChatSieve, Inc. Alle rechten voorbehouden.
Gemaakt voor uitzendbureaus, overal.