Automations API
POST /automations
Create an automation:
curl -X POST https://api.get-nimbus.com/automations \
-H "X-API-Key: $NIMBUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"repo_id": "repo-xyz789",
"trigger_type": "cron",
"trigger_config": {"schedule": "0 9 * * 1"},
"task_template": "Run the dependency-cve agent",
"enabled": true
}'
Response:
{
"id": "auto-abc123",
"repo_id": "repo-xyz789",
"trigger_type": "cron",
"trigger_config": {"schedule": "0 9 * * 1"},
"task_template": "Run the dependency-cve agent",
"enabled": true,
"last_triggered_at": null,
"last_task_id": null,
"created_at": "2026-04-26T00:00:00Z"
}
GET /automations
List all automations:
curl https://api.get-nimbus.com/automations \
-H "X-API-Key: $NIMBUS_API_KEY"
PATCH /automations/{id}
Update an automation (partial update):
curl -X PATCH https://api.get-nimbus.com/automations/auto-abc123 \
-H "X-API-Key: $NIMBUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'
DELETE /automations/{id}
Delete an automation:
curl -X DELETE https://api.get-nimbus.com/automations/auto-abc123 \
-H "X-API-Key: $NIMBUS_API_KEY"
POST /automations/webhook
Public webhook receiver — no API key required. Evaluates all enabled webhook automations and fires matching ones.
curl -X POST https://api.get-nimbus.com/automations/webhook \
-H "Content-Type: application/json" \
-d '{"action": "labeled", "label": {"name": "nimbus"}, "issue": {"title": "Fix login bug", "body": "..."}}'
Response:
{
"matched": 1,
"tasks_created": ["task-def456"]
}
If no automations match the payload, returns {"matched": 0, "tasks_created": []}.