published or draft state. The list and single-article endpoints are public for published content; all write operations require a Bearer token.
List Articles
Returns a paginated list of articles. Supports filtering by column, language, and publication status. This is a public endpoint — no authentication is required.Query Parameters
Page number to retrieve. Defaults to
1.Number of items to return per page. Defaults to
10.Filter results to articles belonging to the specified column ID.
Filter results by language code (e.g.
en, zh). Returns articles of all languages when omitted.Filter by publication status. Accepted values:
published or draft. Unauthenticated requests should use published; omitting this parameter returns all accessible articles.Response
| Field | Type | Description |
|---|---|---|
list | array | Array of article summary objects for the current page |
total | number | Total number of articles matching the applied filters |
page | number | Current page number |
limit | number | Maximum items returned per page |
The list response returns article summaries — the
content (full HTML body) field is excluded for performance. Fetch a single article by ID to retrieve the full content.Get Article by ID
Returns a single article including its full HTML content body. Published articles are publicly accessible. Draft articles require a valid Bearer token.Path Parameters
The numeric ID of the article to retrieve.
Response
| Field | Type | Description |
|---|---|---|
id | number | Unique article identifier |
title | string | Article title |
content | string | Full HTML body of the article |
summary | string | Short excerpt shown in listings |
coverImage | string | Server path to the cover image |
columnId | number | ID of the parent column |
lang | string | Language code |
status | string | published — visible publicly; draft — hidden from public responses |
seoTitle | string | SEO meta title |
seoDescription | string | SEO meta description |
createdAt | string | ISO 8601 creation timestamp |
updatedAt | string | ISO 8601 last-updated timestamp |
Create Article
Creates a new article. Requires a valid Bearer token.Request Body
Article title displayed in listings, the article page, and browser tab.
Full HTML content body of the article. The CMS rich-text editor outputs standard HTML; you may also supply raw HTML directly.
Short excerpt (plain text) shown in article listing cards and search previews.
Server-relative path to the article’s cover image (e.g.
/uploads/cover.jpg). Use the Media API to upload images and obtain a valid path.The ID of the column this article belongs to. The column must exist before creating an article.
Language code for the article (e.g.
en, zh, fr). Should match the language of the parent column for consistent locale filtering.Publication status. Accepted values:
published (visible to the public) or draft (hidden from public responses). Defaults to draft if omitted — the article will not appear in public listing responses until explicitly set to published.SEO meta title rendered in
<title> for the article page. Falls back to title if omitted.SEO meta description rendered in
<meta name="description"> for the article page.Response
Update Article
Updates an existing article by its numeric ID. Requires a valid Bearer token.Path Parameters
The numeric ID of the article to update.
Request Body
Accepts the same fields as Create Article. Provide all fields you wish to persist — the record will be updated with the supplied values.Response
Delete Article
Permanently deletes an article by its numeric ID. Requires a valid Bearer token.Path Parameters
The numeric ID of the article to delete.