---
title: "List tool calls"
method: GET
path: "/api/v1/rest/integrazioni/calls"
tags: ["Integrations"]
---

# List tool calls

`GET /api/v1/rest/integrazioni/calls`

## Request

- Base URL: `https://api.custodo.ai`
- URL: `https://api.custodo.ai/api/v1/rest/integrazioni/calls`
- Auth: HTTP bearer

Il registro delle chiamate: one row per tool call made in this organisation, newest first, with the tool, the credential’s label, the outcome, how long it took and how many rows came back. You see only the calls made under your own name unless you are an administrator, so do not report what comes back as the organisation’s total. This is METERING and observability, NOT an audit trail — for the hash-chained record of what actually changed call custodo_search_audit instead. Raw rows age out at the tenant’s `callLogRetentionDays`, so for anything older than that window call integrazioni_list_usage.

**Examples**

- What have our assistants been doing?
  `GET /api/v1/rest/integrazioni/calls?limit=50`
- Quali chiamate sono state rifiutate?
  `GET /api/v1/rest/integrazioni/calls?outcome=denied`
- Did the document search fail for anyone?
  `GET /api/v1/rest/integrazioni/calls?tool_key=documents_search&outcome=failed`

## Query parameters

- `tool_key` string
- `outcome` 'ok' | 'tool_error' | 'denied' | 'failed'
- `limit` integer

## Headers

- `X-Tenant-Id` string, uuid

## Response `200`

Done. `data` is the tool’s own answer.

- RestResult
  - `ok` true, required
  - `data` unknown, required

## Other responses

- `400`: The arguments did not validate: `error.message` names the field, what it expects and what arrived.
- `401`: No API key, or one that is malformed, unknown, revoked or expired.
- `403`: The call never ran: the module is off for this organisation, the credential lacks the permission or the module, the tier does not cover it, or the tool is destructive and the key was not minted for that.
- `422`: The tool ran and refused, in a sentence of its own (`TOOL_REFUSED`): the message says what to change. Retrying the same call will not help.
- `429`: The API key has spent its minute, or its day. Every request a key makes counts. See `Retry-After`.

---

[API](https://skmtc.dev/custodo/apis/custodo-integrazioni.md) · [All operations](https://skmtc.dev/custodo/apis/custodo-integrazioni/llms.txt) · [OpenAPI document](https://skmtc.dev/custodo/apis/custodo-integrazioni/revisions/16d336d3ec2a?raw)
