links

POST /v1/content/runs

Start a multi-site posting run.

Semua titik akhir links

Autentikasi

Kirimkan kunci API sebagai token bearer. Titik akhir ini tidak menyatakan izin tertentu dalam spesifikasi, jadi berikan kunci Anda izin minimum yang diperlukan dan periksa responsnya alih-alih berasumsi.

Endpoint ini tidak memerlukan id organisasi. Kunci Anda telah mengidentifikasi organisasi tempatnya berafiliasi, dan respons akan dibatasi untuk organisasi tersebut.

Coba

Ganti apa pun di dalam tanda kurung sudut dengan nilai Anda sendiri, dan placeholder kunci dengan kunci dari dasbor Anda.

curl -X POST https://api.zinndigital.com/v1/content/runs \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "brief": <string>, "site_ids": <string[]> }'

Sudah masuk? Konsol API di dasbor Anda akan mengisi ID organisasi asli dan kunci Anda sendiri, serta menjalankan permintaan terhadap API langsung sehingga Anda dapat melihat respons aktualnya. Buka titik akhir ini di konsol API

Detail

Writes one article from the brief and places it on every site named, eight at a time. Answers **201 immediately** with the run row — the work itself happens on the durable queue, and the run screen shows it progressing. Gated on `links.edit`, the same key as scheduling a post by hand, because that is what this creates. ⛔ `publish_policy` defaults to `draft_only`, so a request that omits it produces scheduled drafts and puts nothing live. `unattended` is the only value that publishes without a human, and it is the mode the durability guarantees are written for. ⛔ Every site id must belong to this organisation. A run naming a site that does not is refused whole with 422 rather than quietly posting to the rest — *"it only posted to some of them"* is not a state a customer can act on. Sites that cannot receive a post (suspended, a non-WordPress stack, transferred away) are recorded as `skipped` with a reason and do not stop the run.

Isi permintaan

NamaJenisWajibTentang apa ini
briefstringYa
site_idsstring[]Ya
anchorsContentRunAnchor[]Tidak
categorystringTidak
publish_policyContentRunPublishPolicyTidak
recipe_idstringTidak

Tanggapan

NamaJenisWajibTentang apa ini
idstringYa
stateContentRunStateYaWhere a run got to. `partial` is a real, honest, terminal answer and not a euphemism: some sites published and some did not, nothing is left to try, and the failures can be resu…
publish_policyContentRunPublishPolicyYaHow far a run may go on its own. `draft_only` is the default and puts nothing live.
recipe_idstringTidak
briefstringYa
categorystringTidak
post_idstringTidakThe article this run wrote. Written once and reused for every site, so a resumed run places the SAME copy rather than paying for a second generation.
attemptintegerYaWhich pass over the failures this is. 0 is the original run.
workflow_idstringTidak
totalsContentRunTotalsYa
reasonContentRunFailureReasonTidak
providerstringTidak
messagestringTidakAn English sentence for the customer. Clients should render their own localised text from `reason` and fall back to this only for a code they do not know.
resumablebooleanYaWhether a resume would actually do anything. False on a paused run with nothing failed — do not offer the button when this is false.
started_atstringTidak
finished_atstringTidak
created_atstringYa
itemsContentRunItem[]Ya

Kesalahan yang dapat dikembalikan oleh titik akhir ini

401 · 403 · 422 · 503