Skip to main content
GET
Tool health
This report answers “are my agents’ tools still working?”. It reads what actually happened when the agent used each tool with real leads, not how the tool is configured. Use it to find an integration that stopped working, such as an expired credential or a search that never finds anything, before your customers notice. It returns one row per tool, task, and channel, with the problem tools first.

Before you start

  • MCP keys need both workflows:read and leads:read, because examples include lead data. Full-access REST keys need nothing else.
  • Test leads, sandbox leads, and Playground conversations are not counted.
  • The report is read-only. Calling it does not run any tool.
  • Errors return a stable code in error, such as invalid_days. Map the code to your own copy.

Choose what to read

What each number means

How to read the results

Limits

  • At most 100 rows. truncated is true when more matched.
  • One request reads the most recent activity first. When the window had more tool activity than one request reads, truncated is true and window.scanned_from shows the moment the counts start from. Narrow with workflow_id, tool_name, channel, or fewer days.
  • args and result are cut at 600 characters. API keys, tokens, passwords, and signatures are masked. Lead data such as names and phone numbers is not removed, so handle samples as lead data.

Authorizations

X-API-Key
string
header
required

API key for authentication. Keys are prefixed with nxr_live_.

Query Parameters

days
integer
default:7

How many days back to read, counted in 24-hour periods from the moment of the request. Any other value returns 400 invalid_days.

Required range: 1 <= x <= 14
workflow_id
string<uuid>

Task ID (workflow in the API). Counts only that task's conversations and calls. A malformed ID returns 400 invalid_workflow_id; a task from another account returns an empty tools list.

tool_name
string

Exact tool name. Surrounding spaces are ignored. Empty after trimming, or longer than 120 characters, returns 400 invalid_tool_name.

Maximum string length: 120
channel
enum<string>

Only runs on this channel. call is phone calls; unsupervised-whatsapp is a personal WhatsApp line. Any other value returns 400 invalid_channel.

Available options:
whatsapp,
unsupervised-whatsapp,
instagram,
messenger,
webchat,
sms,
imessage,
email,
call
only_problems
boolean
default:false

true keeps only tools where failed + empty is at least half of the runs that reached the integration (calls - blocked), with at least 3 such runs. Accepts true, false, 1, or 0; anything else returns 400 invalid_only_problems.

Response

Tool rows, sorted by problem rate ((failed + empty) / (calls - blocked)) and then by calls, highest first.

success
boolean
required
window
object
required
tools
object[]
required
Maximum array length: 100
truncated
boolean
required

true when more than 100 rows matched, or when the window had more activity than one request reads (see window.scanned_from). Narrow with workflow_id, tool_name, channel, or fewer days.

Last modified on October 1, 2026