Updated June 15, 2026
GET
/api/v1/articles/{slug}
curl -X GET \
"https://app.recruitsome.com/api/v1/articles/{slug}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://app.recruitsome.com/api/v1/articles/{slug}', {
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/{slug}');
$data = $response->json();
Retrieve full details for a specific article by its slug.
Authentication
Requires an API key with the articles:read scope (included in the Career Website preset). Calls with a key that lacks the scope return a 403 with error code INSUFFICIENT_SCOPE.
Endpoint
GET /api/v1/articles/{slug}Path Parameters
| Parameter | Type | Description |
|---|---|---|
slug | string | The article content slug (URL-friendly identifier) |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
language | string | - | ISO 639-1 language code (e.g., nl, en). Sets the locale for the response. |
The detail endpoint always includes the featured image — the include_media parameter from the list endpoint is accepted here but has no effect.
Response Fields
The detail endpoint returns all fields from the list endpoint, plus:
| Field | Type | Description |
|---|---|---|
body | string | Full article body (HTML) |
meta_title | string|null | SEO meta title |
meta_description | string|null | SEO meta description |
structured_data | object|null | Schema.org NewsArticle structured data for SEO |
Structured Data Object
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Welcome to our team",
"description": "A warm welcome to our new colleagues.",
"datePublished": "2026-02-01T09:00:00+00:00",
"author": {
"@type": "Person",
"name": "Jane Smith"
},
"wordCount": 450
}The author key inside structured_data is null when the article has no known author.
Example Request
Basic Request
curl -X GET "https://app.recruitsome.com/api/v1/articles/welkom-bij-ons-team-nl" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"With Language
curl -X GET "https://app.recruitsome.com/api/v1/articles/welcome-to-our-team-en?language=en" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"Example Response
{
"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": 151,
"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"],
"body": "<h2>Welkom!</h2><p>We zijn verheugd om onze nieuwe collega's te verwelkomen...</p>",
"meta_title": "Welkom bij ons team | Bedrijfsnaam",
"meta_description": "Een warm welkom aan onze nieuwe collega's die deze maand zijn gestart bij ons bedrijf.",
"structured_data": {
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Welkom bij ons team",
"description": "Een warm welkom aan onze nieuwe collega's die deze maand zijn gestart.",
"datePublished": "2026-02-01T09:00:00+00:00",
"author": {
"@type": "Person",
"name": "Jane Smith"
},
"wordCount": 450
},
"metadata": {
"type_label": "Nieuws",
"channels": ["website", "employee_self_service"]
}
}
}Errors
Not found 404
The most common error on this endpoint. Returned when the slug doesn't exist, the article isn't published (draft or scheduled), it has expired, or it isn't published to the website channel:
{
"message": "Resource not found."
}Authentication and authorization
| Status | Body | When |
|---|---|---|
401 | {"message": "Unauthenticated."} | Missing or invalid API key |
403 | {"message": "This API key does not have the required permission: articles:read", "error": "INSUFFICIENT_SCOPE", "required_scope": "articles:read"} | API key lacks the articles:read scope |
Notes
- The
views_countis incremented with each request to this endpoint - Only published articles on the
websitechannel are accessible — anything else returns the404above - The article is looked up by the slug of its content (language-specific slugs)
- Featured images are always included on the detail view;
include_mediahas no effect here - The
structured_datafield provides ready-to-use Schema.org JSON-LD for SEO - Use the
available_languagesfield to discover which language codes exist for an article, then request the article with?language=— the field contains codes only, not slugs