hosting

POST /v1/bulk-jobs/preview

What a bulk job would do, per site, before you confirm it.

Alle hosting Endpunkte

Authentifizierung

Senden Sie einen API-Schlüssel als Bearer-Token. Der Schlüssel muss über die Berechtigung sites.view verfügen; ein Schlüssel ohne diese wird mit 403 statt 404 abgelehnt.

Dieser Endpunkt erfordert keine Organisations-ID. Ihr Schlüssel identifiziert bereits die zugehörige Organisation, und die Antwort ist entsprechend eingeschränkt.

Ausprobieren

Ersetzen Sie alles in spitzen Klammern durch Ihre eigenen Werte und den Platzhalter für den Schlüssel durch einen Schlüssel aus Ihrem Dashboard.

curl -X POST https://api.zinndigital.com/v1/bulk-jobs/preview \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "operation": <BulkOperation>, "selector": <BulkSelector> }'

Angemeldet? Die API-Konsole in Ihrem Dashboard trägt automatisch Ihre echte Organisations-ID sowie Ihren eigenen Schlüssel ein und führt die Anfrage gegen die Live-API aus, sodass Sie die tatsächliche Antwort sehen können. Öffnen Sie diesen Endpunkt in der API-Konsole

Details

Resolves a selection and answers **per site** whether the operation can run on it and, if not, why. ⭐⭐ The counts come from the *same query the job will run*, so the number you confirm cannot drift from the number that executes. A count computed a different way would be decoration. ⭐ A count alone would hide the thing that actually surprises people: six of your twelve sites may be on a platform with no shell and no `wp-cli`, so they physically cannot take an install. Learning that from the report afterwards is learning it too late, which is why `sites[]` carries a `reason` for every ineligible one. ⛔ `POST` for a **read**. Nothing is written and nothing is started. The verb is a transport decision: an explicit selection of several hundred site ids does not fit in a query string that proxies, browsers and access logs will truncate or record. Do not "correct" it to `GET`. Requires `sites.view`.

Anfragekörper

NameTypErforderlichWas es ist
operationBulkOperationJaWhat a bulk job does to each of its sites. ⛔ One job model with an operation discriminator, not eight job models. A selection, a frozen work-list, a durable pass and a per-site…
selectorBulkSelectorJaWhich sites a job targets. ⛔ There is no `all`. A job belongs to exactly one organization and `all` would span every tenant on the platform; the fleet-wide act is a staff operat…
selector_valuestringNeinThe selector's argument — a product-line code for `product_line`, an organization id for `org`, a site-group id for `group`. Ignored for `sites`, whose members are `site_ids`.
site_idsUuid[]NeinThe explicit selection, for `selector: sites`. Every id is fenced to the organizations you can reach, so one belonging to somebody else resolves to nothing rather than to a cros…
paramsBulkJobParamsNeinThe operation's arguments. Which keys are read depends on `operation`: `plugin_install` takes `slugs` + `activate`; `plugin_activate`, `plugin_deactivate` and `plugin_remove` ta…

Antwort

NameTypErforderlichWas es ist
operationBulkOperationJaWhat a bulk job does to each of its sites. ⛔ One job model with an operation discriminator, not eight job models. A selection, a frozen work-list, a durable pass and a per-site…
selectorBulkSelectorJaWhich sites a job targets. ⛔ There is no `all`. A job belongs to exactly one organization and `all` would span every tenant on the platform; the fleet-wide act is a staff operat…
selector_valuestringJa
matchedintegerJaHow many sites the selection resolves to, **counted over the whole selection**.
eligibleintegerJaHow many of those the operation can actually run on — the number that will be enrolled. Counted over the whole selection, never over the listed sample: a truncated count is wors…
listedintegerJaHow many rows are in `sites` (capped at 200); `matched` is the real total.
max_sitesintegerJaThe ceiling on one job. A larger selection is a `422`, never a silent truncation.
confirmation_requiredbooleanJa
confirmation_phraseobjectJaThe exact phrase to send as `confirm`; `null` when none is needed.
sitesBulkJobPreviewSite[]Ja

Fehler, die dieser Endpunkt zurückgeben kann

401 · 403 · 422 · 429