Skip to main content

Article Details

NL EN

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

Code
GET /api/v1/articles/{slug}

Path Parameters

ParameterTypeDescription
slugstringThe article content slug (URL-friendly identifier)

Query Parameters

ParameterTypeDefaultDescription
languagestring-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:

FieldTypeDescription
bodystringFull article body (HTML)
meta_titlestring|nullSEO meta title
meta_descriptionstring|nullSEO meta description
structured_dataobject|nullSchema.org NewsArticle structured data for SEO

Structured Data Object

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

Bash
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

Bash
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

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": 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:

JSON
{
  "message": "Resource not found."
}

Authentication and authorization

StatusBodyWhen
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_count is incremented with each request to this endpoint
  • Only published articles on the website channel are accessible — anything else returns the 404 above
  • The article is looked up by the slug of its content (language-specific slugs)
  • Featured images are always included on the detail view; include_media has no effect here
  • The structured_data field provides ready-to-use Schema.org JSON-LD for SEO
  • Use the available_languages field to discover which language codes exist for an article, then request the article with ?language= — the field contains codes only, not slugs