Partner-API
Voor uitzendbureaus die als partner vacatures aanleveren. Wij publiceren ze in onze eigen woorden op aixtalent.nl, werven en screenen, en dragen kandidaten aan u voor. Nog geen partner? Begin op Voor uitzendbureaus.
Toegang
U krijgt een sleutel van AIX Talent. Hij begint met aixpt_, wij tonen hem een keer bij het aanmaken en bewaren alleen een hash. Stuur hem mee in elke aanroep. Alle verzoeken gaan over HTTPS met JSON; de body is maximaal 64 kb.
Authorization: Bearer aixpt_<uw sleutel>
Content-Type: application/json Basis-URL: https://api.aixforge.nl/api/partners
Endpoints
| Methode | Pad | Doel |
|---|---|---|
POST | /vacancies | Vacature aanleveren of bijwerken (upsert op external_id). |
GET | /vacancies | Lijst van uw vacatures met status. |
GET | /vacancies/:id | Detail: uw brondata, onze versie en de publieke URL zodra de vacature online staat. |
DELETE | /vacancies/:id | Intrekken. Status wordt withdrawn en de pagina gaat offline. Idempotent. |
GET | /applications | Sollicitaties die wij aan u hebben voorgedragen, alleen de gedeelde velden. |
POST | /applications/:id/uitkomst | Uitkomst melden: aangenomen, afgewezen of ingetrokken. |
Vacature aanleveren
POST /vacancies. Wij zoeken op external_id: bestaat hij nog niet, dan maken wij de vacature aan (actie: nieuw, 201). Bestaat hij en is de inhoud gelijk, dan gebeurt er niets (actie: ongewijzigd, 200). Is de inhoud gewijzigd, dan ontstaat een nieuwe versie met status received (actie: nieuwe_versie, 201); de gepubliceerde versie blijft online tot de nieuwe is goedgekeurd.
| Veld | Type | Toelichting |
|---|---|---|
external_id verplicht | tekst, max 80 | Uw eigen kenmerk. Hierop zoeken wij bij een volgende aanlevering. |
titel verplicht | tekst, max 120 | Functietitel. |
omschrijving verplicht | tekst, max 8000 | Werkzaamheden en context. Wij herschrijven dit in onze eigen woorden. |
locatie verplicht | tekst, max 80 | Plaats. |
regio | tekst, max 60 | Provincie of regio. |
uren_min, uren_max | geheel getal, 1 tot 60 | Uren per week. uren_min mag niet boven uren_max liggen. |
dienstverband | fulltime, parttime of beide | |
salaris_min, salaris_max | getal, 0 tot 100000 | Bruto. salaris_min mag niet boven salaris_max liggen. |
salaris_periode | uur of maand | Periode waarop salaris_min en salaris_max slaan. |
ploegen | lijst van teksten, max 10 | Bijvoorbeeld dagdienst, 2-ploegen. |
eisen | lijst van teksten, max 20 | |
certificaten | lijst van teksten, max 20 | |
startdatum | JJJJ-MM-DD, direct of in overleg | |
url | tekst, https, max 300 | Uw eigen vacaturepagina. Wordt niet gepubliceerd. |
{
"external_id": "VAC-2026-0142",
"titel": "Heftruckchauffeur",
"omschrijving": "Laden en lossen van vrachtwagens, pallets wegzetten in het stellingmagazijn, controle van inkomende goederen.",
"locatie": "Waddinxveen",
"regio": "Zuid-Holland",
"uren_min": 32,
"uren_max": 40,
"dienstverband": "fulltime",
"salaris_min": 15.5,
"salaris_max": 17,
"salaris_periode": "uur",
"ploegen": [
"dagdienst",
"2-ploegen"
],
"eisen": [
"Minimaal 1 jaar ervaring op een reachtruck",
"Nederlands of Engels op werkniveau"
],
"certificaten": [
"Heftruckcertificaat"
],
"startdatum": "2026-10-01",
"url": "https://www.voorbeeld-bureau.nl/vacatures/vac-2026-0142"
} Antwoord:
{
"actie": "nieuw",
"id": 42,
"external_id": "VAC-2026-0142",
"versie": 1,
"status": "received"
} GET /vacancies/:id geeft dezelfde velden plus bron (uw payload), onze_versie (de herschreven publieke velden en het functieniveau) en publieke_url, die null blijft tot de vacature gepubliceerd is. DELETE /vacancies/:id antwoordt met { id, status: "withdrawn", al_ingetrokken, pagina_offline }; een tweede keer intrekken geeft 200 met al_ingetrokken: true.
Statusflow
received → rewritten → in_review → published → expired
received- Ontvangen. Wij herschrijven de tekst in onze eigen woorden; de feiten blijven gelijk.
rewritten- Herschreven en programmatisch gecontroleerd op locatie, uren, ploegen, loon, certificaten en startdatum.
in_review- Wacht op beoordeling door AIX Talent. Niets gaat live zonder die beoordeling.
published- Online op aixtalent.nl. Het detail-endpoint geeft de publieke URL.
expired- Verlopen. Standaard 30 dagen na publicatie; verlengen kan door dezelfde vacature opnieuw aan te leveren.
withdrawn- Door u ingetrokken via DELETE. De pagina is offline.
Sollicitaties
GET /applications geeft alleen sollicitaties die wij na screening en assessment aan u hebben voorgedragen en waarvoor de kandidaat het delen met uw bureau heeft gevraagd. Velden: id, external_id, vacature_slug, naam, email, telefoon, woonplaats, beschikbaar_vanaf, voorgedragen_at, verzoek_op, uitkomst, uitkomst_datum en cv_beschikbaar (ja of nee; het cv zelf komt niet via de API). Kandidaten in screening of afgewezen kandidaten ziet u niet. Na een gemelde uitkomst blijft de rij zichtbaar, met de uitkomst erbij.
Meld de uitkomst met POST /applications/:id/uitkomst. Toegestaan zijn aangenomen, afgewezen en ingetrokken; datum is optioneel. Het antwoord bevat id, uitkomst, status, uitkomst_datum en uitkomst_at.
{
"uitkomst": "aangenomen",
"datum": "2026-10-06"
} Foutcodes
Elk foutantwoord heeft error (leesbare tekst) en code; bij validatiefouten ook veld.
| HTTP | code | Betekenis |
|---|---|---|
400 | validatie, json_ongeldig | Payload ongeldig: verplicht veld ontbreekt, verkeerd type, waarde buiten bereik, of een veld dat wij niet kennen. Onbekende velden worden geweigerd, niet genegeerd. Bij validatie staat het veld in `veld`. |
401 | geen_sleutel, sleutel_ongeldig | Geen of ongeldige sleutel in de Authorization-header. |
403 | partner_gepauzeerd, niet_toegelaten | Sleutel geldig, maar de partner staat op pauze of is niet toegelaten. |
404 | niet_gevonden | Vacature, sollicitatie of pad bestaat niet. Ook het antwoord op een id dat niet van u is: het bestaan lekt niet. |
409 | status, overgang | Conflict met de huidige status, bijvoorbeeld een uitkomst melden op een sollicitatie die niet meer op voorgedragen staat. |
413 | body_te_groot | Body groter dan 64 kb. |
429 | rate_limit | Te veel verzoeken. Wacht het aantal seconden in de Retry-After-header af. |
Spelregels
- U ziet uitsluitend uw eigen vacatures en sollicitaties. Een id van een ander geeft 404.
- Elk verzoek wordt gelogd met methode, pad, status en duur. Geen inhoud, geen persoonsgegevens.
- Limiet: 120 verzoeken per sleutel per minuut, en 30 per IP-adres per minuut zonder geldige sleutel. De headers
RateLimit-LimitenRateLimit-Remainingtonen de stand; bij429wacht u deRetry-Afteraf. - AIX Talent is arbeidsbemiddelaar in de zin van de Waadi. De kandidaat sluit zijn arbeidsovereenkomst met u en u stelt hem ter beschikking; AIX Talent stelt geen arbeidskrachten ter beschikking.
- Uw bedrijfsnaam staat niet in de vacaturetekst en niet in de gestructureerde data. Wel op het sollicitatieformulier, bij de toestemming van de kandidaat.
- Vragen of een sleutel nodig? Mail info@aixtalent.nl.