Stocking stuffer ads for 100 products: one bulk run, 16 at a time
One Sume bulk run takes 1-100 items and 1-16 parallel workers. Here is how to set it up for a stocking stuffer catalog and check the failed count at the end.

Sume's bulk-run endpoint takes 1 to 100 items per queue and a concurrency of 1 to 16. For a 100-item stocking stuffer catalog, submit one queue, set concurrency to something your plan can actually run, and poll the queue until it ends. Then read counts.failed, because a completed queue is not the same as a successful one.
Set up the run
Pick a Format from the catalog at the sume handle, supply one item per product, and send a fresh Idempotency-Key for each batch so a retry cannot double-submit.
POST /v1/formats/sume/<slug>/bulk-runs
Idempotency-Key: stuffers-batch-01
# 1-100 items, concurrency 1-16
# then: GET /v1/format-run-queues/{id}Pick a sane concurrency
Concurrency is yours to set, but admission is your plan's: a Pro account runs 4 generation jobs at once and can hold 20 queued, so asking for 16 workers does not make a Pro account faster.
| Plan | Running | Queued | Accepted |
|---|---|---|---|
| Free | 1 | 5 | 6 |
| Pro | 4 | 20 | 24 |
| Startup | 8 | 40 | 48 |
| Scale | 20 | 100 | 120 |
Poll, do not wait for a webhook
Bulk queues have no queue webhook, so poll GET /v1/format-run-queues/{id} on an interval. Individual jobs can still use webhooks if you need them.
After the queue ends
Read counts.failed. Resubmit only the failed items in a new batch with a new Idempotency-Key, and keep the first batch's key unchanged so the original stays safe to retry.
Sources
Related posts
More in Formats
- Sume bulk item expires_at: 90 minutes start at dispatch, not at submit
A Sume run's expires_at is 90 minutes from created_at. A bulk child is created when dispatched, so a queued item's clock has not started.
- Repeatable holiday ads with Sume Formats: read the io profile first
Sume ships a Format catalog you can call with one POST. Read GET /v1/formats/sume/{slug} for the io profile before you build a Black Friday batch around one.
- Sume schedule cron: why @weekly and 6-field cron are rejected
Sume schedules take only standard 5-field cron. Macros like @weekly and 6-field expressions with seconds are rejected, so convert them before you create one.
- Sume scheduled run across daylight saving: Monday 9am New York
A Sume schedule takes a 5-field cron and an IANA timezone. Across the 2026 clock changes a Monday 9am New York job fires once, and its UTC hour shifts by one.
Written by Sume