Get the agent card
curl --request GET \
--url http://localhost:3773/.well-known/agent.jsonimport requests
url = "http://localhost:3773/.well-known/agent.json"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:3773/.well-known/agent.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_PORT => "3773",
CURLOPT_URL => "http://localhost:3773/.well-known/agent.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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 := "http://localhost:3773/.well-known/agent.json"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:3773/.well-known/agent.json")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3773/.well-known/agent.json")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"name": "example-agent",
"description": "A generic example agent.",
"version": "1.0.0",
"protocolVersion": "0.3.0",
"did": "did:bindu:example_at_getbindu_com:example-agent:a1b2c3d4-e5f6-7890-abcd-1234567890ab",
"url": "https://example-agent.bindu-agents.bindus.directory",
"defaultInputModes": [
"text/plain"
],
"defaultOutputModes": [
"application/json",
"text/markdown"
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": true
},
"skills": [
{
"id": "example-v1",
"name": "Example Skill",
"description": "One thing the agent can do.",
"tags": [
"demo"
],
"inputModes": [
"text/plain"
],
"outputModes": [
"application/json"
]
}
],
"extensions": [
{
"name": "DID",
"version": "1.0.0",
"description": "Ed25519-backed cryptographic identity"
}
]
}Agent Discovery
Get the agent card
The A2A standard discovery document. Any client that knows the
agent’s base URL can GET this to learn the agent’s DID,
capabilities, published skills, and where to send requests.
GET
/
.well-known
/
agent.json
Get the agent card
curl --request GET \
--url http://localhost:3773/.well-known/agent.jsonimport requests
url = "http://localhost:3773/.well-known/agent.json"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:3773/.well-known/agent.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_PORT => "3773",
CURLOPT_URL => "http://localhost:3773/.well-known/agent.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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 := "http://localhost:3773/.well-known/agent.json"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("http://localhost:3773/.well-known/agent.json")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3773/.well-known/agent.json")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"name": "example-agent",
"description": "A generic example agent.",
"version": "1.0.0",
"protocolVersion": "0.3.0",
"did": "did:bindu:example_at_getbindu_com:example-agent:a1b2c3d4-e5f6-7890-abcd-1234567890ab",
"url": "https://example-agent.bindu-agents.bindus.directory",
"defaultInputModes": [
"text/plain"
],
"defaultOutputModes": [
"application/json",
"text/markdown"
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": true
},
"skills": [
{
"id": "example-v1",
"name": "Example Skill",
"description": "One thing the agent can do.",
"tags": [
"demo"
],
"inputModes": [
"text/plain"
],
"outputModes": [
"application/json"
]
}
],
"extensions": [
{
"name": "DID",
"version": "1.0.0",
"description": "Ed25519-backed cryptographic identity"
}
]
}Response
200 - application/json
Agent card
Agent's own version string.
A2A protocol version the agent speaks.
Pattern:
^did:bindu:.+Canonical URL where the agent serves requests.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
⌘I