REST API endpoint
DELETE /v1/automations/{id} — remove a schedule and its run history
Permanently deletes an automation, its schedule and its run history. It cannot be undone, and the documented order is to read it first.
Karl-Gustav Kallasmaa, Founder & CEOLast updated The request
Paste this and change the key. Every endpoint takes a bearer key and none takes a workspace id — the key names the workspace.
curl -X DELETE https://api.attensira.com/v1/automations/aut_71cd \
-H "Authorization: Bearer atn_live_<your key>"
Parameters
Every parameter the published reference documents, and nothing it does not.
| Name | In | Type | Default | Notes |
|---|---|---|---|---|
| id* | path | string | — | The automation id. Confirm it with the single-automation endpoint first — that read is free. |
The response (200)
Abbreviated, never invented — this is the shape the published reference documents.
{ "id": "aut_71cd", "deleted": true }
What goes wrong, and what it means
The condition on the left, the correct reading of it on the right.
- You deleted the wrong automation
- There is no restore. The definition, the schedule and the run history all go, so the instruction has to be written again from scratch.
- A weekly report simply stops arriving
- Deletion is silent by design. Nothing raises an inbox row when a schedule disappears, because the deletion was an instruction rather than a fault.
- You wanted it to stop temporarily
- Deletion is the wrong tool. An automation whose status is paused keeps its definition and its history and fires nothing, which is what "stop for now" actually means.
What this endpoint cannot tell you
The limits are part of the answer, not a disclaimer under it.
- It cannot be reversed and nothing is archived. The instruction, the cadence and every run the automation performed are removed together, so anything worth keeping has to be read before the call.
- It cannot pause. There is no soft form of this endpoint, so using it to silence an automation temporarily destroys the history you would want when you turned it back on.
This is the second of the two destructive endpoints in the API, and like the first it is small, quiet and permanent. It takes an id, removes the automation, and returns two fields.
What goes
Three things at once, and only one of them is obvious.
The definition goes, which includes the instruction — usually the part that took the longest to get right, and the part nobody has a copy of anywhere else. The schedule goes, so nothing fires again. And the run history goes, which means the record of what this automation produced over however many months is no longer there to look at.
The documented order of operations exists because of that third one: read the automation before you delete it. That read is free, it returns the instruction verbatim, and it is the difference between a deletion you can recover from and one you cannot.
Deletion is not pausing
The most common reason people reach for this endpoint is not the reason it exists. "Stop sending me this for a while" is a pause, and an automation whose status is paused keeps its definition, keeps its history, and fires nothing at all. When you want it back you switch it on and the series continues.
Deleting to achieve the same effect works exactly once, and costs you the history and the instruction. If there is any chance the job comes back, pause it.
It is silent
Nothing announces that a schedule has gone. No inbox row appears, no alert fires, and the automation is simply absent from the listing afterwards. That is correct — the deletion was an instruction, not a fault — but it means a weekly report can stop arriving and the only visible symptom is that nobody received an email.
If several people depend on an automation, the reasonable habit is to tell them before removing it rather than after they notice.
Cleaning up safely
For a workspace that has accumulated automations over a year, the safe sequence is mechanical. List them. For each candidate, read it and keep the instruction somewhere durable. Check the latest run: an automation that has never run, or whose newest run is months old and failed, is a genuine candidate. Anything you are unsure about gets paused rather than deleted, and you revisit the paused set a month later when nobody has complained.
That last step is the one worth insisting on, because the cost of a paused automation is nothing and the cost of a wrong deletion is an instruction somebody has to reconstruct from memory.
The credential question
This endpoint needs write access, and so does its MCP equivalent. An assistant connected with the read-and-write scope can delete automations, which is the documented reason to treat such a connection as a workspace credential rather than a read token. Where a caller only needs to see what is scheduled, a read-only key does the whole job and cannot do this one.
Its twin on the other surface
The delete_automation MCP tool takes the same id, is equally destructive, and carries the same instruction to confirm with a read first. Between it and remove_prompt they are the only two tools on that surface that permanently remove anything.
Before you press it
A short checklist prevents nearly every regret associated with this endpoint. Read the automation and copy the instruction somewhere durable. Check who receives or depends on its output. Confirm the id you are about to send matches the name you mean, since ids are short and similar. And ask whether pausing achieves what you actually want, because in most cases it does. None of those steps costs anything, all of them are read-only, and together they take less time than reconstructing an instruction that took an afternoon to phrase correctly the first time.
Questions people ask
- Is there a way to pause instead of delete?
- Yes — an automation's status can be paused, and a paused automation keeps its definition and history while firing nothing. Deletion is for automations you genuinely want gone.
- Does the run history survive?
- No. The schedule and the run history are removed with the automation, which is why the documented order is to confirm with a read first.
- Does deleting refund anything?
- No. Runs already performed were already billed, and the endpoint itself spends nothing.
- Can I recreate it identically?
- You can recreate the definition if you kept it. The history does not come back, and the new automation is a new id with no runs.
- What scope does it need?
- The write scope. Together with removing a prompt, it is one of the two destructive capabilities in the API.
Sources
Every factual statement above, with the page it came from and the date that page was read.
The Attensira API reference states that deleting an automation permanently deletes it and its run history, that this cannot be undone, and that the automation should be confirmed with a read first.
docs.attensira.com · retrieved
“Permanently deletes an automation and its run history. This cannot be undone — confirm with GET /v1/automations/{id} first.”
The API reference states that an automation whose status is paused does not run on its trigger, which is the non-destructive way to stop one.
docs.attensira.com · retrieved
“status is active (runs on its trigger), paused (does not)”
Next
- GET /v1/automations/{id}GET /v1/automations/{id} — one automation with its latest run inline
- GET /v1/automationsGET /v1/automations — every scheduled job and when it last ran
- DELETE /v1/prompts/{prompt}DELETE /v1/prompts/{prompt} — stop tracking, and lose the history
- POST /v1/automationsPOST /v1/automations — schedule work in plain language