curl --request POST \
--url 'https://api.flashcat.cloud/safari/a2a-agent/create?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"agent_name": "Network Diagnostics Agent",
"card_url": "https://agents.example.com/network-diag/.well-known/agent.json",
"description": "Runs traceroute and BGP-path analysis for network incidents.",
"auth_type": "bearer",
"auth_config": {
"token": "secret"
},
"streaming": true,
"team_id": 0
}
'import requests
url = "https://api.flashcat.cloud/safari/a2a-agent/create?app_key="
payload = {
"agent_name": "Network Diagnostics Agent",
"card_url": "https://agents.example.com/network-diag/.well-known/agent.json",
"description": "Runs traceroute and BGP-path analysis for network incidents.",
"auth_type": "bearer",
"auth_config": { "token": "secret" },
"streaming": True,
"team_id": 0
}
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({
agent_name: 'Network Diagnostics Agent',
card_url: 'https://agents.example.com/network-diag/.well-known/agent.json',
description: 'Runs traceroute and BGP-path analysis for network incidents.',
auth_type: 'bearer',
auth_config: {token: 'secret'},
streaming: true,
team_id: 0
})
};
fetch('https://api.flashcat.cloud/safari/a2a-agent/create?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/safari/a2a-agent/create?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([
'agent_name' => 'Network Diagnostics Agent',
'card_url' => 'https://agents.example.com/network-diag/.well-known/agent.json',
'description' => 'Runs traceroute and BGP-path analysis for network incidents.',
'auth_type' => 'bearer',
'auth_config' => [
'token' => 'secret'
],
'streaming' => true,
'team_id' => 0
]),
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/safari/a2a-agent/create?app_key="
payload := strings.NewReader("{\n \"agent_name\": \"Network Diagnostics Agent\",\n \"card_url\": \"https://agents.example.com/network-diag/.well-known/agent.json\",\n \"description\": \"Runs traceroute and BGP-path analysis for network incidents.\",\n \"auth_type\": \"bearer\",\n \"auth_config\": {\n \"token\": \"secret\"\n },\n \"streaming\": true,\n \"team_id\": 0\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/safari/a2a-agent/create?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"agent_name\": \"Network Diagnostics Agent\",\n \"card_url\": \"https://agents.example.com/network-diag/.well-known/agent.json\",\n \"description\": \"Runs traceroute and BGP-path analysis for network incidents.\",\n \"auth_type\": \"bearer\",\n \"auth_config\": {\n \"token\": \"secret\"\n },\n \"streaming\": true,\n \"team_id\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/safari/a2a-agent/create?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 \"agent_name\": \"Network Diagnostics Agent\",\n \"card_url\": \"https://agents.example.com/network-diag/.well-known/agent.json\",\n \"description\": \"Runs traceroute and BGP-path analysis for network incidents.\",\n \"auth_type\": \"bearer\",\n \"auth_config\": {\n \"token\": \"secret\"\n },\n \"streaming\": true,\n \"team_id\": 0\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"agent_id": "a2a_9d4c1f60b3a2"
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter skill_id 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."
}
}Create A2A agent
Register a new A2A remote agent the SRE agent can delegate tasks to.
curl --request POST \
--url 'https://api.flashcat.cloud/safari/a2a-agent/create?app_key=' \
--header 'Content-Type: application/json' \
--data '
{
"agent_name": "Network Diagnostics Agent",
"card_url": "https://agents.example.com/network-diag/.well-known/agent.json",
"description": "Runs traceroute and BGP-path analysis for network incidents.",
"auth_type": "bearer",
"auth_config": {
"token": "secret"
},
"streaming": true,
"team_id": 0
}
'import requests
url = "https://api.flashcat.cloud/safari/a2a-agent/create?app_key="
payload = {
"agent_name": "Network Diagnostics Agent",
"card_url": "https://agents.example.com/network-diag/.well-known/agent.json",
"description": "Runs traceroute and BGP-path analysis for network incidents.",
"auth_type": "bearer",
"auth_config": { "token": "secret" },
"streaming": True,
"team_id": 0
}
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({
agent_name: 'Network Diagnostics Agent',
card_url: 'https://agents.example.com/network-diag/.well-known/agent.json',
description: 'Runs traceroute and BGP-path analysis for network incidents.',
auth_type: 'bearer',
auth_config: {token: 'secret'},
streaming: true,
team_id: 0
})
};
fetch('https://api.flashcat.cloud/safari/a2a-agent/create?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/safari/a2a-agent/create?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([
'agent_name' => 'Network Diagnostics Agent',
'card_url' => 'https://agents.example.com/network-diag/.well-known/agent.json',
'description' => 'Runs traceroute and BGP-path analysis for network incidents.',
'auth_type' => 'bearer',
'auth_config' => [
'token' => 'secret'
],
'streaming' => true,
'team_id' => 0
]),
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/safari/a2a-agent/create?app_key="
payload := strings.NewReader("{\n \"agent_name\": \"Network Diagnostics Agent\",\n \"card_url\": \"https://agents.example.com/network-diag/.well-known/agent.json\",\n \"description\": \"Runs traceroute and BGP-path analysis for network incidents.\",\n \"auth_type\": \"bearer\",\n \"auth_config\": {\n \"token\": \"secret\"\n },\n \"streaming\": true,\n \"team_id\": 0\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/safari/a2a-agent/create?app_key=")
.header("Content-Type", "application/json")
.body("{\n \"agent_name\": \"Network Diagnostics Agent\",\n \"card_url\": \"https://agents.example.com/network-diag/.well-known/agent.json\",\n \"description\": \"Runs traceroute and BGP-path analysis for network incidents.\",\n \"auth_type\": \"bearer\",\n \"auth_config\": {\n \"token\": \"secret\"\n },\n \"streaming\": true,\n \"team_id\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.flashcat.cloud/safari/a2a-agent/create?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 \"agent_name\": \"Network Diagnostics Agent\",\n \"card_url\": \"https://agents.example.com/network-diag/.well-known/agent.json\",\n \"description\": \"Runs traceroute and BGP-path analysis for network incidents.\",\n \"auth_type\": \"bearer\",\n \"auth_config\": {\n \"token\": \"secret\"\n },\n \"streaming\": true,\n \"team_id\": 0\n}"
response = http.request(request)
puts response.read_body{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"data": {
"agent_id": "a2a_9d4c1f60b3a2"
}
}{
"request_id": "01HK8XQE3Z7JM2NTFQ5YJ8P9R4",
"error": {
"code": "InvalidParameter",
"message": "The specified parameter skill_id 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 | None — any valid app_key can call this operation |
Usage
- The agent card at
card_urlis fetched and validated; an unreachable card returns InvalidParameter. - Every call is recorded in the account’s audit log.
Authorizations
App key issued from the Flashduty console under Account → APP Keys. Required on every public API call.
Body
Configuration for a new A2A agent.
Display name of the agent.
128URL of the agent's published A2A agent card.
What this agent does and when to delegate to it.
Authentication scheme used when calling the agent.
Authentication parameters keyed by name.
Show child attributes
Show child attributes
Whether the agent supports streaming responses.
Owning team for the new agent; 0 for account scope.
Credential model; defaults to shared.
JSON schema of the per-user secret; required when auth_mode is per_user_secret.
OAuth metadata JSON; reserved for OAuth-based auth.
Response
Success
Standard response envelope used by every Flashduty public API. On success data contains the endpoint-specific payload and error is absent. On failure error is present and data is absent. request_id is always present and is also mirrored in the Flashcat-Request-Id response header.
Unique ID for this request. Mirrored in the Flashcat-Request-Id header. Include it when reporting issues.
"01HK8XQE3Z7JM2NTFQ5YJ8P9R4"
Error payload inside the response envelope. Present only on non-2xx responses.
Show child attributes
Show child attributes
Identifier of the newly created A2A agent.
Show child attributes
Show child attributes
Was this page helpful?