ai

POST /v1/ai/recipes

Create an AI posting recipe.

Dukkan ai wuraren ƙarshe

Dukan takardun mai haɓakawa

Tabbatar da Asali

Aika maɓallin API azaman alamar ɗauka (bearer token). Dole ne maɓallin ya kasance yana da izinin links.edit; idan babu shi, za a ƙi amfani da maɓallin tare da lambar 403, ba 404 ba.

Inda ID ɗin kungiyar ku ke zuwa

Wannan ma'ajiyar tana karɓar org_id a matsayin fili a cikin jikin JSON.

Ana samun lambar kungiyar ku a kan shafin maɓallan API a cikin madanninku, kusa da maɓallin kansa. Shi ne lambar da ta dace a kowane kiran da kuka yi.

Gwada

May gurbin komai da ke cikin kusurwa da ƙimar ka, kuma may gurbin maballi da maballi daga allon sarrafa ka.

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

An shiga? Na'urar sarrafa API da ke cikin sashin kulawarka tana cika ainihin lambar ƙungiyarka da maɓallinka naka, sannan tana gudanar da buƙatar a kan ainihin API don haka zaka iya ganin amsar gaske. Buɗe wannan tashar a cikin na'urar kula da API

Bayani

⛔ 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.

Jikin buƙata

SunaNau'iAna buƙataAbin da yake
namestringEh
is_enabledbooleanA'a
briefstringA'a
tonestringA'a
word_countintegerA'a
languagestringA'a
posts_per_runintegerA'a
providerstringA'a
model_idstringA'a
model_familystringA'a
anchorsAiAnchor[]A'a
anchor_policystring<none, every_post, rotate>A'a
link_set_idstringA'aThe 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>A'a
cadence_hour_utcintegerA'a
cadence_dowintegerA'a
cadence_domintegerA'a
target_kindstring<none, sites, site_group, cms_targets>A'a
target_sitesstring[]A'a
target_site_group_idobjectA'a
target_cms_target_idsstring[]A'a
target_categorystringA'a
requires_capabilitiesstring[]A'a
capability_policystring<refuse, degrade, ask>A'a
image_providerstringA'a
image_modelstringA'a
featured_imagebooleanA'a
inline_image_countintegerA'a
inline_placementstring<after_intro, between_sections, end>A'a
image_stylestringA'a
publish_modestring<draft, schedule, publish>A'a
schedule_offset_hoursintegerA'a
schedule_stagger_minutesintegerA'a
org_idUuidA'aUUIDv7 identifier — sortable by creation time (docs/02 §8).

Martani

SunaNau'iAna buƙataAbin da yake
idUuidEhUUIDv7 identifier — sortable by creation time (docs/02 §8).
namestringEh
is_enabledbooleanEh
briefstringA'a
tonestringA'a
word_countintegerA'a
languagestringA'aBCP-47, or empty for "the language the brief is written in".
posts_per_runintegerA'a⛔ 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.
providerstringA'aBlank = whatever the funding route resolves to.
model_idstringA'aBlank = the newest verified model in the family.
model_familystringA'a
anchorsAiAnchor[]A'a
anchor_policystring<none, every_post, rotate>A'a
link_set_idstringA'aThe 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>Eh
cadence_hour_utcintegerA'a
cadence_dowintegerA'a0 = Monday.
cadence_domintegerA'a⛔ 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_atobjectA'a
last_run_atobjectA'a
target_kindstring<none, sites, site_group, cms_targets>A'a
target_sitesstring[]A'a
target_site_group_idobjectA'a
target_cms_target_idsstring[]A'a
target_categorystringA'a
requires_capabilitiesstring[]A'aCapability 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 handled…
capability_policystring<refuse, degrade, ask>A'aWhat 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_providerstringA'a
image_modelstringA'a
featured_imagebooleanA'a
inline_image_countintegerA'a
inline_placementstring<after_intro, between_sections, end>A'a
image_stylestringA'a
publish_modestring<draft, schedule, publish>Eh⚖️ 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…
schedule_offset_hoursintegerA'a
schedule_stagger_minutesintegerA'aMinutes between consecutive posts in one run. ⛔ Not cosmetic: a network whose articles all appear in the same minute is a footprint.
blocking_providersstring[]A'aProviders 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_atstringEh
updated_atstringA'a

Kuskuren da wannan matsaya za ta iya maido wa

401 · 403 · 422 · 429