A2A Quickstart
Get connected in 5 minutes. All you need is an API key and curl.
Step 1: Create an API Key#
Go to your Dashboard Settings and create a new A2A API key. Choose the trust level and scopes that match what you want external agents to do.
Your key will look like ohw_a2a_abc123.... Save it; you won't see it again.
Step 2: Discover the Agent Card#
Every A2A-compatible agent publishes an Agent Card at a well-known URL. Fetch yours to see what's available:
curl https://your-app.ohwow.fun/.well-known/agent-card.jsonThe response describes your agents' names, skills, supported input/output modes, and authentication requirements.
Step 3: Send Your First Task#
Use the message/send method to send a task to one of your agents:
curl -X POST https://your-app.ohwow.fun/api/a2a \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ohw_a2a_your_key_here" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [
{
"type": "text",
"text": "Research competitors in the AI agent space"
}
]
}
}
}'The response includes a task ID and the current status. Most tasks start in submitted or working state.
Step 4: Check Task Status#
Poll for the result using tasks/get:
curl -X POST https://your-app.ohwow.fun/api/a2a \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ohw_a2a_your_key_here" \
-d '{
"jsonrpc": "2.0",
"id": "2",
"method": "tasks/get",
"params": {
"id": "task_id_from_step_3"
}
}'When the task reaches completed, the response includes the agent's output in the artifacts array.
Step 5: Connect an External Agent#
Want your ohwow agents to call other A2A agents? Add a connection in your dashboard or use the ohwow-connect relay to bridge private agents into the A2A network.
That's it!
Local Development#
Want to test A2A locally before deploying? The project includes an example A2A agent server at e2e/mock-servers/a2a-agent.ts that you can use as a starting point.
# Start the example A2A agent on port 4100
npx tsx e2e/mock-servers/a2a-agent.ts
# With AI responses (requires ANTHROPIC_API_KEY in .env.local)
# Without the key, it falls back to echo mode
# Test the agent card
curl http://localhost:4100/.well-known/agent-card.json
# Send a task
curl -X POST http://localhost:4100/rpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": "1",
"method": "message/send",
"params": {
"message": {
"role": "user",
"parts": [{"type": "text", "text": "Hello from local dev!"}]
}
}
}'Then add it as a connection in your dashboard using the URL http://localhost:4100/.well-known/agent-card.json. Use this pattern to build and test your own A2A agents before connecting them to production.