> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.agentrouter.to/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.agentrouter.to/_mcp/server.

# Route

A route is the supply-side path AgentRouter can use for one capability.

It is where provider, network, settlement, and runtime availability actually live.

Examples:

* `email.send.resend`
* `email.inbox.buy.agentmail.mpp`
* `search.answer.exa.mpp`
* `web.scrape.firecrawl.mpp`

## What A Route Contains

A route typically describes:

* `providerKey`
* `networkKey`
* `routeMode`
* `settlementRail`
* `supportedFeatures`
* `startingCostCredits`
* `status`

Example:

```json
{
  "routeKey": "email.send.resend",
  "domainKey": "email",
  "capabilityId": "send",
  "providerKey": "resend",
  "networkKey": "direct",
  "routeMode": "managed",
  "settlementRail": "api_key",
  "startingCostCredits": 10,
  "status": "live"
}
```

## Route Modes

| Route mode | Meaning                                                           |
| ---------- | ----------------------------------------------------------------- |
| `managed`  | AgentRouter manages the provider and settlement flow for you      |
| `byo`      | Bring your own wallet, resource, or provider-side identity        |
| `redirect` | Reserved for flows that are not fully brokered by AgentRouter yet |

## Why Routes Are Separate From Capabilities

One capability can have multiple routes with different:

* prices
* features
* payment rails
* reliability
* readiness

That is why the agent should usually target the capability first and let AgentRouter choose the route.

## Inspecting Routes

List all routes for a domain:

```bash
curl "$AGENTIC_API_BASE_URL/domains/email/routes"
```

List routes for one capability:

```bash
curl "$AGENTIC_API_BASE_URL/domains/email/capabilities/send/routes"
```

## Default Rule

Do not hardcode a route unless you have a strict reason to do so.

Good reasons:

* you need one provider's unique feature
* you must keep output on one vendor
* you are debugging a specific route

Otherwise, recommend first.