Sume GET /v1/jobs: a misspelled filter returns 400, not all jobs
Sume rejects an unrecognized query parameter on GET /v1/jobs with 400 unknown_parameter, so a typo cannot return an unfiltered page. Valid filters listed.

On GET /v1/jobs, an unrecognized query parameter returns 400 unknown_parameter and not a silently unfiltered page. So ?state=processing fails loudly, where it could have returned every job and sent your sweep after the wrong set. The filter that exists is status.
The query parameters
These are the parameters in the SDK's generated types for the list call.
| Parameter | Values |
|---|---|
status | queued, processing, completed, failed, canceled |
type | A job type string |
limit | Up to 100 per page |
starting_after | The next_cursor from the previous page |
scope, thread_id, run_id | Narrow by thread or run; they never widen what a key can read |
A correct call
curl "https://api.sume.com/v1/jobs?status=processing&limit=50" \
-H "Authorization: Bearer $SUME_API_KEY"Why this is good for migrations
A ported client often carries over the old vendor's filter names. Failing on an unknown name is safer than a page that looks right and is wrong. Treat a 400 here as a bug in your request, not as something to retry.
Sources
Related posts
More in Developers
- Sume MCP tool names: tools.list or tools_list, which one to call?
Use the underscore ids from tools_list, like generate_image. Sume also accepts dotted aliases, but tools_schema wants snake_case and clients may add a prefix.
- A Sume poll returned HTML: guard the JSON parse in Python
A proxy or edge can answer a Sume poll with an HTML page. A tested stdlib Python helper that returns None for non-JSON bodies so your loop retries, not crashes.
- Which statuses to retry when reading back a Sume job (Python)
After a Sume submit returns a job id, retry reads on 408, 425, 429, 500, 502, 503, 504 and 520 to 525. A tested Python classifier and the 409 gotcha.
- Webhook URL with user:pass@ gets a 400: verify the signature instead
Sume refuses a run webhook_url that carries credentials, plain HTTP or a private host. Authenticate your receiver with the signed headers, not the URL.
Written by Sume