ai

POST /v1/ai/recipes

Create an AI posting recipe.

Gbogbo àwọn ai endpoints

Ìfàṣẹ́pọ̀

Fi bọ́ọ̀lù (bearer token) ranṣẹ gẹ́gẹ́ bí kọ́kọ́rọ́ API. Kọ́kọ́rọ́ náà gbọ́dọ̀ ní ìyọ̀ǹda links.edit; a ó kọ̀ ọ́ silẹ pẹlu 403, kii ṣe 404, ti kọ́kọ́rọ́ náà kò bá ní i.

Ibùdó àmì ìdánimọ̀ ilé-iṣẹ́ rẹ sí

Ibi-iwọle yii n gba org_id gẹgẹ bi aaye ninu ara JSON naa.

Id àjọ rẹ wa lórí ojú-ìwákòòkò àwọn bọ́tìnnì API nínú daṣibọọdú rẹ, lẹ́gbẹ̀ẹ́ bọ́tìnnì náà gan-an. Ó jẹ́ ìd kan náà nínú gbogbo ìpè tí o bá ṣe.

Gbiyanju rẹ

Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.

curl -X POST https://api.zinndigital.com/v1/ai/recipes \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "name": <string> }'

Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API

Àwọn kúlẹ̀kúlẹ̀

⛔ Bounds are enforced at **authoring** time, not at run time: more than five anchors or more than ten posts per run would be refused on every run, so a recipe saved with them would look fine, sit on a schedule, and fail silently every night. Requires `links.edit` — the same key as writing a post by hand, because that is what this is.

Akoonu ibeere naa

OrúkọIruTí a nílòKini o jẹ
namestringBẹẹni
is_enabledbooleanBẹẹkọ
briefstringBẹẹkọ
tonestringBẹẹkọ
word_countintegerBẹẹkọ
languagestringBẹẹkọ
posts_per_runintegerBẹẹkọ
providerstringBẹẹkọ
model_idstringBẹẹkọ
model_familystringBẹẹkọ
anchorsAiAnchor[]Bẹẹkọ
anchor_policystring<none, every_post, rotate>Bẹẹkọ
link_set_idstringBẹẹkọThe reusable link set this recipe draws its links from, or `null` to use the recipe's own `anchors`. When set it **replaces** `anchors` rather than adding to them — two sources…
cadencestring<manual, daily, weekly, monthly>Bẹẹkọ
cadence_hour_utcintegerBẹẹkọ
cadence_dowintegerBẹẹkọ
cadence_domintegerBẹẹkọ
target_kindstring<none, sites, site_group, cms_targets>Bẹẹkọ
target_sitesstring[]Bẹẹkọ
target_site_group_idobjectBẹẹkọ
target_cms_target_idsstring[]Bẹẹkọ
target_categorystringBẹẹkọ
requires_capabilitiesstring[]Bẹẹkọ
capability_policystring<refuse, degrade, ask>Bẹẹkọ
image_providerstringBẹẹkọ
image_modelstringBẹẹkọ
featured_imagebooleanBẹẹkọ
inline_image_countintegerBẹẹkọ
inline_placementstring<after_intro, between_sections, end>Bẹẹkọ
image_stylestringBẹẹkọ
publish_modestring<draft, schedule, publish>Bẹẹkọ
schedule_offset_hoursintegerBẹẹkọ
schedule_stagger_minutesintegerBẹẹkọ
org_idUuidBẹẹkọUUIDv7 identifier — sortable by creation time (docs/02 §8).

Idahun

OrúkọIruTí a nílòKini o jẹ
idUuidBẹẹniUUIDv7 identifier — sortable by creation time (docs/02 §8).
namestringBẹẹni
is_enabledbooleanBẹẹni
briefstringBẹẹkọ
tonestringBẹẹkọ
word_countintegerBẹẹkọ
languagestringBẹẹkọBCP-47, or empty for "the language the brief is written in".
posts_per_runintegerBẹẹkọ⛔ Capped at 10. Two hundred articles from one brief are two hundred near-identical articles, which is a **footprint** — the exact thing the Footprint-Free line is sold to avoid.
providerstringBẹẹkọBlank = whatever the funding route resolves to.
model_idstringBẹẹkọBlank = the newest verified model in the family.
model_familystringBẹẹkọ
anchorsAiAnchor[]Bẹẹkọ
anchor_policystring<none, every_post, rotate>Bẹẹkọ
link_set_idstringBẹẹkọThe reusable link set this recipe draws its links from, or `null` to use the recipe's own `anchors`. When set it **replaces** `anchors` rather than adding to them — two sources…
cadencestring<manual, daily, weekly, monthly>Bẹẹni
cadence_hour_utcintegerBẹẹkọ
cadence_dowintegerBẹẹkọ0 = Monday.
cadence_domintegerBẹẹkọ⛔ Never 29-31: a monthly recipe set to the 31st would skip February silently, and a schedule that stops without an error is the failure this feature prevents.
next_run_atobjectBẹẹkọ
last_run_atobjectBẹẹkọ
target_kindstring<none, sites, site_group, cms_targets>Bẹẹkọ
target_sitesstring[]Bẹẹkọ
target_site_group_idobjectBẹẹkọ
target_cms_target_idsstring[]Bẹẹkọ
target_categorystringBẹẹkọ
requires_capabilitiesstring[]BẹẹkọCapability ids the target must support, e.g. `cms_target:featured_image`. Enforced on every run: each site's capabilities are read from its CMS target and any shortfall is handl…
capability_policystring<refuse, degrade, ask>BẹẹkọWhat to do when a target cannot do something the recipe requires. Default `refuse` — silently dropping a requested field is the failure this exists to stop. `refuse` skips that…
image_providerstringBẹẹkọ
image_modelstringBẹẹkọ
featured_imagebooleanBẹẹkọ
inline_image_countintegerBẹẹkọ
inline_placementstring<after_intro, between_sections, end>Bẹẹkọ
image_stylestringBẹẹkọ
publish_modestring<draft, schedule, publish>Bẹẹni⚖️ Owner ruling 2026-08-20: a **per-recipe** switch defaulting to `draft`. `draft` writes into the library and schedules nothing; `schedule` queues placements the customer can s…
schedule_offset_hoursintegerBẹẹkọ
schedule_stagger_minutesintegerBẹẹkọMinutes between consecutive posts in one run. ⛔ Not cosmetic: a network whose articles all appear in the same minute is a footprint.
blocking_providersstring[]BẹẹkọProviders this recipe needs a working key for and does not have. Empty means it can run now. ⚖️ A recipe naming no provider is never blocked — credits are the default route and…
created_atstringBẹẹni
updated_atstringBẹẹkọ

Awọn aṣiṣe ti ibudo ipari yii le da pada

401 · 403 · 422 · 429