更新协作空间
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."
}
}协作空间
更新协作空间
更新已有协作空间的配置和设置。
POST
/
channel
/
update
更新协作空间
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."
}
}限制说明
| 项目 | 说明 |
|---|---|
| 速率限制 | 每个账户 1,000 次/分钟;50 次/秒 |
| 权限要求 | 协作空间管理(on-call) |
授权
在 Flashduty 控制台 账户 → APP Key 中签发的 app_key。调用任何公开 API 时都必须携带。它等同于所属账户的身份凭证,请妥善保管。
请求体
application/json
更新协作空间所需参数,仅传入的字段会被更新。
要更新的协作空间 ID,可通过 POST /channel/list 获取。
新的所属团队 ID,可通过 POST /team/list 获取。
可管理该协作空间的其他团队 ID,最多 3 个。
Maximum array length:
3新的协作空间名称,1 到 59 个字符。
Required string length:
1 - 59新的描述信息,最多 500 个字符。
Maximum string length:
500自动恢复超时,单位秒。0 表示不自动恢复,最长 30 天。
必填范围:
0 <= x <= 2592000自动恢复计时模式:trigger 在故障触发时启动计时,update 在每次告警更新时重新计时。仅在请求同时携带 auto_resolve_timeout 时生效。
可用选项:
trigger, update 为 true 时仅管理团队可见。
告警聚合配置。
Show child attributes
Show child attributes
抖动检测配置。
Show child attributes
Show child attributes
禁用新奇故障检测。
禁用故障自动关闭。
允许外部上报人向该协作空间上报故障。
告警事件合并配置。仅在传入时更新。
Show child attributes
Show child attributes
响应
成功
成功响应结构。2xx 响应中 request_id 标识本次调用(同时出现在 Flashcat-Request-Id 响应头中),data 为接口业务 payload。失败响应使用不同结构,参见 ErrorResponse。
此页面对您有帮助吗?