> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Trigger a rule

> Open an incident for a rule without evaluating its condition.

```http theme={null}
POST /api/v1/alerts/rules/{id}/trigger
```

Opens an incident for a rule without evaluating the condition. Use the call to exercise notifications and escalation, or to raise an incident by hand. The call works for disabled rules. It requires `alerts.manage`, and the body is empty.

* When the rule already has an open or acknowledged incident, the call returns that incident unchanged. Repeating the call is safe.
* Otherwise, the call creates an incident with the status `open` and sends the triggered notification event.
* The severity is the rule `severity`, then a `severity` label, then `warning`. The call ignores `thresholds`.
* The annotation `manual_triggered_by` holds the identifier of the calling user, and `triggering_query.sample_values` is empty.

An enabled rule resolves the incident at the next evaluation when its condition does not match. A disabled rule keeps the incident open until a user resolves it.

```bash cURL theme={null}
curl -X POST http://localhost:5080/api/v1/alerts/rules/$RULE_ID/trigger \
  -H "authorization: Bearer $MS_JWT"
```

```json 200 theme={null}
{
  "id": "3KEDNEyqouYJeBDTLTMTBui7XHW",
  "org_id": "<organization-id>",
  "rule_id": "3KEDBLvTYO6DnWi8H9S9MNLpPT7",
  "escalation_policy_id": "default",
  "status": "open",
  "severity": "critical",
  "summary": "High error rate",
  "fingerprint": "2b7f5329675de7077c74ffa2646a36cd3adf16f80f523270332894d1ff630632",
  "current_step": 0,
  "current_loop": 0,
  "current_step_started_at": 1790000000000000,
  "assignees": [],
  "labels": { "team": "checkout" },
  "annotations": { "manual_triggered_by": "<user-id>" },
  "trace_ids": [],
  "host_ids": [],
  "affected_services": [],
  "triggering_query": {
    "language": "sql",
    "statement": "SELECT count(*) AS c FROM app WHERE level = 'error'",
    "sample_values": []
  },
  "created_at": 1790000000000000,
  "acknowledged_at": null,
  "acknowledged_by": null,
  "resolved_at": null,
  "resolved_by": null
}
```

The response is an incident. [List incidents](https://docs.molesignal.com/en-US/api/alerting/list-incidents.md) describes every field.

**Errors**

| Status | Cause |
| - | - |
| `403` | The token lacks `alerts.manage`. |
| `404` | The rule does not exist. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.