Bijgewerkt 15 juni 2026
/api/v1/vacancies/{slug}/canonical-url
curl -X POST \
"https://app.recruitsome.com/api/v1/vacancies/{slug}/canonical-url" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/vacancies/{slug}/canonical-url', {
method: 'POST',
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()
->post('https://app.recruitsome.com/api/v1/vacancies/{slug}/canonical-url');
$data = $response->json();
Wanneer je website een vacature publiceert die is opgehaald uit Recruitsome, roep je dit endpoint aan om de canonical public URL terug te melden die je site eraan heeft toegekend. Recruitsome slaat die URL op en gebruikt deze exact overal waar naar de vacature wordt gelinkt. Het belangrijkste voorbeeld: de vacaturelink die wordt toegevoegd aan intake- en sollicitatiegesprekuitnodigingen voor kandidaten.
Gebruik dit wanneer je website eigen URL's (slugs) genereert die niet exact overeenkomen met die van Recruitsome. Door de echte URL te melden, linken e-mails naar kandidaten altijd naar de juiste pagina. Geen giswerk met slugs, geen gebroken links. Als je geen URL meldt, valt Recruitsome terug op het Vacature-URL-patroon dat is ingesteld onder Instellingen → Integraties → Bedrijfswebsite.
Authenticatie
Vereist een API sleutel met de vacancies:write scope (inbegrepen in de Carrièrewebsite-preset).
Let op
Deze scope is nieuw. Bestaande sleutels met scopes hebben deze niet. Voeg vacancies:write toe (of genereer de sleutel opnieuw) voordat je dit endpoint aanroept, anders krijg je een 403. Oudere sleutels met volledige toegang van vóór de introductie van scopes blijven gewoon werken zonder wijzigingen. De URL die je meldt moet ook op je eigen carrièrewebsitedomein staan.
Padparameter
| Parameter | Beschrijving |
|---|---|
slug | De publication_slug van de vacature, exact zoals geretourneerd door GET /vacancies en GET /vacancies/{slug}. |
Body
| Veld | Type | Verplicht | Beschrijving |
|---|---|---|---|
url | string | ja | De volledige canonical URL op je website. Moet beginnen met https:// (maximaal 2048 tekens). |
Rate limit
Dit endpoint is beperkt tot 60 verzoeken per minuut per API sleutel. Bij overschrijding krijg je een 429 Too Many Requests-respons. Bundel je publish-callbacks in plaats van je volledige vacaturecatalogus in één keer te melden.
Voorbeeld
curl -X POST https://app.recruitsome.com/api/v1/vacancies/maintenance-engineer/canonical-url \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.yourcompany.com/vacatures/maintenance-engineer-2"
}'const response = await fetch(
'https://app.recruitsome.com/api/v1/vacancies/maintenance-engineer/canonical-url',
{
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://www.yourcompany.com/vacatures/maintenance-engineer-2'
})
}
);
const result = await response.json();Respons 200
{
"message": "Canonical vacancy URL stored",
"data": {
"slug": "maintenance-engineer",
"canonical_url": "https://www.yourcompany.com/vacatures/maintenance-engineer-2"
}
}Foutresponsen
| Status | Wanneer | Oplossing |
|---|---|---|
401 | Ontbrekende of ongeldige API sleutel | Stuur een geldige sleutel mee als Authorization: Bearer YOUR_API_KEY |
403 | De API sleutel mist de vacancies:write scope | Voeg de scope toe aan je sleutel of genereer een nieuwe |
404 | Er bestaat geen websitepublicatie voor deze slug. De slug is onbekend, of de vacature is alleen gepubliceerd op andere kanalen (bijvoorbeeld een jobboard). | Rapporteer alleen URL's voor slugs die worden teruggegeven door GET /vacancies |
422 | De URL slaagt niet voor de validatie (zie hieronder) | Stuur een https://-URL op je eigen carrièrewebsitedomein |
429 | Meer dan 60 verzoeken binnen een minuut | Vertraag het tempo en probeer het opnieuw nadat het minuutvenster is gereset |
422 — URL op een niet-toegestane host
De gerapporteerde host moet overeenkomen met je geconfigureerde carrièrewebsitedomein (of een van je eigen Recruitsome-domeinen):
{
"message": "The URL host must match your configured career website domain.",
"errors": {
"url": [
"The URL host must match your configured career website domain."
]
}
}422 — URL is geen https://
{
"message": "The url field must start with one of the following: https://.",
"errors": {
"url": [
"The url field must start with one of the following: https://."
]
}
}Een gerapporteerde URL heeft altijd voorrang op het geconfigureerde patroon. Wil je terug naar het patroon? Stop dan simpelweg met het rapporteren van een URL voor nieuwe publicaties. Bestaande opgeslagen URL's blijven bewaard totdat ze worden overschreven.