Triggers API

Manage event-driven agent triggers.

Endpoints

MethodPathDescription
GET/triggersList all triggers
GET/agents/{id}/triggersList triggers for an agent
POST/agents/{id}/triggersCreate a trigger
DELETE/triggers/{id}Delete a trigger

GET /triggers

curl http://localhost:4200/triggers

Response (200)

{
  "triggers": [
    {
      "id": "t-001",
      "agent_id": "550e8400-e29b-41d4-a716-446655440000",
      "pattern": {"lifecycle": {}},
      "prompt_template": "Agent lifecycle event: {{event}}",
      "max_fires": 0,
      "fires_count": 12
    }
  ]
}

POST /agents/{id}/triggers

Create a trigger for an agent.

curl -X POST http://localhost:4200/agents/550e8400-e29b-41d4-a716-446655440000/triggers \
  -H "Content-Type: application/json" \
  -d '{
    "pattern": {"agent_spawned": {"name_pattern": "claims-*"}},
    "prompt_template": "New claims agent detected: {{event}}",
    "max_fires": 10
  }'

Request Body

FieldTypeRequiredDescription
patternobjectYesEvent pattern to match
prompt_templatestringNoTemplate ({{event}} placeholder). Default: "Event: {{event}}"
max_firesintegerNoMax fires (0 = unlimited). Default: 0

Response (201)

{
  "id": "t-002"
}

DELETE /triggers/{id}

curl -X DELETE http://localhost:4200/triggers/t-002

Response (204 No Content)