---
title: "POST /api/agent/meter/tool"
method: POST
path: "/api/agent/meter/tool"
tags: ["agent"]
---

# POST /api/agent/meter/tool

`POST /api/agent/meter/tool`

## Request

- Base URL: `https://api.blackforge.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.blackforge.so/api/agent/meter/tool`
- Auth: none declared

## Request body

- MeterToolDto
  - `tool` 'explain_metric' | 'resolve_symbol' | 'show_chart' | 'create_alert' | 'get_entitlements' | 'query' | 'get_latest' | 'get_series_digest' | 'get_book' | 'get_book_multi' | 'simulate_fill' | 'watch_book' | 'watch_trades' | 'get_spread_map' | 'stats' | 'correlate' | 'convert' | 'aggregate' | 'calc' | 'web_search' | 'validate_formula' | 'create_formula' | 'list_formulas' | 'watch_formula' | 'create_formula_alert' | 'delete_formula' | 'delete_formula_alert', required
  - `pairs` number: `get_latest`: pairs resolved.
  - `rows` number: `query`: rows returned.
  - `rowsScanned` number: `get_series_digest`: rows scanned, not rows returned.
  - `levels` number: Ladder levels read, per venue.
  - `exchanges` number: Venues the call touched.
  - `prints` number: `watch_trades`: prints delivered.
  - `deltas` number: `watch_book`: level deltas delivered.

## Response `200`

Row-equivalents charged for one agent tool call, plus the rows left on this month’s meter. 403 when the plan does not include the tool, 402 when the row quota is exhausted.

---

[API](https://skmtc.dev/blackforge/apis/blackforge-data-api.md) · [All operations](https://skmtc.dev/blackforge/apis/blackforge-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/blackforge/apis/blackforge-data-api/revisions/04eadd230b1b?raw)
