Partners

Partner-API

Voor uitzendbureaus die als partner vacatures aanleveren. Wij publiceren ze in onze eigen woorden op aixtalent.nl, werven, en bieden kandidaten op hun verzoek of met hun akkoord aan u aan. 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

MethodePadDoel
POST/vacanciesVacature aanleveren of bijwerken (upsert op external_id).
GET/vacanciesLijst van uw vacatures met status.
GET/vacancies/:idDetail: uw brondata, onze versie en de publieke URL zodra de vacature online staat.
DELETE/vacancies/:idIntrekken. Status wordt withdrawn en de vacature is direct gesloten: geen sollicitaties meer, niet meer in lijsten, feeds en sitemap. Idempotent.
GET/applicationsSollicitaties die wij aan u hebben voorgedragen, alleen de gedeelde velden.
POST/applications/:id/uitkomstUitkomst 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.

VeldTypeToelichting
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. pagina_offline is true als uw vacature door dit verzoek van online naar gesloten ging. Gesloten betekent: geen formulier en geen sollicitaties meer, niet in lijsten, feeds en sitemap. De url zelf blijft een pagina met de melding dat de vacature gesloten is (noindex), geen foutpagina.

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 vacature is gesloten: solliciteren kan niet meer en hij staat niet meer in lijsten, feeds en sitemap. De url blijft bestaan en toont titel, plaats en de melding dat de vacature gesloten is, met noindex, zodat een oude link niet op een foutpagina uitkomt.

Sollicitaties

GET /applications geeft alleen sollicitaties die wij op verzoek of met akkoord van de kandidaat aan u hebben aangeboden 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 die nog niet zijn aangeboden of zijn afgewezen, 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.

HTTPcodeBetekenis
400validatie, json_ongeldigPayload 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`.
401geen_sleutel, sleutel_ongeldigGeen of ongeldige sleutel in de Authorization-header.
403partner_gepauzeerd, niet_toegelatenSleutel geldig, maar de partner staat op pauze of is niet toegelaten.
404niet_gevondenVacature, sollicitatie of pad bestaat niet. Ook het antwoord op een id dat niet van u is: het bestaan lekt niet.
409status, overgangConflict met de huidige status, bijvoorbeeld een uitkomst melden op een sollicitatie die niet meer op voorgedragen staat.
413body_te_grootBody groter dan 64 kb.
429rate_limitTe 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-Limit en RateLimit-Remaining tonen de stand; bij 429 wacht u de Retry-After af.
  • 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. De kandidaat ziet pas dat een vacature van u is op het moment dat hij beslist of we zijn sollicitatie aan u doorgeven. Hebben we dat met u afgesproken, dan staat uw naam bij een vinkje op het Nederlandse sollicitatieformulier. In alle andere gevallen noemen we uw naam pas in de e-mail waarin we de kandidaat vragen of we hem aan u mogen voorstellen.
  • Vragen of een sleutel nodig? Mail info@aixtalent.nl.