Get agent card via well-known URI
curl --request GET \
--url https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json', 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.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"protocolVersion": "<string>",
"name": "<string>",
"description": "<string>",
"url": "<string>",
"preferredTransport": "<string>",
"additionalInterfaces": [
{
"url": "<string>",
"transport": "<string>"
}
],
"provider": {
"organization": "<string>",
"url": "<string>"
},
"iconUrl": "<string>",
"documentationUrl": "<string>",
"version": "<string>",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"stateTransitionHistory": true,
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"required": true,
"params": {}
}
]
},
"securitySchemes": {},
"security": [
{}
],
"defaultInputModes": [
"<string>"
],
"defaultOutputModes": [
"<string>"
],
"skills": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"tags": [
"<string>"
],
"examples": [
"<string>"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"security": [
{}
]
}
],
"supportsAuthenticatedExtendedCard": true,
"signatures": [
"<string>"
]
}Agent Discovery
Get agent card via well-known URI
Security Requirements
| Auth Types | Entities | Permissions | Required Roles |
|---|---|---|---|
| AGENT | REGISTRY | READ | REGISTRY:READ |
GET
/
relay
/
v1
/
agents
/
{agentId}
/
a2a
/
0.3.0
/
.well-known
/
agent-card.json
Get agent card via well-known URI
curl --request GET \
--url https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json', 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.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/.well-known/agent-card.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"protocolVersion": "<string>",
"name": "<string>",
"description": "<string>",
"url": "<string>",
"preferredTransport": "<string>",
"additionalInterfaces": [
{
"url": "<string>",
"transport": "<string>"
}
],
"provider": {
"organization": "<string>",
"url": "<string>"
},
"iconUrl": "<string>",
"documentationUrl": "<string>",
"version": "<string>",
"capabilities": {
"streaming": true,
"pushNotifications": true,
"stateTransitionHistory": true,
"extensions": [
{
"uri": "<string>",
"description": "<string>",
"required": true,
"params": {}
}
]
},
"securitySchemes": {},
"security": [
{}
],
"defaultInputModes": [
"<string>"
],
"defaultOutputModes": [
"<string>"
],
"skills": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"tags": [
"<string>"
],
"examples": [
"<string>"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"security": [
{}
]
}
],
"supportsAuthenticatedExtendedCard": true,
"signatures": [
"<string>"
]
}Authorizations
JWT token (USER, AGENT, or SERVICE auth)
Path Parameters
Response
200 - application/json
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
