Skip to content

Articles API

Public endpoints for blog posts and wiki pages.

Endpoints

List Articles

GET /articles?type=blog&category=tenant-rights&page=1&limit=20

Returns published articles with optional filtering.

Query Parameters:

ParamTypeDescription
typestringblog or wiki
categorystringFilter by category slug
pageintegerPage number (default: 1)
limitintegerItems per page (default: 20, max: 50)

Response:

json
{
  "articles": [
    {
      "id": "uuid",
      "type": "blog",
      "slug": "montreal-rent-guide-2026",
      "category": "tenant-rights",
      "titleEn": "Montreal Rent Guide 2026",
      "titleFr": "Guide de location Montréal 2026",
      "excerptEn": "Everything you need to know...",
      "excerptFr": "Tout ce que vous devez savoir...",
      "coverImageUrl": "https://...",
      "sortOrder": 0,
      "publishedAt": "2026-03-03T12:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 5,
    "totalPages": 1
  }
}

Get Article

GET /articles/:slug

Returns a single published article by slug, including full content.

Response:

json
{
  "article": {
    "id": "uuid",
    "type": "blog",
    "slug": "montreal-rent-guide-2026",
    "category": "tenant-rights",
    "titleEn": "Montreal Rent Guide 2026",
    "titleFr": "Guide de location Montréal 2026",
    "contentEn": "# Markdown content...",
    "contentFr": "# Contenu markdown...",
    "excerptEn": "...",
    "excerptFr": "...",
    "seoTitleEn": "...",
    "seoTitleFr": "...",
    "seoDescriptionEn": "...",
    "seoDescriptionFr": "...",
    "coverImageUrl": "https://...",
    "publishedAt": "2026-03-03T12:00:00Z"
  }
}

Only published articles are returned. Returns 404 for drafts or archived articles.