# List fills

Source: https://langbot.ai/docs/api/monitoring/list-fills

`GET /v1/bots/{bot_id}/fills`

A bot's fills, newest first, reported by the bot or attached from a linked wallet.

**Auth.** An account token (`Authorization: Bearer lb_…`) or a signed-in web session. A report-only token (`lbr_…`) is refused here with `403 scope_denied`.

**Limits.** Counts against your plan's API requests (60, 600 or 3,000 a minute on Free, Builder and Standard).

## Parameters

### Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `bot_id` | string | yes | The bot id (`bot_…`). |

### Query parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `cursor` | string | no | `next_cursor` from the previous page. |
| `limit` | integer | no | Page size. 1 to 500. Default `100`. |
| `venue` | string | no | Only this venue. |
| `ticker` | string | no | Only this market. |
| `source` | string | no | `client` (reported by the bot) or `chain` (from a linked wallet). |
| `since` | integer | no | Oldest `ts`, ms epoch. |
| `until` | integer | no | Newest `ts`, ms epoch. |

## Request

**curl**

```bash
curl "https://api.langbot.ai/v1/bots/bot_01M6G72RFQRQ8JGNG8T1447GGP/fills?limit=1" \
  -H "Authorization: Bearer $LANGBOT_API_TOKEN"
```

**Python**

```python
from langbot import LangbotClient

async with LangbotClient() as lb:  # reads LANGBOT_API_TOKEN
    page = await lb.bots.fills("bot_01M6G72RFQRQ8JGNG8T1447GGP", limit=100)
    for f in page["fills"]:
        print(f["ts"], f["ticker"], f["side"], f["action"], f["price"], f["count"])
```

**TypeScript**

```ts
import { LangbotClient } from "@langbotai/sdk";

const lb = new LangbotClient(); // reads LANGBOT_API_TOKEN
const page = await lb.bots.fills("bot_01M6G72RFQRQ8JGNG8T1447GGP", { limit: 100 });
```

## Response

`200 OK`

```json
{
  "fills": [
    {
      "client_event_id": "s1:3",
      "type": "fill",
      "ts": 1793693117653,
      "venue": "kalshi",
      "ticker": "KXMENTION-26NOV03-TARIFF",
      "side": "yes",
      "action": "sell",
      "price": 0.55,
      "count": 5.0,
      "fee": 0.04,
      "liquidity": "taker",
      "order_id": "o-2",
      "client_order_id": null,
      "text": null,
      "meta": null,
      "source": "client",
      "applied": true,
      "received_at": 1793693147656
    }
  ],
  "next_cursor": "WzE3OTM2OTMxMTc2NTMsICJzMTozIl0"
}
```

## Errors

| Status | `code` | When |
|---|---|---|
| 404 | `not_found` | No bot with that id on your account (or it was deleted). |
| 401 | `auth_required` | No token was sent. |
| 401 | `token_invalid` | The token was not recognised (mistyped, revoked or expired). |
| 422 | `validation_error` | A parameter failed validation; `detail[].loc` names it. |
| 429 | `rate_limited` | Over your request budget; wait `Retry-After` seconds. |

Every error body is `{"detail": …, "code": "…"}`; branch on `code`. All codes: [Errors](https://langbot.ai/docs/api#errors).
