cancel-in-progress killed my workflow; does the Sume job stop?
Cancelling a GitHub Actions run does not cancel a Sume job. Cancellation only works before generation starts, so store the job id and cancel it explicitly.

No: cancelling a GitHub Actions run does not cancel the Sume job it submitted. The Sume docs say a client-side timeout does not cancel a job, and an explicit POST /v1/jobs/{job_id}/cancel succeeds only before generation work starts.
Sume behavior is from the Jobs and results docs; the GitHub concurrency text was read 2026-09-30.
What does cancel-in-progress do?
GitHub's concurrency page says setting cancel-in-progress: true will “also cancel any currently running job or workflow in the same concurrency group.” It stops the runner. It does not know about a request you already sent to another service.
| Event | Sume job outcome |
|---|---|
| Workflow run cancelled after submit | Job keeps running and still bills |
| Client-side timeout | Job keeps running and still bills |
| POST cancel before generation starts | Job becomes canceled |
| POST cancel after generation started | 409 job_generation_already_started |
How do I cancel the job myself?
Call the cancel endpoint with the job id you saved from the submit response. Cancelling a job that is already canceled is idempotent and returns the same canceled job.
curl -X POST https://api.sume.com/v1/jobs/job_123/cancel \
-H "Authorization: Bearer $SUME_API_KEY"What does the 409 mean?
It means generation has already started. The response carries details.cancelable: false and the job runs to completion, so do not resubmit it; read the result once it is terminal.
How do I avoid orphaned jobs on a superseded run?
Write the job id to an artifact or a store as soon as the submit returns. The next run in the group can then look up the earlier job by id and read its status instead of submitting new paid work.
Sources
Related posts
More in Developers
- Google Cloud Workflows callback needs an IAM token: relay Sume
A Cloud Workflows callback URL needs the workflows.callbacks.send permission and a Bearer token. Sume webhooks cannot carry one, so relay after verifying.
- google/veo-3.1 style ids vs Sume: bare video model ids
OpenRouter names video models org/slug, such as google/veo-3.1. Sume uses bare catalog ids like seedance-2 and never a provider prefix. How to port an id.
- GPT Image 2.5 1080x1350: why the size fails and what to send
1080x1350 breaks GPT Image 2.5's multiple-of-16 size rule. 1080 is not a multiple of 16. 1088x1360 (exact 4:5) meets the listed rules. Per OpenAI and Sume docs.
- GPT Image 2.5 Batch API: not supported, so fan out jobs
OpenAI's model page lists Batch as unsupported for GPT Image 2.5. On Sume, submit many async or webhook jobs to /v1/images and collect the results.
Written by Sume