Skip to content

Article Management

CRUD interfaces for managing articles.

Get Article List

Get article list for backend management (including drafts).

Interface Information

  • Endpoint: GET /api/admin/articles
  • Authentication: Required (admin permission)

Query Parameters

ParameterTypeRequiredDescription
pagenumberNoPage number, default 1
limitnumberNoItems per page, default 10
statusstringNoStatus filter: published/draft
keywordstringNoKeyword search

Create Article

Create new article.

Interface Information

  • Endpoint: POST /api/admin/articles
  • Authentication: Required (admin permission)

Request Parameters

ParameterTypeRequiredDescription
titlestringYesArticle title
contentstringYesArticle content (Markdown)
categoryIdnumberYesCategory ID
excerptstringNoArticle excerpt
coverImagestringNoCover image URL
statusstringNoStatus: published/draft, default draft

Request Example

bash
curl -X POST http://localhost:3000/api/admin/articles \
  -H "Authorization: Bearer your-jwt-token" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My New Article",
    "content": "# Article Content\n\n...",
    "categoryId": 1,
    "status": "published"
  }'

Update Article

Update existing article.

Interface Information

  • Endpoint: PUT /api/admin/articles/:id
  • Authentication: Required (admin permission)

Request Parameters

Same as create article, all fields optional.

Request Example

bash
curl -X PUT http://localhost:3000/api/admin/articles/1 \
  -H "Authorization: Bearer your-jwt-token" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Updated Title",
    "status": "published"
  }'

Delete Article

Delete specified article.

Interface Information

  • Endpoint: DELETE /api/admin/articles/:id
  • Authentication: Required (admin permission)

Request Example

bash
curl -X DELETE http://localhost:3000/api/admin/articles/1 \
  -H "Authorization: Bearer your-jwt-token"

Error Responses

HTTP Status CodeDescription
401Not logged in or token invalid
403Insufficient permission (non-admin)
404Article does not exist
400Parameter error
500Server error