> ## 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.

# List alert sources

> List alert sources, read one source, and see which clusters can receive.

```http theme={null}
GET /api/v1/alerts/sources
GET /api/v1/alerts/sources/{id}
GET /api/v1/alerts/sources/clusters
```

The first call lists the organization's [alert sources](https://docs.molesignal.com/en-US/alerting/sources.md), the second returns one source, and the third returns this cluster's federation ID (`local`, empty without federation) and the clusters a source can choose as its receiving cluster. All three require `alerts.sources.read`. The API never returns a token or its hash.

| Field | Type | Description |
| - | - | - |
| `id` | string | Source ID. |
| `name` | string | Name. |
| `kind` | string | `api`, `alertmanager`, `grafana`, `datadog`, `pagerduty`, `aliyun_cms`, `tencent_monitor`, `aws_cloudwatch`, `zabbix` or `email`. |
| `enabled` | boolean | A turned-off source refuses alerts. |
| `escalation_policy_id` | string \| null | The escalation policy its incidents follow; `default` is the default policy, and `null` escalates nothing and only notifies. |
| `severity` | string | Used when an alert carries no severity. |
| `labels` | object | Extra labels added to every incident it opens. |
| `token_prefix` | string | The token prefix `ms_<16>`. The whole token is returned once, on creation and rotation. |
| `home_cluster` | string | The federation cluster its incidents open on; empty for this cluster. |
| `intake_path` | string | The path of the intake address, the same for every source. |
| `last_intake_at` | integer \| null | When this cluster last received a request from it, in microseconds. |
| `created_by`, `created_at`, `updated_at` | | Who created it and when, and when it last changed, in microseconds. |

```bash cURL theme={null}
curl http://localhost:5080/api/v1/alerts/sources \
  -H "authorization: Bearer $MS_TOKEN"
```

```json 200 theme={null}
[
  {
    "id": "3KEJ1mZqf0bY0b8XUgD4tkd2Vwq",
    "name": "Production Prometheus",
    "kind": "alertmanager",
    "enabled": true,
    "escalation_policy_id": "default",
    "severity": "warning",
    "labels": { "team": "payments" },
    "token_prefix": "ms_aB3kZ1xT9pQrU7nM",
    "home_cluster": "",
    "intake_path": "/api/v1/intake/alerts",
    "created_by": "<user-id>",
    "created_at": 1790000000000000,
    "updated_at": 1790000000000000,
    "last_intake_at": 1790000300000000
  }
]
```

The clusters a source can choose as its receiving cluster:

```json theme={null}
{
  "local": "cluster-cn-east",
  "clusters": [
    { "id": "cluster-cn-east", "name": "cluster-cn-east", "local": true },
    { "id": "cluster-eu-west", "name": "EU West", "local": false }
  ]
}
```


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