Bijgewerkt 15 juni 2026
GET
/api/v1/articles
curl -X GET \
"https://app.recruitsome.com/api/v1/articles" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/articles', {
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/articles');
$data = $response->json();
Haal een gepagineerde lijst op van gepubliceerde artikelen die beschikbaar zijn op het websitekanaal.
Authenticatie
Vereist een API sleutel met de scope articles:read (inbegrepen in de Carrièrewebsite-preset). Aanroepen met een sleutel zonder deze scope retourneren een 403 met foutcode INSUFFICIENT_SCOPE.
Endpoint
GET /api/v1/articlesQueryparameters
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
page | integer | 1 | Paginanummer voor paginering |
per_page | integer | 20 | Aantal items per pagina (max: 100) |
language | string | - | ISO 639-1-taalcode (bijv. nl, en). Filtert artikelen die content in deze taal hebben en stelt de taal van de respons in. |
type | string | - | Filter op artikeltype (max 30 tekens). Bekende waarden: news, company_update, event, blog_post |
search | string | - | Zoek in titel en samenvatting (hoofdletterongevoelig) |
tags[] | array | - | Filter op tag-ID's (hoofdtags worden doorvertaald naar subtags) |
is_featured | boolean | - | Geef een waarheidswaarde mee (1, true, yes, on) om alleen uitgelichte artikelen te retourneren |
sort | string | published_at | Sorteerveld: published_at, title, created_at, views_count |
sort_direction | string | desc | Sorteerrichting: asc of desc |
include_media | boolean | false | Voeg URL's van uitgelichte afbeeldingen toe |
Responsevelden
| Veld | Type | Beschrijving |
|---|---|---|
id | integer | Uniek artikel-ID |
slug | string | URL-vriendelijke identifier |
type | string | Artikeltype: news, company_update, event, blog_post |
title | string | Artikeltitel |
excerpt | string|null | Korte samenvatting/teasertekst |
language | string | Taalcode van de geretourneerde inhoud |
published_at | string | ISO 8601 publicatiedatum |
expires_at | string|null | ISO 8601 vervaldatum |
views_count | integer | Aantal keer bekeken |
is_featured | boolean | Of het artikel uitgelicht is |
estimated_reading_time | integer | Geschatte leestijd in minuten |
featured_image | object|null | URL's van de uitgelichte afbeelding (alleen wanneer include_media=true) |
tags | array | Artikeltags |
author | object|null | Informatie over de auteur van het artikel |
available_languages | array | Lijst met beschikbare taalcodes |
metadata | object | Aanvullende metadata van het artikel |
Featured Image Object
{
"original": "https://cdn.example.com/images/article-original.jpg",
"thumb": "https://cdn.example.com/images/article-thumb.jpg",
"medium": "https://cdn.example.com/images/article-medium.jpg"
}Tag Object
{
"id": 5,
"name": "Company Culture",
"type": "sub",
"parent_id": 1
}Author Object
{
"given_name": "Jane",
"family_name": "Smith",
"full_name": "Jane Smith",
"avatar": null
}Metadata Object
{
"type_label": "News",
"channels": ["website", "employee_self_service"]
}Mogelijke kanaalwaarden: website, employee_self_service, approver_self_service.
Voorbeeldverzoek
curl -X GET "https://app.recruitsome.com/api/v1/articles?language=nl&type=news&include_media=true" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"Voorbeeldrespons
{
"data": [
{
"id": 1,
"slug": "welkom-bij-ons-team-nl",
"type": "news",
"title": "Welkom bij ons team",
"excerpt": "Een warm welkom aan onze nieuwe collega's die deze maand zijn gestart.",
"language": "nl",
"published_at": "2026-02-01T09:00:00+00:00",
"expires_at": null,
"views_count": 150,
"is_featured": true,
"estimated_reading_time": 3,
"featured_image": {
"original": "https://cdn.example.com/images/welcome.jpg",
"thumb": "https://cdn.example.com/images/welcome-thumb.jpg",
"medium": "https://cdn.example.com/images/welcome-medium.jpg"
},
"tags": [
{
"id": 1,
"name": "Bedrijfsnieuws",
"type": "main",
"parent_id": null
}
],
"author": {
"given_name": "Jane",
"family_name": "Smith",
"full_name": "Jane Smith",
"avatar": null
},
"available_languages": ["nl", "en"],
"metadata": {
"type_label": "Nieuws",
"channels": ["website", "employee_self_service"]
}
}
],
"links": {
"first": "...?page=1",
"last": "...?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 20,
"to": 1,
"total": 1
}
}Fouten
| Status | Wanneer | Body |
|---|---|---|
422 | Een tags[]-item is geen integer of verwijst niet naar een bestaande tag | {"message": "The given data was invalid.", "errors": {"tags.0": ["The selected tags.0 is invalid."]}} |
422 | language is niet exact 2 tekens, of type overschrijdt 30 tekens | Dezelfde structuur, met het betreffende veld in errors |
401 | Ontbrekende of ongeldige API sleutel | {"message": "Unauthenticated."} |
403 | De API sleutel mist de articles:read-scope | {"message": "This API key does not have the required permission: articles:read", "error": "INSUFFICIENT_SCOPE", "required_scope": "articles:read"} |
Opmerkingen
- Alleen artikelen met status
published, kanaalwebsiteen een geldig datumbereik worden geretourneerd - Ingeplande artikelen (met
publish_atin de toekomst) worden uitgesloten - Verlopen artikelen (met
expires_atin het verleden) worden uitgesloten - Zacht verwijderde artikelen worden automatisch uitgesloten
- De parameter
searchzoekt hoofdletterongevoelig in titel en samenvatting - Hoofdtags in het
tags[]-filter nemen automatisch hun subtags mee is_featuredfiltert alleen bij een truthy waarde. Het meegeven vanis_featured=false(of0) heeft geen effect en retourneert de volledige lijst, niet alleen "niet-uitgelichte artikelen"typewordt niet gevalideerd tegen een vaste lijst: een onbekende waarde (tot 30 tekens) retourneert een lege lijst in plaats van een422