links

POST /v1/content/runs

Start a multi-site posting run.

Todos los endpoints de links

Autenticación

Envía una clave de API como token de portador. Este endpoint no especifica un permiso concreto en la especificación, así que otorga a tu clave los mínimos privilegios necesarios y comprueba la respuesta en lugar de dar por sentado.

Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.

Pruébalo

Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.

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

¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API

Detalles

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.

Cuerpo de la solicitud

NombreTipoObligatorio¿Qué es esto?
briefstring
site_idsstring[]
anchorsContentRunAnchor[]No
categorystringNo
publish_policyContentRunPublishPolicyNo
recipe_idstringNo

Respuesta

NombreTipoObligatorio¿Qué es esto?
idstring
stateContentRunStateWhere 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_policyContentRunPublishPolicyHow far a run may go on its own. `draft_only` is the default and puts nothing live.
recipe_idstringNo
briefstring
categorystringNo
post_idstringNoThe 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.
attemptintegerWhich pass over the failures this is. 0 is the original run.
workflow_idstringNo
totalsContentRunTotals
reasonContentRunFailureReasonNo
providerstringNo
messagestringNoAn 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.
resumablebooleanWhether a resume would actually do anything. False on a paused run with nothing failed — do not offer the button when this is false.
started_atstringNo
finished_atstringNo
created_atstring
itemsContentRunItem[]

Errores que este endpoint puede devolver

401 · 403 · 422 · 503