Endpoints
Discovery
| Endpoint |
Method |
Description |
/health |
GET |
Liveness probe -- returns 200 when the service is running |
/.well-known/agent-card.json |
GET |
Gap Agent card (A2A standard discovery) |
/.well-known/agents.json |
GET |
All 6 agent cards (full discovery document) |
Agent Endpoints
All agent endpoints accept POST requests with A2A JSON-RPC 2.0 format.
| Endpoint |
Agent |
Description |
/a2a/gap-agent |
Gap Agent |
Product gap analysis and revenue sizing |
/a2a/intent-agent |
Search Intent Agent |
Keyword mapping, ghost products, title optimization |
/a2a/pricing-agent |
Pricing Intelligence Agent |
Price position, trends, margin risk |
/a2a/demand-agent |
Demand Intelligence Agent |
Trends, seasonality, audience shifts, market sizing |
/a2a/campaign-agent |
Campaign Architect Agent |
Ad campaign drafts (draft mode only) |
/a2a/router |
Reach Agent (display name; internal id router, endpoint /a2a/router) |
Multi-domain question routing and synthesis |
Utility Endpoints
| Endpoint |
Method |
Description |
/a2a/catalog-analyze |
POST |
Analyze a catalog by cluster IDs, products, or description (plain JSON) |
/a2a/catalog-onboard-sync |
POST |
Extract and analyze a catalog from URL, CSV, or description (plain JSON) |
Example Request
curl -X POST https://rd-gap-agent-64739540958.us-east1.run.app/a2a/gap-agent \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"jsonrpc": "2.0",
"method": "message/send",
"id": "1",
"params": {
"message": {
"parts": [
{
"kind": "text",
"text": "Where are the gaps in the outdoor furniture market?"
}
]
}
}
}'
Example Response
{
"jsonrpc": "2.0",
"result": {
"status": "completed",
"artifacts": [
{
"parts": [
{
"kind": "text",
"text": "### Outdoor Furniture Market Gaps\n\nBased on analysis of search demand against product coverage...\n\n**Data Evidence Block**\n- search_keywords: 45 rows queried\n- run_gap_analysis: 10 gaps identified\n\n**Data Freshness:** March 2026"
}
]
}
]
},
"id": "1"
}