Skip to main content
POST
/
v2
/
hc-articles
/
public
curl --request POST \
  --url 'https://api-prod.usefini.com/v2/hc-articles/public' \
  --header 'Authorization: Bearer fini_your_api_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "title": "Canceling your subscription",
    "mainKnowledge": "Customers can cancel from Billing in the dashboard.",
    "agentInstruction": "Use this only for self-serve web plans.",
    "questions": ["How do I cancel?", "Can I end my plan today?"],
    "keywords": ["cancel", "subscription", "billing"],
    "escalation": false,
    "parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
  }'
Use this route when you want to write articles directly instead of generating them from sources.

Headers

Authorization
string
required
Bearer token containing your Fini workspace API key. Format: Bearer fini_... The key needs write scope.
Content-Type
string
required
application/json

Body parameters

title
string
required
Article title.
mainKnowledge
string
required
Main knowledge body.
agentInstruction
string
required
Instructions the agent should apply when using this article.
questions
array
required
Related questions for the article.
keywords
array
required
Keywords for the article.
escalation
boolean
required
Whether the article is escalation-related.
parentFolderId
string
required
Folder that should contain the article.
isDraft
boolean
default:false
Whether to create the article as a draft instead of a live article.
origin
string
Optional origin marker to store with the article.
POST /v2/hc-articles/public only uses the fields documented above. Even though the internal DTO also permits active, public, and originalArticleId, the public create controller does not pass them through.
curl --request POST \
  --url 'https://api-prod.usefini.com/v2/hc-articles/public' \
  --header 'Authorization: Bearer fini_your_api_key' \
  --header 'Content-Type: application/json' \
  --data '{
    "title": "Canceling your subscription",
    "mainKnowledge": "Customers can cancel from Billing in the dashboard.",
    "agentInstruction": "Use this only for self-serve web plans.",
    "questions": ["How do I cancel?", "Can I end my plan today?"],
    "keywords": ["cancel", "subscription", "billing"],
    "escalation": false,
    "parentFolderId": "0f4da4fe-b2ae-4787-8c3b-854f36d9eb1b"
  }'

Response

Returns the created article object. See Manage knowledge for the shared article fields.
Because the public create route does not expose active or public, newly created articles currently come back with the service defaults for those fields.

Errors

The request body is malformed or one of the required arrays is empty.
The API key is missing, malformed, revoked, or invalid.
The API key does not include the write scope.