Bulk Format runs on Sume: concurrency 1-16, 1-100 items, fail early
A Sume bulk run takes concurrency 1 to 16 and 1 to 100 items. A bad item fails the whole create with details.index before any queue exists. Nothing dispatches.

A Sume POST /v1/formats/{handle}/{slug}/bulk-runs body needs concurrency (an integer from 1 to 16) and items (1 to 100 entries, each the same body as a single run). If one item is invalid, the whole create fails with 400 invalid_request and details.index pointing at the bad item, before any queue exists, so nothing is dispatched. The queue has no webhook; poll GET /v1/format-run-queues/{id}. Source: Formats bulk runs, read 2026-10-06.
What are the fields?
Unknown top-level fields are rejected.
| Field | Rule |
|---|---|
concurrency | Required, 1 to 16, runs in flight at once |
items | Required, 1 to 100, in order |
| Per-item webhook | communication.webhook_url on each item |
| Queue webhook | None; completed means every item is terminal |
How do I read the result?
Poll the queue for progress, then read each child run at GET /v1/format-runs/{run_id}. Workspace generation concurrency still applies on top of your window, so a high concurrency is a ceiling, not a promise.
Sources
Related posts
More in Formats
- Bulk queue finished_at: measure the wall time of a 100-item batch
A Sume bulk queue sets finished_at when every item is terminal, so created_at to finished_at is your wall time. It does not mean every item succeeded.
- Bulk run concurrency 3 with 8 items: what the 202 receipt shows
With concurrency 3 and 8 items, the Sume 202 shows three running and five queued. Item 3 starts when item 0 finishes. Here is how the window and counts behave.
- Bulk run has no empty item: skip sheet rows without a finished script
A Sume bulk item must name at least one of instruction, input, previous_run_id or attachments. Filter unfinished sheet rows on your side before you send.
- One dead image URL fails the whole 100-item Sume bulk create
Sume fetches every attachment at create time, so one broken image URL in a bulk body fails the create before any queue exists. Check URLs first.
Written by Sume