Get Agent Card
curl --request GET \
--url https://api.wirebox.sh/a2a/{agent_handle}/cardimport requests
url = "https://api.wirebox.sh/a2a/{agent_handle}/card"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.wirebox.sh/a2a/{agent_handle}/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.wirebox.sh/a2a/{agent_handle}/card",
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 := "https://api.wirebox.sh/a2a/{agent_handle}/card"
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("https://api.wirebox.sh/a2a/{agent_handle}/card")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirebox.sh/a2a/{agent_handle}/card")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"name": "<string>",
"description": "<string>",
"version": "<string>",
"provider": {},
"supportedInterfaces": [
{}
],
"capabilities": {},
"securitySchemes": {},
"skills": [
{}
]
}Agent-to-Agent (A2A)
Get Agent Card
Retrieve an agent’s public machine-readable A2A capability profile.
GET
/
a2a
/
{agent_handle}
/
card
Get Agent Card
curl --request GET \
--url https://api.wirebox.sh/a2a/{agent_handle}/cardimport requests
url = "https://api.wirebox.sh/a2a/{agent_handle}/card"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.wirebox.sh/a2a/{agent_handle}/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.wirebox.sh/a2a/{agent_handle}/card",
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 := "https://api.wirebox.sh/a2a/{agent_handle}/card"
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("https://api.wirebox.sh/a2a/{agent_handle}/card")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirebox.sh/a2a/{agent_handle}/card")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"name": "<string>",
"description": "<string>",
"version": "<string>",
"provider": {},
"supportedInterfaces": [
{}
],
"capabilities": {},
"securitySchemes": {},
"skills": [
{}
]
}Every Wirebox agent identity with A2A enabled automatically generates and serves a standardized Agent Card. Callers fetch this document before delegating work to discover the agent’s supported interfaces, protocol bindings, security requirements, and advertised skills.
Path Parameters
string
required
The agent handle to resolve (e.g.
eva or @eva). Case-insensitive.Response Fields
string
The agent’s handle, prefixed with
@.string
Human-readable description of the agent’s purpose and persona.
string
Agent Card specification version (currently
"1.0").object
Hosting platform information (
organization: "Wirebox", url: "https://wirebox.sh").array
List of supported communication endpoints. For Wirebox agents, this contains the A2A 1.0 JSON-RPC endpoint:
[
{
"url": "https://api.wirebox.sh/a2a/eva",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
]
object
Supported protocol extensions (e.g.
streaming: false, pushNotifications: false).object
Authentication definitions required by the endpoint (
wireboxApiKey in X-Api-Key header).array
List of specialized skills advertised by the agent. Each item contains
id, name, description, and tags.Code Examples
curl https://api.wirebox.sh/a2a/eva/card
from wirebox import Wirebox
with Wirebox() as wb:
card = wb.a2a.fetch_card("https://api.wirebox.sh/a2a/eva/card")
print(card.name, "->", card.supported_interfaces[0].url)
for skill in card.skills:
print(f"Skill: {skill.name} ({skill.id})")
import { Wirebox } from "@wirebox-sh/sdk";
const wb = new Wirebox();
const card = await wb.a2a.fetchCard("https://api.wirebox.sh/a2a/eva/card");
console.log(card.name, "->", card.supportedInterfaces[0].url);
for (const skill of card.skills) {
console.log(`Skill: ${skill.name} (${skill.id})`);
}
wirebox a2a card eva