curl --request POST \
--url 'https://api.flashcat.cloud/channel/update?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"channel_id": 1001,
"channel_name": "Production Alerts (v2)",
"description": "Updated description"
}
'import requests
url = "https://api.flashcat.cloud/channel/update?app_key="
payload = {
"channel_id": 1001,
"channel_name": "Production Alerts (v2)",
"description": "Updated description"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
channel_id: 1001,
channel_name: 'Production Alerts (v2)',
description: 'Updated description'
})
};
fetch('https://api.flashcat.cloud/channel/update?app_key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.flashcat.cloud/channel/update?app_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel_id' => 1001,
'channel_name' => 'Production Alerts (v2)',
'description' => 'Updated description'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.flashcat.cloud/channel/update?app_key="
payload := strings.NewReader("{\n \"channel_id\": 1001,\n \"channel_name\": \"Production Alerts (v2)\",\n \"description\": \"Updated description\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.flashcat.cloud/channel/update?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"channel_id\": 1001,\n \"channel_name\": \"Production Alerts (v2)\",\n \"description\": \"Updated description\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/channel/update?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_id\": 1001,\n \"channel_name\": \"Production Alerts (v2)\",\n \"description\": \"Updated description\"\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"external_report_token": ""
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}Update channel
Update an existing channel’s configuration and settings.
curl --request POST \
--url 'https://api.flashcat.cloud/channel/update?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"channel_id": 1001,
"channel_name": "Production Alerts (v2)",
"description": "Updated description"
}
'import requests
url = "https://api.flashcat.cloud/channel/update?app_key="
payload = {
"channel_id": 1001,
"channel_name": "Production Alerts (v2)",
"description": "Updated description"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
channel_id: 1001,
channel_name: 'Production Alerts (v2)',
description: 'Updated description'
})
};
fetch('https://api.flashcat.cloud/channel/update?app_key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.flashcat.cloud/channel/update?app_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel_id' => 1001,
'channel_name' => 'Production Alerts (v2)',
'description' => 'Updated description'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.flashcat.cloud/channel/update?app_key="
payload := strings.NewReader("{\n \"channel_id\": 1001,\n \"channel_name\": \"Production Alerts (v2)\",\n \"description\": \"Updated description\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.flashcat.cloud/channel/update?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"channel_id\": 1001,\n \"channel_name\": \"Production Alerts (v2)\",\n \"description\": \"Updated description\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/channel/update?app_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel_id\": 1001,\n \"channel_name\": \"Production Alerts (v2)\",\n \"description\": \"Updated description\"\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"external_report_token": ""
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter is not valid."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "Unauthorized",
"message": "You are unauthorized."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "RequestTooFrequently",
"message": "Request too frequently."
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InternalError",
"message": "We encountered an internal error, and it has been reported. Please try again later."
}
}Restrictions
| Aspect | Value |
|---|---|
| Rate limits | 1,000 requests/minute; 50 requests/second per account |
| Permissions | Channels Manage (on-call) |
Authorizations
App key issued from the Flashduty console under Account → APP Keys. Required on every public API call. Keep it secret — it grants the same access as the owning account.
Body
Parameters for updating a channel. Only the fields you pass are updated.
Channel ID to update.
New owning team ID.
Additional teams that can manage the channel. Up to 3 entries.
3New channel name. 1 to 59 characters.
1 - 59New description. Up to 500 characters.
500Auto-resolve timeout in seconds. 0 disables auto-resolve. Max 30 days.
0 <= x <= 2592000Auto-resolve timer reset mode.
trigger, update When true, the channel is visible only to its managing teams.
Alert grouping configuration.
Show child attributes
Show child attributes
Flapping detection configuration.
Show child attributes
Show child attributes
Disable outlier incident detection.
Disable automatic incident closing.
Allow external reporters to file incidents into this channel.
Response
Success
Success response envelope. On every 2xx response, request_id identifies the call (also mirrored in the Flashcat-Request-Id header) and data holds the endpoint-specific payload. Failure responses use a different shape — see ErrorResponse.
Unique ID for this request. Mirrored in the Flashcat-Request-Id response header. Include it when reporting issues.
"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"
Response from updating a channel. Only populated when is_external_report_enabled is set to true; otherwise all fields are empty.
Show child attributes
Show child attributes
Was this page helpful?