Sume Action run 409: action_api_trigger_disabled vs action_inactive

Two different 409s stop POST /v1/actions/{id}/runs before any work starts. What each means, the dashboard fix, and how they differ from action_run_in_progress.

5 min readSume
All posts

409 action_api_trigger_disabled means the schedule's api_trigger_enabled is false; 409 action_inactive means its status is inactive. Both are set in the dashboard, and neither is fixed by retrying.

Both are listed in the error table of Advanced: run a schedule via API. Three prerequisites must all hold for any API run: status active, api_trigger_enabled true, and a key with actions:read and actions:write.

Which 409 am I looking at?

Four 409 codes share one status. Read error.code, not the HTTP status, to decide what to do.

409 codes on the invoke path, read 2026-10-02
error.codeCauseFix
action_api_trigger_disabledapi_trigger_enabled is falseEnable the API call trigger on the schedule
action_inactiveSchedule status is inactiveSet the schedule Active
action_run_in_progressA run is active and on_active_run was rejectRetry later, or use skip
idempotency_conflictIdempotency-Key reused with a different payloadUse a new key

How do I fix action_api_trigger_disabled?

Open the schedule at https://www.sume.com/agents/scheduled and enable the API call trigger. If the schedule's trigger type is api, it is already API-only by design. If it is cron, you can enable the API trigger on top of the cadence. The trigger type itself cannot change after creation.

One trap is mixing environments. The invoke endpoint host follows the dashboard you copied it from: a dashboard on a *.dev.sume.com host yields https://api.dev.sume.com, everything else yields https://api.sume.com. Check the host before pasting a copied command into production code.

How do I fix action_inactive?

Set the schedule to Active. While it is Inactive, API runs are rejected with this code. This is useful on purpose: switching a schedule off in the dashboard is a quick way to stop your own integration from starting runs while you edit the instructions.

What should my caller do?

Do not retry the first two in a loop; they are configuration states, not transient errors. Alert a person, and log the request_id from the error envelope. Retrying is reasonable for 429 and for 503 studio_agent_upstream_unavailable, with a bounded count.

A small branch keeps this clear:

For a dashboard of your own, count the two config 409s separately from the busy 409. A rising action_run_in_progress count means your triggers overlap and you should check on_active_run. A single action_inactive after an edit window usually just means someone forgot to switch the schedule back on. Always log the request_id from the error envelope with the code.

case "$CODE" in
  action_api_trigger_disabled|action_inactive) echo "config: fix in dashboard" ;;
  action_run_in_progress)                      echo "busy: retry later" ;;
  idempotency_conflict)                        echo "bug: new key needed" ;;
  *)                                           echo "other: see request_id" ;;
esac

Sources

Related posts

More in Agents

All Agents posts

Written by Sume