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

# Manage notification connectors

> Create, inspect, update, test, and delete notification connectors.

Notification connectors store organization-scoped credentials for SMTP, Slack, Lark, and generic
webhook delivery. Creating, updating, testing, or deleting a connector requires `alerts.manage`.
Listing and reading connectors requires `alerts.read`.

## List supported types

```http theme={null}
GET /api/v1/notify/connector-types
```

The response describes the capabilities of each connector type registered by the running backend.
Current types are `email_smtp`, `slack_app`, `slack_webhook`, `lark_app`, `lark_webhook`, and
`webhook`.

## Create a connector

```http theme={null}
POST /api/v1/notify/connectors
```

```json theme={null}
{
  "name": "Operations Slack",
  "connector_type": "slack_webhook",
  "config": {
    "webhook_url": "https://hooks.slack.com/services/T000/B000/secret",
    "timeout_secs": 10
  },
  "enabled": true
}
```

The API returns `201 Created`. The response includes the connector ID, capabilities, status, test
metadata, and timestamps. Sensitive config fields are masked:

```json theme={null}
{
  "id": "3J4connector",
  "organization_id": "3J4organization",
  "name": "Operations Slack",
  "connector_type": "slack_webhook",
  "config": {
    "webhook_url": "***",
    "timeout_secs": 10
  },
  "capabilities": {
    "direct_user": false,
    "group": true,
    "rich_text": true,
    "interactive": false,
    "acknowledgement": false,
    "attachments": false
  },
  "enabled": true,
  "status": "unknown",
  "last_tested_at": null,
  "last_test_status": null,
  "last_test_error": null
}
```

## List and read connectors

```http theme={null}
GET /api/v1/notify/connectors
GET /api/v1/notify/connectors/{id}
```

MoleSignal encrypts the complete `config` object at rest. Responses mask passwords, secrets,
tokens, URLs, and header objects with `***`.

## Update a connector

```http theme={null}
PUT /api/v1/notify/connectors/{id}
```

```json theme={null}
{
  "name": "Operations Slack",
  "config": {
    "webhook_url": "***",
    "timeout_secs": 20
  },
  "enabled": true
}
```

`connector_type` is immutable after creation. Send an unchanged masked value as `***` to keep the
stored secret, or replace the mask with a new plaintext value. Omit `config` to leave the whole
configuration unchanged.

## Test a connector

```http theme={null}
POST /api/v1/notify/connectors/{id}/test
```

```json theme={null}
{
  "target_type": "fixed_group",
  "target": "operations",
  "message": {
    "title": "MoleSignal connector test",
    "text": "Notification delivery is working.",
    "markdown": "**Notification delivery is working.**"
  }
}
```

The target must be compatible with the connector. A successful or failed test updates `status`,
`last_tested_at`, `last_test_status`, and `last_test_error`. A disabled connector cannot run a test.

## Delete a connector

```http theme={null}
DELETE /api/v1/notify/connectors/{id}
```

Successful deletion returns `204 No Content`. If a user endpoint, notification policy, or fallback
route still references the connector, the API returns a conflict. Move all references before
deletion.

See [Notification channels and delivery](/en-US/notification-channels) for provider config fields,
target types, and routing operations.
