/bff/post/ai-create-from-topic
Drafts the full article body via AI (title, perex, content as Markdown), saves it as a private draft (visibility=private, published_date=NULL) via the existing addPost() pipeline. Returns the new post externalId so the caller can redirect to /post/
Parameters
4 body
topicTitlestringRequiredSelected topic title from /ai-suggest-topics.
topicAnglestringRequiredEditorial angle/hook for the topic.
categoryExternalIdstringRequiredExternal ID of the category the article belongs to.
localestringRequiredCommunication locale code — controls the language of textual data (product names, descriptions, articles, storefront UI, transactional e-mails).
Preferred format: BCP 47 language tag — language[-Script][-REGION]. Use the full tag whenever the script or region matters:
en-GBvs.en-US(British vs. American spelling)pt-PTvs.pt-BR(European vs. Brazilian Portuguese)zh-Hansvs.zh-Hant(Simplified vs. Traditional Chinese)sr-Latnvs.sr-Cyrl(Latin vs. Cyrillic Serbian)
Backwards-compatible fallback: the bare two-letter ISO 639-1 code (cs, en, pl, …) is accepted indefinitely — legacy clients that only send the language subtag continue to work unchanged.
Resolution algorithm (server-side): the input is resolved against the supported locale list via the [RFC 4647 Lookup] progressive-fallback strategy — trailing subtags are stripped one by one until a supported locale is found. Example: en-GB-oxendict → en-GB → en (matched). If no subtag combination is supported, the request is rejected.
Currently supported locales: cs, en, fr, it, pl, de, sk, sv, es, zh, ja, uk, da, hu, ro, nl, pt, fi, nb, hr. Region-specific variants (e.g. en-GB, pt-BR) are accepted and resolved to their base language when the exact variant is not registered separately.
Request
POST /bff/post/ai-create-from-topic
curl -X POST "https://api.bizkithub.com/bff/post/ai-create-from-topic" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"topicTitle": "example_topicTitle",
"topicAngle": "example_topicAngle",
"categoryExternalId": "example_categoryExternalId",
"locale": "cs"
}'Response
JSON payload
{
"success": true
}All response codes
1 status code documented
Need an API key?
All BizKitHub API endpoints require authentication via API key.