v1
Get Agent Well Known Card
Agent-specific well-known discovery endpoint.
Returns the agent card for this specific agent, at /v1/agents//.well-known/agent-card.json
This allows each agent to have its own well-known endpoint, which is A2A compliant. Later, this can be proxied to subdomains:
- agent1.domain.com/.well-known/agent-card.json -> /v1/agents//.well-known/agent-card.json
GET
/
v1
/
agents
/
{agent_id}
/
.well-known
/
agent-card.json
Get Agent Well Known Card
curl --request GET \
--url https://api.example.com/v1/agents/{agent_id}/.well-known/agent-card.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.well-known/agent-card.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/agents/{agent_id}/.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{
"capabilities": {
"extendedAgentCard": false,
"extensions": [
{}
],
"pushNotifications": false,
"streaming": false
},
"name": "<string>",
"skills": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"examples": [
"<string>"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"securityRequirements": [
{}
],
"tags": [
"<string>"
]
}
],
"supportedInterfaces": [
{
"url": "<string>",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0",
"tenant": "<string>"
}
],
"authentication": {
"schemes": [
"<string>"
],
"credentials": "<string>"
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"description": "<string>",
"documentationUrl": "<string>",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{}
],
"securitySchemes": {},
"version": "1.0.0"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Successful Response
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
Get Agent Well Known Card
curl --request GET \
--url https://api.example.com/v1/agents/{agent_id}/.well-known/agent-card.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.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.example.com/v1/agents/{agent_id}/.well-known/agent-card.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/agents/{agent_id}/.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{
"capabilities": {
"extendedAgentCard": false,
"extensions": [
{}
],
"pushNotifications": false,
"streaming": false
},
"name": "<string>",
"skills": [
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"examples": [
"<string>"
],
"inputModes": [
"<string>"
],
"outputModes": [
"<string>"
],
"securityRequirements": [
{}
],
"tags": [
"<string>"
]
}
],
"supportedInterfaces": [
{
"url": "<string>",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0",
"tenant": "<string>"
}
],
"authentication": {
"schemes": [
"<string>"
],
"credentials": "<string>"
},
"defaultInputModes": [
"text/plain",
"application/json"
],
"defaultOutputModes": [
"text/plain",
"application/json"
],
"description": "<string>",
"documentationUrl": "<string>",
"provider": {
"organization": "<string>",
"url": "<string>"
},
"security": [
{}
],
"securitySchemes": {},
"version": "1.0.0"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}