Skip to main content

Artikelen ophalen

NL EN

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

Code
GET /api/v1/articles

Queryparameters

ParameterTypeStandaardBeschrijving
pageinteger1Paginanummer voor paginering
per_pageinteger20Aantal items per pagina (max: 100)
languagestring-ISO 639-1-taalcode (bijv. nl, en). Filtert artikelen die content in deze taal hebben en stelt de taal van de respons in.
typestring-Filter op artikeltype (max 30 tekens). Bekende waarden: news, company_update, event, blog_post
searchstring-Zoek in titel en samenvatting (hoofdletterongevoelig)
tags[]array-Filter op tag-ID's (hoofdtags worden doorvertaald naar subtags)
is_featuredboolean-Geef een waarheidswaarde mee (1, true, yes, on) om alleen uitgelichte artikelen te retourneren
sortstringpublished_atSorteerveld: published_at, title, created_at, views_count
sort_directionstringdescSorteerrichting: asc of desc
include_mediabooleanfalseVoeg URL's van uitgelichte afbeeldingen toe

Responsevelden

VeldTypeBeschrijving
idintegerUniek artikel-ID
slugstringURL-vriendelijke identifier
typestringArtikeltype: news, company_update, event, blog_post
titlestringArtikeltitel
excerptstring|nullKorte samenvatting/teasertekst
languagestringTaalcode van de geretourneerde inhoud
published_atstringISO 8601 publicatiedatum
expires_atstring|nullISO 8601 vervaldatum
views_countintegerAantal keer bekeken
is_featuredbooleanOf het artikel uitgelicht is
estimated_reading_timeintegerGeschatte leestijd in minuten
featured_imageobject|nullURL's van de uitgelichte afbeelding (alleen wanneer include_media=true)
tagsarrayArtikeltags
authorobject|nullInformatie over de auteur van het artikel
available_languagesarrayLijst met beschikbare taalcodes
metadataobjectAanvullende metadata van het artikel

Featured Image Object

JSON
{
  "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

JSON
{
  "id": 5,
  "name": "Company Culture",
  "type": "sub",
  "parent_id": 1
}

Author Object

JSON
{
  "given_name": "Jane",
  "family_name": "Smith",
  "full_name": "Jane Smith",
  "avatar": null
}

Metadata Object

JSON
{
  "type_label": "News",
  "channels": ["website", "employee_self_service"]
}

Mogelijke kanaalwaarden: website, employee_self_service, approver_self_service.

Voorbeeldverzoek

Bash
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

JSON
{
  "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

StatusWanneerBody
422Een 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."]}}
422language is niet exact 2 tekens, of type overschrijdt 30 tekensDezelfde structuur, met het betreffende veld in errors
401Ontbrekende of ongeldige API sleutel{"message": "Unauthenticated."}
403De 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, kanaal website en een geldig datumbereik worden geretourneerd
  • Ingeplande artikelen (met publish_at in de toekomst) worden uitgesloten
  • Verlopen artikelen (met expires_at in het verleden) worden uitgesloten
  • Zacht verwijderde artikelen worden automatisch uitgesloten
  • De parameter search zoekt hoofdletterongevoelig in titel en samenvatting
  • Hoofdtags in het tags[]-filter nemen automatisch hun subtags mee
  • is_featured filtert alleen bij een truthy waarde. Het meegeven van is_featured=false (of 0) heeft geen effect en retourneert de volledige lijst, niet alleen "niet-uitgelichte artikelen"
  • type wordt niet gevalideerd tegen een vaste lijst: een onbekende waarde (tot 30 tekens) retourneert een lege lijst in plaats van een 422