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

# Create Notifications Channel

`POST /notifications/channels`

Create a new item

## Request body

- CreateNotificationsChannelInput
  - `data` ModelsNotificationChannel, required — The data to update
    - `_id` string, objectid — ID
    - `created_at` string, date-time — Created timestamp
    - `created_by` string, objectid — Created by
    - `description` string — Description
    - `google_oauth2_json` string — Google OAuth2 JSON
    - `name` string — Name
    - `provider` string — Provider
    - `smtp_password` string — SMTP password
    - `smtp_port` integer — SMTP port
    - `smtp_server` string — SMTP server
    - `smtp_username` string — SMTP username
    - `telegram_bot_token` string — Telegram bot token
    - `telegram_chat_id` string — Telegram chat ID
    - `type` 'im' | 'mail' — Type
    - `updated_at` string, date-time — Updated timestamp
    - `updated_by` string, objectid — Updated by
    - `webhook_url` string — Webhook URL

## Response `200`

OK

- ControllersResponseGithubModelsNotificationChannel
  - `data` ModelsNotificationChannel — The data to update
    - `_id` string, objectid — ID
    - `created_at` string, date-time — Created timestamp
    - `created_by` string, objectid — Created by
    - `description` string — Description
    - `google_oauth2_json` string — Google OAuth2 JSON
    - `name` string — Name
    - `provider` string — Provider
    - `smtp_password` string — SMTP password
    - `smtp_port` integer — SMTP port
    - `smtp_server` string — SMTP server
    - `smtp_username` string — SMTP username
    - `telegram_bot_token` string — Telegram bot token
    - `telegram_chat_id` string — Telegram chat ID
    - `type` 'im' | 'mail' — Type
    - `updated_at` string, date-time — Updated timestamp
    - `updated_by` string, objectid — Updated by
    - `webhook_url` string — Webhook URL
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `500` — Internal Server Error

## Changes

- **2026-07-17** `c7a4715c1f13` — 1 breaking, 1 warning, 10 info
  - added the new required request property `data`
  - removed the optional property `code` from the response with the `200` status
  - api operation id `create_notifications_channel` was added
  - api tag `Notification Channels` added
  - …8 more
- **2025-03-03** `14e4eafea538` — 9 warning
  - removed the request property `_id`
  - removed the request property `config`
  - removed the request property `created_at`
  - removed the request property `created_by`
  - …5 more
- **2025-03-02** `526e5bdf6dee` — 1 breaking, 20 warning, 15 info
  - request body became required
  - removed the request property `data`
  - removed the optional property `data/_id` from the response with the `200` status
  - removed the optional property `data/created_at` from the response with the `200` status
  - …32 more

[Change history](https://skmtc.dev/crawlab-team/apis/crawlab-api/changes/notifications/channels/post.md)

---

[API](https://skmtc.dev/crawlab-team/apis/crawlab-api.md) · [All operations](https://skmtc.dev/crawlab-team/apis/crawlab-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/crawlab-team/crawlab-api/revisions/c7a4715c1f13/schema)
