Articles
Articles are the core content of your knowledge base. With the API you can fetch a single article, create new ones, update existing ones, and delete them when no longer needed. This page shows each operation with minimal, production-ready examples.
Article object
Articles include metadata and an HTML body. Common fields are:
id: numeric identifieruuid: stable unique identifiertitle,seo_title,slug,descriptioncontent: HTML stringcreated,last_updated: ISO 8601 timestampspublished: booleanvisibility: scope such as publiccollections: array of objects like{ "collection_id": <number>, "sort": <number> }
Authentication
Include your API key in the X-Api-Key header for every request.
curl -H "X-Api-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ https://api.getfernand.com/knowledge/articles/123Fetch an article
GET /knowledge/articles/{article_id}curl -H "X-Api-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ https://api.getfernand.com/knowledge/articles/<ARTICLE_ID>Example trimmed response with placeholders:
{ "id": 101, "uuid": "123e4567-e89b-12d3-a456-426614174000", "title": "Sample article", "seo_title": "Sample article", "slug": "sample-article", "description": null, "content": "<p>This is the HTML body of the article</p>", "created": "2023-01-01T10:00:00Z", "last_updated": "2023-01-10T12:00:00Z", "published": true, "visibility": "public", "collections": [{ "collection_id": 10, "sort": 1 }] }Create an article
Create articles with an POST request to the collection endpoint root. Send only the fields you want to set. HTML must be escaped in JSON strings.
POST /knowledge/articlescurl -X POST \ -H "X-Api-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "title": "New article", "seo_title": "New article", "slug": "new-article", "description": "Short summary", "content": "<p>Hello world from the knowledge base</p>", "published": false, "visibility": "public", "collections": [ { "collection_id": 10, "sort": 1 } ] }' \ https://api.getfernand.com/knowledge/articlesUpdate an article
Update any field via PATCH on the resource URL. Partial updates are supported. Slug changes may affect links, so update your consumers accordingly.
PATCH /knowledge/articles/{article_id}curl -X PATCH \ -H "X-Api-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "title": "Sample article updated", "content": "<p>Updated HTML body</p>", "published": true, "collections": [ { "collection_id": 10, "sort": 1 }, { "collection_id": 12, "sort": 2 } ] }' \ https://api.getfernand.com/knowledge/articles/<ARTICLE_ID>Delete an article
Deletion is performed via a DELETE call. You don't need to pass an extra body.
DELETE /knowledge/articles/{article_id}curl -X DELETE \ -H "X-Api-Key: sk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ https://api.getfernand.com/knowledge/articles/<ARTICLE_ID>Status codes and common errors
200 on successful reads and updates
201 may be returned on creation
204 may be returned on deletion without a body
400 invalid payload or HTML not accepted
401 missing or invalid API key
404 article not found
409 slug conflict or duplicate constraint
Tips
Escape HTML in JSON strings for
content.Use
slugas your stable link in conjunction with the knowledge basebase_url.Keep your editor workflow consistent by toggling
publishedonly when ready.If you reorder collections, update each article’s
collectionsarray with the desiredsort.
Next steps
To list everything at once, see Fetching the knowledge base structure. To group or reorganize content, use Collections.

