links

POST /v1/content/runs

Start a multi-site posting run.

Toate punctele finale links

Autentificare

Trimiteți o cheie API ca token de tip bearer. Acest punct final nu specifică o permisiune anume în specificație, așa că acordați cheii cele mai puține drepturi necesare și verificați răspunsul în loc să faceți presupuneri.

Acest endpoint nu necesită un ID de organizație. Cheia ta identifică deja organizația căreia îi aparține, iar răspunsul este limitat la aceasta.

Încearcă

Înlocuiți tot ce se află între paranteze unghiulare cu propriile valori și substituentul cheie cu o cheie din tabloul de bord.

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[]> }'

Autentificat? Consola API din panoul de control îți completează ID-ul real al organizației și propria cheie și rulează cererea în API-ul live, astfel încât să poți vedea răspunsul efectiv. Deschideți acest punct final în consola API

Detalii

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.

Corp cerere

NumeTipObligatoriuCe este
briefstringDa
site_idsstring[]Da
anchorsContentRunAnchor[]Nu
categorystringNu
publish_policyContentRunPublishPolicyNu
recipe_idstringNu

Răspuns

NumeTipObligatoriuCe este
idstringDa
stateContentRunStateDaWhere 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_policyContentRunPublishPolicyDaHow far a run may go on its own. `draft_only` is the default and puts nothing live.
recipe_idstringNu
briefstringDa
categorystringNu
post_idstringNuThe 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.
attemptintegerDaWhich pass over the failures this is. 0 is the original run.
workflow_idstringNu
totalsContentRunTotalsDa
reasonContentRunFailureReasonNu
providerstringNu
messagestringNuAn 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.
resumablebooleanDaWhether a resume would actually do anything. False on a paused run with nothing failed — do not offer the button when this is false.
started_atstringNu
finished_atstringNu
created_atstringDa
itemsContentRunItem[]Da

Erori pe care le poate returna acest punct final

401 · 403 · 422 · 503