hosting
POST /v1/bulk-jobs
Run one operation across many sites.
प्रमाणीकरण
एपिआई कुञ्जीलाई बियरर टोकन (bearer token) को रूपमा पठाउनुहोस्। कुञ्जीसँग sites.view अनुमति हुनुपर्छ; अनुमति नभएको कुञ्जीलाई 404 होइन, 403 मार्फत अस्वीकार गरिन्छ।
यो इन्डपोइन्टले कुनै संस्थाको आइडी लिँदैन। तपाईंको कुञ्जीले यस अन्तर्गत पर्ने संस्थालाई पहिल्यै पहिचान गर्छ, र प्रतिक्रिया त्यसैमा सीमित हुन्छ।
प्रयास गर्नुहोस्
कोणीय कोष्ठकभित्र भएका जुनसुकै कुरालाई आफ्नो मानहरूद्वारा बदल्नुहोस्, र मुख्य स्थानहोल्डरलाई तपाईंको ड्यासबोर्डको कुञ्जीद्वारा बदल्नुहोस्।
curl -X POST https://api.zinndigital.com/v1/bulk-jobs \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "operation": <BulkOperation>, "selector": <BulkSelector> }'लगइन गर्नुभएको छ? तपाईंको ड्यासबोर्डमा रहेको API कन्सोलले तपाईंको वास्तविक संस्थाको आईडी र आफ्नै कुञ्जी भरिदिन्छ, र लाइभ API विरुद्ध अनुरोध चलाउँछ ताकि तपाईंले वास्तविक प्रतिक्रिया हेर्न सक्नुहोस्। यो एन्डपोइन्टलाई API कन्सोलमा खोल्नुहोस्
विवरणहरू
Freezes the selection into a per-site work-list and starts a durable, idempotent workflow. The submit is instant and the work is not — this returns 202 as soon as the rows are written, and nothing a person is watching waits on the job itself. Only eligible sites are enrolled; ineligible ones are not written as pre-failed rows, because a report padded with rows that never had a chance makes the failures that matter harder to find. previewBulkJob is where you see them. A selection that enrolls nothing is a 422, not a job that completes instantly: "completed, 0 of 0" is indistinguishable from success on every screen that renders it. ⛔ A typed confirm phrase is required when the selector is wider than an explicit list (product_line, org) or the operation is weighty (plugin_remove, plugin_deactivate, blueprint_apply) at any size. previewBulkJob returns the exact phrase in confirmation_phrase. ⛔ All the selected sites must belong to one organization. A mixed selection is a 422 naming the problem rather than a job whose owner is a guess. Requires sites.view plus the operation's own key (see the tag description).
प्यारामिटरहरू
| नाम | प्रकार | आवश्यक | यो के हो |
|---|---|---|---|
Idempotency-Key (header) | string | हैन | Client-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats. |
अनुरोध बडी
| नाम | प्रकार | आवश्यक | यो के हो |
|---|---|---|---|
operation | BulkOperation | हुन्छ | 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… |
selector | BulkSelector | हुन्छ | 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… |
selector_value | string | हैन | The 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_ids | Uuid[] | हैन | The 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… |
params | BulkJobParams | हैन | The operation's arguments. Which keys are read depends on operation: plugin_install takes slugs + activate; plugin_activate, plugin_deactivate and plugin_remove take… |
confirm | string | हैन | The typed confirmation phrase, required when previewBulkJob answers confirmation_required: true. Send exactly the value it returned in confirmation_phrase. ⛔ Whether it is… |
note | string | हैन | Free text kept with the job, for whoever reads the report later. |
प्रतिक्रिया
| नाम | प्रकार | आवश्यक | यो के हो |
|---|---|---|---|
id | Uuid | हुन्छ | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | हुन्छ | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
operation | BulkOperation | हुन्छ | 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 | हुन्छ | The operation's arguments. Which keys are read depends on operation: plugin_install takes slugs + activate; plugin_activate, plugin_deactivate and plugin_remove take… |
selector | BulkSelector | हुन्छ | 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… |
selector_value | string | हुन्छ | — |
status | BulkJobStatus | हुन्छ | ⛔ 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… |
requested_by | string | हुन्छ | Who asked for it. |
note | string | हुन्छ | — |
created_at | string | हुन्छ | — |
updated_at | string | हुन्छ | — |
settled_at | object | हुन्छ | When the job finished; null while it is still running. |
counts | BulkJobCounts | हुन्छ | — |
progress | BulkJobProgress | हुन्छ | 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… |
यो इन्डपोइन्टले फर्काउन सक्ने त्रुटिहरू
401 · 403 · 409 · 422 · 429