---
title: POST /agent/estimate
description: Preview cost + tool plan without executing
full: true
---

**Auth:** none. The route does not read credentials; the estimate is the same for every caller.

Accepts the same body as /orchestrate; returns the predicted tool chain + heuristic credit cost without spending quota. Runs the deterministic LLM-free planner — typical latency &lt;50ms.

## Request

#### Request body

- `message` (string) —

## Responses

### `200` OK

Estimate + plan

Response shape: `object`

### `400` Bad Request

Invalid request

Response shape: `object`

**curl**

```bash
curl -X POST 'https://ivybiosciences.com/api/v1/agent/estimate' \
  -H 'Content-Type: application/json' \
  -d '{
  "message": ""
}'
```

**JavaScript**

```js
const res = await fetch('https://ivybiosciences.com/api/v1/agent/estimate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "message": ""
}),
});
const data = await res.json();
```

**Python**

```python
import requests

res = requests.post(
    "https://ivybiosciences.com/api/v1/agent/estimate",
    json={
  "message": ""
},
)
data = res.json()
```
