Scheduled run 400 because the instructions are empty: where to fix it
A Sume schedule with empty instructions can not run. The API run request returns 400 invalid_request, and the text can only be edited in the dashboard.

If POST /v1/actions/{id}/runs returns 400 invalid_request and your body is fine, check the schedule itself: its instructions may be empty. Sume says that empty instructions cannot run, and the same 400 covers it (Create a schedule). Open the schedule in the dashboard, write the instructions, and call again.
Why the API can not fix it
The public Action object has no instructions field, on purpose. The API does not return the text and has no create or edit endpoint, so the dashboard is the only place to read or change it (Scheduled agents). Your input can not stand in for the text. It is data for the run, and the behavior of the Agent comes from the saved instructions.
Other causes of the same code
409 action_inactive is a different problem: the schedule is set to Inactive, and the dashboard switch turns it back on.
| Cause | Fix |
|---|---|
input is not an object, has more than 64 properties, or is over 2,097,152 bytes | Send an object that fits. |
generation_spend_cap_usd is not a finite number above 0, or null | Send a valid cap. |
webhook_url is not a public HTTPS URL | Send an HTTPS URL. |
| The saved instructions are empty | Edit the schedule in the dashboard. |
Add a pre-flight
GET /v1/actions/{id} shows status, trigger_type and api_trigger_enabled. It can not show the instructions, so a pre-flight can only confirm that the schedule is active and accepts API runs. Keep a short note of each schedule's purpose in your own system.
Sources
Related posts
More in Agents
- Sume scheduled run returned skipped: detect previous_run_active
A Sume scheduled run that overlaps another returns 200 with status skipped, not an error. Check skip_reason in code, and choose reject if a drop must be loud.
- Did my Sume cron schedule fire? Read last_run_at and next_run_at
GET /v1/actions/{id} returns last_run_at and cron.next_run_at. Compare them with the run list to see if a schedule fired, without opening the dashboard.
- Sume schedule slug rules: 2-64 characters, and runs is reserved
A Sume schedule slug is lowercase alphanumerics with single hyphens, 2 to 64 characters, unique in your account. The word runs is reserved. See the vanity path.
- trending-research_search MCP tool: Reels and TikTok trends, $0.10
The hosted MCP tool trending-research_search finds trending Instagram Reels and TikTok videos for a niche at about $0.10 per search. YouTube is not supported.
Written by Sume