{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/frontapp/main/json-schema/frontapp-create-channel-schema.json", "title": "CreateChannel", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/frontapp-core-api-openapi.yml#/components/schemas/CreateChannel", "required": [ "type" ], "properties": { "name": { "type": "string", "description": "Name of the channel" }, "settings": { "type": "object", "description": "Settings of the channel", "properties": { "undo_send_time": { "type": "integer", "description": "The time (measured in seconds) that users have to undo a send operation in the channel.", "enum": [ 0, 5, 10, 15, 30, 60 ] }, "all_teammates_can_reply": { "type": "boolean", "description": "Whether teammates without inbox access can reply on this channel. Only allowed for shared channels." }, "webhook_url": { "type": "string", "description": "The webhook URL outbound messages should be sent to. Only allowed for \"custom\" type channels." }, "sid": { "type": "string", "description": "The SID of the Twilio channel. Only allowed for \"twilio\" type channels." }, "auth_token": { "type": "string", "description": "The auth token for the Twilio account. Only allowed for \"twilio\" type channels." } } }, "type": { "type": "string", "description": "Type of the channel", "enum": [ "custom", "smtp", "twilio" ] }, "send_as": { "type": "string", "description": "Sending address of your channel. Required for SMTP and Twilio channels." }, "application_uid": { "type": "string", "description": "The UID of a developer app that defines a channel. When provided, an application\nchannel bound to that app is created (the channel `type` must be \"custom\").\n" }, "credentials": { "type": "object", "description": "Credentials used to authenticate requests to the application's service. Only used with\n`application_uid`, and its shape depends on the application server's authentication type:\n - `none`: omit.\n - `api_key`: `{ \"api_key\": string }`.\n - `basic`: `{ \"username\": string, \"password\": string }`.\n - `bearer`: `{ \"access_token\": string }`.\n - OAuth2 `client_credentials`: `{ \"client_id\": string, \"client_secret\": string }`\n - OAuth2 `password`: `{ \"username\": string, \"password\": string }`\n - OAuth2 `authorization_code`: omit. The channel is created unauthenticated and the OAuth\n flow must be completed interactively afterwards.\n" } } }