hosting
GET /v1/bulk-jobs/{bulkJobId}
One bulk job and its per-site report.
Autenticação
Envie uma chave de API como um token de portador. A chave deve ter a permissão sites.view; uma chave sem ela é recusada com 403, e não 404.
Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.
Experimente
Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.
curl -X GET https://api.zinndigital.com/v1/bulk-jobs/{bulkJobId} \
-H "Authorization: Bearer zdk_live_…"Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API
Detalhes
⭐ The per-site rows are the feature. A job that reported only a count could not answer *"which of my sites missed it, and why?"*, and a bulk action whose failures are invisible is worse than none, because it is believed. A cheap database read, polled while a job is in flight, so it never describes a workflow and never calls a hosting adapter. Requires `sites.view`.
Parâmetros
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
bulkJobId (path) | Uuid | Sim | Bulk job ID (UUIDv7). |
Resposta
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
id | Uuid | Sim | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | Sim | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
operation | BulkOperation | Sim | What 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… |
params | BulkJobParams | Sim | The operation's arguments. Which keys are read depends on `operation`: `plugin_install` takes `slugs` + `activate`; `plugin_activate`, `plugin_deactivate` and `plugin_remove` ta… |
selector | BulkSelector | Sim | Which 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_value | string | Sim | — |
status | BulkJobStatus | Sim | ⛔ `partial` is a real outcome, not a rounding of the other two. A job where 4 of 900 sites failed is neither a success nor a failure, and reporting it as either is how a bulk ac… |
requested_by | string | Sim | Who asked for it. |
note | string | Sim | — |
created_at | string | Sim | — |
updated_at | string | Sim | — |
settled_at | object | Sim | When the job finished; `null` while it is still running. |
counts | BulkJobCounts | Sim | — |
progress | BulkJobProgress | Sim | How far along a job is, how fast it is going and how much longer it has. ⛔⛔ **Every estimate here is nullable, and a `null` must never be rendered as `0`.** `rate_per_minute: 0`… |
items | BulkJobItem[] | Sim | — |
Erros que este endpoint pode retornar
401 · 403 · 404 · 429