// api-reference.md

> REST API Reference

// Base URL: https://api.entroute.com

GET /capabilities

List all available capabilities. Returns the full capability registry with optional endpoint counts.

Query parameters:
search Filter by keyword search
category Filter by category tag
with_endpoints Include endpoint counts (boolean)
curl https://api.entroute.com/capabilities
POST /discover

Discover ranked endpoints for a capability. Accepts either a capability_id or a natural language intent.

Request body:
{
  "capability_id": "defi.token_price",  // or use "intent"
  "intent": "get the price of ETH",     // natural language
  "constraints": {
    "max_price": 0.01,
    "network": "base",
    "verified_only": true
  },
  "preferences": {
    "ranking_preset": "reliability"
  }
}
Response:
{
  "resolved": {
    "capability_id": "defi.token_price",
    "confidence": 0.95
  },
  "ranked_endpoints": [{
    "provider_name": "TokenProvider",
    "url": "https://api.provider.com/v1/price",
    "method": "GET",
    "score": 0.87,
    "payment": {
      "type": "x402",
      "price_per_call": 0.001,
      "network": "base",
      "accepted_assets": ["USDC"]
    },
    "observed": {
      "success_rate_7d": 0.98,
      "p95_latency_ms": 150
    }
  }],
  "fallback_endpoints": [...],
  "ttl_seconds": 900
}
POST /submit

Submit a new endpoint for listing. Requires domain verification via DNS TXT record.

{
  "endpoint_url": "https://api.yourservice.com/v1/data",
  "capability_id": "defi.token_price",
  "contact_email": "admin@yourservice.com",
  "provider_name": "Your Service",
  "price_per_call": 0.001
}
POST /report_outcome

Report the outcome of calling an endpoint. Used to improve ranking quality over time.

{
  "endpoint_id": "uuid",
  "success": true,
  "latency_ms": 120,
  "status_code": 200
}
// rate limits
Endpoint Anonymous Authenticated
/discover 60/min 600/min
/capabilities 120/min 1200/min
/report_outcome 300/min 3000/min
/submit 10/hour 100/hour