Appearance
Articles API
Public endpoints for blog posts and wiki pages.
Endpoints
List Articles
GET /articles?type=blog&category=tenant-rights&page=1&limit=20Returns published articles with optional filtering.
Query Parameters:
| Param | Type | Description |
|---|---|---|
| type | string | blog or wiki |
| category | string | Filter by category slug |
| page | integer | Page number (default: 1) |
| limit | integer | Items 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/:slugReturns 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.