hosting

POST /v1/bulk-jobs/preview

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

Wszystkie punkty końcowe hosting

Uwierzytelnianie

Wyślij klucz API jako token bearer. Klucz musi posiadać uprawnienie sites.view; klucz bez niego jest odrzucany z kodem 403, a nie 404.

Ten punkt końcowy nie wymaga identyfikatora organizacji. Twój klucz już identyfikuje organizację, do której należy, a odpowiedź jest do niej ograniczona.

Wypróbuj

Zastąp wszystko w nawiasach ostrych własnymi wartościami, a zastępczy znacznik klucza kluczem ze swojego pulpitu nawigacyjnego.

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

Zalogowany? Konsola API w Twoim panelu uzupełnia rzeczywiste identyfikator organizacji oraz Twój własny klucz i wykonuje żądanie względem aktywnego API, dzięki czemu możesz zobaczyć rzeczywistą odpowiedź. Otwórz ten punkt końcowy w konsoli API

Szczegóły

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

Treść żądania

NazwaTypWymaganeCo to jest
operationBulkOperationTakWhat 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…
selectorBulkSelectorTakWhich 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_valuestringNieThe 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[]NieThe 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…
paramsBulkJobParamsNieThe operation's arguments. Which keys are read depends on `operation`: `plugin_install` takes `slugs` + `activate`; `plugin_activate`, `plugin_deactivate` and `plugin_remove` ta…

Odpowiedź

NazwaTypWymaganeCo to jest
operationBulkOperationTakWhat 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…
selectorBulkSelectorTakWhich 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_valuestringTak
matchedintegerTakHow many sites the selection resolves to, **counted over the whole selection**.
eligibleintegerTakHow 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…
listedintegerTakHow many rows are in `sites` (capped at 200); `matched` is the real total.
max_sitesintegerTakThe ceiling on one job. A larger selection is a `422`, never a silent truncation.
confirmation_requiredbooleanTak
confirmation_phraseobjectTakThe exact phrase to send as `confirm`; `null` when none is needed.
sitesBulkJobPreviewSite[]Tak

Błędy, które ten punkt końcowy może zwrócić

401 · 403 · 422 · 429