This article describes how Agents are exposed using the A2A protocol following the A2A standard.
Exposing an Agent makes its Agent Card publicly available so that other applications can discover what the Agent can do, understand how to communicate with it, and send requests to perform tasks or provide answers.
The Agent Card is exposed at the following endpoint:
$BASE_URL/a2a/<agent-id-or-name>/.well-known/<agent_file>.json
In this example, the agent card public-agent-to-test-2 is exposed at this URL:
$BASE_URL/a2a/public-agent-to-test-2/.well-known/agent.json
Send an HTTP GET request to this URL. This request must include an Authorization header with a valid Project API Token. See Generic Variables.
curl -X GET "$BASE_URL/a2a/public-agent-to-test-2/.well-known/agent.json"
-H "Authorization: $GEAI_APITOKEN"
If the request is successful, the endpoint returns the Agent Card in JSON format, as shown below:
{
"name": "public_agent_to_test_2",
"description": "Public Agent to test 2",
"url": "$BASE_URL/a2a/public-agent-to-test-2",
"version": "1",
"provider": {
"organization": "Saia",
"url": ""
},
"skills": [
{
"id": "public_agent_to_test_2",
"name": "public_agent_to_test_2",
"description": "Public_Agent_to_test_2. Public Agent to test 2.",
"tags": ["agent"]
}
],
"capabilities": {
"pushNotifications": false,
"stateTransitionHistory": false,
"streaming": false
},
"securitySchemes": {
"api_key": {
"type": "apiKey",
"name": "api-key",
"in": "header"
}
},
"defaultInputModes": ["text"],
"defaultOutputModes": ["text"]
}
This response shows the Agent’s basic information, skills, and how to connect with it securely.