---
title: "Create channel type"
method: POST
path: "/channeltypes"
tags: ["product:chat"]
---

# Create channel type

`POST /channeltypes`

Creates new channel type

## Request body

- CreateChannelTypeRequest, nullable
  - `automod` 'disabled' | 'simple' | 'AI', required — Automod. One of: disabled, simple, AI
  - `automod_behavior` 'flag' | 'block', required — Automod behavior. One of: flag, block
  - `blocklist` string — Blocklist
  - `blocklist_behavior` 'flag' | 'block' | 'shadow_block' — Blocklist behavior. One of: flag, block, shadow_block
  - `blocklists` BlockListOptions[] — Blocklists
    - `behavior` 'flag' | 'block' | 'shadow_block', required — Blocklist behavior. One of: flag, block, shadow_block
    - `blocklist` string, required — Blocklist name
  - `chat_preferences` ChatPreferences
    - `channel_mentions` string
    - `default_preference` string
    - `direct_mentions` string
    - `distinct_channel_messages` string
    - `group_mentions` string
    - `here_mentions` string
    - `role_mentions` string
    - `thread_replies` string
  - `commands` string[] — List of commands that channel supports
  - `connect_events` boolean — Connect events
  - `count_messages` boolean — Count messages in channel.
  - `custom_events` boolean — Custom events
  - `delivery_events` boolean
  - `grants` object — List of grants for the channel type
  - `mark_messages_pending` boolean — Mark messages pending
  - `max_message_length` integer, required — Max message length
  - `message_retention` string — Message retention. One of: infinite, numeric
  - `mutes` boolean — Mutes
  - `name` string, required — Channel type name
  - `partition_size` integer — Partition size
  - `partition_ttl` string, duration, nullable — Partition TTL
  - `permissions` PolicyRequest[] — List of permissions for the channel type
    - `action` 'Deny' | 'Allow', required
    - `name` string, required — User-friendly policy name
    - `owner` boolean, required — Whether policy applies to resource owner or not
    - `priority` integer, required — Policy priority
    - `resources` string[], required — List of resources to apply policy to
    - `roles` string[], required — List of roles to apply policy to
  - `polls` boolean — Polls
  - `push_level` 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none' — Default push notification level for the channel type. One of: all, all_mentions, mentions, direct_mentions, none
  - `push_notifications` boolean — Push notifications
  - `reactions` boolean — Reactions
  - `read_events` boolean — Read events
  - `replies` boolean — Replies
  - `search` boolean — Search
  - `shared_locations` boolean — Enables shared location messages
  - `skip_last_msg_update_for_system_msgs` boolean
  - `typing_events` boolean — Typing events
  - `uploads` boolean — Uploads
  - `url_enrichment` boolean — URL enrichment
  - `user_message_reminders` boolean

## Response `201`

Successful response

- CreateChannelTypeResponse, nullable
  - `allowed_flag_reasons` string[]
  - `automod` 'disabled' | 'simple' | 'AI', required
  - `automod_behavior` 'flag' | 'block' | 'shadow_block', required
  - `automod_thresholds` Thresholds — Sets thresholds for AI moderation
    - `explicit` LabelThresholds
      - `block` number, float — Threshold for automatic message block
      - `flag` number, float — Threshold for automatic message flag
    - `spam` LabelThresholds
      - `block` number, float — Threshold for automatic message block
      - `flag` number, float — Threshold for automatic message flag
    - `toxic` LabelThresholds
      - `block` number, float — Threshold for automatic message block
      - `flag` number, float — Threshold for automatic message flag
  - `blocklist` string
  - `blocklist_behavior` 'flag' | 'block' | 'shadow_block'
  - `blocklists` BlockListOptions[]
    - `behavior` 'flag' | 'block' | 'shadow_block', required — Blocklist behavior. One of: flag, block, shadow_block
    - `blocklist` string, required — Blocklist name
  - `chat_preferences` ChatPreferences
    - `channel_mentions` string
    - `default_preference` string
    - `direct_mentions` string
    - `distinct_channel_messages` string
    - `group_mentions` string
    - `here_mentions` string
    - `role_mentions` string
    - `thread_replies` string
  - `commands` string[], required
  - `connect_events` boolean, required
  - `count_messages` boolean, required
  - `created_at` string, date-time, required
  - `custom_events` boolean, required
  - `delivery_events` boolean, required
  - `duration` string, required
  - `grants` object, required
  - `mark_messages_pending` boolean, required
  - `max_message_length` integer, required
  - `mutes` boolean, required
  - `name` string, required
  - `partition_size` integer
  - `partition_ttl` string, duration, nullable
  - `permissions` PolicyRequest[], required
    - `action` 'Deny' | 'Allow', required
    - `name` string, required — User-friendly policy name
    - `owner` boolean, required — Whether policy applies to resource owner or not
    - `priority` integer, required — Policy priority
    - `resources` string[], required — List of resources to apply policy to
    - `roles` string[], required — List of roles to apply policy to
  - `polls` boolean, required
  - `push_level` 'all' | 'all_mentions' | 'mentions' | 'direct_mentions' | 'none'
  - `push_notifications` boolean, required
  - `quotes` boolean, required
  - `reactions` boolean, required
  - `read_events` boolean, required
  - `reminders` boolean, required
  - `replies` boolean, required
  - `search` boolean, required
  - `shared_locations` boolean, required
  - `skip_last_msg_update_for_system_msgs` boolean, required
  - `typing_events` boolean, required
  - `updated_at` string, date-time, required
  - `uploads` boolean, required
  - `url_enrichment` boolean, required
  - `user_message_reminders` boolean, required

## Other responses

- `400` — Bad request
- `429` — Too many requests

---

[API](https://skmtc.net/getstream/apis/stream-api.md) · [All operations](https://skmtc.net/getstream/apis/stream-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getstream/stream-api/versions/509a44ead023/schema)
