Automations
Update an automation
Replace an API-managed automation definition.
TypeScript SDKThe npm client, generated from the API spec.Python SDKThe PyPI client, sync and async.
| Method | Path | Required permissions |
|---|---|---|
| PUT | /v1/automations/{automation_id} | write:configs |
Token access
- API key
- Supported.
- CLI user token
- Supported.
- Sandbox token
- Unavailable. Not supported by sandbox tokens, even with permissions.ellipsis enabled.
Higher permission levels include lower levels: read < write < delete.
Grant match patterns can further restrict access to individual resources.
Edit git-managed definitions in their repository or unlink them first.
Path parameters
automation_idstringrequired
curl -X PUT "https://api.ellipsis.dev/v1/automations/{automation_id}" \
-H "Authorization: Bearer $ELLIPSIS_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"automation": {
"ellipsis": {
"name": "check-tests",
"version": "v1",
"enabled": true,
"metadata": {
"labels": [],
"annotations": {}
}
},
"session": {
"harness": {
"type": "claude_code"
},
"instructions": "Run the tests and report failures.",
"environment": "api-environment",
"budget": {
"session": 3
},
"permissions": {
"github": {},
"ellipsis": true
},
"skills": []
}
}
}'import os
from ellipsis import Ellipsis
from ellipsis import models
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])
request = models.UpdateAutomationRequest.model_validate(
{
"automation": {
"ellipsis": {
"name": "check-tests",
"version": "v1",
"enabled": True,
"metadata": {
"labels": [],
"annotations": {}
}
},
"session": {
"harness": {
"type": "claude_code"
},
"instructions": "Run the tests and report failures.",
"environment": "api-environment",
"budget": {
"session": 3
},
"permissions": {
"github": {},
"ellipsis": True
},
"skills": []
}
}
}
)
result = client.automations.update("check-tests", request.automation)
print(result)import { Ellipsis } from '@ellipsis-dev/sdk';
const client = new Ellipsis({
apiKey: process.env.ELLIPSIS_API_TOKEN!,
});
const request: Parameters<typeof client.automations.update>[1] = {
"automation": {
"ellipsis": {
"name": "check-tests",
"version": "v1",
"enabled": true,
"metadata": {
"labels": [],
"annotations": {}
}
},
"session": {
"harness": {
"type": "claude_code"
},
"instructions": "Run the tests and report failures.",
"environment": "api-environment",
"budget": {
"session": 3
},
"permissions": {
"github": {},
"ellipsis": true
},
"skills": []
}
}
};
const result = await client.automations.update("check-tests", request);
console.log(result);Request
Example request body
{
}
Body parameters
automationAutomationConfig-Inputrequired
The automation's new definition. Replaces the previous one wholesale , this is not a partial update.
Response
Example response, 200
{
}