Get authenticated agent card
curl --request GET \
--url https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/card \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/card"
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/card', 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/card",
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/card"
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/card")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/card")
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 authenticated agent card
Security Requirements
| Auth Types | Entities | Permissions | Required Roles |
|---|---|---|---|
| AGENT | REGISTRY | READ | REGISTRY:READ |
GET
/
relay
/
v1
/
agents
/
{agentId}
/
a2a
/
0.3.0
/
card
Get authenticated agent card
curl --request GET \
--url https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/card \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/card"
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/card', 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/card",
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/card"
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/card")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.swarmd.ai/relay/v1/agents/{agentId}/a2a/0.3.0/card")
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
