---
title: "Execute Trigger"
method: POST
path: "/v1/triggers/{trigger_id}/execute"
tags: ["v1", "protected", "triggers"]
---

# Execute Trigger

`POST /v1/triggers/{trigger_id}/execute`

Execute a trigger with the provided event data.

Builds trigger data from the events and channel origin, then creates and
submits a task for agent execution.

Authorization is the caller's session plus the workspace-scoped trigger
lookup: a trigger in another workspace is simply not found. This used to sit
on the public router behind an ``X-Internal-Token`` check that skipped
itself whenever the secret was unset — which was every deployment, since
nothing ever sent that header.

Args:
    trigger_id: The unique identifier of the trigger
    request: Events and channel origin data
    trigger_service: Injected trigger service

Returns:
    Execution result with task ID

Raises:
    HTTPException: If trigger not found or execution fails

## Path parameters

- `trigger_id` string, uuid, required

## Request body

- TriggerExecuteRequest — Request model for executing a trigger via the event service.
  - `channel_origin` object
  - `events` object[]

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-10** `c4f1d53658a2` — 2 info
  - api tag `protected` added
  - api tag `public` removed
- **2026-04-29** `e1a530c0a2d5` — 1 info
  - endpoint added
- **2026-03-30** `e9c153221160` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/agentarea/apis/agentarea-api/changes/v1/triggers/:trigger_id/execute/post.md)

---

[API](https://skmtc.dev/agentarea/apis/agentarea-api.md) · [All operations](https://skmtc.dev/agentarea/apis/agentarea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentarea/apis/agentarea-api/revisions/ebd031ab895b?raw)
