---
title: "Create Notification Channel"
method: POST
path: "/api/notification-channels"
tags: ["Notification Channels"]
---

# Create Notification Channel

`POST /api/notification-channels`

## Request

- Base URL: `https://uptimeify.io`
- URL: `https://uptimeify.io/api/notification-channels`
- Auth: HTTP bearer

POST /api/notification-channels

## Request body

- object
  - `type` 'email' | 'sms' | 'webhook' | 'incident_management' | 'slack' | 'discord' | 'teams' | 'pagerduty' | 'pushover' | 'opsgenie' | 'matrix' | 'jira' | 'allquiet' | 'telegram' | 'googlechat' | 'mattermost' | 'rocketchat' | 'ntfy' | 'gotify' | 'ilert' | 'grafanaoncall' | 'incidentio' | 'squadcast' | 'github' | 'gitlab' | 'linear' | 'servicenow' | 'lark' | 'dingtalk' | 'wecom', required
  - `name` string, required
  - `config` union, required
    - object
    - string
  - `organizationId` union
    - integer
    - string
  - `customerId` union
    - integer
    - string
  - `websiteId` union
    - integer
    - string
  - `sourceChannelId` union
    - integer
    - string
  - `category` 'direct' | 'integration'
  - `delaySeconds` integer
  - `conditions` union
    - object
    - string
  - `isActive` boolean

## Response `200`

Successful response

- object
  - `id` integer, required
  - `organizationId` integer, required
  - `customerId` integer, nullable, required: null = organization channel.
  - `websiteId` integer, nullable, required: Set for a website-specific override.
  - `type` string, required: Channel type, e.g. email, sms, webhook, slack.
  - `category` 'direct' | 'integration', required
  - `name` string, required
  - `config` object, required: Provider settings. Secrets come back as null with a has<Secret> flag beside them.
  - `delaySeconds` integer, nullable, required
  - `conditions` object, nullable, required
  - `allowedPackageTypes` string[], nullable, required: null = all packages.
  - `isActive` boolean, required
  - `verifiedAt` string, date-time, nullable, required: Last proven delivery; null = never verified.
  - `createdAt` string, date-time, required

## Other responses

- `400`: Invalid or missing parameters.
- `401`: Missing, invalid or expired API token.
- `500`: Unexpected server error.

---

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