Endpoints
Base URL: https://agents.reach.dog
Discovery
| Endpoint | Method | Returns |
|---|---|---|
/health |
GET | Liveness. 200 while the service is up |
/.well-known/agent-card.json |
GET | The Reach Agent card. Primary discovery document |
/ge/.well-known/agent-card.json |
GET | The same card with the Gemini Enterprise endpoint as its url |
/.well-known/agents.json |
GET | All cards, Reach Agent first |
Agent endpoints
All accept POST with A2A JSON-RPC 2.0.
| Endpoint | Agent | Use it for |
|---|---|---|
/a2a/router |
Reach Agent | Any question. Classifies, dispatches, synthesizes |
/ge/a2a/router |
Reach Agent, Gemini Enterprise path | The endpoint the published Gemini card points at |
/a2a/intent-agent |
Search Intent | Keywords, buyer questions, ghost products, titles |
/a2a/gap-agent |
Taxonomy Gap | Demand against supply, gap sizing and ranking |
/a2a/pricing-agent |
Pricing Research | Competitor products and prices, price history |
/a2a/demand-agent |
Demand Intelligence | Trends, seasonality, audience, market sizing |
/a2a/campaign-agent |
Campaign Drafting | Keyword, bid, and budget drafts |
Send questions to /a2a/router unless you already know which domain you want. Routing is the thing it does well, and a multi-domain question sent to a single specialist gets a single-domain answer.
Catalog endpoints
These take plain JSON, not JSON-RPC.
| Endpoint | Method | Purpose |
|---|---|---|
/a2a/catalog-onboard-sync |
POST | Extract and profile a catalog from a URL, a base64 CSV, or a description |
/a2a/catalog-analyze |
POST | Analyze a catalog supplied as cluster ids, products, or a description |
Request and response shapes for onboarding are on the Catalog Onboarding page.
Example request
curl -X POST https://agents.reach.dog/a2a/router \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "message/send",
"id": "1",
"params": {
"message": {
"parts": [
{
"kind": "text",
"text": "Where are the gaps in the outdoor furniture market?"
}
]
}
}
}'
The answer text is at result.artifacts[0].parts[0].text. Structured interface parts, when your client declares the A2UI extension, arrive as additional parts on the same artifact. The response envelope is described in JSON-RPC format.