Sume schedule 404 action_not_found: five causes behind one code
One 404 action_not_found covers an unknown id, an archived schedule, a foreign workspace, a wrong handle or slug, or a team-owned schedule. A checklist.

Starting or reading a Sume schedule can return 404 action_not_found for several different reasons, and the response deliberately does not say which. The docs list it as an unknown or archived schedule, or one that belongs to another workspace; the vanity path adds an unknown handle, an unknown slug, or a handle you do not own; and schedules owned by a team workspace are not reachable over the public API yet.
From Run a schedule via API, read on 2026-10-03. Use the checklist below in order.
Checklist in order
Work from the cheapest check to the most involved. The first rows need nothing but the dashboard and your own code.
| Cause | How to check | Fix |
|---|---|---|
| Wrong or archived id | Compare with the schedule's invoke_url in the dashboard or list response | Use the current aut_ id |
| Handle or slug renamed | Compare vanity_invoke_url now with what your code uses | Switch to the aut_ id |
| Key belongs to another workspace | Check which workspace created the key | Use a key from the owning workspace |
| Handle not yours | Confirm the handle is the owner's | Use your own handle or the aut_ id |
| Team-owned schedule | Check who owns it | Not reachable over the public API yet |
Why the response does not say which
An unknown handle, an unknown slug, and a handle you do not own return the same 404. That is a privacy choice: the API does not confirm that someone else's handle or schedule exists. The cost to you is that debugging is by elimination.
Keep the request_id from the error envelope when you ask for help. It lets Sume find the exact call without you sharing keys or ids in a ticket.
Differences from the neighboring 409s
Do not confuse this with the 409 family. action_api_trigger_disabled means the schedule exists but its API call trigger is off; action_inactive means its status is inactive; action_run_in_progress means a run is active and you asked to reject overlap. A 409 tells you the schedule was found. A 404 tells you it was not found for this key.
If the schedule exists in the dashboard, you can see it, and your key still gets 404, the likely causes are a key from a different workspace or a team-owned schedule.
Making the failure visible in your code
Do not retry a 404. Nothing in the request will change on a second attempt, and the idempotency key does not help, because no run was created. Log the request_id and the path you called, including whether it was the opaque or vanity form, and raise.
In an integration that fans out to several schedules, include which schedule the call was for in the error message. A bare 404 in a loop of ten calls wastes a lot of time.
Sources
Related posts
More in Developers
- Sume API key scopes per call: formats, jobs, account, webhooks
Reading a Format run needs formats:read; cancel and redeliver need formats:write; the signing secret needs account:read. Scopes are fixed at key creation.
- Sume API rate limits by plan: requests per minute for writes and reads
Sume gives every API key a per-minute budget set by plan: 120 writes on Free up to 1200 on Scale, with reads at forty times the write number. Table and headers.
- Sume hides provider names and task ids: what to debug with
Sume job responses and events are provider-neutral: no vendor task ids or raw URLs. The fields to debug a video job with instead.
- Sume Auto image aspect_ratio 21:9 returns 400: what to send
sume/auto rejects aspect_ratio 21:9 and lists nine accepted values. Use image_size, or pin a model that lists 21:9, such as Nano Banana Pro or Flux 2 Pro.
Written by Sume