---
title: "List recent tool calls"
method: GET
path: "/v1/projects/{projectSlug}/tools/{toolName}/calls"
tags: ["Tools"]
---

# List recent tool calls

`GET /v1/projects/{projectSlug}/tools/{toolName}/calls`

Returns a cursor-paginated page of the tool's most recent calls, newest first, with payloads truncated to a bounded preview. Use a span point-lookup for full payloads.

## Path parameters

- `projectSlug` string, required — Project slug (human-readable identifier)
- `toolName` string, required — Tool name. URL-encode names containing special characters.

## Query parameters

- `fromIso` string, date-time — Lower bound (inclusive) of the time range. Defaults to 7 days before `toIso`.
- `toIso` string, date-time — Upper bound (inclusive) of the time range. Defaults to now.
- `limit` integer — Page size. Defaults to 50; max 50.
- `errorsOnly` 'true' | 'false' — When `true`, scope every aggregate to failed calls only.
- `cursor` string — Opaque cursor returned in a previous response's `nextCursor`. Omit on the first page.

## Response `200`

Page of tool calls

- PaginatedToolCalls
  - `items` RecentToolCall[], required — Page of items, in the requested sort order.
    - `spanId` string, required — 16-character span identifier of the tool call.
    - `traceId` string, required — Trace this call belongs to.
    - `sessionId` string, required — Session this call belongs to.
    - `startTime` string, required — ISO-8601 timestamp the call started.
    - `durationNs` number, required — Call duration, in nanoseconds.
    - `statusCode` 'unset' | 'ok' | 'error', required — Span status of the call.
    - `statusMessage` string, required — Status message, when present.
    - `errorType` string, required — Error type, when the call failed.
    - `toolCallId` string, required — Provider tool-call id linking the call to its request.
    - `toolInput` string, required — Truncated preview of the call arguments.
    - `toolOutput` string, required — Truncated preview of the call result.
    - `toolInputTruncated` boolean, required — `true` when `toolInput` was truncated.
    - `toolOutputTruncated` boolean, required — `true` when `toolOutput` was truncated.
  - `nextCursor` string, nullable, required — Opaque cursor for fetching the next page. `null` when there are no more pages. Pass it back in `cursor` to continue.
  - `hasMore` boolean, required — `true` when there is at least one more page after this one.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.net/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.net/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/latitude-dev/latitude/revisions/a0bf72a85607/schema)
