action1-mcp-server
An MCP server that exposes the Action1 RMM REST API to an AI host (Claude, Cursor, etc.) so it can read your fleet, run scripts, deploy updates and reboot endpoints — with every state-changing tool behind a dry-run + confirm: "YES" guard that is off by default.
Fleet discovery (read-only): list organizations, endpoints, endpoint groups and group contents; get a single endpoint with derived platform/online flags; substring-search endpoints; server-side summaries of endpoints and automations that stay ~1 KB regardless of fleet size.
Inventory insights (read-only): list missing updates (per endpoint and fleet-wide, filterable by severity/approval status), vulnerabilities, installed software, action templates, setting templates, reports, report rows/errors, data sources, scripts, software-repository packages and their versions, deployers, remote sessions, and audit-style searches.
Script execution (destructive, guarded):
action1_run_powershell(auto-fills success exit codes),action1_run_bash_macos(fills the tenrun_scriptfields), andaction1_run_scriptwhich auto-routes by endpoint OS; all support single-endpoint orEndpointGroupfan-out.Remediation actions (destructive, guarded): deploy updates, deploy packages, uninstall programs, run data collection, and reboot endpoints.
Polling & results (read-only): get automation status, per-endpoint results, filtered stdout (strips Action1 lifecycle markers), and block-and-wait until an automation reaches a terminal state.
One-shot workflow:
action1_execute_and_waitstarts a script or template, polls to completion and returns the filtered output.High-level wrappers: fuzzy group-name → UUID resolver, per-endpoint software inventory, recurring schedules, audit log search, report export, and CVE remediation planning.
Full API coverage: every operation of the pinned Action1 OpenAPI snapshot is reachable via a generated verb-first tool (e.g.
action1_list_endpoint_groups,action1_create_script,action1_update_package) unless a curated tool supersedes it; all mutating ones carry the same guard.Safety & scoping controls:
ACTION1_ALLOW_DESTRUCTIVE/ACTION1_ALLOW_ACCOUNT_OPSenv switches,ACTION1_ALLOWED_ORG_IDSallowlist,ACTION1_TOOLSETS=readfor read-only mode, PII redaction, dry-run previews, and per-callconfirm: "YES".Agent-friendly output: every read tool accepts
response_format(markdown or json), declares anoutputSchema, and paginates withcount,has_more,next_cursor,total; unknown arguments are rejected.Extras: MCP resources (
action1://me,action1://endpoints/{orgId}, etc.) and slash prompts (/patch-windows-fleet,/audit-vulnerabilities,/triage-offline-endpoints,/check-my-permissions) for multi-step jobs, over stdio or Streamable HTTP.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@action1-mcp-serverlist endpoints offline for more than 24 hours"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
action1-mcp-server
An unofficial Model Context Protocol (MCP) server for the Action1 RMM REST API. It lets Claude (or any other MCP host) query your Action1 fleet, run PowerShell on Windows and Bash on macOS, deploy updates, reboot endpoints, search audit trails and build CVE remediation plans, with a guard that keeps state changes off unless you switch them on.
Unofficial project. This server is not affiliated with, endorsed by, sponsored by or supported by Action1 Corporation. "Action1" is a trademark of Action1 Corporation. See
NOTICE.
Status
Every operation of the pinned Action1 OpenAPI snapshot is reachable
through a tool (see What is covered). The server
speaks stdio and Streamable HTTP and ships as an MCPB bundle for Claude
Desktop and as the npm package action1-mcp-server. Releases and their changes: CHANGELOG.md.
Validation status
Read this before you let an agent change anything in your fleet.
Automated tests (
npm test) run against mocked Action1 responses: unit tests, MCP protocol round trips through the SDK client, the destructive-guard truth table, redaction and size limits. Every generated tool that changes state is driven through MCP to prove it is guarded. These tests run in CI on Node 22, 24 and 26.Live runs against a real Action1 tenant are recorded in
TESTING.md. They were made while versions 0.1 to 0.3 were developed and were not dated. They cover the read tools (organizations, endpoints, pagination, templates, missing updates), read-only script execution on Windows and macOS (action1_execute_and_wait,action1_run_script) and the guard's refusal paths.Read-only live shape check (2026-10-26) for 0.6.0: GET requests against a real tenant compared the returned record shapes with the vendored spec. Endpoints, vulnerabilities, installed software, automation instances and schedules, missing updates, endpoint groups and both list envelopes match the spec; audit events are still unverified (the key lacked
view_audit). Details inTESTING.md. Apart from this check, the changes in 0.6.0 are covered by the automated tests only; a live smoke run of the 0.6.0 tools is pending.Never run against a live tenant:
action1_reboot_endpoint,action1_deploy_update,action1_deploy_package,action1_uninstall_program,action1_run_data_collection, removing an endpoint from a group,action1_run_scriptwithtarget_type: "EndpointGroup", every generated tool that changes state, and every account operation (users, roles, organizations, enterprise). Their request bodies follow the Action1 OpenAPI spec and are checked by tests, but nobody has confirmed that Action1 accepts them. Try them on a test endpoint first and look at the dry-run preview before you execute.
Maintenance status
Maintained on a best-effort basis by one maintainer (@mguttmann) in spare time. The author uses it in production. There is no support contract and no guaranteed response time.
Security fixes take priority over features. Report vulnerabilities privately (see Security).
Dependency updates come from Dependabot; CI fails when a runtime dependency has a known high or critical advisory. A weekly job reports when Action1 serves a different API spec than the pinned snapshot.
Only the latest minor release gets fixes.
Issues and pull requests are welcome; see
docs/CONTRIBUTING.mdand the Code of Conduct.
Related MCP server: atera-mcp
Why this project
Action1 has a clean REST API, but a few quirks silently produce wrong results when an LLM calls it naively:
macOS Bash actions need a ten-field
run_scriptpayload; the API answersnot applicable to Mac platformfor any missing field.Windows PowerShell actions need a non-empty
success_exit_codes.last_seenisYYYY-MM-DD_HH-MM-SS(UTC), not ISO-8601, soDate.parsereturnsNaN. The server parses it and renders it readable.The
selfURL of a list item contains a/generalsegment that is not a real REST resource.Script output is interleaved with
Starting/Waiting/Completedlifecycle markers that need to be filtered.OSis upper-case andplatformlower-case, and both can carry the platform string; one detector normalises them.
The curated tools encode all of these. What the server does not cover is
listed in docs/api-coverage-gaps.md.
Install
Claude Desktop: MCPB bundle (recommended)
Download
action1-mcp-<version>.mcpbfrom the project's GitHub Releases. The release workflow attaches it to every version tag.Double-click it (or drag it onto Claude Desktop, or use Settings > Extensions > Install from file).
Fill in the wizard: API base URL of your region, organization ID, client ID and client secret, and whether destructive operations are allowed (leave this off at first).
Claude Desktop runs the bundle with its built-in Node.js. Details and
troubleshooting: docs/INSTALLATION.md.
MCP Registry
The release workflow lists each stable release in the official
MCP Registry as
io.github.mguttmann/action1-mcp: the bundle (download URL and SHA-256
of the release asset) and, from 0.6.2 on, the npm package
action1-mcp-server, both with the same environment variables. MCP hosts and
directories that read the registry can install it from there. Only that
name is this project; Action1 servers under other namespaces are
different code.
glama.json names the maintainer of the
Glama listing.
From source (any MCP host)
Requires Node.js 22.12 or newer (engines in package.json); CI tests
Node 22, 24 and 26.
git clone https://github.com/mguttmann/action1-mcp.git
cd action1-mcp
npm ci
cp .env.example .env # fill in your Action1 credentials
npm run build # compiles to dist/ (tsc only)Attach it to Claude Code:
claude mcp add action1 -- node --env-file=$(pwd)/.env $(pwd)/dist/index.jsnpm run inspector opens the MCP Inspector against the built server
(needs Node 22.19 or newer). Other hosts (Claude Desktop with a JSON
config, Claude.ai, Cursor, Continue.dev, Cody) are covered in
docs/INSTALLATION.md.
npm (npx, any stdio MCP host)
The server is published on npm as
action1-mcp-server
(command action1-mcp). Only that exact name is this project. npx
fetches and runs it, so no clone or build is needed; Node.js 22.12 or
newer must be installed.
Attach it to Claude Code (the values land in Claude Code's own configuration; type them in your shell, never into a chat):
claude mcp add action1 \
-e ACTION1_BASE_URL=https://app.eu.action1.com/api/3.0 \
-e ACTION1_ORG_ID=<your-org-uuid> \
-e ACTION1_CLIENT_ID=<client-id> \
-e ACTION1_CLIENT_SECRET=<client-secret> \
-- npx -y action1-mcp-serverAny other stdio host takes the same command in its JSON configuration:
{
"mcpServers": {
"action1": {
"command": "npx",
"args": ["-y", "action1-mcp-server"],
"env": {
"ACTION1_BASE_URL": "https://app.eu.action1.com/api/3.0",
"ACTION1_ORG_ID": "<your-org-uuid>",
"ACTION1_CLIENT_ID": "<client-id>",
"ACTION1_CLIENT_SECRET": "<client-secret>"
}
}
}
}A configuration file with these values holds the credential: keep it
readable for your user only and out of version control.
action1-mcp-server@<version> pins a version. For Claude Desktop the
MCPB bundle stays the recommended path: its wizard keeps the client ID
and secret in Claude Desktop's secure storage. More hosts and options:
docs/INSTALLATION.md.
What is covered
Generated tools: every operation of the pinned Action1 OpenAPI snapshot (date in
src/codegen/spec/SOURCE.md) becomes a verb-first tool such asaction1_list_endpoint_groups, unless a curated tool covers it. Exceptions:POST /oauth2/tokenis used internally and not exposed, and the two package-upload operations return an explanatory error because they need a binary body. The full mapping is generated intodocs/_coverage_table.md;docs/api-coverage.mdexplains it.Curated tools for the common workflows, including high-level wrappers (CVE remediation plan, audit log search, software inventory, recurring schedules, report export, group resolver).
Resources (
action1://me,action1://orgs,action1://templates,action1://reports,action1://endpoints/{orgId},action1://groups/{orgId},action1://vulnerabilities/{orgId}) for hosts that pre-fetch context.Slash prompts for multi-step jobs (
/patch-windows-fleet,/audit-vulnerabilities,/triage-offline-endpoints,/run-script-fleetwide,/software-inventory-sweep,/check-my-permissions).
tests/unit/specSha.test.ts ties the generated tools to the pinned
snapshot. It does not see changes at Action1; npm run spec:check and a
weekly CI job compare the snapshot with the spec Action1 serves.
Highlights
Guarded state changes. Tools that change state need
ACTION1_ALLOW_DESTRUCTIVE=true, default to a dry-run preview and needconfirm: "YES"to execute. Account operations need a second switch. See Destructive guard.Scoping.
ACTION1_ALLOWED_ORG_IDSlimits which organizations the tools may address;ACTION1_TOOLSETS=readregisters only read-only tools.Output for agents. Every read-only tool accepts
response_format(markdowndefault,json); every tool sets all four MCP annotations and declares anoutputSchema. Paginated results carrycount,has_more,next_cursor, andtotalon the final page. Results stay under the 1 MB host limit with visible truncation notes.Strict inputs. Unknown or misspelled arguments are rejected with a validation error instead of being ignored.
Auth. OAuth2 client credentials with proactive refresh, deduplicated concurrent token requests and a refresh-token fallback.
Transport safety. Reads (GET/HEAD) are retried on network errors, HTTP 5xx and 429 (honouring
Retry-After). Mutations are sent once and retried only on 429 or when the connection failed before the request was sent, so a retry never runs an action twice. Every Action1 call is bounded byACTION1_REQUEST_TIMEOUT_MS.Two transports. stdio (default) and stateless Streamable HTTP, both serving MCP 2026-07-28 next to the 2025 revisions (ADR 0001). HTTP requires a bearer token, checks
HostandOriginagainst DNS rebinding, limits bodies to 1 MB and rate-limits per client IP.Logs. Structured JSON lines on stderr with credential redaction, one
tool_callline per call and audit lines for guarded operations. Stdout is reserved for MCP.
Architecture
+----------------------------------------------------------------------+
| Curated tools and workflow wrappers |
| - script execution (Windows, macOS, OS-aware routing) |
| - execute_and_wait (start + poll + filtered output) |
| - get_endpoint (canonical path + list fallback) |
| - CVE remediation plan, audit log search, software inventory, ... |
+----------------------------------------------------------------------+
| Generated tools |
| - one tool per remaining spec operation, verb-first snake_case |
| - shared runtime: pagination, destructive guard, error mapping |
| - Action1 OpenAPI 3.1 snapshot, SHA-pinned (spec/openapi.sha256) |
+----------------------------------------------------------------------+
| Shared infrastructure |
| - Action1Client (auth, retry, timeouts, path safety, error mapping) |
| - TokenProvider (refresh_token fallback, proactive refresh) |
| - destructive guard, org allowlist, toolset filter |
| - structured stderr logger with redaction |
| - Markdown table renderer, response size budgets |
+----------------------------------------------------------------------+When a generated tool would get the same name as a curated tool, the code
generator (src/codegen/generate.ts) drops the generated one; operations
listed in SKIP_OPERATION_IDS (src/codegen/curated-overrides.ts) are
skipped as well. Design decisions are recorded in
docs/adr/.
Configuration
All configuration is via environment variables. Copy
.env.example to .env and fill it in; empty values mean
"use the default". node dist/index.js --help lists the same variables.
Variable | Default | Description |
| required | API base URL of your region, see below. |
| required | OAuth2 client ID from Action1 > Settings > API Credentials. |
| required | OAuth2 client secret, shown once when the credential is created. |
| unset | Default organization UUID; tools can override it with |
| any | Comma-separated organization UUIDs the tools may address; others are refused. Recommended for HTTP and shared setups. |
|
| With |
|
|
|
|
| Also allows account operations: changes to users, roles, |
|
| Isolated single-operator setups only: drops the per-call |
|
|
|
|
| Masks user names, IP and MAC addresses, other addresses, serial numbers, e-mail addresses, Active Directory fields and personal names in tool output (also report columns such as |
|
| Default script timeout, 0 to 10080. |
|
| How long Action1 retries an action for an offline endpoint, 0 to 10080. |
|
| Minutes since |
|
| Budget for one Action1 API call including retries, 1000 to 600000. |
|
| Timeout for one OAuth token attempt, 1000 to 600000. |
|
|
|
|
| HTTP mode: listen port. |
|
| HTTP mode: bind address. |
| required for | Bearer token clients must send, at least 16 characters ( |
|
| HTTP mode without a token; loopback binds only, local development. |
| loopback and bind address | Extra |
| loopback origins | Browser |
|
| Express |
Action1 regions (ACTION1_BASE_URL):
Region | Base URL |
Europe |
|
North America |
|
North America 2 |
|
United Kingdom |
|
Australia |
|
Connecting to MCP hosts
Host | Transport | Doc |
Claude Code (CLI) | stdio | |
Claude Desktop (macOS / Windows) | MCPB bundle or stdio | |
Claude.ai (web) | Streamable HTTP | |
Cursor | stdio | |
Continue.dev / Cody | stdio |
Tools
docs/USAGE.md is the tool reference and
docs/EXAMPLES.md has end-to-end recipes. The curated
layer in short:
Discovery (read-only)
action1_list_organizations, action1_list_endpoints,
action1_endpoints_summary (server-side counters, small output regardless
of fleet size), action1_get_endpoint (canonical path with list fallback,
plus derived platform and connectivity.online),
action1_search_endpoints (substring filter on hostname, user, OS,
status), action1_list_action_templates, action1_get_action_template,
action1_list_missing_updates, action1_list_vulnerabilities,
action1_list_recent_automations, action1_automations_summary.
Execution (destructive, guarded)
action1_run_powershell (Windows; fills success_exit_codes),
action1_run_bash_macos (macOS; fills the ten run_script fields),
action1_run_script (routes by OS), action1_reboot_endpoint,
action1_deploy_update, action1_deploy_package,
action1_uninstall_program, action1_run_data_collection. All accept
target_type: "Endpoint" (default) or "EndpointGroup";
action1_run_script then also needs os ("windows" or "macos"),
because a group has no single OS to detect.
Polling and results (read-only)
action1_get_automation_status, action1_get_automation_results,
action1_get_automation_output (filters lifecycle markers),
action1_wait_for_automation.
Workflows (destructive, guarded)
action1_execute_and_wait: start an action, poll until it ends and return
the filtered output. Routes by OS in mode: "script" or runs a named
template in mode: "template".
High-level wrappers
action1_endpoint_groups_resolve (fuzzy group name to UUID),
action1_software_inventory_for_endpoint, action1_recurring_schedules,
action1_audit_log_search, action1_report_export,
action1_cve_remediation_plan.
Generated
Every remaining Action1 API operation as a verb-first snake_case tool;
input parameter names are normalised to snake_case. See
docs/api-coverage.md.
Destructive guard
A tool flagged destructiveHint: true executes only when all of these
hold:
ACTION1_ALLOW_DESTRUCTIVE=true server env, restart required
ACTION1_ALLOW_ACCOUNT_OPS=true server env, only for account operations
confirm: "YES" per call, exact (waived by auto-confirm)
dry_run: false per call, the default is true (preview)// Preview only (default)
{ "tool": "action1_run_powershell",
"arguments": { "endpoint_id": "<uuid>", "script_text": "Get-Date" } }
// -> { "dry_run": true, "would_send": { method, path, body } }
// Execute (server env: ACTION1_ALLOW_DESTRUCTIVE=true)
{ "tool": "action1_run_powershell",
"arguments": { "endpoint_id": "<uuid>", "script_text": "Get-Date",
"dry_run": false, "confirm": "YES" } }confirm and dry_run are arguments the model sets itself. They stop
accidents, not a model that follows instructions hidden in Action1 data
(hostnames, script output, audit texts). The controls that hold against
that are the ones the model cannot change: the environment switches,
ACTION1_ALLOWED_ORG_IDS, ACTION1_TOOLSETS=read, the role of the API
credential, and your MCP host's per-tool approval. Do not "always allow"
destructive tools in your host. See docs/SECURITY.md
for the threat model.
Examples
More in docs/EXAMPLES.md:
# 1. Fleet health check
> "How many endpoints are online and how many need a reboot?"
agent -> action1_endpoints_summary
# 2. Read-only PowerShell on one Windows host
> "What's the OS build of <hostname>? Run Get-ComputerInfo OsBuildNumber."
agent -> action1_search_endpoints { query: "<hostname>", fields: ["hostname"] }
agent -> action1_run_powershell { endpoint_id: <uuid>,
script_text: "Get-ComputerInfo OsBuildNumber",
dry_run: false, confirm: "YES" }
agent -> action1_wait_for_automation { instance_id: <id>, endpoint_id: <uuid> }
# 3. CVE remediation plan
> "What's needed to remediate CVE-2024-XXXX?"
agent -> action1_cve_remediation_plan { cve_id: "CVE-2024-XXXX" }
agent -> action1_deploy_update { ... } (after operator confirmation)Rate limits
Action1 does not publish a rate limit. During development about 10 requests per second on the EU instance did not trigger HTTP 429; that is an observation, not a guarantee. If Action1 answers 429:
The client honours
Retry-After(capped at 60 s), for reads and mutations alike, because a 429 means the request was not processed.For mass actions prefer
target_type: "EndpointGroup"over one call per endpoint; Action1 fans out server-side.
The server has no outgoing throttle and does not cache list responses.
The retry policy is in src/client/action1Client.ts.
Required Action1 permissions
The tools can only do what the role of the API credential allows.
docs/permissions.md lists the permission each
operation needs, generated from the permission tags in the pinned spec.
Grant only what the tools you use need. Read action1://me or run the
/check-my-permissions prompt to see what the configured credential can
do before an agent tries a destructive operation.
Documentation
File | What it covers |
Step-by-step setup for every supported MCP host. | |
Tool reference for the curated and wrapper layers, resources, prompts, output format, cancellation, logging. | |
End-to-end recipes (patching, triage, CVE remediation). | |
stdio, HTTP behind a reverse proxy, systemd, MCPB, production checklist. | |
Threat model, destructive guard, data flow to the LLM, reporting vulnerabilities. | |
Action1 permission per operation and tool (generated). | |
Common failure modes and fixes. | |
Questions across topics. | |
Development setup, codegen workflow, tests, pull requests. | |
How spec operations map to tools; full table in | |
What the server does not cover, or covers only with a caveat. | |
Action1 API quirks and the undocumented endpoints the curated tools use. | |
Architecture decision records. | |
Why | |
Evaluation questions for an LLM-driven harness. | |
Test layers and the live-run record. | |
Release notes. |
Development
npm run dev # tsx watch (stdio)
npm run typecheck # source
npm run typecheck:tests # tests (tsconfig.test.json)
npm run lint
npm test # all test categories
npm run test:unit
npm run test:integration # MCP protocol round trips
npm run test:security # destructive-guard truth table, redaction
npm run test:performance # size limits and rendering at scale
npm run test:coverage # tests with the coverage thresholds from vitest.config.ts
npm run test:e2e # builds the MCPB bundle, starts the built servers over stdio
npm run check # lint, both typechecks, format check, tests (what CI gates on)
npm run codegen # regenerate src/tools/generated/index.ts from the spec
npm run spec:check # compare the pinned spec with the one Action1 serves
npm run inspector # MCP Inspector against the built stdio serverThe macOS payload-builder tests are deliberately strict: they protect the reverse-engineered field set. If you change the payload, update the test.
Roadmap
Open candidates (see also
docs/api-coverage-gaps.md):
npm releases with provenance from the release workflow (trusted publisher configured; the first workflow publish is pending).
Live validation of the destructive tools listed under Validation status on a test endpoint.
A Cloudflare Workers deployment of the HTTP transport.
Security
See docs/SECURITY.md. Report vulnerabilities through
a private security advisory at
https://github.com/mguttmann/action1-mcp/security/advisories/new, not in
a public issue.
License
MIT © 2026 mguttmann, with one exception: the vendored Action1
API specification in src/codegen/spec/openapi.json belongs to Action1
Corporation and is not covered by the MIT License. See NOTICE.
Acknowledgements
The MCP community at https://modelcontextprotocol.io.
Anthropic's
mcp-builderguide, which shaped the tool design and the evaluation format.The other open-source Action1 integrations whose code I read while scoping this one, in particular
dimer47/action1-cli,pts211/action1-mcp-serverandghively/Action1MCP.
Available Tools
167 toolsaction1_add_endpoint_to_groupAdd an endpoint to an endpoint groupBDestructive
Add a single endpoint to an endpoint group. POSTs the spec array body [{method:POST,data:{endpoint_id,type}}] to /endpoints/groups/{org}/{group}/contents. Re-adding an existing member is a no-op.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| group_id | Yes | Endpoint group id. | |
| endpoint_id | Yes | Endpoint UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Usefully discloses the underlying call (POST to /endpoints/groups/{org}/{group}/contents) and the membership semantics ("Re-adding an existing member is a no-op"), which is real context beyond annotations. However, it says nothing about the confirm="YES" gate or dry_run defaulting to true, which are the two behavioral facts that most affect a destructive-flagged mutation; the no-op claim also sits in mild tension with idempotentHint=false without being a direct contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, purpose front-loaded, mechanics second, zero filler. The raw URL path is arguably the only expendable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and rich annotations are supplied, so the description need not explain return values. Still, for a destructive, open-world mutation with a confirmation gate, it should at minimum note the dry_run/confirm execution model and that the group must pre-exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds the request body shape and, notably, mentions a `type` field in the payload that has no corresponding top-level schema property, but it does not explain the confirm/dry_run/response_format semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A concrete verb-plus-resource statement ("Add a single endpoint to an endpoint group") that is unambiguous and clearly distinct from the sibling action1_remove_endpoint_from_group. It never names a sibling or scoping rule explicitly, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intent is implied cleanly by the verb, but there is no explicit when-to-use guidance, no prerequisite stating the group and endpoint must already exist, and no routing away from nearby tools (move_endpoint, list_group_contents, remove_endpoint_from_group). An agent can infer the case but gets no confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_audit_log_searchSearch the audit logARead-onlyIdempotent
Search /audit/events with an optional time window (sent to Action1 as timefrom/timeto) and case-insensitive substring filters on user, event and object.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items. | |
| cursor | No | Pagination cursor. | |
| to_time | No | Upper bound: YYYY-MM-DD_HH-MM-SS (UTC) or ISO-8601. | |
| from_time | No | Lower bound: YYYY-MM-DD_HH-MM-SS (UTC) or ISO-8601. | |
| user_substring | No | Filter by user name. | |
| response_format | No | Output format. Default markdown. | |
| target_substring | No | Filter by affected object (name, URL or description). | |
| event_type_substring | No | Filter by event name (e.g. Login, View Report, POST). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds useful semantics: filters are case-insensitive and the time bounds are translated to Action1's timefrom/timeto. It says nothing about result ordering, cursor behavior, or result volume on a readOnly search, which would have raised this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence naming the endpoint, the optional time window, and the three filter families. No filler, and the most important scoping detail comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, a full output schema, and 100% schema description coverage, the description only needs to add filter semantics, which it does. The remaining gap is sibling disambiguation against the other audit-log tools, so it is not quite complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes beyond the schema by specifying that substring filters are case-insensitive and that from_time/to_time are sent as timefrom/timeto. That clarifies matching behavior the schema only names generically ('Filter by user name').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Search /audit/events') and enumerates the filter dimensions (time window, user, event, object). It does not differentiate itself from the closely named siblings list_audit_events, export_audit_log or get_audit_event, so an agent still has to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The presence of an 'optional' time window and substring filters implies the use case (narrowing a large audit log), but there is no explicit statement of when to prefer this over action1_list_audit_events, action1_export_audit_log, or action1_get_audit_event for single records. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_automations_summaryServer-side aggregation over recent automation instancesARead-onlyIdempotent
Walks up to max_scan (default 1000) automation instances and returns counts (by_status, success/warning/failure); has_more: true means instances beyond max_scan were not counted. Instance lists carry no actions, so there is no per-template count. ~1 KB output.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| max_scan | No | Max instances to walk. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | string |
| has_more | No | boolean |
| by_status | No | object |
| failure_count | No | number |
| success_count | No | number |
| total_scanned | No | number |
| warning_count | No | number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, and the description still adds real behavior: a scan cap with default, the meaning of has_more as uncounted instances beyond max_scan, and an approximate output size. It is honest about a limitation (no per-template breakdown) rather than overselling the aggregation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with what the tool does, then the truncation caveat and output size. Every sentence carries information; the phrasing is slightly telegraphic ('Instance lists carry no actions') but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description still covers the scan cap, truncation flag, output size, and the missing per-template dimension. The remaining gap is that org_id is optional (no required params) and the description never says what scope is used when it is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks: the default value of max_scan (1000) is not declared in the schema, and the consequence of hitting the cap (truncated counts flagged by has_more) is explained. It says nothing about org_id scoping or response_format behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource — walks automation instances and returns counts by_status — which is clearly an aggregation, not a listing. It also pre-empts a likely confusion by stating there is no per-template count. It stops short of naming a sibling (e.g. action1_list_automation_instances) as the alternative for raw instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the tool for counts rather than individual instances, and the 'no per-template count' note hints at what to use elsewhere. There is no explicit when-to-use, when-not-to-use, or named alternative among the many sibling automation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_clone_packageClone Software Repository packageADestructive
Clone Software Repository package. Creates a full copy of an existing Software Repository package under a new package ID. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| package_id | Yes | Provide a specific package ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| scope | No | |
| status | No | |
| vendor | No | |
| builtin | No | |
| dry_run | No | |
| versions | No | |
| would_send | No | |
| description | No | |
| internal_notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms the operation is a creation/write action and that a copy is made. Since the annotations already flag it as 'destructiveHint: true', the description mainly reiterates the action's result, adding moderate clarity without revealing hidden operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using exactly what is needed: first, defining the core function, and second, defining the authorization context. There is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the comprehensive nature of the schema and annotations, the description provides all necessary functional and authorization context for an agent to correctly identify and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already provides full semantic meaning for all parameters. The description's focus remains on the high-level function rather than parameter details, maintaining the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is highly specific, clearly defining the action (Clone), the resource (Software Repository package), and the outcome (Creates a full copy under a new package ID). This makes it very easy for an agent to select this tool over related create or retrieval actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
By specifying the required permission ('Perm: manage_software_repository.'), the description provides critical usage guidance regarding the tool's authorized scope. This is necessary context for an agent to decide if it is permitted to invoke the tool in a given environment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_clone_roleClone a roleBDestructive
Clone a role. Creates a copy of an existing role. Perm: manage_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| role_id | Yes | Path parameter (synthesised: not declared in spec). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| users | No | |
| dry_run | No | |
| would_send | No | |
| description | No | |
| scoped_permissions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, non-idempotent, and open-world behavior, so the safety profile is covered structurally. The description adds the real operational requirement (manage_roles permission), which is genuine value, but says nothing about what the clone inherits, whether users/assignments are copied, or that a preview/confirm cycle is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, with zero filler. The second sentence largely restates the first ('Clone a role' / 'creates a copy of an existing role'), a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the schema covers the execution gates. Still, for a destructive mutation with openWorldHint, the description leaves open what the copy inherits and when cloning is preferable to creating, which an agent would need to choose confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself documents dry_run (default true) and the confirm="YES" gate, so the description need not repeat them. It adds no parameter-level meaning beyond the permission note, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (clone) plus resource (role) and clarifies it creates a copy of an existing role, which naturally separates it from siblings like create_role and update_role. It stops short of explicitly routing against those siblings, but the clone semantics are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to clone versus create a role from scratch, no prerequisites beyond the permission string, and no note about the dry_run/confirm workflow an agent must follow before executing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_approvalManage updates approvalsBDestructive
Manage updates approvals. Manages approval status for multiple packages in bulk. Perm: approve_updates.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| details | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the required permission ('approve_updates'), which is useful context. However, it does not mention the confirm="YES" gate or that dry_run defaults to a preview, both of which are important behavioral facts for a destructive bulk mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but the first sentence is a verbatim restatement of the title and the second sentence repeats the same idea with slightly more detail. Removing the redundant title echo would make it tighter without losing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so the description does not need to explain return values. Still, for a destructive bulk mutation gated by confirm and dry_run, the description would benefit from noting that execution requires confirmation and defaults to preview mode.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, including the confirm and dry_run semantics. The description adds no parameter-level meaning beyond what the schema provides, which is acceptable at this coverage level but not above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states that the tool manages approval status for multiple packages in bulk, which is a recognizable verb+resource combination. It is less precise than ideal because the opening sentence merely restates the title, but the second sentence adds the bulk-scope detail. There is no sibling approval tool to differentiate from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool instead of alternatives, no mention of prerequisites beyond the permission string, and no indication of when approval should be set to Approved vs Declined. The agent must infer the use case entirely from the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_automation_instanceApply a automationCDestructive
Apply a automation. Immediately runs an instance of the automation on the specified endpoints in the specified. Perm: run_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| status | No | |
| actions | No | |
| dry_run | No | |
| end_time | No | |
| schedule | No | |
| endpoints | No | |
| start_time | No | |
| would_send | No | |
| retry_minutes | No | |
| endpoint_results | No | |
| percent_completed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, openWorld=true, and idempotent=false, and the description is consistent with that by saying it runs immediately. It adds the permission requirement, but omits the crucial safety flow baked into the schema: dry_run defaults to true and confirm="YES" is required to actually execute. Given annotation coverage, this is a partial contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the action, which is good, but the second sentence is grammatically broken and cut off ('in the specified.'), wasting the one sentence that should carry scope and target detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the schema fully documents parameters. Still, for a destructive, non-idempotent batch execution tool with nested action objects, the description should mention the preview-by-default/confirm-to-execute behavior and the fact that endpoints accepts groups as well as individual endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every nested field (name, actions, endpoints, retry_minutes, org_id, confirm, dry_run) is documented in the schema itself. The description adds no syntax, format, or constraint detail beyond what the schema already states, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The second sentence gives a real verb+resource: it 'immediately runs an instance of the automation' on endpoints, which is clearer than the vague 'Apply a automation'. However the sentence is truncated ('in the specified.'), and nothing distinguishes this from siblings such as action1_execute_and_wait, action1_create_automation_schedule, or the individual run_script/deploy_update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It supplies the required permission ('Perm: run_automations'), but gives no when-to-use guidance, no exclusions, and no routing to alternatives like creating a schedule instead of running immediately. The agent must infer that this is the one-shot execution path from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_automation_scheduleCreate a automation scheduleADestructive
Create a automation schedule. Schedules a new automation. The automation will be executed against a specified list of endpoints. Perm: manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: AutomationSchedulePayload) | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| actions | No | |
| dry_run | No | |
| last_run | No | |
| next_run | No | |
| settings | No | |
| endpoints | No | |
| would_send | No | |
| last_instance | No | |
| retry_minutes | No | |
| settings_timezone | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose non-readOnly, destructive, non-idempotent, and open-world behavior. The description adds an important authorization requirement, 'Perm: manage_automations', and endpoint execution scope, but it does not elaborate on destructive effects or the confirm/dry-run safeguards beyond what the schema already documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core action. The first two sentences are slightly redundant, but overall it is efficient and wastes little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, an output schema, and rich annotations, the description does not need to explain return values or parameter details. It supplies the permission requirement and endpoint scope, though it still leaves schedule-vs-instance routing implicit for a complex destructive creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents the parameters in detail. The description only echoes endpoint targeting and permission, adding little semantic meaning beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'Create', and resource, 'automation schedule', and adds that the automation runs against a specified endpoint list plus the required permission. It is clear on its own, but it does not explicitly distinguish this tool from siblings such as action1_create_automation_instance or action1_update_automation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the required permission and that execution targets endpoints, which gives useful usage context. However, it does not say when to choose this schedule-creation tool over alternatives like creating an automation instance or updating an existing automation, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_cve_remediationDocuments applied compensating controls for a specific vulnerabilityBDestructive
Documents applied compensating controls for a specific vulnerability. Perm: manage_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: RemediationPayloadPost) | |
| cve_id | Yes | The unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300 | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| comment | No | |
| dry_run | No | |
| would_send | No | |
| product_name | No | |
| creation_date | No | |
| remediated_by | No | |
| remediation_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds the useful permission requirement, but it does not elaborate on the destructive nature of the operation, the confirm/dry_run execution flow, or what happens to existing remediation data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded: the core action is stated first, followed by the permission constraint. Nothing is wasted, though the extreme brevity leaves important usage context unstated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema, an output schema, and annotations covering the safety profile, the description does not need to explain parameters or return values. However, for a destructive mutation with a required confirm token and a dry_run default, the description is thin on the operational context an agent would need to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains cve_id, body, org_id, confirm, and dry_run. The description adds no parameter-level meaning beyond what the schema provides, which is the expected baseline when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: documenting applied compensating controls for a specific vulnerability. It is clear what the tool does, but it does not distinguish this create operation from sibling remediation tools such as action1_update_remediation, action1_delete_remediation, or action1_list_cve_remediations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names a required permission (manage_vulnerabilities) but gives no guidance on when to use this tool versus the sibling remediation tools. There is no mention of prerequisites beyond permission, no exclusions, and no indication of how this relates to listing or updating existing remediations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_data_sourceCreate a data sourceBDestructive
Create a data source. Creates a new custom data source. At this time, all data sources are enterprise-wide. Perm: manage_data_sources.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| status | No | |
| builtin | No | |
| columns | No | |
| dry_run | No | |
| language | No | |
| would_send | No | |
| description | No | |
| script_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful context — data sources are enterprise-wide and the caller needs the manage_data_sources permission — but omits the two-step dry_run/confirm='YES' behavior, which is the most consequential operational detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, and the permission note is a useful trailing cue. The opening two sentences are redundant with each other, a small waste of space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent creation tool with a required confirm='YES' parameter and a dry_run default of true, a description that never explains execution vs preview leaves the agent at real risk of a failed or unintended call. Output schema richness offsets this only partly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the nested body fields and the confirm/dry_run parameters are all documented in the schema. The description adds no parameter-level meaning of its own and never mentions confirm or dry_run.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Create a data source' / 'Creates a new custom data source') that clearly separates it from the list/get/update/delete_data_source siblings. The second sentence is largely a restatement of the first, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to create a data source versus reusing an existing one, and no mention of the preview/confirm workflow that governs actually executing this call. The agent must infer everything from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_endpoint_groupCreate a new groupADestructive
Create a new group. Creates a new endpoint group within the specified organization. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| contents | No | |
| would_send | No | |
| description | No | |
| uptime_alerts | No | |
| exclude_filter | No | |
| include_filter | No | |
| exclude_filter_logic | No | |
| include_filter_logic | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the provided annotations (destructiveHint: true). Since the name and function already strongly imply the destructive nature of creation, the description adds very little unique behavioral context beyond what is already captured in the annotations and title.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is highly efficient. Each sentence serves a purpose: identifying the action, specifying the resource and scope, and listing the necessary permissions. There is zero waste in the language used.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an extremely complex schema supporting detailed features like inclusion/exclusion filters, uptime alerts, and organization UUID management, the description is exceedingly brief. It fails to mention the tool's capacity for complex rule-based configuration, which is a key part of what makes this tool powerful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 100%, the input schema fully defines all parameters (including complex filter structures). The description adds no semantic value to the parameters themselves, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'endpoint group,' providing an unambiguous purpose. This specific naming and verb clearly distinguishes it from sibling tools like `action1_list_endpoint_groups` or `action1_update_group`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool specifies the required permission ('Perm: manage_endpoints'), which helps guide usage. However, it lacks explicit guidance on when to use this tool versus other creation or configuration tools, making the guidance minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_endpoint_remote_sessionStart a new remote sessionBDestructive
Start a new remote session. Sends a request to the endpoint to start a new remote session. Perm: remote_connect.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Provide an endpoint ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| user_id | No | |
| connected | No | |
| current_ip | No | |
| would_send | No | |
| endpoint_name | No | |
| enterprise_id | No | |
| monitor_count | No | |
| customer_email | No | |
| remote_session | No | |
| connection_type | No | |
| current_monitor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, so the safety profile is covered. The description adds the required permission (remote_connect), which is genuine context beyond annotations, but says nothing about reversibility, the confirm gate, or what the session creates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the second sentence is pure redundancy ("Sends a request to the endpoint to start a new remote session") and the permission note is tacked on rather than structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and schema coverage is complete, so return values and parameter details are covered elsewhere. Still, for a destructive, open-world creation call, the description omits the confirm="YES" execution gate and the dry_run default-to-preview behavior that most affect correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (endpoint_id, org_id, body.connection_type, confirm, dry_run) is already documented in the schema. The description mentions no parameters at all, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource (start a remote session) that an agent can act on. However, it never differentiates from its close siblings get_remote_session and update_remote_session, and the second sentence merely restates the first with extra words.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is "Perm: remote_connect," which is a permission prerequisite rather than when-to-use guidance. Nothing indicates when to open a session versus inspecting one with get_remote_session, nor any warning about the destructive/open-world nature of the call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_organizationCreate an organizationCDestructive
Create an organization. Creates a new organization. Perm: manage_organizations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| would_send | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false and readOnlyHint=false, so the mutation risk profile is known. The description adds one genuinely useful piece of context — the required permission scope — but says nothing about side effects, whether the caller becomes an org admin, or irreversibility beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short fragments, one of which is a pure duplicate of the opening sentence. The redundancy wastes the most salient position in the description and pushes the only useful detail (the permission) to the tail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full schema coverage of the confirm/dry_run workflow, the description need not explain returns or parameters. It is minimally adequate, but for a destructive create-org operation it omits any note on scope of effect (e.g. does this create under the current enterprise) or what the required body fields mean.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself documents the body fields plus the two-step safety mechanism (confirm="YES", dry_run defaulting to true). The description adds no parameter-level meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource ("Create an organization") is unambiguous and implicitly distinguishes it from update_organization/delete_organization among siblings. However, the second sentence ("Creates a new organization") merely restates the first, adding zero information, and there is no explicit differentiation from siblings such as list_organizations or create_user.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the permission requirement "Perm: manage_organizations." There is no statement of when to use this versus update_organization, what preconditions exist (e.g. name uniqueness), or any when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_packageCreate new Software Repository packageBDestructive
Create new Software Repository package. Create a new custom Software Repository package object (with no versions) and set its initial basic. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: SoftwareRepositoryPackagePayloadPost) | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| scope | No | |
| status | No | |
| vendor | No | |
| builtin | No | |
| dry_run | No | |
| versions | No | |
| would_send | No | |
| description | No | |
| internal_notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds useful context—the required permission ('manage_software_repository') and the fact that no versions are created—but does not explain the confirm/dry_run workflow or what 'set its initial basic' means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the action and resource, and it is reasonably concise. The phrase 'set its initial basic' is awkward and slightly unclear, keeping it from a perfect score, but there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema and 100% schema description coverage, the description covers the core purpose and permission requirement. However, it omits explanation of the confirm/dry_run execution safety mechanism and leaves 'initial basic' undefined, so it is only minimally complete for a creation tool with nested payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters including the nested body fields. The description contributes no additional parameter details beyond the vague phrase 'set its initial basic', so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Create') and resource ('Software Repository package object'), and clarifies it creates the package 'with no versions', which distinguishes it from action1_create_package_version. It does not explicitly name alternatives, but the scope detail is sufficient to separate it from most siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like action1_clone_package or action1_create_package_version. The only additional context is the required permission, which is not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_package_versionCreate new version in Software Repository packageBDestructive
Create new version in Software Repository package. Adds a new version to the specified Software Repository package. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| package_id | Yes | Provide a specific package ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| OS | No | |
| id | No | |
| self | No | |
| tool | No | |
| type | No | |
| notes | No | |
| dry_run | No | |
| version | No | |
| EULA_text | No | |
| binary_id | No | |
| file_name | No | |
| would_send | No | |
| update_type | No | |
| install_type | No | |
| release_date | No | |
| security_CVE | No | |
| EULA_accepted | No | |
| app_name_match | No | |
| approval_status | No | |
| scoped_approvals | No | |
| reboot_exit_codes | No | |
| security_severity | No | |
| additional_actions | No | |
| success_exit_codes | No | |
| allow_x86_x64_on_arm | No | |
| silent_install_switches | No | |
| uninstall_app_name_match | No | |
| silent_uninstall_switches | No | |
| minimum_required_agent_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the required permission (manage_software_repository), which is genuinely useful context, but says nothing about what gets destroyed, whether duplicates fail, or the confirm/dry_run gating that governs execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The second sentence is a near-verbatim restatement of the first ('Create new version...' / 'Adds a new version to the specified...'), so roughly half the text does no work. What remains is front-loaded and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be explained, and parameters are fully described in schema. However, for a destructive creation tool with a polymorphic OS-specific body (Windows vs. macOS variants) and a confirm/dry_run execution gate, the description gives no orientation to the two request shapes or the preview-first workflow, leaving the agent to discover both from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including the deeply nested body, org_id, confirm, and dry_run is already documented in the schema. The description adds no interpretation of its own, which is acceptable at baseline but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (create a version inside a Software Repository package), which is unambiguous. It does not distinguish itself from close siblings such as action1_update_version or action1_create_package, so an agent must infer which one applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus action1_update_version, action1_create_package, or action1_clone_package. The only quasi-guidance is the permission string 'Perm: manage_software_repository', which states a prerequisite but not a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_reportCreate a custom reportADestructive
Create a custom report. Creates a custom report in the predefined Custom report category. Perm: manage_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| simple | No | |
| builtin | No | |
| dry_run | No | |
| alertable | No | |
| filter_set | No | |
| would_send | No | |
| description | No | |
| report_data | No | |
| data_sources | No | |
| data_sourses | No | |
| report_errors | No | |
| column_aliases | No | |
| simple_columns | No | |
| parent_category | No | |
| summary_columns | No | |
| long_description | No | |
| drilldown_columns | No | |
| summary_customizable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnlyHint false, destructiveHint true, non-idempotent, open-world), so the bar is lower. The description adds meaningful context beyond them: the required 'manage_reports' permission and the fact that the report is placed in the predefined Custom report category.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the action, then permission. There is slight redundancy between 'Create a custom report' and 'Creates a custom report in...', but otherwise every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex due to nested required body fields, but the 100% schema coverage and output schema mean the description need not restate body structure or return values. It supplies the essential permission and category context; only usage/alternative guidance is noticeably absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the body fields and the confirm/dry_run parameters. The description adds no parameter-level meaning beyond the schema, which is the baseline 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — 'Create a custom report' — and clarifies it lives in the predefined 'Custom report' category. It is distinguishable from list/get/update/delete report siblings, though it does not explicitly name an alternative such as create_report_subscription.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is 'Perm: manage_reports.' There is no statement of when to use this versus create_report_subscription or update_report, and no description-level mention of the preview/confirm workflow even though the schema requires a confirm string and defaults dry_run to true.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_report_subscriptionCreate a new report subscriptionCDestructive
Create a new report subscription. Creates a new report subscription. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| tool | No | |
| type | No | |
| format | No | |
| dry_run | No | |
| comments | No | |
| would_send | No | |
| endpoint_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral fact not in the schema — the required permission 'view_reports' — but omits any warning about the destructive nature or the preview-then-confirm execution pattern.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are a verbatim duplication of the same statement, which is pure waste in a three-sentence description. Only the trailing permission note carries new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and rich annotations exist, so return values and safety signals are covered elsewhere. Still, for a destructive open-world mutation, the description should have explained the dry_run preview default and the confirm='YES' gate rather than leaving an agent to infer them from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (body with name/report_id/schedule, confirm, dry_run) are documented in structured data. The description adds nothing about parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource (create a report subscription), but it does so twice in nearly identical sentences, adding no specificity beyond the tool name and title. It does not distinguish this from sibling tools such as action1_update_report_subscription or action1_list_report_subscriptions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus update_report_subscription or list_report_subscriptions, and no mention of prerequisites or the confirm/dry_run workflow. Only the permission string 'Perm: view_reports' offers any contextual hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_roleCreate a roleCDestructive
Create a role. Creates a new role. Perm: manage_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| users | No | |
| dry_run | No | |
| would_send | No | |
| description | No | |
| scoped_permissions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the safety profile is covered. The description adds one genuine piece of extra context, the required `manage_roles` permission, but stays silent on the confirmation/dry-run execution gate that matters most for a destructive non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
"Create a role. Creates a new role." is a duplicated statement; the second sentence earns no place. What remains is front-loaded but wasteful, and the space freed by removing the repetition could have carried the missing usage or safety context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so return values and parameters need not be explained. Still, for a destructive write tool with role-related siblings, the description never states when to create versus clone or update, leaving a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so `body`, `name`, `description`, `scoped_permissions` and the `confirm`/`dry_run` flags are all self-documenting. The description adds nothing about the nested permission/scope structure, which is fine at this coverage level — baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource ("Create a role") is unambiguous, but the description offers no differentiation from nearby siblings such as action1_clone_role, action1_update_role, or action1_create_role_user. An agent knows what it does but not how it differs from those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no exclusions — nothing tells the agent to prefer clone_role when copying an existing role or update_role when modifying one. Only the permission prerequisite ("Perm: manage_roles") is stated, which is context but not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_role_userAssign user to a specific roleBDestructive
Assign user to a specific role. Assigns user to a role specified by its ID. Perm: assign_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| role_id | Yes | Provide a specific role ID. | |
| user_id | Yes | Provide a specific user ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the safety profile is known. The description adds the required permission, which is genuine value, but stays silent on the preview-by-default behavior (dry_run defaults true) beyond what the schema already documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and short, but the second sentence largely restates the first ('Assigns user to a role specified by its ID') rather than adding information; only the permission clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, a 100% documented 4-param schema and an output schema, the essentials are covered. Still, the description omits the mutation's operational gate (dry_run preview plus confirm=YES) and the permission's effect on role scope, leaving a gap for a destructive write tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters are documented there, so the baseline is 3. The description only restates that the role is identified by ID and adds nothing on role_id format, user_id format, or interaßction with confirm/dry_run.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Assign user to a specific role') plus the permission gate ('Perm: assign_roles'). It is distinguishable from sibling role tools like delete_role_user and list_role_users by the 'assign' verb, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the name and the stated permission prerequisite ('assign_roles'), which tells the agent a required capability. It gives no explicit when-to-use guidance and no mention of the dry_run/confirm two-step that governs actually executing the assignment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_scriptCreate a custom scriptBDestructive
Create a custom script. Creates a new custom script and adds it to the Script Library. Perm: manage_scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| params | No | |
| status | No | |
| builtin | No | |
| dry_run | No | |
| language | No | |
| would_send | No | |
| description | No | |
| script_text | No | |
| enterprise_id | No | |
| success_codes | No | |
| reboot_exit_codes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-readonly, destructive, non-idempotent operation. The description adds useful context with the required permission ('manage_scripts') and the destination ('Script Library'), but does not elaborate on duplicate handling, validation, or execution behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the action stated first. There is minor redundancy between 'Create a custom script' and 'Creates a new custom script,' but it remains efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The rich input schema, output schema, and annotations cover most call mechanics, including required body fields, confirmation, and dry-run behavior. However, the description omits usage context relative to sibling tools, leaving a gap for an agent deciding when to create versus update or run a script.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, confirm, and dry_run. The description adds no parameter-level meaning beyond what the schema provides, making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Create a custom script' and clarifies it 'adds it to the Script Library.' The purpose is clear, though it does not explicitly differentiate this tool from siblings such as action1_update_script or action1_run_script.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives like update_script or run_script. It only notes the required permission, which is a prerequisite rather than usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_settingCreate a new settingBDestructive
Create a new setting. Creates a new setting. At this time, all setting templates are enterprise-wide. Perm: manage_advanced_settings.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: SettingPayloadPost) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| scope | No | |
| value | No | |
| dry_run | No | |
| value_type | No | |
| would_send | No | |
| description | No | |
| template_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructiveHint=true, openWorldHint=true, non-idempotent behavior, and readOnlyHint=false. The description adds useful context about the required permission and enterprise-wide template scope, but it does not mention the dry_run/confirm safety flow documented in the schema. There is no contradiction with the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but the first two sentences are exact duplicates: 'Create a new setting. Creates a new setting.' That redundancy does not earn its place and makes the structure slightly wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The definition provides sufficient context for a create mutation: purpose, permission requirement, and enterprise-wide template scope. The schema already covers the safety controls, and an output schema exists, so the description need not explain return values. It could be stronger with explicit guidance on dry_run versus confirm execution.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already explains body, value, scope, template_id, confirm, and dry_run. The description adds no parameter-level details beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Create a new setting.' It also adds that setting templates are enterprise-wide, which gives scope context. It does not explicitly differentiate from update_setting, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for creating new settings and states the required permission, manage_advanced_settings. However, it gives no explicit when-to-use guidance versus update_setting or other siblings, and no exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_create_userCreate new userCDestructive
Create new user. Creates a new user. To create an SSO user, please first review the following documentation: -. Perm: manage_users.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| value | No | |
| dry_run | No | |
| would_send | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true and non-idempotent, so the safety profile is covered. The description adds one genuinely non-structured fact — the required 'manage_users' permission — but says nothing about duplicate-email behavior, password handling, or how SSO creation differs, and the promised SSO documentation pointer is blank.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening is wasted duplication ('Create new user. Creates a new user.') and the SSO sentence ends in a dangling 'documentation: -' fragment. Neither the permission line nor the broken reference is front-loaded in a way that helps invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, so the description is not required to explain returns. However, for a destructive user-creation mutation it omits the SSO path it advertises, and the only unique behavioral detail (permission requirement) is a single trailing tag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the nested body variants are documented, so the schema carries the parameter burden. The description adds no meaning to any parameter — even the SSO hint, which would plausibly relate to a body field, points at an empty reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource ('create user') is identifiable, but the first two sentences are the same statement repeated ('Create new user. Creates a new user.') and nothing distinguishes this from sibling user/role tools such as action1_create_role_user or action1_update_user. An agent knows what it does but not why it would pick this over its siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance offered is 'To create an SSO user, please first review the following documentation: -' where the link is empty, making the hint unusable. The 'Perm: manage_users' note tells the agent the required permission, but there is no when-to-use / when-not-to-use framing or mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_cve_remediation_planBuild a remediation plan for a CVE or an endpoint (read-only)ARead-onlyIdempotent
Read-only correlation of vulnerabilities and the updates that fix them. Does NOT execute; pass the result to action1_deploy_update.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | No | Plan for one CVE id. | |
| org_id | No | Org UUID. | |
| max_items | No | Max plan entries. | |
| endpoint_id | No | Plan for one endpoint. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | array |
| count | No | number |
| warning | No | string |
| truncated | No | boolean |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds real value on top by asserting 'Does NOT execute' and specifying the workflow handoff to action1_deploy_update. It could have noted scope requirements (org_id, or that cve_id/endpoint_id is an either/or selector), which is why it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the read-only correlation purpose and followed immediately by the non-execution constraint and handoff. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description only needs to convey purpose and non-execution semantics, which it does. Minor gap: it doesn't clarify the cve_id-vs-endpoint_id selector logic, which matters for a tool with zero required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with five well-documented parameters including enum and format constraints, so the baseline is 3. The description adds no parameter-level meaning, not even that cve_id and endpoint_id are alternative selectors or that org_id scopes the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: correlating vulnerabilities with the updates that fix them, producing a plan. It also distinguishes itself from the execution sibling by naming action1_deploy_update. However, it never explicitly says it 'builds a plan' for a CVE or endpoint as the title does, and does not differentiate from near-neighbors like action1_list_cve_remediations or action1_create_cve_remediation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use rule: it does not execute, and the result should be handed to action1_deploy_update. That is a genuine when-to-use and what-next statement. It stops short of stating when to prefer this over the other CVE remediation tools (list/create/update), so no explicit exclusions beyond the deploy sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_automationDelete a automation scheduleBDestructiveIdempotent
Delete a automation schedule. Deletes a scheduled automation specified by its ID. Perm: manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| automation_id | Yes | Provide a specific automation ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is largely covered. The description adds useful authorization context with 'Perm: manage_automations', but it does not explain the confirm/dry_run safeguards or irreversibility beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the action. The first two sentences overlap slightly by restating the delete operation, but the overall structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations, full schema descriptions, and presence of an output schema, the definition contains the core information needed to invoke the tool. It could be stronger by mentioning the confirm/dry_run execution model, but that is already covered in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents automation_id, org_id, confirm, and dry_run in detail. The description only says the automation is specified by its ID, adding no meaning beyond the schema for the remaining parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: deleting a scheduled automation specified by its ID. This is clear and matches the title, though it does not explicitly distinguish the tool from the sibling action1_delete_automation_action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no when-not-to-use guidance, and no alternatives. The only contextual note is the required permission, which does not help an agent choose between this and related automation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_automation_actionDelete an action from a automationBDestructiveIdempotent
Delete an action from a automation. Deletes a specified action from a scheduled automation. Perm: manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| action_id | Yes | Provide a specific action ID. | |
| automation_id | Yes | Provide a specific automation ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| would_send | No | |
| description | No | |
| large_image | No | |
| small_image | No | |
| applicable_to | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description contributes the required permission (manage_automations), which is genuinely additive, but it never mentions the confirm="YES"/dry_run safety gate that governs actual execution, nor whether deletion is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences say the same thing twice ('Delete an action from a automation' / 'Deletes a specified action from a scheduled automation'), wasting the most prominent position on a restatement of the title. The permission line does earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully described, so the mechanical call requirements are covered. However, for a destructive tool with a mandatory confirmation string and a default-true dry_run, the description omits the operational flow that an agent most needs to avoid accidental deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters including confirm and dry_run are already documented in the schema. The description adds no syntax, default, or interaction detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (delete an action) scoped to a scheduled automation, which distinguishes it from delete_automation and delete_package_version_action in the sibling list. It stops short of explicitly naming those siblings, so differentiation is inferential rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus deleting the whole automation or other delete-* tools, and no mention of prerequisites beyond the permission string. The agent must infer the use case entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_data_sourceDelete a custom data sourceADestructiveIdempotent
Delete a custom data source. Deletes an existing custom data source. Note that you cannot remove built-in data sources. Perm: manage_data_sources.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| data_source_id | Yes | Provide a specific data source ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover destructiveness and idempotency, and the description adds meaningful context beyond them: the required permission (manage_data_sources) and the built-in-source restriction. It does not restate dry_run/confirm semantics, but those are documented in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences say the same thing ('Delete a custom data source' / 'Deletes an existing custom data source'), wasting space. The permission and built-in constraints are useful, but the definition is not front-loaded or tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, annotations covering safety, and full schema coverage, the description supplies the remaining needed context: the built-in restriction and required permission. Sufficient for an agent to call correctly, though missing any explicit caution about irreversibility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (data_source_id, confirm, dry_run) are already documented. The description adds no parameter-level meaning, which is acceptable at this coverage level but not value-adding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a custom data source') that clearly identifies it against the create/get/update/list data source siblings. The first two sentences are redundant restatements, but the meaning is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Adds one useful precondition — built-in data sources cannot be removed — which implies when the call will fail. However, it offers no explicit guidance on when to use this versus alternatives (e.g., update_data_source to disable instead), leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_deployerDelete DeployerCDestructiveIdempotent
Delete Deployer. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| deployer_id | Yes | Provide a specific deployer ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description adds the concrete permission requirement (manage_endpoints), which is genuinely useful context, but is silent on the confirm="YES" gate and dry_run default that make this delete irreversible in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments with no wasted words, but the terseness comes at the cost of under-specification rather than economical clarity. The permission note could have been paired with a single clause on confirmation behavior at no length cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete with an output schema and a confirm="YES" safeguard, the description gives the agent only the permission and nothing about the two-step confirmation flow or irreversibility. An agent reading just this description would not know a confirmation string is required to actually execute.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including inline docs for deployer_id, confirm, dry_run, and org_id, so parameter meaning is fully carried by the schema. The description adds nothing beyond the permission note, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'Delete Deployer' simply restates the tool name and title verbatim, adding no scope, target, or effect detail. It does distinguish the verb 'delete' from the read-only deployer siblings (get_deployer, list_endpoint_deployers), but the statement itself is tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Perm: manage_endpoints' tells the agent the required permission but says nothing about when to use this tool versus alternatives, nor when not to delete a deployer. No prerequisite or context is given beyond the permission string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_endpointDelete an endpointBDestructiveIdempotent
Delete an endpoint. Removes a specified endpoint and attempts to uninstall its agent. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Provide an endpoint ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds genuine value by disclosing the agent-uninstall side effect and the required 'manage_endpoints' permission. However, it omits that dry_run defaults to true and that confirm="YES" is required — critical execution behavior for a destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, with no filler. The permission clause earns its place; only minor loss for not surfacing the dry_run/confirm workflow in the same compact form.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with an output schema present, the return values need not be explained, but the description should flag the preview-by-default and confirmation-string workflow an agent must follow before deleting. That gap leaves it adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters are documented in the schema, so the baseline of 3 applies. The description adds no parameter-level detail beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Delete an endpoint') and adds scope by clarifying that it also attempts to uninstall the endpoint's agent. It's clearly distinguishable from siblings like action1_delete_group, action1_delete_deployer, or action1_update_endpoint, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no mention of the required confirm="YES" gate or the dry_run default of true, which are the key decision points for invoking this destructive tool. The agent is left to discover the two-step preview/execute workflow from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_groupDelete an endpoint groupBDestructiveIdempotent
Delete an endpoint group. Deletes an existing group in the specified organization. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| group_id | Yes | Provide an endpoint group ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, so the risk profile is covered structurally. The description adds the required permission ('Perm: manage_endpoints'), which is genuine extra context, but it omits the two-step safety protocol (confirm must be exactly "YES", dry_run defaults true) and says nothing about cascading effects on member endpoints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb+resource, which is correct. However, sentence two ('Deletes an existing group in the specified organization') largely restates sentence one, and the permission tag trails as a fragment — the space would be better spent on consequences or the dry-run/confirm workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and rich annotations mean return values and safety posture need not be described. But for a destructive group deletion, the description should disclose what happens to endpoints assigned to the group and how the confirm/dry_run guard works — that context is only implicit in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters including confirm and dry_run are already documented in the schema. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete an endpoint group'), and the sibling list makes the target unambiguous — this is clearly not action1_delete_endpoint, action1_update_group, or action1_delete_deployer. It does not explicitly name an alternative, but the resource noun does the disambiguating work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to delete a group versus updating it or removing endpoints individually, and no mention of prerequisites or consequence (e.g., what happens to endpoints still in the group). The presence of confirm/dry_run params implies a guarded workflow the description never explains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_organizationDelete an organizationADestructiveIdempotent
Delete an organization. Removes an organization from the enterprise. Perm: manage_organizations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false, so the agent knows this is an irreversible-style mutation and safe to retry. The description adds the required permission, which is genuinely useful, but says nothing about cascading effects (do the org's endpoints/users go with it?) or recoverability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and permission last. "Removes an organization from the enterprise" is mild restatement of the first sentence, but nothing is verbose or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the annotations carry the safety profile, so return values and risk are covered elsewhere. The one substantive gap is whether deletion cascades to child resources, which an agent deciding to call a destructive tool would want to know.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so org_id, confirm, and dry_run are fully documented with their constraints. The description adds no parameter-level meaning beyond the schema, which is acceptable at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ("Delete an organization") with a clarifying scope sentence ("Removes an organization from the enterprise"), which cleanly distinguishes it from update_organization and create_organization among the siblings. It stops short of explicitly naming the adjacent tools, but the operation is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides one prerequisite ("Perm: manage_organizations") but gives no guidance on when deletion is appropriate versus alternatives such as removing members or updating the org, and no warning about irreversibility. The dry_run/confirm guardrails exist only in the schema, not in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_packageDelete custom Software Repository packageBDestructiveIdempotent
Delete custom Software Repository package. Deletes a custom Software Repository package specified by its ID. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| package_id | Yes | Provide a specific package ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description adds the required permission, which is genuinely useful context. However, for a destructive operation it says nothing about irreversibility or the dry_run-defaults-to-preview / confirm-required gate, which is the most important behavioral detail here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The second sentence largely restates the first, adding only the permission note. Front-loaded and short, but one of two sentences is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations carry the risk profile, so the bar is moderate. Still, a destructive deletion tool whose description omits the preview/confirm semantics and any warning about irreversibility leaves a meaningful gap for an agent deciding whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (org_id, confirm, dry_run, package_id) are already documented in the schema. The description's 'specified by its ID' merely echoes package_id; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (delete a custom Software Repository package), plus the identifier used to target it. It is distinguishable from nearby siblings such as action1_delete_package_version_action and action1_delete_version, but the description never explicitly draws that line, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is 'Perm: manage_software_repository.' There is no statement of when to use this versus deleting a version or the package-version action, and no mention of the preview-then-execute flow that governs this destructive tool. An agent gets no routing or precondition help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_package_version_actionDelete additional action from version of Software Repository packageBDestructiveIdempotent
Delete additional action from version of Software Repository package. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| action_id | Yes | Provide a specific action ID. | |
| package_id | Yes | Provide a specific package ID. | |
| version_id | Yes | Provide a specific version ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true. The description adds the required permission ('manage_software_repository'), which is genuinely useful authorization context. However, it doesn't mention the confirm="YES"/dry_run safety flow, which matters for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse sentences, front-loaded and free of filler. Tight, though one sentence is a near-verbatim echo of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema and full annotation set, the essentials are covered. Still, for a destructive multi-ID operation it omits any note about irreversibility or the preview-by-default behavior that an agent calling this should account for.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are documented in the schema. The description adds no parameter semantics beyond that, which is acceptable given the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: deletes an 'additional action' from a version of a Software Repository package. Clear enough to invoke, though it just restates the title and doesn't distinguish itself from similarly-named siblings like action1_delete_automation_action or action1_delete_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs. alternatives (e.g., delete_version, delete_package, delete_automation_action) or preconditions beyond the permission string. The agent must infer the scenario entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_remediationDeletes remediation record of compensating controlsBDestructiveIdempotent
Deletes remediation record of compensating controls. Perm: manage_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | The unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300 | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| remediation_id | Yes | A specific remediation ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is known. The description adds real value by stating the required permission (manage_vulnerabilities), but it omits the most consequential behavior for an agent: dry_run defaults to true and confirm must be exactly "YES", so a naive call silently does nothing rather than deleting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the verb and resource front-loaded and no filler. It is efficient, though it is on the thin side for a destructive operation rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the annotations plus 100% schema coverage carry most of the load, and the permission note is a useful addition. However, for a destructive delete whose execution is gated by confirm and a default-true dry_run, the description should say so — that gap is the main reason it falls short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (cve_id, remediation_id, org_id, confirm, dry_run) are documented in the schema itself. The description adds no semantics beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (deletes) and a specific resource (remediation record of compensating controls), which distinguishes it from action1_update_remediation and action1_delete_package_version_action. It also names the required permission, though 'compensating controls' is slightly ambiguous terminology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus action1_update_remediation or when to first look up the remediation via action1_list_cve_remediations. Nothing warns that this is irreversible or that a preview mode exists, so the agent gets no routing or caution cues from the text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_reportDelete a custom reportADestructiveIdempotent
Delete a custom report. Deletes a custom report specified by its ID. Perm: manage_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| report_id | Yes | Provide a specific report ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the core risk profile is covered. The description adds useful context with the required permission (manage_reports), but says nothing about irreversibility, side effects, or the preview/confirm safety flow beyond what the schema already documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded. The second sentence largely restates the first, a minor redundancy, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations plus a fully documented schema, the description only needs purpose and key constraints. It covers verb, target, ID selection, and permission, leaving little essential missing for this focused destructive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds nothing beyond 'specified by its ID', which merely restates the report_id parameter. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (delete) and resource (custom report) and clarifies the resource is selected by ID. It is distinguishable from siblings like action1_list_reports, action1_get_report_or_category, and action1_update_report, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage (delete the report identified by report_id) and adds the permission requirement 'manage_reports', but provides no explicit when-to-use/when-not guidance or reference to alternative report tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_report_subscriptionDelete the report subscriptionCDestructiveIdempotent
Delete the report subscription. Removes the report subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| subscription_id | Yes | Provide a specific subscription ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the key safety profile is structured elsewhere. The description adds nothing beyond "Removes," which merely repeats the destructive nature already conveyed by annotations and the name. It does not explain confirmation requirements, execution behavior, or consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the second sentence ("Removes the report subscription") is redundant with the first and the tool name. It is not verbose, but the repetition does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the destructive, idempotent, and open-world behavior, reducing what the prose must carry. However, for a destructive deletion tool with a required confirmation string and a dry-run default, the description could usefully mention the preview/confirm workflow rather than leaving it entirely to schema fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so subscription_id, confirm, and dry_run are fully documented in the schema. The description adds no parameter meaning beyond that, so baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("Delete the report subscription") but only restates the tool name/title. It does not distinguish this deletion tool from sibling tools such as update_report_subscription or list_report_subscriptions. This is essentially a tautological restatement rather than added explanatory value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives no guidance on when to use this tool versus alternatives, nor any prerequisites or warnings. The schema's confirm and dry_run fields imply a safety workflow, but the description does not explain that workflow or route agents to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_roleDelete a specific roleBDestructiveIdempotent
Delete a specific role. Deletes a role specified by its ID. Perm: manage_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| role_id | Yes | Provide a specific role ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds one useful piece of context beyond annotations: the required 'manage_roles' permission. It does not, however, warn about irreversibility or what happens to users currently assigned to the role.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded, but the second sentence ('Deletes a role specified by its ID') is redundant with the first and consumes space that could have carried the missing safety or usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need no explanation, and annotations cover destructiveness. Still, for an irreversible deletion with a dry-run-by-default safety valve described only in the schema, the description could have flagged the preview/confirm workflow and consequences of permanent removal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so role_id, confirm, and dry_run are all documented in the schema itself. The description only echoes that the role is identified by ID, adding no syntax, format, or interaction detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Delete') and resource ('role') plus scope ('specified by its ID'), which is enough to distinguish it from siblings like action1_delete_role_user or action1_delete_group. Loses a point because the second sentence largely restates the first rather than adding differentiating detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance, no mention of alternatives such as action1_update_role or action1_delete_role_user, and no note that this is irreversible. The 'Perm: manage_roles' note is a prerequisite, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_role_userUnassign user from a specific roleADestructiveIdempotent
Unassign user from a specific role. Unassigns user from a role specified by its ID. Perm: assign_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| role_id | Yes | Provide a specific role ID. | |
| user_id | Yes | Provide a specific user ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint, so the safety profile is covered. The description adds the required permission ('assign_roles'), which is genuinely useful context an agent cannot get from annotations. It omits the two-step confirm/dry_run safeguard, but that is fully documented in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the action, but the second sentence ('Unassigns user from a role specified by its ID') largely restates the first rather than adding information. Minor redundancy keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, a full-coverage schema, and an output schema present, the definition gives enough for correct invocation; the permission note covers the main non-structured gap. The only omission is a hint about the destructive two-step confirmation flow, which the schema already carries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (including the confirm/dry_run guardrails) are documented in structured data. The description only echoes that role_id identifies the role, adding no syntax or constraint details beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource combination ('Unassign user from a specific role') that an agent can distinguish from siblings like action1_create_role_user and action1_delete_role. However, it does not explicitly name or route away from any alternative, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the use case (removing a role assignment) and adds the required permission 'assign_roles', which is useful pre-call context. There is no explicit guidance on when to prefer this over action1_update_role or how it relates to action1_delete_role, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_scriptDelete a custom scriptBDestructiveIdempotent
Delete a custom script. Deletes an existing custom script specified by its ID. Perm: manage_scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| script_id | Yes | Provide a specific script ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the agent knows this is an irreversible-feeling mutation. The description adds a genuine behavioral fact the annotations do not carry: the required permission is manage_scripts. It does not, however, state that deletion is permanent, whether confirmation or preview is honored, or what happens to scripts referenced by automations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Only three short sentences, but the second ('Deletes an existing custom script specified by its ID') is a near-verbatim restatement of the first and earns nothing. The useful permission note is buried last rather than front-loaded alongside the warning about permanence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and rich annotations mean the description need not explain return values, and all three params are covered. However, for a destructive, open-world deletion, the description should at minimum flag irreversibility and the confirm/'YES' safeguard rather than leaving safety entirely implicit in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with script_id, dry_run and confirm all documented in the schema itself. The description only restates 'specified by its ID', adding no syntax, format, or guidance on the dry_run/preview default. Baseline 3 is appropriate when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Delete a custom script', with scope narrowed to a script identified by ID. It is clear what the tool does, though it does not differentiate itself from the many other delete siblings (delete_package, delete_setting, delete_automation), which all read similarly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to delete vs. when to use update_script, list_scripts, or get_script to verify first, and no mention of prerequisites beyond 'Perm: manage_scripts'. The existence of a dry_run/confirm safety flow is left entirely to the schema with no narrative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_settingDelete a settingBDestructiveIdempotent
Delete a setting. Deletes an existing setting specified by its ID. Perm: manage_advanced_settings.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| setting_id | Yes | Provide a specific setting ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, and the description adds the required permission scope, which is real value beyond structured data. However, it does not say that the deletion is permanent/irreversible, nor that execution is gated by confirm="YES" and dry_run defaulting to true — meaningful behavior for a destructive tool even though the schema documents those fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, but the second ('Deletes an existing setting specified by its ID') largely restates the first. Front-loading is fine; the redundancy costs it the top band.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations, a full-coverage schema and an output schema carry most of the burden, and the permission note fills an important gap. Still, for an irreversible destructive operation the description omits the confirmation/dry-run workflow and the permanence of the effect, leaving a real gap for an agent deciding how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so setting_id, confirm and dry_run are already well documented in the schema. The description only echoes that the setting is identified by its ID and adds no format examples or semantics beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Delete a setting') and clarifies the selector ('specified by its ID'), which is enough to separate it from the many delete_* siblings by resource type. It doesn't explicitly contrast with update_setting or list_settings, but the resource+verb pairing is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the permission requirement ('Perm: manage_advanced_settings'), which is useful as a gate but does not say when to prefer deletion over updating a setting, or what prerequisites/state the setting must be in. Usage is implied by the tool name rather than explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_userDelete userCDestructiveIdempotent
Delete user. Deletes an existing user. Perm: manage_users.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| user_id | Yes | Provide a specific user ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the safety profile is largely covered. The description adds useful authorization context with 'Perm: manage_users', but it does not explain irreversibility, side effects on related records, or the confirm/dry_run execution flow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but the first two sentences are redundant ('Delete user. Deletes an existing user.'), so not every sentence earns its place. The permission note is useful but appended without further structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a full input schema and an output schema, and annotations cover the destructive/read-only/idempotent traits, which reduces the description's burden. Still, for a destructive user-deletion operation, the description omits irreversibility warnings and the practical confirm/dry_run workflow an agent should follow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains user_id, confirm, and dry_run in detail. The description adds no parameter-specific meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb and resource ('Delete user'), so the basic purpose is clear. However, the first two sentences are largely tautological restatements of the tool name and title, and the description does not clarify scope or distinguish this deletion from sibling delete tools such as action1_delete_endpoint or action1_delete_group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites beyond the permission string, and no warning about when not to use it. The agent must infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_delete_versionDelete version from Software Repository packageBDestructiveIdempotent
Delete version from Software Repository package. Deletes the specified version of the specified custom Software Repository package. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| package_id | Yes | Provide a specific package ID. | |
| version_id | Yes | Provide a specific version ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds the permission prerequisite and the 'custom' restriction, but says nothing about irreversibility, what happens to version references/endpoints, or the confirm/dry_run gating semantics that would be genuinely new context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, permission stated last, and the destructive action is front-loaded in the first sentence. The second sentence largely restates the first, which is mild redundancy rather than bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and all five parameters are documented, so return values and inputs are handled elsewhere. What remains missing is sibling disambiguation against action1_delete_package_version_action, which matters given the two tools read as synonyms.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter, including confirm, dry_run and org_id, is documented in the schema. The description adds no parameter-level detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Delete version from Software Repository package') and narrows scope to 'custom' packages, which meaningfully limits what it can act on. It does not, however, distinguish itself from the near-identically named sibling action1_delete_package_version_action, leaving that disambiguation to the caller.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an implied usage context (custom packages only) and a required permission ('Perm: manage_software_repository'), which is actionable prerequisite info. It never states when to prefer it over action1_delete_package_version_action or action1_delete_package, nor any exclusions or warnings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_deploy_packageDeploy a software packageADestructive
Deploy software via the deploy_package template. Use action1_get_action_template for the params schema.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| params | Yes | Template params for deploy_package. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, readOnlyHint=false and idempotentHint=false, so the risk profile is known. The description adds that execution is template-driven and that params must be sourced externally, but never reinforces the dry_run-preview / confirm="YES" gate that matters most for a destructive action. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, and the core action is front-loaded before the prerequisite. Both sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the schema fully documents the gating parameters. But for an 8-parameter, destructive, non-idempotent fan-out-capable tool, two sentences leave the agent without the blast-radius framing (that dry_run defaults to true and confirm is required to actually execute) that would belong in prose rather than buried in field descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, and the description exceeds it by explaining the one genuinely opaque parameter: 'params' is a free-form object (additionalProperties: {}) whose shape is not in the schema and must be fetched via action1_get_action_template. That is real added meaning for an undocumented nested object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Deploy software') and pins the mechanism ('via the deploy_package template'). It does not distinguish this from near-neighbors like action1_deploy_update or action1_run_script, so an agent still has to infer which deployment path applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives a concrete prerequisite workflow: call action1_get_action_template to obtain the params schema. That is useful context, but it is a how-to, not a when-to-use — no condition selects this over deploy_update, run_script, or create_package, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_deploy_updateDeploy specific updates to an endpointCDestructive
Deploy one or more updates (by package id) via the deploy_update template.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| updates | Yes | Updates to deploy. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| reboot_after | No | Reboot policy after deploy. | |
| display_summary | No | Optional console summary. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond them — it does not disclose the two-step confirm="YES" gate, the dry_run default of true (preview), reboot_after behavior, or group fan-out risk when target_type is EndpointGroup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded with the action and resource. It is efficient but so terse that it omits information an agent needs, sitting just short of the sweet spot.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive, non-idempotent, 10-parameter mutation tool with an output schema. The description omits the critical invocation protocol (confirm string, dry_run preview default) and the endpoint-vs-group targeting distinction, so it is not complete enough for safe first-call behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in structured data (package_id source, version pass-through, target_type, reboot_after, response_format). The description only restates 'by package id', adding no semantics beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: deploy updates by package id. An agent can tell this is a deployment action rather than a listing action. However, it does not differentiate itself from the very similar sibling action1_deploy_package, leaving the boundary between 'deploy updates' and 'deploy package' ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus action1_deploy_package, action1_run_script, or action1_list_missing_updates, and no statement of prerequisites. The agent must infer from the schema that a confirm token and dry_run flag exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_endpoint_groups_resolveResolve endpoint group by name (fuzzy)ARead-onlyIdempotent
Look up an endpoint group by name or UUID using exact-id/exact-name/starts-with/contains.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Group name fragment or UUID. | |
| org_id | No | Org UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| matches | No | array |
| total_groups | No | number |
| match_strategy | No | string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so safety is covered. The description adds useful fuzzy-match semantics (exact-id/exact-name/starts-with/contains), but it does not explain precedence among modes, multiple-match behavior, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no redundant or filler content. Every phrase contributes to identifying the operation and its matching behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with full schema coverage, annotations, and an output schema, so return values and safety do not need description space. However, for a fuzzy resolver, the description omits important ambiguity behavior, such as whether multiple matches are returned and whether exact matches take precedence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so baseline is 3. The description adds meaningful semantics beyond the schema by naming the matching strategies used for the query parameter, which the schema only calls a 'name fragment or UUID.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (look up/resolve) and resource (endpoint group) and names the query strategies. It is distinguishable from mutation siblings like create/update/delete group, though it does not explicitly contrast with get_group or list_endpoint_groups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The matching modes imply how to use it for exact or fuzzy lookups, but the description gives no explicit when-to-use guidance versus get_group or list_endpoint_groups. It also does not say when to avoid fuzzy resolution or what to do on ambiguous matches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_endpoints_summaryServer-side aggregation over all endpointsARead-onlyIdempotent
Walks every endpoint and returns counts (total, by status/platform/OS/online, reboot_required). ~1 KB output regardless of fleet size.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| by_os | No | object |
| linux | No | number |
| macos | No | number |
| total | No | number |
| windows | No | number |
| by_status | No | object |
| by_platform | No | object |
| fresh_last_seen | No | number |
| reboot_required | No | number |
| stale_last_seen | No | number |
| by_online_status | No | object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds crucial behavioral context beyond the metadata provided by annotations. Specifically, stating '~1 KB output regardless of fleet size' addresses performance and scaling, which is a significant operational guarantee for the AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The tool is extremely concise. Both sentences are highly informative, front-loading the action and specifying the key value proposition (performance/scale) in the second part.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that it is a read-only aggregation tool, the description is maximally complete. It defines what is counted, how many endpoints are covered, and the size constraint of the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, setting the baseline at 3. The description does not elaborate on the meaning or requirements of the input parameters (org_id, response_format), but accurately reflects the tool's function.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific action verbs ('Walks', 'returns') and defines the resource and scope clearly ('every endpoint'). It specifies that the output is a statistical aggregation (counts), clearly distinguishing it from listing endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While it doesn't explicitly name competing tools, it strongly implies its use case: viewing a high-level, complete summary of the fleet's status (total, status, OS, reboot needs) rather than retrieving granular details from a specific tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_execute_and_waitExecute and wait for output (script or template)ADestructive
One-shot helper: starts an action (auto-routes by OS for 'script', or runs a template), polls until terminal, returns filtered output.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 'script' auto-routes by OS; 'template' runs a template_id. | script |
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| params | No | Template params when mode='template'. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID. | |
| script_text | No | Required when mode='script'. | |
| template_id | No | Required when mode='template'. | |
| response_format | No | Output format. Default markdown. | |
| timeout_seconds | No | Polling timeout. | |
| success_exit_codes | No | PowerShell only. Default '0'. | |
| poll_interval_seconds | No | Poll interval seconds. | |
| skip_connectivity_check | No | Skip offline-abort check. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive=true, openWorld=true, idempotent=false, so the safety profile is covered. The description adds genuinely new behavioral context beyond them: it blocks and polls until a terminal state, applies a timeout, and returns a filtered view of output rather than raw streaming. It omits that execution is gated behind confirm="YES" and that dry_run defaults to true, which are material for a destructive call, but the schema carries those.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tightly-packed sentence with the core behavior front-loaded ('starts an action ... polls until terminal ... returns filtered output'). Every clause adds information and none is redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a fully-documented 14-parameter schema, an output schema, and rich annotations, the description only needs to convey the composite execution model, which it does. The remaining gap is that the destructive dry_run-then-confirm workflow is nowhere in prose, so an agent reading only the description could misjudge the call's risk profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 14 parameters, so the description does not need to re-document them. Its only parameter-adjacent content is the mode routing note, which merely restates the mode enum's own description. Baseline 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete composite action: starts an action (script auto-routed by OS, or a template), polls until terminal, and returns filtered output. That is a specific verb+resource chain that an agent can map to intent. It stops short of naming which sibling it replaces (e.g. action1_run_script plus action1_wait_for_automation), so differentiation is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'One-shot helper' hints that this is the fire-and-block convenience path versus splitting execution and polling across separate tools. However, there is no explicit when-to-use / when-not, no mention of how it relates to action1_run_script, action1_run_powershell, or action1_wait_for_automation, and no preconditions such as the needed confirm token.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_export_audit_logExport of audit trail dataCRead-onlyIdempotent
Export of audit trail data. Exports audit data. Use parameters to filter out exported data. Perm: view_audit.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| event | No | The list of comma-separated event names to include. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| format | No | Specify the report format. | |
| sortby | No | Define the sorting order by a certain field. | |
| timeto | No | The end date and time in the following format: YYYY-MM-DD_HH-MM-SS | |
| from_id | No | Provide the sequential ID of the first record to be returned. | |
| verbose | No | Skip per-item compactor. | |
| timefrom | No | The start date and time in the following format: YYYY-MM-DD_HH-MM-SS | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, idempotent, non-destructive, open-world operation. The description adds the important authorization requirement 'Perm: view_audit,' but it does not disclose export scope, output format behavior, pagination limits, or large-export handling, leaving substantial behavioral context to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are redundant restatements of the same purpose, and the third sentence is vague. The definition is short but not efficient because it repeats itself and omits more useful details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an export tool with 11 parameters, optional time filters, format controls, pagination limits, and an output schema, the description is too sparse. It gives the required permission but does not clarify export scope, when to use it over audit search/list tools, or how filters and formats affect the exported result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 11 parameters are already documented in the input schema. The description only says to use parameters to filter exported data, which adds no specific meaning about time ranges, event filtering, format selection, pagination, or sorting beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: exporting audit trail data. However, it does not distinguish this export tool from sibling tools such as action1_list_audit_events, action1_audit_log_search, or action1_get_export_for_report, so an agent must infer when export is preferred over search or listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is 'Use parameters to filter out exported data,' which is vague and does not explain when to use this export tool versus audit search or listing alternatives. The permission note is useful but is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_action_templateGet action template detailsARead-onlyIdempotent
Fetch full details (parameters, supported platforms) for a single action template by id.
| Name | Required | Description | Default |
|---|---|---|---|
| template_id | Yes | Action template id. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations confirm it is read-only, but the description adds valuable behavioral context by stating exactly what data is retrieved: 'full details (parameters, supported platforms)'. This goes beyond the basic operation of fetching an ID and informs the agent about the structure of the expected output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The tool is described in a single, highly dense sentence, and every phrase contributes directly to defining the tool's utility. There is zero structural waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool relies on a simple ID lookup and safety is covered by annotations, the definition is highly complete. It specifies both the inputs needed for execution and the scope of the data returned, which is sufficient for a successful API call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100%, meeting the baseline of 3. The description provides only marginal semantic value by clarifying that 'full details' includes parameters and supported platforms, information already implied by the schema structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and clearly defines the resource ('action template details'), specifying it retrieves data for a 'single' entity using an 'id'. This makes it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is functional but does not provide explicit guidance on usage context (when to use this vs other templates). However, since it is a simple GET operation by a primary identifier, implied usage is generally sufficient, placing it in the baseline category.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_agent_install_urlGet the URL for agent installationARead-onlyIdempotent
Get the URL for agent installation. In order to manage an endpoint, the Action1 agent needs to be installed on it first. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| install_type | Yes | The install type. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| type | No | |
| download_URL | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and open-world behavior, so the safety profile is covered. The description adds genuinely new information beyond that: the required permission scope ('Perm: manage_endpoints') and the deployment prerequisite workflow. It does not cover rate limits or URL expiry, which are the remaining behavioral unknowns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences: purpose first, then prerequisite rationale, then the permission tag. Every sentence carries distinct information and nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, annotations covering safety, and full schema coverage, the description arguably completes the picture by adding the permission requirement and the deployment-context motivation. Only the distinction from the deployer-URL tools is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including enum values for install_type and response_format, so the baseline is 3. The description adds no guidance on which install_type to pick or how org_id scoping affects the returned URL, so it does not exceed what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('Get the URL for agent installation') and adds the prerequisite rationale that the Action1 agent must be installed before an endpoint can be managed. It is clear what the tool returns, though it does not explicitly distinguish itself from similar siblings such as action1_get_windows_deployer_url or action1_get_deployer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The sentence about needing the agent installed before managing an endpoint implies the usage context (onboarding/deployment setup), but there is no explicit when-to-use/when-not and no routing to the closely related deployer-URL siblings. The agent must infer the choice among several URL-providing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_audit_eventGet an audit record by its IDCRead-onlyIdempotent
Get an audit record by its ID. Get a specific audit record by its ID. Perm: view_audit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of an event. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| type | No | |
| event | No | |
| org_id | No | |
| details | No | |
| user_id | No | |
| org_name | No | |
| timestamp | No | |
| user_name | No | |
| object_url | No | |
| description | No | |
| object_name | No | |
| status_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered by structured data. The description contributes the required permission scope (view_audit), which is genuinely useful, but says nothing about behavior on a missing/invalid ID or about scope of the returned record.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two of the three sentences say the same thing almost verbatim ('Get an audit record by its ID' / 'Get a specific audit record by its ID'), which is pure redundancy in an otherwise tiny description. The permission note earns its place; the duplicate sentence does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What remains missing for a lookup tool is not-found/error behavior and any hint about the verbose or response_format options, leaving the definition minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id, verbose and response_format parameters are already documented in the schema; baseline 3 applies. The description only restates that lookup is by ID and adds nothing about what 'verbose' (skip per-item compactor) means in practice or how the enum format choice affects output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get an audit record by its ID'), which is unambiguous about the operation. It does not differentiate itself from siblings like action1_list_audit_events or action1_audit_log_search, so an agent must infer that this is single-record retrieval versus listing/searching.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of action1_list_audit_events or action1_audit_log_search. The only added context is the permission requirement ('Perm: view_audit'), which tells the agent about authorization but not about tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_automation_instanceGet a specific instanceCRead-onlyIdempotent
Get a specific instance. Gets details about a automation instance specified by its ID. Perm: view_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| automation_id | Yes | Provide a specific automation ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| status | No | |
| actions | No | |
| end_time | No | |
| schedule | No | |
| endpoints | No | |
| start_time | No | |
| retry_minutes | No | |
| endpoint_results | No | |
| percent_completed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the description needn't restate safety. It usefully adds the required scope (view_automations), but says nothing about what "details" comprise, how org scoping affects the lookup, or what happens if the ID is from another org.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action. The first sentence is pure redundancy with the title and wastes space, but overall the text is compact and free of padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so return values need not be explained. Still, for a lookup tool sitting among many similarly named automation-result tools, the description leaves the agent without a clear basis for choosing it or understanding scoping behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, and the description only echoes automation_id. It adds no meaning for org_id, verbose ("Skip per-item compactor" is opaque and would have benefited from elaboration), or response_format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The second sentence does give a specific verb and resource ("Gets details about a automation instance specified by its ID"), but the first sentence merely restates the tool name. No differentiation from close siblings such as action1_get_automation_status, action1_get_automation_results, or action1_get_automation_script_output, all of which also retrieve data for an automation instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this tool over action1_get_automation_status / results / output / list_automation_instances. The only extra clause, "Perm: view_automations," is a permission prerequisite rather than a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_automation_outputGet automation script output (filtered)ARead-onlyIdempotent
Returns filtered stdout for one endpoint of an automation instance. Strips Action1 status markers.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| endpoint_id | Yes | Endpoint UUID. | |
| include_raw | No | If true, also include raw description list. | |
| instance_id | Yes | Instance UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| raw | No | array |
| output | No | string |
| skipped_status_lines | No | number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, idempotent operation. The description adds useful behavioral detail beyond annotations by saying the stdout is filtered and that Action1 status markers are stripped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no wasted wording. The core return behavior is front-loaded and the marker-stripping behavior follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations cover safety, the description provides enough context about what is returned: filtered stdout for a specific endpoint of an automation instance. The main remaining gap is sibling differentiation, which is a usage-guideline concern rather than a missing return-value explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented by the schema. The description only loosely maps 'one endpoint' and 'automation instance' to the required parameters and does not add meaningful semantics for include_raw, response_format, or org_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: returns filtered stdout for one endpoint of an automation instance. It also adds that Action1 status markers are stripped, but it does not explicitly distinguish this tool from related siblings such as get_automation_script_output or get_automation_results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to retrieve per-endpoint automation output, but it gives no explicit guidance on when to choose it over related output/result/status tools. There are many similar automation siblings, and no alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_automation_resultsGet automation endpoint-results overviewBRead-onlyIdempotent
Per-endpoint result rollup for an instance. Use action1_get_automation_output for stdout.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| instance_id | Yes | Instance UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No | object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the useful scope fact that results are rolled up per endpoint rather than raw output, but says nothing about pagination, ordering, or what a rollup contains. Adequate, not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the scoping statement and then the disambiguation. Nothing is wasted, though the terseness leaves little room for the routing detail an agent actually needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and annotations cover the safety profile. What's missing is disambiguation from the densely similar automation-family siblings and a note on what 'instance' refers to, which matters in a catalog of this size.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so instance_id, org_id and the response_format enum are already documented in the schema. The description adds no semantics beyond that (e.g. that instance_id is an automation instance id rather than an endpoint id), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (per-endpoint result rollup) and scope (for an instance), which is more than a restatement of the name. It stops short of a clear verb and doesn't differentiate from close siblings like action1_list_instance_endpoint_results or action1_get_automation_status, which an agent could easily confuse with this.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names one alternative with its selecting condition: 'Use action1_get_automation_output for stdout.' That is genuinely useful routing, but there is no guidance on when to use this instead of action1_get_automation_status, action1_list_instance_endpoint_results, or action1_wait_for_automation, all of which sit in the same workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_automation_scheduleGet a specific automation scheduleBRead-onlyIdempotent
Get a specific automation schedule. Gets a scheduled automation specified by its ID. Perm: view_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| automation_id | Yes | Provide a specific automation ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| actions | No | |
| last_run | No | |
| next_run | No | |
| settings | No | |
| endpoints | No | |
| last_instance | No | |
| retry_minutes | No | |
| settings_timezone | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds the required permission (view_automations), which is genuine value, but says nothing about what happens with an invalid ID or missing scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence merely repeats the title verbatim and the second restates it again ('Gets a scheduled automation specified by its ID'). The permission note is the only sentence that earns its place, so there is noticeable redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full schema, annotations and an output schema, the essential call requirements are covered, and the permission hint fills the main gap. Reading is straightforward for an agent despite the thin prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including org_id, verbose, automation_id and the response_format enum, so the schema carries the parameter burden. The description adds no meaning beyond what the schema already documents, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get a specific automation schedule') and clarifies retrieval by ID, which distinguishes it from action1_list_automation_schedules by implication. It does not explicitly name the sibling, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the reader infers this is for fetching a single schedule when the ID is known. There is no explicit when-to-use/when-not guidance versus list_automation_schedules or get_automation_status, though the 'Perm: view_automations' prerequisite is a useful addition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_automation_script_outputGet details of a specific endpointBRead-onlyIdempotent
Raw automation-script output struct. For filtered stdout (status markers stripped) prefer action1_get_automation_output (curated). Get details of a specific endpoint. Gets details about the automation instance applied to an endpoint specified by its ID. Perm: view_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| endpoint_id | Yes | Provide an endpoint ID. | |
| instance_id | Yes | Provide a specific instance ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's value-add here is the permission requirement 'Perm: view_automations' and the raw-vs-curated output distinction, both of which an agent needs before calling. It does not discuss pagination or size constraints on raw output, which would be the next useful layer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The raw-vs-curated routing sentence is well front-loaded, but the two sentences 'Get details of a specific endpoint.' and 'Gets details about the automation instance applied to an endpoint specified by its ID.' restate each other with different meanings, which is waste that actively creates ambiguity rather than resolving it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape need not be explained, and the auth scope plus the alternative tool are given. What is missing is a coherent statement of what the tool actually returns and how it differs from get_automation_results/get_automation_status, and the contradictory endpoint-details phrasing leaves the agent without a reliable mental model.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so instance_id, endpoint_id, org_id, verbose, and response_format are all documented in the schema; the baseline of 3 applies. The description only implicitly reinforces that both an instance and an endpoint identifier are involved and adds nothing about 'verbose' (skip per-item compactor) or response_format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening 'Raw automation-script output struct' plus the explicit contrast with the curated sibling gives a usable sense of what comes back, but 'Get details of a specific endpoint' (also the title) is misleading copy that suggests endpoint inventory data rather than automation output. The name, title, and body describe three slightly different things, forcing the agent to reconcile them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names a concrete alternative and the exact condition that selects it: prefer action1_get_automation_output when filtered stdout with status markers stripped is wanted, implying this one is for unprocessed output. It does not address the other adjacent siblings (get_automation_results, get_automation_status, list_instance_endpoint_results), so coverage is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_automation_statusGet automation instance statusARead-onlyIdempotent
Returns the high-level status of one automation instance. For stdout use action1_get_automation_output.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| instance_id | Yes | Instance UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| instance | No | object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld behavior, so the safety profile is covered. The description adds useful semantics by contrasting 'high-level status' with detailed output, but says nothing about how fresh the status is, whether results are scoped by org, or any polling semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the core purpose front-loaded and the alternative named second. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple read with an output schema, so return values need not be explained; the critical distinction from the output tool is present. What is missing is only the relationship to the other instance-related siblings, which is a minor gap given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (org_id, instance_id, response_format) are documented in the schema. The description adds no additional meaning about parameter usage, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Returns the high-level status of one automation instance') and scopes it to a single instance. It distinguishes itself from the stdout/output sibling, but not from other nearby siblings like action1_get_automation_instance or action1_get_automation_results, leaving some ambiguity about what 'status' covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to action1_get_automation_output for stdout, which is a clear when-to-use alternative. It gives no guidance on when to prefer this over action1_get_automation_instance or action1_list_automation_instances, so the routing is only partially complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_cveDetailed information on a specific vulnerability within an organization…BRead-onlyIdempotent
Detailed information on a specific vulnerability within an organization, including CVE details like attack vector. Perm: view_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | The unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300 | |
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | No | |
| cve_id | No | |
| safety | No | |
| version | No | |
| cisa_kev | No | |
| recovery | No | |
| cve_origin | No | |
| cvss_score | No | |
| automatable | No | |
| description | No | |
| impact_score | No | |
| access_vector | No | |
| attack_vector | No | |
| base_severity | No | |
| value_density | No | |
| vector_string | No | |
| authentication | No | |
| published_date | No | |
| exploit_maturity | No | |
| integrity_impact | No | |
| provider_urgency | No | |
| user_interaction | No | |
| access_complexity | No | |
| attack_complexity | No | |
| attack_requirements | No | |
| availability_impact | No | |
| privileges_required | No | |
| exploitability_score | No | |
| integrity_requirement | No | |
| confidentiality_impact | No | |
| modified_attack_vector | No | |
| availability_requirement | No | |
| modified_user_interaction | No | |
| modified_attack_complexity | No | |
| confidentiality_requirement | No | |
| modified_attack_requirements | No | |
| modified_privileges_required | No | |
| vulnerability_response_effort | No | |
| cisa_known_ransomware_campaign_use | No | |
| subsequent_system_integrity_impact | No | |
| vulnerable_system_integrity_impact | No | |
| modified_subsequent_system_integrity | No | |
| modified_vulnerable_system_integrity | No | |
| subsequent_system_availability_impact | No | |
| vulnerable_system_availability_impact | No | |
| modified_subsequent_system_availability | No | |
| modified_vulnerable_system_availability | No | |
| subsequent_system_confidentiality_impact | No | |
| vulnerable_system_confidentiality_impact | No | |
| modified_subsequent_system_confidentiality | No | |
| modified_vulnerable_system_confidentiality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and open-world, so the safety profile is covered. The description adds the required permission ('view_vulnerabilities'), which is genuinely useful context not in the structured fields, but it says nothing about scoping behavior (org_id optional vs. required), verbosity effects, or what the detailed payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core purpose, and the permission note trails appropriately. The phrase 'including CVE details like attack vector' is slightly loose but earns its place by hinting at payload content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, so the description needn't explain returns or side effects. What it lacks is disambiguation from sibling CVE tools and any note on how org_id affects scope, which are the remaining things an agent needs for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents cve_id, org_id, verbose, and response_format. The description adds no parameter-level meaning beyond the schema, which meets the baseline-3 expectation but no more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Detailed information on a specific vulnerability', including CVE details like attack vector), so the intent is clear. However, it does not distinguish itself from close siblings such as action1_get_cve_description or action1_list_cve_endpoints, which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use / when-not-to-use guidance and names no alternatives. With siblings like get_cve_description, list_cve_endpoints, and list_cve_remediations in the same family, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_cve_descriptionDetailed information on a specific vulnerability in general (not for an…BRead-onlyIdempotent
Detailed information on a specific vulnerability in general (not for an organization), including CVE details like attack vector. Perm: view_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes | The unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300 | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | No | |
| cve_id | No | |
| safety | No | |
| version | No | |
| cisa_kev | No | |
| recovery | No | |
| cve_origin | No | |
| cvss_score | No | |
| automatable | No | |
| description | No | |
| impact_score | No | |
| access_vector | No | |
| attack_vector | No | |
| base_severity | No | |
| value_density | No | |
| vector_string | No | |
| authentication | No | |
| published_date | No | |
| exploit_maturity | No | |
| integrity_impact | No | |
| provider_urgency | No | |
| user_interaction | No | |
| access_complexity | No | |
| attack_complexity | No | |
| attack_requirements | No | |
| availability_impact | No | |
| privileges_required | No | |
| exploitability_score | No | |
| integrity_requirement | No | |
| confidentiality_impact | No | |
| modified_attack_vector | No | |
| availability_requirement | No | |
| modified_user_interaction | No | |
| modified_attack_complexity | No | |
| confidentiality_requirement | No | |
| modified_attack_requirements | No | |
| modified_privileges_required | No | |
| vulnerability_response_effort | No | |
| cisa_known_ransomware_campaign_use | No | |
| subsequent_system_integrity_impact | No | |
| vulnerable_system_integrity_impact | No | |
| modified_subsequent_system_integrity | No | |
| modified_vulnerable_system_integrity | No | |
| subsequent_system_availability_impact | No | |
| vulnerable_system_availability_impact | No | |
| modified_subsequent_system_availability | No | |
| modified_vulnerable_system_availability | No | |
| subsequent_system_confidentiality_impact | No | |
| vulnerable_system_confidentiality_impact | No | |
| modified_subsequent_system_confidentiality | No | |
| modified_vulnerable_system_confidentiality | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds one genuinely useful non-annotation fact, the required permission view_vulnerabilities, but says nothing about response shape or what the non-verbose path does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tightly packed sentence with the scope qualifier and permission clause front-loaded. Minor waste in that it largely restates the title's phrasing rather than adding new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and parameters are fully documented, so the baseline need is met. The missing element is disambiguation from the closely named action1_get_cve sibling, which is the main thing an agent would need to choose correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all three parameters, so the schema carries parameter meaning. The description adds no extra semantics such as when to set verbose or how response_format affects the returned payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: retrieves detailed CVE information for a specific vulnerability at the global level, not organization-scoped, including attributes like attack vector. This distinguishes it from the org-scoped siblings, but it does not differentiate from action1_get_cve, which reads on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(not for an organization)' implies when to prefer this over org-scoped vulnerability tools, but no alternative is named. An agent facing action1_get_cve, action1_list_cve_endpoints, and action1_list_cve_remediations has no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_data_sourceGet a specific data sourceBRead-onlyIdempotent
Get a specific data source. Gets details about a specific data source. Perm: manage_data_sources, manage_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| data_source_id | Yes | Provide a specific data source ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| status | No | |
| builtin | No | |
| columns | No | |
| language | No | |
| description | No | |
| script_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is fully covered by structured data. The description adds the permission requirement, which is genuinely useful context not present in annotations, but says nothing about what is returned or whether non-existent IDs error — acceptable since an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but two of its three sentences are near-duplicates of each other, and the permission note is buried at the end rather than front-loaded as a prerequisite. The one non-redundant fact earns its place; the rest is waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage, rich annotations, and an output schema, the structured data carries most of the burden, so the description is minimally sufficient. It still leaves the agent guessing what a data source is in this product and how this read differs from listing, which is the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (including the enum on response_format) are already documented in the schema. The description adds no meaning beyond that — notably it does not clarify the odd "verbose: Skip per-item compactor" semantics — so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get a specific data source"), which is enough for an agent to know the operation. However, it never differentiates from siblings such as action1_list_data_sources, action1_create_data_source, or action1_get_report_or_category, and the second sentence merely restates the first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the permission line ("Perm: manage_data_sources, manage_reports"), which is about authorization, not about when to choose this tool. Nothing tells the agent to use list_data_sources for enumeration and this tool only when an ID is already known.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_deployerGet a specific DeployerARead-onlyIdempotent
Get a specific Deployer. Obtains the current information about the specified Action1 Deployer service. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| deployer_id | Yes | Provide a specific deployer ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| os | No | |
| name | No | |
| self | No | |
| type | No | |
| status | No | |
| address | No | |
| version | No | |
| platform | No | |
| last_seen | No | |
| install_date | No | |
| external_address | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so safety is covered. The description adds the required permission (manage_endpoints), which is genuinely useful context, but says nothing about return shape or what a deployer represents. Since an output schema exists, that omission is tolerable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action. The second sentence largely restates the first ('Obtains the current information about the specified...'), a minor redundancy, but the permission note is tacked on efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource read with a full parameter schema and an output schema, the description covers purpose and authorization adequately. The one real gap is that it never explains what a Deployer is or how it differs from related deployer tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (org_id, verbose, deployer_id, response_format) are documented in the schema. The description adds no extra meaning, e.g. it never mentions the required deployer_id or the response_format default, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (a specific Deployer / Action1 Deployer service), which separates it from the sibling list tool action1_list_endpoint_deployers by the word 'specific'. It doesn't name the sibling explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by 'specific Deployer' and the stated permission 'manage_endpoints'. There is no explicit when-to-use, when-not, or named alternative such as action1_list_endpoint_deployers or action1_delete_deployer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_drilldown_for_report_rowDrill down to detailsCRead-onlyIdempotent
Drill down to details. Expands report details to provide more information. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| live_only | No | Specify if you want to retrieve live results only. | |
| report_id | Yes | Provide a specific report ID. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| report_row_id | Yes | Provide a specific report row ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive semantics, so the description only needs to add context. It does add the required permission (view_reports), which is material, but says nothing about the pagination surface (from/limit/cursor/auto_paginate) or the scale of results a drilldown can produce.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the opening sentence is pure title restatement and the second sentence is near-tautological. Only the permission note carries unique content, so the bulk does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, an output schema, and rich annotations, the structural fields carry most of the load. Still, for a row-level drilldown, the description leaves the agent without a clear picture of what "details" means relative to the report-listing siblings, which is a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter, including report_id and report_row_id, is documented in the schema itself. The description adds no meaning beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Drill down to details" merely restates the title, and "Expands report details to provide more information" adds no concrete verb+resource specificity. It never says what drilldown actually returns or how it differs from siblings like action1_list_report_data or action1_get_export_for_report_row.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance. The only situational hint is the permission requirement (view_reports), which tells the agent about access, not about choosing this tool over other report-row tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_endpointGet endpoint general infoARead-onlyIdempotent
Fetch the general info block for a single endpoint, plus derived platform and connectivity.online flags.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| endpoint_id | Yes | Endpoint UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | string |
| general | No | object |
| platform | No | string |
| connectivity | No | object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and an output schema exists. The description adds mild value by naming the derived fields returned (platform, connectivity.online), but says nothing about permissions, errors for unknown endpoint IDs, or cross-org scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence that front-loads the action and resource with no filler. Slightly terse for a tool with three parameters and an org scoping option, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, a full output schema, and 100% schema coverage, the description's minimal scope statement is sufficient to call the tool correctly. Only the lack of sibling differentiation keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so endpoint_id, org_id, and response_format are already fully documented in the schema. The description only implies the endpoint_id requirement ('a single endpoint') and adds no syntax or format detail, matching the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (fetch) and resource (general info block for a single endpoint) and notes the derived platform and connectivity.online flags. It does not, however, distinguish this from siblings like action1_list_endpoints or action1_search_endpoints, so an agent must infer that this is the single-endpoint detail call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'a single endpoint,' suggesting it is the per-endpoint detail lookup versus the list/search siblings, but no explicit when-to-use or when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_endpoint_discovery_settingsGet Agent Deployment settingsBRead-onlyIdempotent
Get Agent Deployment settings. Obtains the current Agent Deployment settings in a specified organization. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| connector_id | No | |
| connector_name | No | |
| connector_status | No | |
| connector_last_seen | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds a genuine auth constraint (Perm: manage_endpoints) but says nothing about how verbose or response_format alter behavior, or about rate/scope constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, but the second largely restates the first (Get ... settings / Obtains the current ... settings), so a sentence does not earn its place. It is still front-loaded and not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and all three parameters are documented in the schema. Combined with annotations covering safety, the definition is sufficient to invoke correctly; only the nature of the returned settings is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so org_id, verbose and response_format are already documented; baseline 3 applies. The description only echoes that a target organization is required and adds no meaning for the verbose or response_format flags.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (get Agent Deployment settings) and constrains it to a specified organization, so the agent knows exactly what is being read. It does not explicitly distinguish itself from the write-side sibling action1_update_endpoint_agent_deployment, leaving read-vs-write routing to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a read of current deployment settings and names the required permission (manage_endpoints), which functions as a prerequisite. It never says when to prefer this over listing deployers or reading the endpoint's agent deployment, nor does it state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_endpoints_onboarded_statusCheck endpoint statusBRead-onlyIdempotent
Check endpoint status. Retrieves information if any endpoints were added to an organization.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| type | No | |
| endpoints_added | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds that this is an org-level onboarding check rather than per-endpoint status, but it does not mention authentication requirements, response shape, or what happens with empty orgs beyond the existence of an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but the first sentence 'Check endpoint status' largely repeats the title and is vaguer than the second sentence. The second sentence is useful; the opening could be removed or made more specific without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full input schema coverage, and safety annotations, the description covers the minimum needed to call the tool. However, it remains ambiguous about what 'status' actually means and could lead an agent to use this when it wants per-endpoint status.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so org_id, verbose, and response_format are fully documented in the schema. The description does not add any parameter-level semantics beyond implying that an organization scope is involved.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The second sentence specifies the resource: information about whether any endpoints were added to an organization. However, the opening 'Check endpoint status' is vague and could be confused with get_endpoint, list_endpoints, or endpoints_summary; the description does not explicitly distinguish it from those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like action1_list_endpoints or action1_endpoints_summary. The description only implies a narrow onboarding-check use case without stating exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_enterpriseGet enterprise settingsBRead-onlyIdempotent
Get enterprise settings. Gets settings for an enterprise. You can query data for your enterprise only.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| verified | No | |
| description | No | |
| allowed_fast_closure | No | |
| closure_requested_at | No | |
| closure_requested_by | No | |
| closure_scheduled_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety behavior is covered. The description adds a useful authorization scope constraint ('your enterprise only'), but does not explain the effect of the verbose parameter or the return content. With annotations carrying most of the behavioral burden, the added scope note is enough for a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the main action. However, the second sentence ('Gets settings for an enterprise') largely restates the first, so one sentence does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a full output schema and rich annotations, so the description need not explain return values or safety behavior. Still, it could better situate the tool against siblings like action1_update_enterprise or clarify what 'enterprise settings' includes. The scope constraint is helpful but minimal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('verbose' and 'response_format') are fully documented in the schema. The description adds no parameter-level detail beyond the schema, which is acceptable at baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get enterprise settings' and 'Gets settings for an enterprise.' It is clear what the tool does, but it does not distinguish itself from closely related siblings such as action1_update_enterprise or action1_get_setting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the scope constraint 'You can query data for your enterprise only.' The description does not say when to use this tool instead of alternatives like action1_update_enterprise or action1_get_setting, nor does it state any prerequisites beyond the enterprise scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_export_for_reportExport a reportCRead-onlyIdempotent
Export a report. Exports data from the report. Use parameters to filter out exported data. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| format | No | Specify the report format. | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| live_only | No | Specify if you want to retrieve live results only. | |
| report_id | Yes | Provide a specific report ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds only the required permission ('Perm: view_reports'), which is useful, but it omits behavior that matters for an export tool with 10 parameters, such as pagination behavior, maximum page size, format implications, or whether the export is synchronous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, which is good, but the second sentence ('Exports data from the report') merely restates the first ('Export a report'). The third sentence is vague rather than informative, so several words do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is rich, so the description need not explain return values or every parameter. However, for a 10-parameter export tool in a crowded sibling group, it is thin on routing guidance and behavioral expectations, leaving the agent to rely almost entirely on structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all ten parameters are already documented in the input schema, including enums for format, live_only, and response_format. The description only says to 'use parameters to filter,' adding no specific meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Export a report') and repeats that it exports report data. However, it does not distinguish this tool from close siblings such as action1_report_export, action1_list_report_data, or action1_get_export_for_report_row, so an agent cannot reliably tell which export tool to choose from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage hint is 'Use parameters to filter out exported data,' which does not explain when to use this tool instead of alternatives like listing report data or exporting a single report row. There are no stated preconditions, exclusions, or sibling routing cues beyond the permission note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_export_for_report_rowExport report detailsCRead-onlyIdempotent
Export report details. Exports reports data. Use parameters to filter out exported data. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Specify the report format. | |
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| report_id | Yes | Provide a specific report ID. | |
| report_row_id | Yes | Provide a specific report row ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful non-annotation fact — the required permission (view_reports) — but says nothing about output size, latency, or what happens when the row is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Only four sentences, but "Exports reports data" is pure restatement of the first sentence and "Export report details" restates the title. The one valuable fact (the permission) is buried at the end rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, but for a 6-parameter tool whose name hinges on row-level vs report-level export, the description leaves the central distinction and the interaction between report_id and report_row_id unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description's only parameter claim — that parameters "filter out exported data" — mischaracterizes format, response_format and verbose, which are output-shaping rather than filtering. It adds no meaning beyond the schema and slightly risks misleading the agent about report_id/report_row_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb and resource ("Export report details"/"Exports reports data"), but it never distinguishes this row-level export from the sibling action1_get_export_for_report and action1_report_export. An agent could not tell from the description alone that this exports a single report row rather than an entire report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use parameters to filter out exported data" is the only usage hint and it isn't a when-to-use rule. There is no mention of the near-identical siblings (get_export_for_report, report_export, list_report_data) or of the conditions that would select this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_groupGet an endpoint groupBRead-onlyIdempotent
Get an endpoint group. Gets a specific endpoint group by its ID. Perm: view_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| group_id | Yes | Provide an endpoint group ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| contents | No | |
| description | No | |
| uptime_alerts | No | |
| exclude_filter | No | |
| include_filter | No | |
| exclude_filter_logic | No | |
| include_filter_logic | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds the required permission scope (view_endpoints), which is genuinely useful behavioral context, but says nothing about error behavior for missing IDs or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, so an agent can parse the intent immediately. The first two sentences restate the same fact ('Get an endpoint group' / 'Gets a specific endpoint group by its ID'), which is minor redundancy rather than bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, an output schema and full schema description coverage, the description is sufficient to call the tool correctly. However, it leaves the agent without guidance on how org_id interacts with group_id or when a get versus list call is appropriate, which is a noticeable gap for a lookup tool in a large sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are documented in the schema itself, and the description's 'by its ID' merely echoes group_id. Nothing is added about org_id scoping, the meaning of verbose, or response_format selection beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (get an endpoint group) and clarifies that it fetches a single group by ID, which distinguishes it from the list-style siblings such as action1_list_endpoint_groups. It never names a sibling explicitly, so differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance: nothing tells the agent to prefer this over action1_list_endpoint_groups or action1_list_group_contents, or what to do if the ID is unknown. The only contextual hint is the permission requirement 'Perm: view_endpoints'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_installed_software_endpointGet installed apps on a specific endpointBRead-onlyIdempotent
Get installed apps on a specific endpoint. Gets a list of installed apps on an endpoint specified by its ID. Perm: view_installed_software, view_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| endpoint_id | Yes | Provide an endpoint ID. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, openWorld behavior, so the safety profile is covered. The description adds genuinely useful auth context (required permission scopes), but says nothing about pagination behavior despite ten paging-related parameters, and does not hint at result volume for an endpoint with many apps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are near-duplicates ('Get installed apps on a specific endpoint' vs 'Gets a list of installed apps on an endpoint specified by its ID'), so half the text restates itself. The permission note is front-loaded and useful, but the redundancy costs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, an output schema, and rich annotations, the description needs to carry little — but the most valuable missing piece is disambiguation from sibling inventory/installed-software tools. Adequate but leaves the agent to infer selection among similar siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all ten parameters carry inline descriptions (from/limit/cursor, filter, sortby, verbose, response_format), so baseline 3 applies. The description adds no interpretation of what 'filter' matches or how paging interacts with auto_paginate beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope narrowed to one endpoint ID, so the agent knows exactly what is returned. However, it never differentiates from close siblings like action1_list_installed_software_data or action1_software_inventory_for_endpoint, which an agent choosing among 130+ tools would need.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only conditional information is the permission requirement (view_installed_software, view_endpoints). There is no statement of when to prefer this over the org-wide installed-software listing or the endpoint inventory tool, and no exclusions or prerequisites beyond the perm names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_match_conflicts_for_packageCheck for package matching conflicts when editing and existing package versionARead-onlyIdempotent
Check for package matching conflicts when editing and existing package version. Perm: view_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| package_id | Yes | Provide a specific package ID. | |
| app_name_match | No | Provide the REGEX expression to match the software name. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| status | No | |
| vendor | No | |
| builtin | No | |
| versions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a key behavioral constraint—the required permission ('Perm: view_software_repository')—which is operational context not provided by the hints. Since the annotations already establish read-only safety, the description adds valuable, non-redundant context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is highly condensed, using two sentences to cover the purpose and the required permission without any wasted language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the clear purpose, strong annotations regarding safety, and explicit listing of required permissions, the definition is nearly complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no unique semantic meaning about how to use the parameters beyond their definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool's function as checking for package matching conflicts. It specifically limits this check to editing and existing package versions, providing high granularity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description sets a clear context ('when editing and existing package version'), it doesn't explicitly guide the agent on when to choose this over other conflict resolution or update tools, relying on the agent's understanding of 'editing vs. existing package version'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_match_conflicts_for_software_repositoryCheck for Software Repository package matching conflicts before creating a new…ARead-onlyIdempotent
Check for Software Repository package matching conflicts before creating a new package version. Perm: view_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| app_name_match | No | Provide the REGEX expression to match the software name. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| status | No | |
| vendor | No | |
| builtin | No | |
| versions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations cover the safety profile (readOnlyHint: true), the description adds crucial operational detail by specifying the required permission ('Perm: view_software_repository'). This context is vital for an agent deciding if it has the authority to call the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is extremely tight and efficient. It fits all necessary information—action, resource, condition, and permission—into a single, highly structured sentence without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that annotations define it as a non-destructive, read-only operation, and the schema is comprehensive, the description successfully adds the final necessary pieces of context: the specific use case and the required permissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 100%, the input schema fully defines the parameters. The description is highly focused on the 'why' (usage/purpose) rather than the 'how' (parameter meaning), making the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the purpose: 'Check for Software Repository package matching conflicts.' It identifies the specific resource (Software Repository package) and the action being performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit usage context by stating this check is required 'before creating a new package version,' effectively defining when to invoke the tool relative to other package management lifecycle stages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_meGet the current user settingsCRead-onlyIdempotent
Get the current user settings. Gets settings for the currently authenticated user.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered elsewhere. The description adds nothing beyond that—no note about permissions, scope of 'settings', or whether enterprise-level settings are excluded—making the second sentence pure restatement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the second sentence is a near-verbatim restatement of the first ('Get the current user settings' vs 'Gets settings for the currently authenticated user'), so half the text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the parameters are fully documented in the schema. Still, for a tool with a very close sibling (action1_get_user) the description leaves the agent to infer the distinction on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'verbose' and 'response_format' documented in the schema, so the baseline of 3 applies. The description contributes no additional meaning about how these parameters affect the returned settings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource (get user settings) and adds the scoping qualifier 'currently authenticated user', which implicitly separates it from the sibling action1_get_user that takes a user identifier. However, it never names that sibling or any alternative, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer action1_get_user or action1_get_enterprise instead, and no preconditions. Only the passive implication of 'current user' hints at usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_org_subscription_usageGet usage statistics for a specific organizationBRead-onlyIdempotent
Get usage statistics for a specific organization. Gets details about license usage for an organization specified by its ID. Perm: manage_organizations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| type | No | |
| organization | No | |
| current_active_endpoint_count | No | |
| monthly_average_endpoint_count | No | |
| current_inactive_endpoint_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description's one genuine addition is the permission requirement ("Perm: manage_organizations"), which is real auth context. It says nothing about result shape, pagination, or scoping, so it is modest value on top of annotations rather than rich disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, but the second largely restates the first ("Gets details about license usage for an organization specified by its ID") before adding the permission note. The useful content — the perm requirement — is buried at the tail rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations plus 100% schema coverage carry much of the burden. The missing piece is disambiguation from the two similar subscription-usage siblings, which is exactly what the description should supply and does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all three parameters and baseline is 3. The description adds no parameter meaning beyond the schema, and it does not address that org_id is listed as optional (required: []) even though the prose implies an ID is always supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ("Get usage statistics for a specific organization") and the second sentence narrows it to license usage keyed by org ID. The gap is sibling differentiation: the tool list contains action1_get_subscription_usage and action1_list_subscription_usage_organizations, and nothing here explains how this one differs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no exclusions, despite two obviously adjacent usage tools in the sibling list. The only routing signal is the implicit 'per organization' framing, which the agent has to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_remote_sessionGet a remote sessionBRead-onlyIdempotent
Get a remote session. Gets details for an existing remote session specified by ID. Perm: remote_connect.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| session_id | Yes | Provide a specific remote session ID. | |
| endpoint_id | Yes | Provide an endpoint ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| type | No | |
| user_id | No | |
| connected | No | |
| current_ip | No | |
| endpoint_name | No | |
| enterprise_id | No | |
| monitor_count | No | |
| customer_email | No | |
| remote_session | No | |
| connection_type | No | |
| current_monitor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is fully covered by structured data. The description adds one genuinely new piece of context, the required permission ("Perm: remote_connect"), which helps an agent anticipate authorization failures, but says nothing about session states, missing IDs, or errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, the first of which ("Get a remote session") simply restates the name/title, and the second largely re-states it again before adding the ID and permission notes. Short, but partially redundant rather than front-loaded with distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full parameter coverage, the description only needs to carry behavioral context; it covers the permission requirement but omits whether expired/terminated sessions are returned and how an unknown session_id behaves. Adequate but with clear gaps for a tool whose output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with session_id, endpoint_id, org_id and response_format all documented in the schema itself. The description only echoes that the session is identified by ID, adding no format, precedence, or interaction details (e.g. whether endpoint_id must match the session's endpoint).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("Gets details for an existing remote session") and scopes it to an ID lookup, which is clear. It does not distinguish itself from siblings such as action1_update_remote_session or action1_create_endpoint_remote_session beyond the word "existing", so the differentiation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "for an existing remote session specified by ID" implies the precondition that a session must already exist, and 'specified by ID' hints at the lookup pattern. There is no explicit statement of when to use this versus update_remote_session or the create variant, and no exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_report_or_categoryList reports and categoriesCRead-onlyIdempotent
List reports and categories. Gets a list of reports and categories. At this time all reports are enterprise-wide.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. | |
| report_or_category_id | Yes | Provide a specific report id or category id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| simple | No | |
| builtin | No | |
| children | No | |
| alertable | No | |
| filter_set | No | |
| description | No | |
| large_image | No | |
| report_data | No | |
| small_image | No | |
| data_sources | No | |
| data_sourses | No | |
| report_errors | No | |
| column_aliases | No | |
| simple_columns | No | |
| parent_category | No | |
| summary_columns | No | |
| long_description | No | |
| drilldown_columns | No | |
| summary_customizable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description adds one genuinely new fact — all reports are enterprise-wide (no per-org filtering) — but says nothing about whether categories behave differently or what the enterprise-wide scope implies for the required id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences say the same thing twice ("List reports and categories. Gets a list of reports and categories."), which is wasteful in a three-sentence description. Only the final enterprise-wide sentence carries unique information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. Still missing is what an agent needs to call it correctly: whether the required id narrows to one report/category or whether the tool lists everything, and how it differs from action1_list_reports.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters and the enum for response_format. The description adds nothing about parameters and, worse, its 'list' framing leaves the required report_or_category_id unexplained — an agent cannot tell from the description whether omitting it returns everything or errors.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb and resources ("List reports and categories"), but it never reconciles the two contradictory signals in the definition: the title/name say 'get report or category' while the description says 'list', and a required report_or_category_id implies fetching one item. It also fails to distinguish this tool from the sibling action1_list_reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus action1_list_reports, action1_list_report_data, or other report-family siblings. The only contextual statement is the scope note that reports are enterprise-wide, which is not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_roleGet a specific roleBRead-onlyIdempotent
Get a specific role. Gets details about a role specified by its ID. Perm: manage_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| role_id | Yes | Provide a specific role ID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| users | No | |
| description | No | |
| scoped_permissions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile needs no restating. The description does add one piece of non-annotation context — the required permission 'manage_roles' — but says nothing about failure behavior for unknown IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded and the whole description is brief. But the second sentence ('Gets details about a role specified by its ID') largely restates the first, so not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, an output schema, and rich annotations, the description only needs to add the permission requirement, which it does. Missing pieces are minor — e.g., what happens when the role is not found or belongs to another organization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description only echoes that a role ID is required and adds nothing about the optional 'verbose' or 'response_format' parameters beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get a specific role') and clarifies the lookup is by ID. However, it does not distinguish itself from siblings such as action1_list_roles or action1_get_user, so the agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Specified by its ID' implicitly signals this is a single-record lookup requiring a known identifier, as opposed to a listing call. No explicit when-to-use/when-not guidance or named alternative is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_scriptGet a specific scriptBRead-onlyIdempotent
Get a specific script. Gets details for a script specified by its ID. Perm: use_scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| script_id | Yes | Provide a specific script ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| params | No | |
| status | No | |
| builtin | No | |
| language | No | |
| description | No | |
| script_text | No | |
| enterprise_id | No | |
| success_codes | No | |
| reboot_exit_codes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds a real piece of context with 'Perm: use_scripts', but says nothing about what 'verbose' does to output or how response_format affects the result beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, the second of which retreads the first ('Get a specific script' / 'Gets details for a script specified by its ID'). Front-loaded correctly but wasteful, with no added value in the repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the permission note is present. However, for a simple read tool the description omits any hint about output shape or how verbose/response_format change it, leaving it merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are documented in the schema, which sets the baseline at 3. The description adds no extra meaning about script_id format, the effect of verbose, or the markdown/json switch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Get) and resource (script) with an explicit retrieval key (ID), which distinguishes it from action1_list_scripts and action1_update_script. The second sentence largely restates the first, so it clarifies scope without adding sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no named alternative. The phrase 'specified by its ID' implies a lookup path versus listing, but the agent must infer that listing goes through action1_list_scripts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_settingGet setting configurationCRead-onlyIdempotent
Get setting configuration. Gets details about the setting configuration. Perm: manage_advanced_settings.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| setting_id | Yes | Provide a specific setting ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| scope | No | |
| value | No | |
| value_type | No | |
| description | No | |
| template_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety is covered structurally. The description's one genuine addition is 'Perm: manage_advanced_settings', which discloses a required permission not present in the structured fields. It says nothing further about behavior, though the presence of an output schema reduces the need to describe return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The permission note is front-loaded and useful, but the second sentence is a pure paraphrase of the first and earns nothing. Roughly half the text is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations, a full output schema, and 100% schema coverage mean the description only needs to supply selection guidance and any permission nuance. It delivers the permission nuance but leaves the sibling disambiguation gap entirely unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (setting_id, verbose, response_format) are already documented in the schema. The description adds no meaning beyond that, which is the baseline expectation when the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get setting configuration. Gets details about the setting configuration.' restates the name and title without adding specificity. It never distinguishes this tool from closely related siblings such as action1_get_setting_template, action1_list_settings, or action1_get_enterprise, so an agent cannot tell which retrieving tool applies to a given resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus action1_list_settings (enumeration) or action1_get_setting_template (template lookup). The only contextual cue is the permission name, which tells the agent nothing about selection criteria or when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_setting_templateGet a setting templateCRead-onlyIdempotent
Get a setting template. Gets details about a setting template specified by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| template_id | Yes | Provide a specific setting template ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| category | No | |
| value_type | No | |
| description | No | |
| default_value | No | |
| value_pattern | No | |
| applicable_for | No | |
| available_scopes | No | |
| value_pattern_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered externally. The description adds nothing beyond that — no note on error behavior for an unknown ID, no hint about what the template object contains, and no mention that IDs must come from the list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, but the second is a near-verbatim restatement of the first and earns no place. There is no waste in length, but also no information gain — the space could have carried sibling differentiation instead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists (return shape need not be explained), 100% schema coverage, and full annotation coverage, the essentials for invoking the tool correctly are all present in the structured fields. The remaining gap is conceptual — template vs. setting vs. template list — which is a usage issue rather than a completeness blocker.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so baseline is 3. The description only echoes template_id ('specified by its ID') and says nothing about verbose or response_format, leaving the schema to do all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a clear verb+resource (get a setting template) and adds that it is 'specified by its ID,' but the second sentence only restates the first. Nothing distinguishes it from siblings such as action1_list_setting_templates, action1_get_setting, or action1_get_action_template, so an agent gets adequate but not discriminating purpose information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus action1_list_setting_templates (to discover IDs) or action1_get_setting (for instantiated settings rather than templates). The agent must infer the distinction from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_software_repository_packageGet Software Repository package settingsARead-onlyIdempotent
Get Software Repository package settings. Gets details for a Software Repository package specified by its ID. Perm: view_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Add FIELDS parameter to query extended data. | |
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| package_id | Yes | Provide a specific package ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| type | No | |
| scope | No | |
| status | No | |
| vendor | No | |
| builtin | No | |
| versions | No | |
| description | No | |
| internal_notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered elsewhere. The description's only added behavioral context is the required permission, which is genuinely useful but thin given the tool also supports verbose and extended-fields behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose and ending with the permission requirement. The second sentence largely restates the first, which is minor redundancy rather than bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, rich annotations, and full parameter documentation, the description covers what the tool does and the permission needed. An agent could call it correctly; adding sibling differentiation would be the only meaningful improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (fields, org_id, verbose, package_id, response_format) are already documented in the schema. The description only restates that the package is identified by ID, adding no syntax or format nuance beyond the structured data; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get ... package settings') and clarifies it operates on a single package identified by ID. It does not distinguish itself from nearby siblings such as action1_get_version or action1_list_software_repository, so the agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The ID-based framing implies this is the single-package detail lookup, but the description never says when to prefer it over action1_list_software_repository, action1_get_version, or action1_get_update_package. The permission note (view_software_repository) is the only explicit prerequisite given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_subscriptionGet enterprise license informationCRead-onlyIdempotent
Get enterprise license information. Gets details about the enterprise license. Perm: manage_enterprise.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| MSP | No | |
| self | No | |
| type | No | |
| exceeded | No | |
| license_type | No | |
| license_status | No | |
| license_expires | No | |
| free_endpoint_count | No | |
| actual_endpoint_count | No | |
| licensed_endpoint_count | No | |
| endpoint_count_coefficient | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered elsewhere. The description adds one genuinely non-structured fact — the required permission 'manage_enterprise' — but says nothing about what the license payload contains or whether scope is org- or enterprise-wide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but it wastes roughly half its length on a redundant restatement of the title. The permission note is useful; the middle sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and annotations carry behaviour; the permission note covers auth. However, for a tool sitting among many licence/subscription lookups, the omission of any disambiguation leaves a real selection gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two optional params (verbose, response_format), so the schema fully documents them. The description adds no guidance on the non-obvious 'verbose' flag ('Skip per-item compactor'), which would have been valuable, so it does no better than the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It does state a verb and resource ('Get enterprise license information'), but the second sentence ('Gets details about the enterprise license') is a near-tautological restatement that adds nothing. Critically, it never distinguishes this from close siblings like action1_get_enterprise or action1_get_subscription_usage, so the agent must guess which licence-related tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of alternatives despite several subscription/licence siblings. The only usable signal is the 'Perm: manage_enterprise' requirement, which is a prerequisite rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_subscription_usageGet usage statistics for an enterpriseBRead-onlyIdempotent
Get usage statistics for an enterprise. Gets details about license usage for the entire enterprise. Perm: manage_enterprise.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| type | No | |
| organization | No | |
| current_active_endpoint_count | No | |
| monthly_average_endpoint_count | No | |
| current_inactive_endpoint_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered structurally. The description adds the manage_enterprise permission requirement, which is genuinely new information, but says nothing about aggregation granularity, time ranges, or cost of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the resource front-loaded and the permission appended. The second sentence largely restates the first ('details about license usage' vs 'usage statistics'), which is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema, annotation coverage, and a fully described input schema, the definition is close to sufficient. What it lacks is the relation to the other subscription-usage tools in a very crowded sibling set, which is the one thing structured fields cannot convey.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two optional parameters (verbose, response_format, the latter enum-constrained), so the schema carries parameter documentation. The description adds nothing about them — notably it does not clarify the cryptic 'skip per-item compactor' effect of verbose — so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb plus resource ('get usage statistics for an enterprise', 'license usage for the entire enterprise') makes the scope clear. It implicitly distinguishes itself from per-org listings by saying 'the entire enterprise', but the near-identical siblings action1_get_subscription and action1_get_org_subscription_usage are never named or ruled out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'enterprise' and the 'Perm: manage_enterprise' note, which tells the agent who can call it. There is no explicit statement of when to prefer this over action1_get_org_subscription_usage or action1_list_subscription_usage_organizations, and no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_update_packageList updates for a packageBRead-onlyIdempotent
List updates for a package. Gets a list of updates available for a package specified by its ID. Perm: approve_updates, view_dashboards, manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| custom | No | Specify if the package is custom (yes) or builtin (no). | |
| fields | No | Add FIELDS parameter to query extended data. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| builtin | No | Specify if the package is builtin (yes) or custom (no). | |
| verbose | No | Skip per-item compactor. | |
| package_id | Yes | Provide a specific package ID. | |
| only_latest | No | Specify if you want to exclude superseded updates. By default, 'yes'. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| approval_status | No | Specify the update status. | |
| response_format | No | Output format. Default markdown. | |
| security_severity | No | Specify the severity level, e.g., security_severity=-Critical (for all non-critical). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so safety is fully covered. The description adds genuine value by disclosing required permissions (approve_updates, view_dashboards, manage_automations), but it does not explain pagination defaults or output behavior, which are relevant for a 16-param list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the description is short. Minor redundancy: 'List updates for a package' is restated by 'Gets a list of updates available for a package,' but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich schema, output schema, and annotations, the description covers purpose and permissions. For a list tool with many siblings, though, it leaves the agent without routing guidance to distinguish it from action1_list_updates and related enumeration tools, leaving a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 16 parameters (including enums for custom, approval_status, only_latest, etc.) are already documented in the schema. The description only reiterates package_id via 'specified by its ID' and adds no syntax or default details beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (updates for a package identified by ID), which distinguishes it from the generic update listing. However, it does not name any sibling such as action1_list_updates to explicitly delineate scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the purpose statement (call it to see updates for a given package). There is no explicit guidance on when to prefer this over action1_list_updates or the version/endpoint listing tools, and no exclusions or prerequisites beyond permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_userGet userCRead-onlyIdempotent
Get user. Gets an existing user. Perm: view_users.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Provide a specific user ID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| value | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and open-world behavior, so the safety profile is covered. The description adds the required permission (view_users), which is genuinely useful auth context. Beyond that it says nothing about return behavior or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short fragments are front-loaded, which is good, but "Get user. Gets an existing user." is pure repetition that wastes a third of the text. The permission note is the only sentence that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full parameter coverage, and annotations carrying the safety profile, most of what an agent needs is elsewhere. The description is minimally adequate but adds almost nothing about when to choose this tool over its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters documented in the schema including the response_format enum. The description adds no parameter meaning of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get user. Gets an existing user." names a specific verb and resource, so the basic operation is identifiable, but the second sentence only restates the first. Nothing distinguishes it from close siblings like action1_get_me or action1_list_users, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the permission token "Perm: view_users." There is no statement of when to use this versus action1_get_me (current user) or action1_list_users (enumeration), and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_versionGet version in Software Repository packageBRead-onlyIdempotent
Get version in Software Repository package. Gets details about a package version specified by its ID. Perm: view_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| package_id | Yes | Provide a specific package ID. | |
| version_id | Yes | Provide a specific version ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| OS | No | |
| id | No | |
| self | No | |
| type | No | |
| notes | No | |
| version | No | |
| EULA_text | No | |
| binary_id | No | |
| file_name | No | |
| update_type | No | |
| install_type | No | |
| release_date | No | |
| security_CVE | No | |
| EULA_accepted | No | |
| app_name_match | No | |
| approval_status | No | |
| scoped_approvals | No | |
| reboot_exit_codes | No | |
| security_severity | No | |
| additional_actions | No | |
| success_exit_codes | No | |
| allow_x86_x64_on_arm | No | |
| silent_install_switches | No | |
| uninstall_app_name_match | No | |
| silent_uninstall_switches | No | |
| minimum_required_agent_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered elsewhere. The description adds one genuinely useful piece of context beyond the annotations, the required permission 'view_software_repository', but says nothing about what is returned or how completeness varies with the verbose flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and front-loaded, but the second sentence ('Gets details about a package version specified by its ID') largely restates the first. The permission note earns its place; the middle sentence mostly does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the schema fully covers the five parameters. What remains missing is routing guidance against the many nearby package/version tools, which is a modest gap for a simple read-by-ID call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including org_id, verbose and response_format is already documented. The description only restates that lookup is by ID and adds no new meaning for the optional flags, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get version in Software Repository package') plus the identity of the resource ('a package version specified by its ID'). An agent can distinguish this from the sibling list_software_repository / get_software_repository_package calls, though the package-vs-version boundary is only loosely implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the reader infers it should be called when a specific package_id and version_id are already known. No explicit when-not guidance and no pointer to alternatives such as action1_list_version_endpoints or action1_get_software_repository_package.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_get_windows_deployer_urlGet Deployer installation URLBRead-onlyIdempotent
Get Deployer installation URL. Obtains an URL to download the Deployer installation file. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| type | No | |
| download_URL | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds the useful auth requirement 'Perm: manage_endpoints', but says nothing about whether the URL expires, is org-scoped, or is single-use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a permission note, front-loaded with the action. The second sentence largely restates the first ('Get... URL' vs 'Obtains a URL to download...'), a small redundancy but no real bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the permission note covers auth. But with zero required parameters, an agent is left unsure whether org_id is effectively mandatory and how this differs from the agent-install-URL sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so org_id, verbose and response_format are already documented. The description adds no extra meaning about which org the URL is issued for or how verbose/response_format affect the returned link, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get Deployer installation URL' / 'Obtains an URL to download the Deployer installation file'). It does not, however, distinguish this from the very similar sibling action1_get_agent_install_url, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this over action1_get_agent_install_url, action1_list_endpoint_deployers, or action1_get_deployer. The only contextual hint is the permission prerequisite, which describes access rather than selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_init_software_uploadInitialize package file uploadCDestructive
Not supported by this server (see error text). Initialize package file upload. Initializes package file upload. The client starts by sending the initial upload request. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| platform | Yes | platform | |
| package_id | Yes | Provide a specific package ID. | |
| version_id | Yes | Provide a specific version ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| value | No | |
| dry_run | No | |
| would_send | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so safety context is partly covered. The description adds useful permission context ('Perm: manage_software_repository') and a protocol-sequence hint, but it does not explain what makes the operation destructive or how the unsupported-server note should affect invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but poorly structured: 'Initialize package file upload. Initializes package file upload.' is redundant, and leading with 'Not supported by this server (see error text)' is confusing rather than front-loading actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has annotations, a complete input schema, and an output schema, reducing what the description must cover. Still, it should clarify the relationship to action1_upload_software_chunk and explain whether 'Not supported by this server' means the tool should not be called at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains the seven parameters, including required fields, confirm, dry_run, and platform enum. The description adds no parameter-level meaning beyond the permission note, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific operation, 'Initialize package file upload,' and adds that the client starts by sending the initial upload request. However, the opening line 'Not supported by this server (see error text)' undermines the stated purpose, and the operation is repeated redundantly without distinguishing it from the related chunk-upload sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the first request in an upload flow, but it gives no explicit guidance on when to use this tool versus alternatives such as action1_upload_software_chunk. The 'Not supported by this server' caveat creates ambiguity rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_action_templatesList action templatesARead-onlyIdempotent
List every action template (id, name, description). Use ids with action1_get_action_template.
| Name | Required | Description | Default |
|---|---|---|---|
| applicable_to | No | Filter to templates applicable to a context URL. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the returned fields but does not discuss pagination, filtering behavior, or result size, leaving only modest extra context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no waste. The core operation is front-loaded, followed immediately by the relevant follow-up tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with fully documented parameters, rich annotations, and an output schema, the description supplies what an agent needs to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are fully documented in the schema itself. The description mentions returned fields rather than parameter behavior and adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('List every action template') and names the returned fields, which clearly distinguishes it from the sibling retrieval tool action1_get_action_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes the agent to action1_get_action_template for using template IDs, giving clear downstream context. It does not explain when to use the applicable_to filter or response_format option, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_audit_eventsGet audit records of user actionsBRead-onlyIdempotent
Get audit records of user actions. 'The Audit Trail contains event records associated with user actions, such as logins, remote. Perm: view_audit.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| event | No | The list of comma-separated event names to include. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| sortby | No | Define the sorting order by a certain field. | |
| timeto | No | The end date and time in the following format: YYYY-MM-DD_HH-MM-SS | |
| from_id | No | Provide the sequential ID of the first record to be returned. | |
| verbose | No | Skip per-item compactor. | |
| timefrom | No | The start date and time in the following format: YYYY-MM-DD_HH-MM-SS | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this is a read-only, idempotent, non-destructive, open-world operation. The description adds the useful auth requirement 'view_audit' and gives event examples such as logins, but it does not add much beyond that about pagination behavior, result scope, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the description is short, but the second sentence is an awkward quoted fragment ending in an incomplete 'remote.' It is concise overall, yet the structure and clarity are not clean enough for a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 12 optional parameters, rich schema descriptions, annotations, and an output schema, so the description need not repeat every detail. However, for a complex audit-log query tool it is thin on when to use it versus alternatives and on practical querying guidance, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 12 parameters are already documented in the schema. The description only loosely hints at event types with 'logins, remote' and does not add syntax or filtering semantics beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: getting audit records of user actions. It is understandable despite the awkward quoted fragment, but it does not explicitly distinguish this list/query tool from sibling audit tools such as action1_get_audit_event, action1_audit_log_search, or action1_export_audit_log.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a permission requirement ('Perm: view_audit') but no guidance on when to use this tool versus related audit tools. There are no exclusions, alternatives, or scenario cues to help an agent choose correctly among the audit-log siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_automation_deployment_statusesGet the deployment statuses of a automationBRead-onlyIdempotent
Get the deployment statuses of a automation. Gets the deployment statuses of a automation specified by its ID. Perm: view_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| automation_id | Yes | Provide a specific automation ID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered structurally. The description's sole additional contribution is the required permission (view_automations), which is genuinely useful for auth planning, but nothing about scope, pagination, or freshness is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are near-duplicates of each other and of the title, which is wasted space. The permission note at the end is the only incremental information, and it is front-loaded poorly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations are rich, so return-value and safety details need not be explained. What is missing is disambiguation among the numerous automation status/results/instance siblings — an agent could not confidently pick this tool from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter (org_id, verbose, automation_id, response_format with enum) is documented in the schema. The description only restates that the automation is 'specified by its ID', adding no semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — getting deployment statuses of an automation specified by an ID — which is more than a restatement of the title. However, it gives no signal that distinguishes it from close siblings such as action1_get_automation_status, action1_get_automation_results, or action1_list_automation_instances, leaving an agent to guess which 'status' view it needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many automation-related siblings (get_automation_status, get_automation_results, list_automation_instances). The only contextual cue is the permission note, which is not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_automation_instancesList automation instancesBRead-onlyIdempotent
List automation instances. Gets a list of running and completed automations for the specified organization. Perm: view_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| status | No | Specify the status. | |
| verbose | No | Skip per-item compactor. | |
| completed | No | Specify the completion status of the automation schedule. | |
| endpoint_id | No | The ID of the endpoint to query. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this read-only, idempotent, and non-destructive, so the safety profile doesn't need restating. The description adds a real behavioral fact, the view_automations permission requirement, but leaves the pagination model (cursor vs. from, auto_paginate) entirely to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the purpose front-loaded and no irrelevant filler. There is mild redundancy between 'List automation instances' and 'Gets a list of...', which keeps it from being maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Rich structured context (full schema coverage, four annotations, an output schema) means the description needn't explain return values. However, for a 12-parameter list tool with many overlapping siblings, the missing routing guidance to list_recent_automations or get_automation_instance is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 12 parameters including cursor precedence and the status/completed enums are already documented. The description merely implies org scoping via 'the specified organization' and adds no format, default, or interaction details beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List automation instances') and adds the scope ('running and completed automations for the specified organization'). That scope phrase meaningfully separates it from list-type siblings like action1_list_recent_automations, but the definition never names or explicitly contrasts those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the required permission ('Perm: view_automations'). With siblings such as action1_list_recent_automations, action1_get_automation_instance, and action1_list_automation_schedules in the catalog, an agent gets no signal about when to pick this tool over those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_automation_schedulesList automation schedulesBRead-onlyIdempotent
List automation schedules. Lists existing scheduled automations. Use parameters to filter out automations in the returned. Perm: view_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already define this as a read-only, idempotent, and safe operation. The description adds valuable contextual information by specifying the required permission ('Perm: view_automations'), which is not covered by the standard hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loads the core function and the operational necessity (parameter use). Each short sentence serves a distinct and necessary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the 9 parameters, the description is minimally complete. It relies heavily on the schema for structural details, which is adequate for a listing tool but lacks full behavioral context regarding scope or boundaries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since the schema coverage is 100%, the description provides no additional semantic value for the parameters, which adhere to the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The purpose is clearly stated in the title and first sentence: it lists existing scheduled automations. Although it is specific, it does not contrast itself with very similar list tools in the sibling list, resulting in a 4 instead of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only provides a high-level tip that parameters should be used to filter the results. It fails to provide guidance on when this tool should be used versus alternatives like listing recent automations or fetching a specific schedule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_cve_endpointsLists endpoints in an organization affected by a specific vulnerabilityARead-onlyIdempotent
Lists endpoints in an organization affected by a specific vulnerability. Perm: view_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| cve_id | Yes | The unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300 | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| product_names | No | The names of the products to retrieve the endpoints associated with those specific... | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered; the description contributes the required permission. It does not clarify the organization scoping despite the title saying 'in an organization' while org_id is optional, nor does it mention pagination behavior — though the schema carries cursor/auto_paginate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and scope, with zero filler. Nothing is repeated from the title verbatim beyond what is needed to state the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the parameter schema is fully described, so the description needn't cover return values. However, for an 11-parameter paginated listing that is scoped 'in an organization', the description leaves open whether org_id is required or defaults, and offers no hint about result volume or pagination expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters including cve_id, filter, sortby, product_names and pagination controls are already documented in the schema. The description adds no syntax, format, or default information beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with a qualifying scope: endpoints affected by a specific vulnerability. That implicitly separates it from action1_list_endpoints (all endpoints) and action1_list_vulnerabilities, but no sibling is named explicitly, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Perm: view_vulnerabilities' note gives a useful prerequisite for calling it, but there is no when-to-use guidance, no exclusions, and no pointer to alternatives such as action1_list_endpoint_missing_updates or action1_list_vulnerabilities when the agent wants the inverse view.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_cve_remediationsLists past remediation actions for a specific vulnerabilityBRead-onlyIdempotent
Lists past remediation actions for a specific vulnerability. Perm: view_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| cve_id | Yes | The unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300 | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide good behavioral transparency (`readOnlyHint: true`, `destructiveHint: false`, `openWorldHint: true`), which is the primary source of behavioral info here. The description adds nothing substantial beyond confirming the intent of the read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, fitting the tool's purpose into two short sentences. It is efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high detail in the input schema and reassuring annotations (read-only, idempotent), the description is largely complete for the AI agent. The main gap is the lack of specific usage guidance against sibling tools, but this is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing extensive details for all 10 parameters. The description adds no semantic meaning beyond what is already present in the structured schema and annotations. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state that the tool lists past remediation actions for a specific vulnerability. While the description could distinguish this from other listing tools (e.g., listing vulnerabilities), its purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide specific guidance on *when* to use this tool versus related listing tools like `action1_list_vulnerabilities` or `action1_create_cve_remediation`. It only specifies the required permission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_data_sourcesList data sourcesBRead-onlyIdempotent
List data sources. Gets a list of existing data sources. To filter out built-in data sources, set the 'builtin'. Perm: manage_data_sources, manage_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| builtin | No | Specify if the package is builtin (yes) or custom (no). | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds genuinely new behavioral context in the permission requirement (manage_data_sources, manage_reports), which tells the agent an auth precondition exists. It does not cover pagination, result size, or org/tenant scoping, so it stops short of a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the actionable permission note buried last. The second sentence is pure duplication of the first, which is wasted space in an otherwise tiny definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and all three params are fully documented in the schema; the description supplies the permission requirement, which is the main missing piece. Only result-set scoping/pagination and the relationship to action1_get_data_source remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with three documented parameters, so the baseline of 3 applies. The description only touches 'builtin' and even that awkwardly ("set the 'builtin'" without stating the Yes/No values), and says nothing about verbose or response_format, so it adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource (list data sources), and the name plus siblings (get_data_source, create_data_source) make the operation unambiguous. The second sentence, "Gets a list of existing data sources," simply restates the first and adds nothing. It never explicitly contrasts with action1_get_data_source or action1_list_scripts-style siblings, but the intent is still clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"To filter out built-in data sources, set the 'builtin'" is parameter guidance, not usage guidance; it does not say when to call this vs. action1_get_data_source or the create/update/delete siblings. The permission note hints at a precondition but no explicit when/when-not or alternative routing is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_endpoint_deployersList DeployersBRead-onlyIdempotent
List Deployers. Lists all Action1 Deployer services in the specified organization. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| os | No | Filter by operation system. | |
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| status | No | Specify the status. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| installed_since | No | Enter the installation date. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a safe, idempotent, read-only operation, so the bar is lower. The description adds the required permission ('Perm: manage_endpoints'), which is genuinely useful, but says nothing about pagination behavior despite 12 params including cursor/limit/auto_paginate, or what 'Deployer services' include in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the operation and scope, with the permission constraint last. The opening 'List Deployers' restates the title slightly, but the remaining text is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full annotations, and 100% schema coverage, the description needs only to establish purpose, scope, and auth. It does that, but for a 12-parameter paginated listing tool it could mention that results are paginated/filterable and that organization scope comes from org_id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including os, status, cursor, and auto_paginate is already documented. The description adds no filtering or pagination semantics beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List Deployers') plus scope ('all Action1 Deployer services in the specified organization'), which clearly separates it from action1_get_deployer and action1_delete_deployer. It stops short of explicitly naming those siblings, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus action1_get_deployer (single deployer), action1_list_endpoints, or action1_get_windows_deployer_url. The only contextual note is the permission requirement, which is a prerequisite rather than a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_endpoint_groupsList endpoint groupsBRead-onlyIdempotent
List endpoint groups. Lists existing endpoint groups. Use filters and narrow down and sort the returned results. Perm: view_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds one genuinely useful behavioral fact — the required permission (view_endpoints) — but says nothing about pagination behavior or result shape beyond the generic filter/sort note.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the opening two sentences are near-duplicates of each other and of the title, wasting the front-loaded position that could have carried the sibling differentiation or the permission note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and rich annotations mean return values and safety need not be explained, and the schema fully documents parameters. What is missing is the context an agent actually needs to select this tool: how it differs from get_group, list_group_contents, and endpoint_groups_resolve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 9 parameters, so the schema already documents from/limit/cursor/filter/org_id/sortby/verbose/auto_paginate/response_format. The description only alludes to filtering and sorting at a high level, adding nothing the schema doesn't already say. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("List endpoint groups") that is immediately distinguishable from the mutating siblings create/update/delete_group. However, the second sentence ("Lists existing endpoint groups") merely restates the first, and the description never distinguishes this from related reads like endpoint_groups_resolve, list_group_contents, or get_group.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use filters and narrow down and sort the returned results" is guidance on parameter usage, not on when to choose this tool over the many sibling read tools (endpoint_groups_resolve, list_group_contents, get_group). No exclusions, prerequisites, or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_endpoint_missing_updatesGet missing updates for an endpointARead-onlyIdempotent
Filtered/paginated variant of action1_list_missing_updates (curated). Use for severity/approval_status/sortby filtering. Get missing updates for an endpoint. Obtains a list of missing software updates for a specific endpoint. Perm: view_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| endpoint_id | Yes | Provide an endpoint ID. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| approval_status | No | Specify the update status. | |
| response_format | No | Output format. Default markdown. | |
| security_severity | No | Specify the severity level, e.g., security_severity=-Critical (for all non-critical). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, open-world, and non-destructive behavior, so the description does not need to restate safety. It adds useful context by naming the required permission (view_endpoints) and noting that this is a filtered/paginated variant; it does not discuss pagination behavior in detail, but the output schema and parameter descriptions cover much of that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it repeats the same purpose multiple times: 'Get missing updates for an endpoint' and 'Obtains a list of missing software updates for a specific endpoint.' The opening variant reference is front-loaded, but the description could be tighter and less redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter read-only listing tool with a 100% documented schema, annotations, and an output schema, the description supplies the important scope (endpoint-specific), filtering guidance, and permission requirement. It need not explain return values because an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 12 parameters thoroughly. The description mentions the key filtering use cases (severity, approval_status, sortby) but adds little beyond what the schema and parameter descriptions already provide, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb and resource: obtaining missing software updates for a specific endpoint. It also distinguishes itself as a filtered/paginated variant of action1_list_missing_updates, though the purpose is repeated several times rather than stated once crisply.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit guidance to use this tool for severity, approval_status, or sortby filtering, and implicitly positions it against the base action1_list_missing_updates. It does not state when not to use it, but the alternative relationship is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_endpointsList managed endpoints (cursor-paginated)ARead-onlyIdempotent
List endpoints with server-side filters (status, online_status, os, reboot_required, …). For counts, use action1_endpoints_summary instead.
| Name | Required | Description | Default |
|---|---|---|---|
| os | No | Filter by operating system name. | |
| limit | No | Max items. | |
| cursor | No | Pagination cursor. | |
| fields | No | API field-set: *, missing_updates, vulnerabilities. | |
| filter | No | Case-insensitive substring; an endpoint matches when any field contains it. | |
| org_id | No | Org UUID. | |
| sortby | No | Sort key (e.g. name, last_seen). | |
| status | No | Filter by status: Connected, Disconnected, Pending Uninstall. | |
| page_size | No | Upstream page size. | |
| projection | No | Client projection: bare (default), compact, full. | |
| reset_cache | No | Bypass cache for fresh page. | |
| online_status | No | Filter by online status: SUCCESS, WARNING, ERROR. | |
| update_status | No | Filter by update status: UNDEFINED, SUCCESS, WARNING, ERROR. | |
| reboot_required | No | Filter by reboot-required: Yes or No. | |
| response_format | No | Output format. Default markdown. | |
| vulnerability_status | No | Filter by vulnerability status: UNDEFINED, SUCCESS, WARNING, ERROR. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered. The description adds that filters are applied server-side, which is useful, but says nothing about caching (reset_cache), cursor paging semantics, or how projection changes payload size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler, purpose and the filter capability front-loaded, and the alternative routing instruction second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and rich annotations, the description need not explain return values or safety, and it correctly covers purpose plus the primary alternative. It is slightly thin for a 16-parameter tool in not distinguishing itself from the other endpoint-listing siblings or explaining default pagination behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 16 well-documented parameters, so the baseline is 3. The description supplies extra meaning beyond the schema by labeling the status/os/reboot_required inputs as server-side filters, telling the agent these narrow the query rather than being post-filtered client-side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (endpoints) plus the meaningful qualifier that filtering happens server-side, and names the sibling tool to use for counts. It does not differentiate itself from action1_search_endpoints, which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one explicit routing rule: for counts, use action1_endpoints_summary instead. There is no guidance on when to prefer this over action1_search_endpoints or action1_list_group_contents, so the alternative-selection story is only partially covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_group_contentsList endpoints from the groupBRead-onlyIdempotent
List endpoints from the group. Lists all endpoints included in the specified group. Perm: view_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| os | No | Filter by operation system. | |
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| fields | No | Some API requests support the optional 'fields' parameter that specifies which object... | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| status | No | Filter by online status. | |
| verbose | No | Skip per-item compactor. | |
| group_id | Yes | Provide an endpoint group ID. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| online_status | No | Filter by last seen online status. | |
| update_status | No | Filter by update status. | |
| reboot_required | No | Filter by reboot requirement of the endpoint. | |
| response_format | No | Output format. Default markdown. | |
| vulnerability_status | No | Filter by vulnerability status. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, covering the safety profile. The description adds a genuinely useful non-annotation detail — the required view_endpoints permission — but says nothing about pagination behavior, defaults, or what the group membership result contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, but sentence two duplicates sentence one almost verbatim and sentence one echoes the title. The permission note is the only sentence that earns its place; the rest is redundant padding rather than useful front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Rich annotations, 100% schema coverage and a present output schema mean the structured data carries most of the burden. However, for a 17-parameter tool with filtering, sorting, pagination and a response_format default, the description never hints at that capability surface, leaving it thin for a first-pass selection decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 17 parameters including the filter set and pagination controls are already documented in the schema. The description adds no semantics beyond naming group_id implicitly, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (endpoints scoped to a group), which is distinguishable from the sibling action1_list_endpoints and action1_search_endpoints by the group scoping. The second sentence largely restates the first, so it doesn't add scope detail beyond naming the group filter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus action1_list_endpoints, action1_search_endpoints, or action1_get_group. The implicit usage is inferable from the name, but nothing actively routes the agent among near-identical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_installed_software_dataGet installed appsCRead-onlyIdempotent
Get installed apps. Gets a list of installed apps. Use parameters to filter out apps in the returned results. Perm: view_installed_software.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| live_only | No | Specify if you want to retrieve live results only. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds one genuinely useful piece of context not in structured data: the required permission "view_installed_software" — an auth requirement worth surfacing. It says nothing about scope (org-wide vs endpoint), pagination behavior, or result volume, though.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short, but the first two sentences say the same thing twice and neither is front-loaded with anything the title does not already say. The permission note at the end is the only informative clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, a full input schema and an output schema present, the structured fields cover most of what an agent needs. What remains missing is the one thing the description should supply: the scope of the listing relative to the many sibling inventory tools, and any note on pagination/auto_paginate interaction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 10 parameters, so the schema carries the semantics for from, limit, cursor, filter, org_id, sortby, verbose, live_only, auto_paginate and response_format. The description's only parameter-adjacent remark is the generic note about filtering, which adds no meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list installed apps), but the first two sentences are near-duplicates of each other and of the title, adding nothing. There is no differentiation from closely related siblings such as action1_get_installed_software_endpoint, action1_software_inventory_for_endpoint, or action1_list_software_repository, so an agent cannot tell from the description which is the org-wide inventory listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use parameters to filter out apps in the returned results" is a restatement of what parameters do, not guidance on when to choose this tool. No mention of when to use it versus the endpoint-scoped installed-software tools or the software repository listing, and no prerequisite context beyond the permission string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_installed_software_errorsGet apps report errorsCRead-onlyIdempotent
Get apps report errors. Returns apps report errors. Use parameters to filter out returned results. Perm: view_installed_software.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one piece of genuinely new context, the required permission (view_installed_software), but says nothing about error volume, pagination behavior, or what constitutes an "error" beyond the schema's own fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are near-duplicates, so one of three sentences is pure waste. The useful content (permission requirement) is buried last rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema and output schema are rich, but with 150+ siblings in an overlapping reporting/software-inventory area, the description does nothing to situate this tool. An agent cannot tell from the description what an "apps report error" is or why it would prefer this over list_report_errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the nine parameters is already documented in the schema; the description's single sentence about filtering adds nothing beyond it. Baseline 3 applies when the schema does all the parameter work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description effectively restates the title: "Get apps report errors. Returns apps report errors." It identifies the resource but only as a listing of an ambiguous artifact, and it gives no way to distinguish it from siblings like action1_list_report_errors, action1_list_installed_software_data, or action1_get_export_for_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use parameters to filter out returned results" is the only usage guidance, and it describes mechanics rather than when to call this tool versus the many overlapping report/installed-software siblings. No exclusions, prerequisites, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_instance_endpoint_resultsList resultsCRead-onlyIdempotent
List results. Gets a list of endpoints where the automation instance is being applied or has been executed. Perm: view_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| instance_id | Yes | Provide a specific instance ID. | |
| last_status | No | Specify the last status of the automation instance. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds only the permission requirement; it says nothing about pagination behavior, result volume, or what an empty result means, which would have been the value-add beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler and the permission note appended compactly. The only waste is the redundant leading sentence that merely restates the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the schema documents all parameters. What's missing is the context an agent actually needs in a 120-tool catalog: how this differs from get_automation_results and list_automation_instances, and whether it lists endpoints or per-endpoint execution records.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all 11 parameters carry their own descriptions (paging, cursor, filter, sortby, verbose, last_status, etc.), so the schema does the heavy lifting. The description adds no parameter meaning at all, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The second sentence does real work, clarifying that 'results' means the endpoints where an automation instance was applied or executed. But the leading sentence is a tautology of the title, and the definition never distinguishes itself from close siblings such as action1_get_automation_results or action1_list_automation_instances.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the required permission (view_automations), which is a useful prerequisite, but gives no guidance on when to choose this over the several automation-result siblings, nor any exclusions. Usage must be inferred entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_logsGet diagnostic logsCRead-onlyIdempotent
Get diagnostic logs. Gets diagnostic logs. Use parameters to pre-filter returned results. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| level | No | Specify the minimum request level. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The one genuine addition is "Perm: manage_endpoints", which tells the agent an authorization scope annotations cannot express. Nothing is said about pagination behavior (from/cursor/auto_paginate interplay) or what the logs contain, so credit is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are a duplicated restatement of the title, which is pure waste, and the remaining content is thin. It is short, but shortness here comes from under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and all parameters are documented, so the description needn't explain returns. It still omits default scoping (which org, whether all orgs are covered) and pagination guidance, which matter for a nine-parameter log-listing tool with an open-world hint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all nine parameters are individually documented, so the schema does the heavy lifting. The description adds no meaning beyond the schema — it does not explain the from-vs-cursor precedence, the level semantics, or paging limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (diagnostic logs) with an implicit read verb, so an agent can tell it retrieves rather than mutates logs. But the first two sentences say the same thing verbatim, adding no scope, source, or differentiation from log-adjacent siblings like action1_list_audit_events or action1_audit_log_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use parameters to pre-filter returned results" is the only usage guidance, and it restates the obvious fact that optional query params filter results. There is no statement of when to pick this over the audit-log tools, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_missing_updatesList missing updates for an endpointBRead-onlyIdempotent
Returns missing-update items for one endpoint. Each item.id can be passed to action1_deploy_update.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items to return. | |
| org_id | No | Org UUID. | |
| endpoint_id | Yes | Endpoint UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive, open-world operation, so the safety profile is covered. The description adds the deploy_update relationship for returned item IDs, but does not disclose pagination behavior or other execution traits beyond what annotations and schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is two short sentences with the core function front-loaded and no redundant restatement. Every sentence contributes either the core return description or the actionable item.id workflow hint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, annotations are rich, and the input schema is fully documented, so the description does not need to explain return structure or parameter formats. It is nearly complete for invocation, but it omits the critical distinction from the closely related list endpoint missing-updates sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so endpoint_id, limit, org_id, and response_format are already documented in the schema. The description only implies that endpoint_id selects one endpoint and adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns missing-update items for one endpoint. That is clear enough to understand the action, but it does not distinguish this tool from the very similarly named sibling action1_list_endpoint_missing_updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that item.id can be passed to action1_deploy_update, which is useful downstream workflow context, but it gives no guidance on when to use this tool instead of action1_list_endpoint_missing_updates or other endpoint update-discovery tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_organizationsList organizationsBRead-onlyIdempotent
List every organization the configured API key can access.
| Name | Required | Description | Default |
|---|---|---|---|
| admin | No | If true, restrict to orgs the API key has admin rights on. | |
| limit | No | Max items to return. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds only the API-key scoping constraint; it says nothing about pagination behavior despite a limit parameter, or about whether results are filtered by enterprise.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero padding, and the scoping constraint is front-loaded. Nothing here could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and full annotations exist, so the description needn't explain returns or safety. For a simple zero-required-parameter list tool this is nearly sufficient, though a note that results may be truncated by limit would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the admin, limit, and response_format parameters are already documented in the schema. The description adds no extra meaning about what 'admin' filters on or how pagination interacts with 'list every organization'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (organizations) with scope qualifier 'the configured API key can access'. It doesn't need to distinguish from list siblings since no other organization-listing tool exists, but it also doesn't contrast with action1_get_enterprise or action1_get_me, which return related tenant context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus alternatives, no prerequisites, and no exclusions. An agent gets no signal about whether this is the right call to discover org IDs before calling action1_update_organization or action1_delete_organization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_org_vulnerabilitiesList of all vulnerable software within the organizationARead-onlyIdempotent
Org-wide CVE rollup with 13 server-side filters. For per-endpoint vulnerabilities use action1_list_vulnerabilities (curated). List of all vulnerable software within the organization. Perm: view_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| score | No | The severity of the Common Vulnerabilities and Exposures (CVE) entries. | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| cveids | No | Add CVEIDs parameter to query specific vulnerabilities by their CVE IDs. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| endpoint_id | No | The ID of the endpoint to query. | |
| reset_cache | No | Reset current cache. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. | |
| published_date_end | No | The maximum publishing date of the Common Vulnerabilities and Exposures (CVE) entries. | |
| remediation_status | No | The remediation status. | |
| published_date_start | No | The minimum publishing date of the Common Vulnerabilities and Exposures (CVE) entries. | |
| remediation_required_end_day | No | The maximum value of the remediation deadline, in days. Example: 30 | |
| remediation_required_start_day | No | The minimum value of the remediation deadline, in days. Example: 7 |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), so the description's added value is the authorization requirement ('Perm: view_vulnerabilities') and the note that filtering happens server-side across 13 filters, which sets expectations about result volume. It does not mention rate limits or caching behavior beyond the schema's reset_cache param.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short overall and the sibling routing is front-loaded, but the middle sentence 'List of all vulnerable software within the organization' merely restates the title and occupies critical space without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, rich annotations, and full parameter documentation, the description needs only to establish scope, sibling routing, and auth — all of which it does. Minor gap: no hint about the shape of the rollup (per-CVE aggregation vs per-software) despite the title referencing vulnerable software.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all 18 parameters documented, so the baseline is 3. The description's '13 server-side filters' hints at the filter set but adds no syntax, combinations, or precedence guidance beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope ('Org-wide CVE rollup') and names the sibling it is not ('For per-endpoint vulnerabilities use action1_list_vulnerabilities'). An agent can distinguish it from the per-endpoint variant without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the per-endpoint case to action1_list_vulnerabilities and states the permission needed (view_vulnerabilities). It does not, however, clarify relationships to adjacent CVE tools like action1_list_cve_endpoints or action1_get_cve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_permissionsList permission templatesCRead-onlyIdempotent
List permission templates. Gets a list of available permission templates.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that – no note on pagination behavior, result volume, or what a 'permission template' contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The second sentence ('Gets a list of available permission templates') adds no information over the first and is pure redundancy. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full parameter documentation, the structured data covers return values and inputs. However, the description omits any indication of what permission templates are, how they relate to roles or settings, and how to page through large result sets in a tool with 8 optional pagination parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all eight parameters (from, limit, cursor, filter, sortby, verbose, auto_paginate, response_format) are documented in the schema. The description adds no parameter meaning, but baseline 3 applies when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and resource (list permission templates), which is understandable on its own, but it merely restates the title and gives no differentiation from adjacent read tools such as action1_list_roles or action1_list_setting_templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites or scoping, and no exclusions. The only implied usage comes from the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_recent_automationsList recent automation instancesARead-onlyIdempotent
List recent automation instances for the org. For counts use action1_automations_summary instead.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items. | |
| cursor | No | Pagination cursor. | |
| org_id | No | Org UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, read-only, idempotent listing operation, so the safety profile is covered. The description adds only org scoping and a vague recency qualifier; it doesn't state the recency window, pagination behavior, or any limits beyond what the schema already provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler; the core operation is front-loaded and the alternative tool routing follows immediately. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and annotations carry much of the behavioral burden, and the schema fully documents the parameters. The key missing piece is disambiguation from action1_list_automation_instances and a definition of 'recent', which matter for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (limit, cursor, org_id, response_format) are already documented in the schema. The description contributes no additional parameter meaning beyond implying org scoping, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb and resource (list recent automation instances) and scopes it to the org, so the agent knows the general operation. It does not, however, distinguish this tool from the very similarly named sibling action1_list_automation_instances, which makes the exact purpose of 'recent' ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes count-oriented requests to action1_automations_summary, which is a useful alternative. But it gives no guidance on when to use this over action1_list_automation_instances, nor does it define what qualifies as 'recent', leaving usage partly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_report_dataGet report rowsBRead-onlyIdempotent
Get report rows. Gets data organized by report rows. Use parameters to filter out returned results. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| details | No | Specify 'yes' to expand the details. This parameter is supported only for Summary reports. | |
| verbose | No | Skip per-item compactor. | |
| live_only | No | Specify if you want to retrieve live results only. | |
| report_id | Yes | Provide a specific report ID. | |
| endpoint_id | No | The ID of the endpoint to query. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description's meaningful addition is the 'Perm: view_reports' authorization requirement, which annotations do not convey. It says nothing about pagination behavior, the size of result sets, or rate limits, despite pagination being central to a 50k-limit row tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the action and ending with the permission requirement, which is a sensible placement. The second sentence ('Gets data organized by report rows') largely restates the first and earns little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the permission hint covers a real gap. But for a 13-parameter tool in a crowded report-tool namespace, the description leaves the agent without enough to choose confidently between this, get_drilldown_for_report_row, and get_export_for_report.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 13 parameters are documented in the schema itself; the baseline of 3 applies. The description adds only the generic 'use parameters to filter' remark and no extra meaning for high-value parameters like details, verbose, live_only, or auto_paginate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb and resource ('Get report rows', 'data organized by report rows'), but the phrasing is circular and never explains what a report row actually is. With siblings such as get_drilldown_for_report_row, get_export_for_report, list_report_errors, and requery_report, the description does nothing to differentiate this row-listing tool from adjacent report tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use parameters to filter out returned results' implies filtering is the intended usage pattern, and 'Perm: view_reports' states a concrete prerequisite, which is genuinely useful. However, there is no when-to-use vs when-not guidance and no mention of when to prefer cursor/auto_paginate over from/limit, nor when to use this versus the drilldown or export siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_report_errorsGet report errorsBRead-onlyIdempotent
Get report errors. Returns report errors for the specified report. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| report_id | Yes | Provide a specific report ID. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds the required permission scope (view_reports), which is real information beyond the annotations. It says nothing about result volume, pagination behavior, or how errors relate to the parent report's rows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the opening sentence merely restates the title and the second restates it again with scope. The only non-redundant content is the permission clause. Front-loading is fine but roughly half the text is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter read-only tool with a fully documented schema and an output schema, the description covers the essentials: target resource, scoping to one report, and the required permission. The main gap is not distinguishing error records from report data records, which the agent would have to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including documented meaning for from/limit/cursor/filter/auto_paginate, so the baseline is 3. The description only reinforces that report_id identifies the target report and adds nothing beyond the schema (e.g., no hint about what 'error' records contain or how filter applies to them).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb+resource ('Get report errors') and scopes it to a specific report, but the first and second sentences are near-duplicates, adding no extra precision. It gives no distinction from adjacent siblings such as action1_list_report_data or action1_list_installed_software_errors, so the agent cannot tell from the text which error-listing tool it needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Perm: view_reports' tells the agent a prerequisite, which is genuinely useful context. However, there is no guidance on when to use this versus the other report-related tools, and no stated exclusions or alternatives. Usage is only implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_reportsList reportsCRead-onlyIdempotent
List reports. Gets a list of existing reports. At this time all reports are enterprise-wide.
| Name | Required | Description | Default |
|---|---|---|---|
| subtree | No | Specify if you want to query the entire report subtree. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds one genuinely useful behavioral fact — results are always enterprise-wide, so no org-level filtering exists — but says nothing about pagination, result volume, or ordering. With annotations carrying most of the burden, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, but the first two say the same thing twice, which wastes the front-loaded position. The one informative clause (enterprise-wide scope) is buried last rather than leading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description needn't explain return values, and the schema covers all parameters. However, for a list tool in a crowded report family, it omits result-set size/pagination expectations and any hint of how the output is shaped at enterprise scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (subtree, verbose, response_format) are documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema — notably it never explains when 'subtree' matters or what 'verbose' changes about output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource (list reports) is identifiable, but the first two sentences are near-tautologies that merely restate the name and title ("List reports. Gets a list of existing reports."). The one substantive clause — all reports are enterprise-wide — clarifies scope but does not distinguish this tool from siblings such as action1_get_report_or_category or action1_list_report_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no mention of alternatives among the many report-related siblings (get_report_or_category, list_report_data, list_report_errors, create_report). The enterprise-wide note is a scope constraint, not invocation guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_report_subscriptionsList report subscriptionsCRead-onlyIdempotent
List report subscriptions. Gets a list of report subscriptions.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description contributes nothing beyond that—no pagination behavior, ordering, or scoping context is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two sentences convey identical information, with the second merely paraphrasing the first. This redundancy wastes space without adding any real content or context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with full schema coverage, existing annotations, and an output schema, the description covers the bare minimum. However, it omits scope details like whether subscriptions are enterprise-wide or per-organization, leaving gaps for a large sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All six parameters have complete schema descriptions, including pagination (from/limit/cursor), auto_paginate, verbose, and response_format, so the schema fully documents them. The description adds no additional parameter meaning, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'List report subscriptions. Gets a list of report subscriptions,' which is a verbatim restatement of the tool name and title. It does not differentiate this list operation from the sibling create/update/delete report subscription tools or indicate scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus action1_create_report_subscription, action1_update_report_subscription, or action1_delete_report_subscription. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_rolesList rolesCRead-onlyIdempotent
List roles. Gets a list of available roles. Perm: manage_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| fields | No | Add FIELDS parameter to query extended data. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful fact — the manage_roles permission requirement — but says nothing about scope (enterprise vs organization), result volume, or pagination behavior beyond what the schema shows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, which is good, but the second sentence is pure redundancy with the first. The one non-redundant element (the permission requirement) is buried at the tail rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully documented, so most burden is already carried. What's missing is scope: an agent can't tell whether returned roles are enterprise-wide or organization-scoped, which matters in a toolset with clone_role, list_role_users, and delete_role siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters including from/limit/cursor/filter/sortby/auto_paginate are already documented in structured form. The description adds no parameter-level meaning, which is the correct baseline 3 here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource (list roles), so the basic operation is unambiguous. But the second sentence only restates the first, and nothing distinguishes it from close siblings like action1_list_role_users, action1_list_permissions, or action1_get_role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus get_role, list_role_users, or list_permissions. The only contextual hint is the permission requirement, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_role_usersList users in a specific roleBRead-onlyIdempotent
List users in a specific role. Gets a list of users in a role specified by its ID. Perm: view_users, assign_roles, manage_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| sortby | No | Define the sorting order by a certain field. | |
| role_id | Yes | Provide a specific role ID. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds genuine value by naming the required permissions (view_users, assign_roles, manage_roles), but it is ambiguous whether all are needed or any one suffices, and nothing is said about result scope across organizations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The second sentence largely restates the first ('List users in a specific role' vs 'Gets a list of users in a role'), so a sentence does not fully earn its place. The permission string is compressed into an unexplained abbreviation ('Perm:'), which is terse but not front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and 100% schema coverage, the description needn't explain return values or parameters. However, for a nine-parameter, open-world listing tool connected to role management siblings, the absence of any routing guidance leaves an agent to infer when this tool is the right choice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters (from, limit, cursor, filter, sortby, verbose, auto_paginate, response_format, role_id) are already documented in the schema. The description only restates that role_id is the role's ID, adding nothing beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List users in a specific role') and the second sentence pins down the selector ('a role specified by its ID'). It is distinguishable from action1_list_user_roles and action1_list_users by the direction of the relationship, though it never explicitly contrasts with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus action1_list_users, action1_list_user_roles, or action1_create_role_user/action1_delete_role_user. The only contextual hint is the permission list, which is prerequisite information rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_scriptsList scriptsBRead-onlyIdempotent
List scripts. Gets a list of existing scripts from the Script Library. Perm: use_scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| builtin | No | Specify if the package is builtin (yes) or custom (no). | |
| verbose | No | Skip per-item compactor. | |
| platform | No | platform | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely new behavioral fact — the use_scripts permission requirement — but says nothing about result volume, pagination, or filtering behavior on a list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and resource, with the permission constraint last. Minor redundancy between 'List scripts' and 'Gets a list of existing scripts', but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only list tool with an output schema, fully documented parameters, and rich annotations needs little more. Still, the description omits anything about result shape, default ordering, or how verbose/response_format change the output, leaving it only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with enums on three of four parameters, so the schema already carries full parameter meaning. The description adds no parameter guidance, which meets the baseline-3 expectation but no more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List scripts') and clarifies the source ('existing scripts from the Script Library'), which separates it from action1_get_script, action1_create_script, and action1_run_script. It does not explicitly name those siblings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus action1_get_script or action1_search, and no mention of when a caller should filter by builtin/platform versus paging through everything. The only context is the permission requirement, which is not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_settingsList settingsARead-onlyIdempotent
List settings. Lists all existing settings. At this time, all settings are enterprise-wide. Perm: manage_advanced_settings.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| category | No | The category of advanced settings. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior. The description adds meaningful behavioral context beyond those annotations by disclosing the required permission (manage_advanced_settings) and the enterprise-wide scope of all returned settings. It does not describe pagination behavior, but that is largely covered by the schema parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with no extraneous material. The first two sentences are slightly redundant ("List settings. Lists all existing settings."), which keeps it from a 5. The permission note is efficiently placed at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with nine optional parameters, full schema coverage, an output schema, and rich annotations, the description provides enough context to call it correctly. It adds enterprise-wide scope and permission requirements. It could be improved by naming the closest alternative tool, but that is more a usage-guideline gap than a completeness failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters are already documented in the input schema. The description does not add meaning about pagination, filtering, sorting, category selection, or response formatting beyond what the schema provides. Baseline 3 is appropriate when the schema carries parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "List settings" and "Lists all existing settings." It also clarifies that all settings are enterprise-wide, which gives scope. It does not explicitly differentiate from close siblings such as action1_list_setting_templates or action1_get_setting, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context that settings are enterprise-wide and requires the manage_advanced_settings permission. However, it does not say when to use this tool versus list_setting_templates, get_setting, or other setting-related tools. Usage is implied by the name and scope rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_setting_templatesList setting templatesCRead-onlyIdempotent
List setting templates. Gets a list of existing setting templates.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no mention of result volume, pagination behavior, whether the list is org-scoped or enterprise-wide, or how the optional filter affects results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the brevity is under-specification rather than economy — the second sentence is pure redundancy that occupies space without earning it. Two sentences where one tautological clause would have carried identical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and 100% schema coverage covers parameters. However, with ~150 sibling tools and a closely related cluster of setting/setting-template tools, the description leaves out critical context: what a 'setting template' actually is in this system and how it relates to action1_list_settings and action1_get_setting_template.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (filter, verbose, response_format) are already documented in the schema. The description contributes no additional parameter meaning, such as what 'verbose' does in practice or default ordering. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a tautology: 'List setting templates. Gets a list of existing setting templates.' The second sentence restates the name and title without adding a verb-scope distinction. It does not distinguish this tool from sibling action1_list_settings (which lists actual settings instances) or action1_get_setting_template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given, despite a crowded sibling set including action1_list_settings, action1_get_setting_template, action1_list_action_templates, and action1_search. An agent must infer the distinction between 'templates' and 'settings' entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_software_repositoryList Software Repository packagesBRead-onlyIdempotent
List Software Repository packages. Gets a list of Software Repository packages for the entire enterprise. Perm: view_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| custom | No | Specify if the package is custom (yes) or builtin (no). | |
| fields | No | Add FIELDS parameter to query extended data. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| builtin | No | Specify if the package is builtin (yes) or custom (no). | |
| verbose | No | Skip per-item compactor. | |
| platform | No | platform | |
| match_name | No | Provide the software name to search for. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| match_version | No | Provide the software version to search for. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description's genuine addition is the required permission (view_software_repository), which is real auth context an agent cannot get from annotations. It says nothing about pagination behavior or result volume despite 15 params including cursor and auto_paginate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and scope. The first two sentences restate each other ('List Software Repository packages' / 'Gets a list of Software Repository packages'), a small redundancy but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and every parameter is documented, so the description needn't explain returns. Still, for a 15-parameter enterprise-wide listing tool, an agent would benefit from a note on pagination/volume expectations and on how the enterprise scope interacts with the org_id parameter — neither is addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all 15 parameters are documented in-schema (including filter, match_name/match_version, platform, fields, verbose). Baseline 3 — the description adds no parameter meaning, but nothing is missing from the schema either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list Software Repository packages) plus the scope: 'for the entire enterprise.' That scope note distinguishes it from sibling get_software_repository_package (single item) without naming it explicitly, so the differentiation is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over siblings such as action1_get_software_repository_package, action1_list_updates, or action1_list_installed_software_data — which are the natural confusion points in this crowded list. The 'entire enterprise' scope is the only cue, and it is not framed as a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_subscription_usage_organizationsGet usage statistics for organizationsBRead-onlyIdempotent
Get usage statistics for organizations. Gets details about license usage with statistics for each organization individually. Perm: manage_organizations.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description adds the required permission (manage_organizations), which is genuine context beyond the schema, but says nothing about whether results span all organizations, whether there is pagination, or how large the response can be.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose. The middle sentence largely restates the first ('Gets details about license usage ... for each organization individually'), which is mild redundancy but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only, zero-required-parameter tool with a full output schema, the definition covers purpose, scope and the permission gate, which is close to sufficient. The remaining gap is disambiguation from the sibling subscription-usage tools, which is only implied by 'each organization individually'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both optional parameters ('verbose' and 'response_format' with its enum), so the schema carries the parameter burden. The description mentions no parameters at all and adds no meaning about when verbose mode matters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Get usage statistics for organizations') and adds scope ('statistics for each organization individually'), which makes it distinguishable from a single-org read. It never names the close siblings action1_get_subscription_usage or action1_get_org_subscription_usage, so the differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is 'Perm: manage_organizations', which is a prerequisite rather than a when-to-use rule. With three overlapping subscription-usage tools in the sibling list, an agent gets no instruction about which one to pick or when this one is the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_updatesList missing updatesCRead-onlyIdempotent
List missing updates. Gets a list of all missing updates. Use parameters to filter out updates in the returned results. Perm: approve_updates, view_dashboards, manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| custom | No | Specify if the package is custom (yes) or builtin (no). | |
| fields | No | Add FIELDS parameter to query extended data. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| builtin | No | Specify if the package is builtin (yes) or custom (no). | |
| verbose | No | Skip per-item compactor. | |
| only_latest | No | Specify if you want to exclude superseded updates. By default, 'yes'. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| approval_status | No | Specify the update status. | |
| response_format | No | Output format. Default markdown. | |
| security_severity | No | Specify the severity level, e.g., security_severity=-Critical (for all non-critical). | |
| update_sla_end_day | No | The maximum value of the remediation deadline in the SLA. | |
| update_sla_start_day | No | The minimum value of the remediation deadline in the SLA. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds the required permissions (approve_updates, view_dashboards, manage_automations), which is real value not in the annotations. It says nothing about default scoping (which orgs/endpoints are included) or the default 'only_latest=yes' behavior that affects results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening two sentences say the same thing twice ("List missing updates. Gets a list of all missing updates."), which is pure waste. The parameter sentence is boilerplate that also earns nothing, leaving only the permission clause as substantive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and annotations covering safety, the remaining burden is scope and disambiguation. The description never states whether updates are aggregated across the enterprise or scoped by org_id, nor how this differs from the two similarly named siblings — a meaningful gap for a 17-parameter list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 17 parameters, including enum semantics and defaults, so the schema carries parameter meaning fully. The description's only parameter statement ("use parameters to filter") adds no semantics beyond the schema, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource (list missing updates) is clear, but the first two sentences are a restatement of the title and name rather than an explanation of scope. Critically, the sibling set contains action1_list_missing_updates and action1_list_endpoint_missing_updates, and nothing here distinguishes this tool from them, leaving an agent unable to disambiguate near-duplicates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use parameters to filter out updates in the returned results" is generic filler with no when-to-use condition or exclusion. No guidance is given on choosing between this tool, action1_list_missing_updates, or action1_list_endpoint_missing_updates. The only concrete usage signal is the permission list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_user_rolesList the roles assigned to a userARead-onlyIdempotent
List the roles assigned to a user. Retrieves all roles assigned to a user specified by ID. Perm: manage_users.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| user_id | Yes | Provide a specific user ID. | |
| verbose | No | Skip per-item compactor. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, so safety is covered. The description adds the required permission ('Perm: manage_users'), which is genuinely new authorization context not present in annotations or schema. It stops short of noting pagination or result-set behavior, though that is largely encoded in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded correctly with the action, but the second sentence ('Retrieves all roles assigned to a user specified by ID') largely restates the first sentence rather than adding information, which dilutes an otherwise three-sentence description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the schema documents all parameters, so the description need not explain return values. Still, for a list tool among dense siblings it omits the one thing that isn't encoded elsewhere: how it differs from action1_list_role_users and what the permission requirement means for failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters including from, limit, cursor, verbose, auto_paginate and response_format are already documented. The description only echoes the required user_id ('specified by ID') and adds nothing about pagination or format selection. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'List the roles assigned to a user', with the direction of the relationship (user -> roles) made explicit. That implicitly distinguishes it from the sibling action1_list_role_users, which goes role -> users, though it never names that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The required user_id establishes the scope, so an agent can infer when this applies. However, there is no explicit statement of when to use this over action1_list_role_users or action1_get_user, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_usersList usersARead-onlyIdempotent
List users. Gets a list of users within the current Action1 enterprise. Perm: view_users.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| verbose | No | Skip per-item compactor. | |
| user_type | No | Specify if the user type is API or Interactive. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the necessary context that the search is confined to the current enterprise scope. The annotations already cover critical behavioral traits like readOnlyHint and destructiveness, so the description adds value by defining the functional boundaries rather than technical limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is highly efficient. It uses two short, declarative sentences that front-load the core functionality and scope without unnecessary jargon or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the 8-parameter schema (including pagination via 'from', 'limit', and 'cursor'), the description is too sparse. It provides only a high-level 'what' without guiding the agent on the practical 'how' for complex use cases, such as managing pagination state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are well-documented in the structured data. The brief description adds no semantic meaning or clarification to the 8 complex parameters listed in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The purpose is stated clearly and concisely as 'List users'. By focusing on 'listing' rather than 'getting a single user' or 'creating a user', it immediately distinguishes itself from critical sibling tools in the action1 suite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While it defines the scope ('within the current Action1 enterprise'), it offers no advice on when to use this list-all function versus other listing tools (e.g., filtering for a specific user) or when to use single-lookup tools. Usage is implied rather than explicitly guided against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_version_endpointsList endpoints missing a specific updateARead-onlyIdempotent
List endpoints missing a specific update. Gets a list of endpoints that are missing updates for a specific package and its version,. Perm: approve_updates, view_dashboards, manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Provide the number of the first record to be returned. | |
| limit | No | Set the maximum number of items to be returned (the page size). | |
| cursor | No | next_cursor of the previous call; takes precedence over from. | |
| filter | No | Provide a case-insensitive substring to filter and narrow down returned results (i.e., if... | |
| org_id | No | Org UUID. | |
| sortby | No | Define the sorting order by a certain field. | |
| verbose | No | Skip per-item compactor. | |
| package_id | Yes | Provide a specific package ID. | |
| version_id | Yes | Provide a specific version ID. | |
| auto_paginate | No | Walk pages until limit or the size budget; then continue with next_cursor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It explicitly lists the required permissions ('Perm: approve_updates, view_dashboards, manage_automations'). Since the annotations do not contain permission requirements, this is vital, high-value behavioral context that adds significant clarity for the AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is functional but slightly redundant in the first sentence and presents permissions as a trailing list rather than an integrated constraint, making it lack peak structure for a technical definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity and high schema coverage (100%), the description is complete enough to guide tool selection and calling. It does not need to explain pagination logic or internal data formats, focusing instead on functional constraints and permissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at 100%, the description repeats the functional purpose already obvious from the required parameters (`package_id`, `version_id`). No new meaning beyond the obvious was added regarding parameter behavior or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the action and resource ('List endpoints missing updates'). It specifies the necessary filters ('for a specific package and its version'), which effectively distinguishes it from the broader or more general listing tools in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by requiring a specific package and version, but it fails to provide explicit guidance on when to use this specialized tool versus similar alternatives like `action1_list_missing_updates` or `action1_list_endpoint_missing_updates`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_list_vulnerabilitiesList vulnerabilities for an endpointARead-onlyIdempotent
Returns vulnerability findings for one endpoint. Returns a clear 403 if the API key lacks the vulnerabilities scope.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| endpoint_id | Yes | Endpoint UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the bar is lower; the description adds a genuinely non-obvious operational fact — a 403 is returned rather than an empty result when the API key lacks the vulnerabilities scope. It omits pagination/result-size behavior for what could be a long findings list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler; the resource scope is front-loaded and the auth-scope caveat follows. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, parameters are fully documented in schema, and annotations cover safety. What remains missing is scale behavior (pagination/limits) for a findings list and explicit sibling disambiguation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so endpoint_id, org_id, and the response_format enum are already fully documented in the schema. The description adds no extra meaning about required vs optional parameters, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Returns vulnerability findings for one endpoint') makes it readily distinguishable from the org-wide sibling action1_list_org_vulnerabilities. It doesn't name a sibling explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no routing to alternatives such as action1_list_org_vulnerabilities, action1_list_endpoint_missing_updates, or action1_list_cve_endpoints. The agent must infer from the name alone that this is the per-endpoint variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_move_endpointMove the endpoint to another organizationBDestructive
Move the endpoint to another organization. Moves the endpoint to another organization. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Provide an endpoint ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| OS | No | |
| id | No | |
| MAC | No | |
| NIC | No | |
| RAM | No | |
| WiFi | No | |
| disk | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| user | No | |
| video | No | |
| custom | No | |
| serial | No | |
| status | No | |
| address | No | |
| comment | No | |
| dry_run | No | |
| CPU_name | No | |
| CPU_size | No | |
| platform | No | |
| CPU_model | No | |
| last_seen | No | |
| would_send | No | |
| device_name | No | |
| architecture | No | |
| manufacturer | No | |
| agent_version | No | |
| online_status | No | |
| update_status | No | |
| last_boot_time | No | |
| missing_updates | No | |
| organization_id | No | |
| reboot_required | No | |
| vulnerabilities | No | |
| AD_security_groups | No | |
| agent_install_date | No | |
| subscription_status | No | |
| AD_organization_unit | No | |
| vulnerability_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructive=true, idempotent=false and openWorldHint=true, so the safety profile is largely covered. The description adds the permission requirement, which is genuinely beyond the annotations, but says nothing about the confirm="YES" gate or dry-run default that the schema carries, leaving a destructive operation thinly explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but one of three sentences is a verbatim restatement of the first, which is pure waste. The permission note is well placed at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema, 100% parameter coverage and complete annotations, the description need not explain return values or field formats. However, for a destructive cross-org move it omits the confirmation/dry-run safety semantics and the consequence of removing the endpoint from its current organization, which an agent would benefit from knowing before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so endpoint_id, target_organization_id, org_id, confirm and dry_run are already documented at the field level. The description's only semantic contribution is confirming that 'another organization' is the target, which maps to an existing parameter rather than adding new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (move the endpoint to another organization), so the action is unambiguous. It does not differentiate from near-siblings like action1_update_endpoint or action1_delete_endpoint, and the second sentence merely repeats the first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only contextual note is the required permission (manage_endpoints), which is useful as a prerequisite. There is no guidance on when to use this rather than action1_update_endpoint, nor any mention of the requirement that the target org be valid or that the endpoint leaves its current org.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_raw_requestRaw Action1 API request (escape hatch)ADestructive
Generic passthrough to any Action1 API path. Bypasses per-tool schemas; use only when no dedicated tool exists. GET/HEAD run free; POST/PUT/PATCH/DELETE require the destructive guard (ACTION1_ALLOW_DESTRUCTIVE + confirm:YES + dry_run-default-true) and, as account operations, ACTION1_ALLOW_ACCOUNT_OPS.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body for non-GET verbs. | |
| path | Yes | API path beginning with /. | |
| query | No | Optional query params. | |
| method | Yes | HTTP method. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and openWorldHint=true, but the description goes further and names the exact gates required for writes: ACTION1_ALLOW_DESTRUCTIVE, confirm:YES, dry_run defaulting to true, plus ACTION1_ALLOW_ACCOUNT_OPS for account operations. That is concrete, non-obvious operational context an agent cannot infer from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the escape-hatch purpose before the gating rules. Every clause carries decision-relevant information (when not to use it, which verbs are free, what the write path requires).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter arbitrary-passthrough tool with an output schema, the definition covers safety gating and routing well. It stops short of telling the agent how to discover valid paths or how errors/pagination surface, which would matter for a truly open-world escape hatch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above that by explaining how parameters interact by verb class (which methods need confirm:YES and dry_run:false, and that dry_run defaults to preview). It does not add syntax guidance for path/query/body beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('generic passthrough to any Action1 API path') and immediately distinguishes itself from the ~140 dedicated siblings by declaring it bypasses per-tool schemas. An agent can tell exactly what this tool is for without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'use only when no dedicated tool exists' is an explicit exclusion rule that routes the agent to the sibling tools first. It also splits usage by method class (GET/HEAD free vs. mutating verbs gated), giving concrete conditions rather than vague intent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_reboot_endpointReboot an endpointADestructive
Reboots the host via the reboot action template. Combine with action1_wait_for_automation to track recovery.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| response_format | No | Output format. Default markdown. | |
| skip_connectivity_check | No | Skip offline-abort check. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the risk profile is conveyed structurally. The description adds only that the reboot runs through the reboot action template and that recovery can be tracked elsewhere; it omits practical consequences such as temporary endpoint unavailability or interrupted user sessions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste; the purpose is front-loaded and the follow-up hint comes second. Nothing is repeated or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage, rich annotations and an output schema, the description only needs to frame intent and workflow, which it does. The main residual gap is not flagging that execution requires confirm='YES' and dry_run=false (a preview-by-default behavior), though that is fully specified in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters — including confirm, dry_run, target_type and skip_connectivity_check — are already documented in the schema. The description adds no additional parameter meaning, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: reboots the host. Among the many action-executing siblings (run_script, deploy_update, uninstall_program), 'reboot' is inherently distinct, so an agent can identify it. It does not explicitly contrast with those siblings, keeping it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names a follow-up tool (action1_wait_for_automation) to track recovery, which is genuinely useful sequencing guidance. However, it says nothing about when to prefer this over other remediation actions, nor about prerequisites such as needing a reachable endpoint before rebooting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_recurring_schedulesList recurring automation schedules (read)BRead-onlyIdempotent
List recurring automations with optional client-side filters (status, template_id, group id substring).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items. | |
| cursor | No | Pagination cursor. | |
| org_id | No | Org UUID. | |
| active_only | No | Drop paused/disabled schedules. | |
| template_id | No | Filter by first action template_id. | |
| response_format | No | Output format. Default markdown. | |
| group_id_substring | No | Filter by target group id substring. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so the safety profile is covered. The description does contribute one non-obvious behavioral fact, that filters are applied client-side rather than server-side, but it omits how that interacts with cursor/limit pagination or what the default fetch size is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no padding. It loses a point for naming a 'status' filter that isn't in the schema, which wastes the agent's attention and could cause a bogus argument.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and full annotation coverage, the definition is serviceable, but for a 7-parameter tool with zero required params it should say what happens by default (e.g. limit, whether all orgs are listed without org_id) and clarify the client-side filtering implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented in the schema; baseline is 3. The description only echoes template_id and group_id_substring and introduces a 'status' filter that has no corresponding parameter, so it adds no reliable meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List recurring automations'. However, it never explains how this differs from the closely named sibling action1_list_automation_schedules, and it advertises a 'status' filter that does not exist in the schema (the nearest is active_only), leaving the scope ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this instead of action1_list_automation_schedules, action1_list_recent_automations, or action1_automations_summary. An agent facing these similarly named siblings has nothing to disambiguate them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_remove_endpoint_from_groupRemove an endpoint from an endpoint groupADestructive
Remove a single endpoint from an endpoint group. POSTs the spec array body [{method:DELETE,endpoint_id}] to /endpoints/groups/{org}/{group}/contents (there is no DELETE verb or /contents/{id} sub-path).
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| group_id | Yes | Endpoint group id. | |
| endpoint_id | Yes | Endpoint UUID. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, so the risk profile is covered. The description adds genuine value by disclosing the undocumented wire behavior (POST with a spec array body, no real DELETE sub-path), which matters if an agent falls back to action1_raw_request. It still says nothing about the execution gating (dry_run defaults to preview, confirm "YES"), which is the riskiest part of actually calling this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, action stated first, implementation caveat second — nothing redundant and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations carry the return and safety contracts, and the description covers the non-obvious HTTP shape. The only meaningful omission is any mention of the two-step preview/confirm execution model for a destructive tool, which would help an agent avoid an accidental removal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are documented at the schema level; the description adds no per-parameter meaning. It only documents the serialized request-body shape, which is marginally useful context but not parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (remove) and resource (a single endpoint from an endpoint group), and the scope word 'single' cleanly distinguishes it from bulk/move siblings like action1_add_endpoint_to_group, action1_move_endpoint, or action1_update_endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the action described, but there is no explicit guidance on when to prefer this over action1_move_endpoint/action1_update_endpoint, nor any mention of the required dry_run/confirm safety flow before a destructive call. An agent must infer the workflow entirely from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_report_exportRun a report and return its data or CSV exportBRead-onlyIdempotent
Resolve a report by name or UUID, then return JSON rows or a CSV export blob.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows when format='json'. | |
| format | No | 'json' rows or 'csv' blob. | json |
| org_id | No | Org UUID. | |
| report | Yes | Report id or name fragment. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | string |
| count | No | number |
| items | No | array |
| total | No | number |
| format | No | string |
| content | No | string |
| report_id | No | string |
| truncated | No | number | boolean |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so safety is covered. The description adds that resolution accepts a name or UUID and that output switches between JSON rows and a CSV blob. It says nothing about the row cap, defaults, or whether the CSV path streams/blobs differently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resolve-then-return sequence is stated in order. It is efficient but arguably under-specified for a tool with five parameters rather than over-long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shapes need not be explained, and annotations carry the safety profile. Remaining needs for correct invocation, resolution key and format choice, are both stated, making the definition adequate for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters, including the format enum and limit bounds. The description corroborates 'name or UUID' resolution and the json/csv split but adds no format, syntax, or interaction details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb chain (resolve by name or UUID, then return rows or CSV blob) on a specific resource. An agent can tell this is a combined lookup-and-fetch tool. However, it does not differentiate from close siblings such as action1_list_report_data, action1_get_export_for_report, or action1_requery_report, even though several live in the same neighborhood.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to pick this over action1_list_report_data or action1_get_export_for_report, nor on prerequisites such as report having been run already. Usage can only be inferred from the description's wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_requery_installed_software_for_endpointRe-querying installed apps on a specific endpointBDestructive
Re-querying installed apps on a specific endpoint. Perm: view_installed_software, view_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Provide an endpoint ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the agent knows this is a state-changing, non-repeatable operation. The description adds required permissions (view_installed_software, view_endpoints), which is real value beyond annotations. However, it never says that a re-query dispatches a job to the endpoint agent and is asynchronous, nor that the response reflects a queued refresh rather than fresh data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with zero filler; the permission requirement is placed after the purpose. Slightly terse for a destructive trigger operation, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations plus 100% schema coverage handle safety and argument semantics, so the definition is workable. The missing piece is operational context an agent needs for a mutation tool: that the request is asynchronous, that dry_run previews it, and what happens if it is issued repeatedly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the non-obvious confirm="YES" and dry_run default true, so the schema already carries the parameter burden. The description adds nothing on parameters, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (re-query) and resource (installed apps) scoped to a single endpoint, which implicitly distinguishes it from action1_requery_installed_software_for_org. It stops short of naming the sibling or contrast case explicitly, so the boundary is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to trigger a re-query versus reading cached data via action1_list_installed_software_data / action1_get_installed_software_endpoint, and no note on when the org-wide variant applies. The only routing signal is the required permission pair, which is useful but not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_requery_installed_software_for_orgRe-querying installed appsBDestructive
Re-querying installed apps. This API method initiates an asynchronous update ("requery") of the installed software inventory. Perm: view_installed_software.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real value beyond the annotations: it says the operation is asynchronous (so results arrive later and must be fetched separately) and states the required permission (view_installed_software). But it doesn't explain why annotations mark this dangerous (destructiveHint true) — e.g., it triggers a fresh inventory scan on agents, which may be costly — or how to check completion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It's three short sentences and front-loaded, with the async nature and permission stated up front. The opening 'Re-querying installed apps' only restates the title and could be cut, which keeps it from being maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an async, destructive-flagged mutation with a dry-run gate and an output schema, it's too thin. It omits how to retrieve results after the requery, doesn't clarify the org-vs-endpoint scope against its sibling, and says nothing about the confirm/dry_run safety flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters (org_id, confirm, dry_run), which sets the baseline at 3. The description adds nothing further about them, and it doesn't mention the confirm='YES' safety gate that is central to invoking this tool correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb and resource: it 'initiates an asynchronous update of the installed software inventory.' However, the description never states the org-level scope that distinguishes it from the sibling action1_requery_installed_software_for_endpoint — only the tool name carries that distinction, so an agent reading the description alone can't tell which one to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance beyond the implicit 'you want a requery.' It doesn't name the endpoint-scoped sibling as an alternative, or say when to prefer one over the other. It also doesn't mention the dry_run default-true workflow that gates execution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_requery_reportRe-querying a reportADestructive
Re-querying a report. This API method initiates an asynchronous update ("requery") of the report's underlying data source. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| report_id | Yes | Provide a specific report ID. | |
| endpoint_id | No | The ID of the endpoint to query. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides crucial behavioral context by explicitly stating the operation is 'asynchronous' and 'initiates an update,' which is a key behavior an agent must know before calling it. This goes beyond the basic definition of re-querying.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is extremely concise (two sentences) while still conveying the core action, its nature (async), and the necessary permissions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the core purpose is covered, the description lacks detail regarding the asynchronous nature of the return (e.g., what the immediate response is, or where/how to check the status). Given the complexity of mutation/re-query tasks, a slightly higher score is warranted, but the lack of status return detail limits it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, and the purpose is clear. No significant unique semantic information about the parameters is added in the description, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('initiates an asynchronous update' / 're-query') and the resource ('report's underlying data source'). It is clear and concise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a specific permission requirement ('Perm: view_reports'), which is a usage guideline for access. However, it does not provide context on *when* to use this tool versus alternatives (e.g., why requery instead of refreshing or creating a new report).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_request_enterprise_closureClose the entire enterprise associated with Action1 accountADestructive
Close the entire enterprise associated with Action1 account. The request is available only for a free Action1 account. Perm: manage_enterprise.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: EnterpriseRequest) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| verified | No | |
| would_send | No | |
| description | No | |
| allowed_fast_closure | No | |
| closure_requested_at | No | |
| closure_requested_by | No | |
| closure_scheduled_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true. The description adds useful context beyond those annotations by stating the destructive scope is the entire enterprise and by naming the account-tier and permission prerequisites. It still does not explain reversibility or how this relates to revoking a closure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with the action and eligibility front-loaded, followed by the permission requirement. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive enterprise-wide operation, it covers scope, eligibility, and permission, and the schema covers confirm/dry_run and return structure via the output schema. The main missing context is the relationship to action1_revoke_enterprise_closure and any note about reversibility or downstream effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents reason, confirm, and dry_run. The description adds no parameter-level detail beyond mentioning the required permission, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: closing the entire enterprise associated with the Action1 account. It also adds an eligibility constraint. However, it does not explicitly distinguish this request from the closely related action1_revoke_enterprise_closure sibling or clarify whether closure is immediate versus requested.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly says the request is available only for a free Action1 account and requires manage_enterprise permission, which are important usage constraints. It does not explicitly say when to use this versus revoking a closure or updating the enterprise.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_request_enterprise_quoteRequest a quoteBDestructive
Request a quote. Sends a quote request to the Action1 Sales department. Perm: manage_enterprise.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: SubscriptionQuotePayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare openWorldHint=true and destructiveHint=true, so the agent knows this makes an external, non-reversible side effect. The description adds the required permission (manage_enterprise), which is genuinely useful, but says nothing about the confirm/dry_run safety flow that is central to invoking this tool safely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with purpose and followed by the destination and permission requirement. No filler, though the title simply repeats the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the schema fully documents parameters, so the bar is lower. Still, for an outward-facing request to a human sales team, the description omits what happens next (ticket creation, response expectations) and does not flag the dry_run-default-true behavior an agent must override.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nested body fields, the required "YES" confirm constant and the dry_run default are all already documented in the schema. The description adds no parameter meaning beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Request a quote") and adds the audience ("Sends a quote request to the Action1 Sales department"). That distinguishes it from trial/closure siblings in substance, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance; an agent must infer that this is the sales-contact path rather than action1_request_enterprise_trial or action1_request_enterprise_closure. The "Perm: manage_enterprise" prerequisite is the only concrete usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_request_enterprise_trialRequest a free trial or its extensionBDestructive
Request a free trial or its extension. Perm: manage_enterprise.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: SubscriptionPayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so the risk profile is carried by structured data. The description adds the auth requirement (manage_enterprise), which is genuine value, but it never explains the confirm/dry_run two-step safety ritual that a destructive-flagged tool would benefit from describing, nor what the trial request actually does to the enterprise.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and the permission noted second; no wasted text. It is efficient, though the first sentence largely restates the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Wait — recalibrating: for a mutation tool, the description omits when an extension applies vs. a new trial and says nothing about the effects of execution. With annotations covering safety and an output schema present, the remaining gap is modest but real, so 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so body, confirm and dry_run are already documented in the schema itself. The description adds nothing about parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Request a free trial or its extension') and is clearly distinct from nearby siblings such as action1_request_enterprise_quote or action1_request_enterprise_closure. It does not explicitly name which sibling to prefer, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage information is the permission string 'Perm: manage_enterprise.' There is no guidance on when to use this versus requesting a quote, requesting closure, or getting the subscription, and no stated preconditions such as whether a trial must already exist to request an extension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_revoke_enterprise_closureRevoke account closureADestructive
Revoke account closure. The Action1 enterprise will be immediately reactivated and all your data will be retained. Perm: manage_enterprise.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: EnterpriseRequest) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| verified | No | |
| would_send | No | |
| description | No | |
| allowed_fast_closure | No | |
| closure_requested_at | No | |
| closure_requested_by | No | |
| closure_scheduled_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the key outcome: the enterprise is immediately reactivated and data is retained. It also names the required permission. It does not explain confirm/dry_run behavior, but that is documented in the schema and output schema, and the annotations already cover the destructive/open-world nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and outcome. The permission note is compact and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive enterprise-level mutation, the description covers the action, immediate effect, data retention, and required permission. With annotations and a rich schema carrying confirmation and dry-run semantics, this is nearly complete, though a sentence about when the enterprise is eligible for revocation would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body.reason, confirm, and dry_run. The description adds only the manage_enterprise permission requirement and does not add syntax or semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: revoke an account closure. It is clearly the inverse of the sibling action1_request_enterprise_closure, and an agent can distinguish it from update_enterprise or get_enterprise without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to reverse a previously requested enterprise closure and notes the required manage_enterprise permission. It does not explicitly state when to use it versus action1_request_enterprise_closure or action1_update_enterprise, nor does it list exclusions or preconditions beyond the permission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_run_bash_macosRun a Bash script on a macOS endpointADestructive
Run a Bash script on a macOS endpoint via the run_script template. For OS-aware routing use action1_run_script.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| script_text | Yes | Script source. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| retry_minutes | No | Retry window in minutes when endpoint is offline. | |
| response_format | No | Output format. Default markdown. | |
| timeout_minutes | No | Per-action timeout in minutes (number or digit-string). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, non-idempotent, and non-read-only, and the description adds the notable detail that execution goes through the run_script action template. It says nothing further about the dry_run default, the confirm="YES" gate, or offline/retry behavior — all of which are left to the schema for a high-risk mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, action-first, with the routing alternative as the second sentence. No filler and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full annotation coverage, and 100% schema parameter documentation, the description only needs to establish purpose and routing, which it does. The one gap is failing to flag that execution is gated by confirm="YES" and defaults to dry_run=true, which an agent should know before calling a destructive tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every one of the 10 parameters (including confirm, dry_run, target_type, retry_minutes, timeout_minutes) is documented in the schema. The description mentions no parameters at all, so it adds no meaning beyond the structured fields; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run), a specific resource (a Bash script), and a specific target constraint (macOS endpoint), and names the sibling it differs from. An agent can distinguish it from action1_run_powershell and action1_run_script without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes OS-aware/unknown-OS cases to action1_run_script, which is the main branching decision for this tool family. It stops short of stating the negative condition (do not call this against Windows/Linux endpoints) explicitly, relying on 'on a macOS endpoint' to imply it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_run_data_collectionRun a data collectionCDestructive
Trigger the run_data_collection template on an endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| params | No | Optional template params. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false and readOnlyHint=false, so the risk profile is known. The description adds nothing beyond them: it never mentions that execution requires confirm="YES", that dry_run defaults to true/preview, or that target_type='EndpointGroup' fans out across endpoints — all of which materially change agent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no waste, but the brevity comes from omission rather than compression — it is front-loaded only trivially and provides no structure for the destructive, multi-mode operation it names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, destructive, fan-out-capable tool with a nested params object, a one-line description is insufficient. The confirm/dry_run safety gate and the Endpoint vs EndpointGroup targeting semantics are critical context that is left entirely to the schema, and an output schema does exist but the execution model still needs stating.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter including confirm, dry_run, target_type and params is documented in the schema; baseline 3 applies. The description contributes no additional meaning about parameter interactions or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a verb ("Trigger") and the specific template (run_data_collection) on a target (endpoint), so the basic action is identifiable. However, the resource name is a template identifier with no explanation of what data collection produces, and it does not distinguish this from siblings like action1_execute_and_wait, action1_run_script, or action1_create_automation_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over the many automation-execution siblings, no prerequisites, and no exclusions. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_run_powershellRun PowerShell on a Windows endpointBDestructive
Run PowerShell on a Windows endpoint via the run_powershell template. Runs as SYSTEM (no user profile).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| script_text | Yes | Script source. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| retry_minutes | No | Retry window in minutes when endpoint is offline. | |
| response_format | No | Output format. Default markdown. | |
| timeout_minutes | No | Per-action timeout in minutes (number or digit-string). | |
| success_exit_codes | No | Comma-separated success exit codes. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, so the safety profile is known. The description adds genuinely non-structured context: execution runs as SYSTEM with no user profile, which matters for scripts touching user-scoped paths. However, it omits the preview-by-default/confirm-to-execute gate and the offline retry window semantics, which are the most surprising behaviors for an execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, both load-bearing, with the capability stated first and the execution-context caveat second. No filler, though the extreme brevity for an 11-parameter destructive tool pushes the burden onto contextual completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive SYSTEM-level execution tool with 11 parameters, the description never mentions that dry_run defaults to preview (requiring deliberate execution), never mentions the confirmation gate, and never routes to run_bash_macos or run_script. The output schema and full param coverage reduce the burden, but the safety-relevant workflow context an agent needs is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters (endpoint_id, script_text, dry_run, confirm, target_type, retry/timeout, response_format, success_exit_codes) are already documented in the schema. The description adds nothing parameter-specific, which is acceptable at this coverage level but is not a baseline-beating contribution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Run PowerShell) plus resource constraint (Windows endpoint), which implicitly separates it from action1_run_bash_macos. It also names the underlying mechanism (run_powershell template). It does not explicitly contrast with action1_run_script or action1_execute_and_wait, so sibling differentiation is only partial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Windows platform qualifier implies when this tool applies versus the macOS sibling, but there is no explicit when-to-use/when-not guidance and no mention of alternatives such as action1_run_script or action1_execute_and_wait. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_run_scriptRun a script (auto-route by endpoint OS)ADestructive
Cross-platform script runner. Routes to PowerShell (Windows) or Bash (macOS); errors on Linux/unknown. For target_type='EndpointGroup' pass os ('windows' or 'macos').
| Name | Required | Description | Default |
|---|---|---|---|
| os | No | Script OS. Required for target_type='EndpointGroup'; for a single endpoint it must match the detected OS. | |
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| script_text | Yes | Script source. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| retry_minutes | No | Retry window in minutes when endpoint is offline. | |
| response_format | No | Output format. Default markdown. | |
| timeout_minutes | No | Per-action timeout in minutes (number or digit-string). | |
| success_exit_codes | No | PowerShell only; ignored on macOS. | |
| skip_connectivity_check | No | Skip offline-abort check. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true; the description usefully adds the routing/error behavior on top. However it never mentions the confirm="YES" gate, the dry_run default of true, or the blast radius when fanning out to an endpoint group, which are the behaviors an agent most needs to reason about for a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero waste, with the routing rule front-loaded and the group-specific caveat second. Every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter destructive tool with full schema coverage, rich annotations, and an output schema, the description covers the one non-obvious routing rule and the Linux exclusion. The confirm/dry_run execution gate and group fan-out semantics are left to the schema, which is acceptable but leaves a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description only restates what the schema already says about os (required for EndpointGroup, windows/macos values) and adds nothing about timeout_minutes, retry_minutes, confirm, or success_exit_codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (script runner) and its defining trait: it auto-routes to PowerShell on Windows or Bash on macOS. This functionally distinguishes it from the sibling action1_run_powershell and action1_run_bash_macos, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a real usage condition ('For target_type=EndpointGroup pass os') and a when-not rule ('errors on Linux/unknown'), which steers the agent away from unsupported targets. It stops short of saying 'use action1_run_powershell when you want explicit PowerShell', so alternative selection is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_searchSearchCRead-onlyIdempotent
Search. Perm: view_endpoints, view_software_repository, view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Set the maximum number of items to be returned (the page size). | |
| query | Yes | Provide a query for searching. | |
| org_id | No | Org UUID. | |
| verbose | No | Skip per-item compactor. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| truncated | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description's only added value is the required permission names, which is useful access context but no detail on result caps, cost, or breadth of the open-world search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the leading word "Search" carries no information and the permission tokens are terse abbreviations. Brevity here reflects under-specification more than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter, open-world search tool with several search-like siblings, the description omits query syntax, result scope, and domain boundaries. An output schema exists so return shape is covered, but the selection guidance an agent needs is largely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters including query, limit, org_id, verbose, and response_format are already documented. The description adds nothing beyond the schema, which is acceptable at full coverage but leaves the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially "Search", which restates the tool name without saying what resource is searched or what kind of query is accepted. It gives no hint of how this differs from siblings like action1_search_endpoints or action1_audit_log_search, leaving the agent to guess scope from the permission list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no named alternative among the many search/list siblings. The permission tokens (view_endpoints, view_software_repository, view_reports) faintly suggest a cross-domain search, but the agent must infer this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_search_endpointsSearch endpoints (client-side substring filter, cursor-paginated)ARead-onlyIdempotent
Case-insensitive substring search restricted to hostname, user, OS and status fields. Walks the endpoint list page by page and matches client-side.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items. | |
| query | Yes | Substring (case-insensitive). | |
| cursor | No | Pagination cursor. | |
| fields | No | Restrict matching to these fields. | |
| org_id | No | Org UUID. | |
| projection | No | Per-endpoint projection. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the description earns its credit by disclosing the implementation trait: matching is done client-side while walking pages via cursor. That tells an agent results depend on full traversal and can be slow on large estates, which is genuinely useful. Output format/projection behavior is left to the schema and output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the matching semantics front-loaded and the traversal mechanism second. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description only needs to convey matching semantics and traversal cost, and it does both. A note on the default field set (what happens when 'fields' is omitted) would close the last gap for a 7-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline applies. The description's enumeration of hostname/user/OS/status mirrors the 'fields' enum without adding defaults, precedence, or how an omitted 'fields' behaves, so it adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('substring search ... endpoint list') plus the searched fields, which separates it from a plain list operation. It never names the sibling it competes with (action1_list_endpoints, action1_search), so differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'case-insensitive substring' framing implies the tool is for text matching rather than browsing or filtered listing, which is a usable signal. There is no explicit when-to-use/when-not or pointer to action1_list_endpoints for unfiltered enumeration or action1_search for other resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_software_inventory_for_endpointList installed software for an endpointARead-onlyIdempotent
Fetch installed-software inventory for one endpoint, with optional name substring filter.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items. | |
| cursor | No | Pagination cursor. | |
| org_id | No | Org UUID. | |
| endpoint_id | Yes | Endpoint UUID. | |
| find_by_name | No | Substring filter on application name. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| count | Yes | |
| items | Yes | |
| total | No | |
| has_more | No | |
| next_cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety and repeatability are covered. The description adds only the existence of a name filter; it does not mention pagination via cursor/limit or that inventory data is a snapshot that may need requerying. Additive but thin given rich annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero padding; the scope and the one optional filter are stated in that order. It is efficient, though the lack of any second clause means nothing is prioritized beyond scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the input schema is fully described, so the description only needs to establish scope, which it does. For a read-only, idempotent, paginated list tool with complete structured metadata, nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in structured form; the baseline of 3 applies. The description echoes the endpoint scoping and the substring nature of find_by_name but adds no semantics beyond the schema (no default behaviour for limit or how cursor chains with it).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb ('Fetch') plus a precise resource ('installed-software inventory') and states the scope ('for one endpoint'). An agent can tell it is per-endpoint rather than org-wide, but the description never names the near-identical sibling action1_get_installed_software_endpoint or action1_list_installed_software_data, leaving the boundary to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The per-endpoint scope implies when to use it (single-host investigation rather than fleet-wide reporting), but no alternative is named and no exclusions are given. Nothing tells the agent to prefer action1_requery_installed_software_for_endpoint when the inventory may be stale, which is a meaningful routing decision here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_stop_instanceStop a automationADestructive
Stop a automation. Stops applying a automation instance and aborts actions running on a remote endpoint. Perm: manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| instance_id | Yes | Provide a specific instance ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tool | No | |
| type | No | |
| status | No | |
| dry_run | No | |
| would_send | No | |
| user_message | No | |
| developer_message | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and openWorldHint=true, but the description adds meaningful consequence detail beyond them: the stop aborts actions actively running on a remote endpoint, which tells the agent the blast radius extends to in-flight work. The permission requirement is also stated, though the dry_run-default-true / confirm="YES" safety gates are left to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and then the mechanism and permission. Slightly redundant ("Stop a automation" immediately restated as "Stops applying a automation instance"), and grammar is off ("a automation"), but there is no wasted explanatory padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with full annotation coverage, a documented output schema, and 100% param coverage, the description supplies the essential missing pieces: the remote-abort side effect and the required permission. It could still note that the call previews by default unless dry_run is false, since that changes agent behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description mentions no parameter semantics at all; the instance_id, org_id, confirm, and dry_run meanings are entirely carried by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource ("Stop a automation") and clarifies the mechanism: stopping the instance's application and aborting actions on the remote endpoint. This differentiates it from delete_automation or get_automation_status in the sibling set, though it never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus delete_automation, delete_automation_action, or the status/results tools. The only conditional information given is the required permission (manage_automations), not a usage decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_uninstall_programUninstall a programADestructive
Uninstall software via the uninstall_program template. Use action1_get_action_template for the params schema.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Friendly action name. | |
| org_id | No | Org UUID. | |
| params | Yes | Template params for uninstall_program. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Endpoint UUID, or Group ID when target_type='EndpointGroup'. | |
| target_type | No | Endpoint (default) or EndpointGroup for fan-out. | |
| response_format | No | Output format. Default markdown. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds procedural context the annotations cannot: execution is mediated by a named template whose parameter shape must be fetched first. It does not restate the confirm/dry_run safeguards, but the schema documents those at full coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the operation front-loaded and the dependency instruction second. Every clause carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, template-driven action with 8 params and an output schema, the description covers the essential gaps: what it does and how to obtain the param contract. Minor omission is that it doesn't mention the endpoint-vs-group fan-out or the dry_run default, both of which are documented in the schema rather than the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline would be 3, but the description adds genuine meaning beyond the schema: the freeform 'params' object's contents are defined by the uninstall_program template and must be resolved via action1_get_action_template. That is exactly the missing semantic the empty additionalProperties schema cannot convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Uninstall software') and identifies the underlying mechanism (the uninstall_program template), which separates it from sibling mutation tools like action1_deploy_package or action1_run_script. It does not explicitly contrast with any sibling, keeping it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives a concrete prerequisite: call action1_get_action_template to learn the params schema. That is a real routing/sequencing instruction an agent needs. It stops short of when-not guidance (e.g., bulk group uninstalls vs single endpoint) or advice on using dry_run first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_automationUpdate a automation scheduleBDestructive
Update a automation schedule. Perm: manage_automations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema: AutomationSchedulePayload) | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| automation_id | Yes | Provide a specific automation ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| actions | No | |
| dry_run | No | |
| last_run | No | |
| next_run | No | |
| settings | No | |
| endpoints | No | |
| would_send | No | |
| last_instance | No | |
| retry_minutes | No | |
| settings_timezone | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, idempotentHint=false and readOnlyHint=false, so the danger profile is known without the description. The description does add the required permission scope (manage_automations), which is genuinely useful context, but it never says whether the update replaces the whole schedule payload or merges, nor that confirm="YES" plus dry_run=false are needed to actually execute.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. The brevity is efficient rather than padded, though the second sentence is a bare permission tag rather than useful prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, rich annotations and full schema coverage, much of the burden is carried elsewhere. Still, for a destructive, non-idempotent update with a nested payload and an explicit confirm gate, the description should at minimum signal replacement semantics and the dry-run default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including per-field docs for body, settings, endpoints, retry_minutes, confirm and dry_run, so the baseline is 3. The description adds no parameter semantics of its own — no explanation of automation_id scope or of the settings/endpoints payload shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Update a automation schedule'), and the name separates it from create/get/list schedule siblings by the verb alone. It does not explicitly distinguish it from action1_update_automation-adjacent tools such as create_automation_schedule or get_automation_schedule, so an agent gets the gist but no sibling routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only extra sentence is 'Perm: manage_automations.', which is an authorization requirement, not usage guidance. Nothing says when to update versus create a new schedule, whether the schedule should be fetched first, or how confirm/dry_run govern execution.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_data_sourceUpdate a custom data sourceCDestructive
Update a custom data source. Updates a custom data source specified by its ID. Perm: manage_data_sources.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: DataSourcePayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| data_source_id | Yes | Provide a specific data source ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| status | No | |
| builtin | No | |
| columns | No | |
| dry_run | No | |
| language | No | |
| would_send | No | |
| description | No | |
| script_text | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered. The description adds useful non-annotation context — the required 'manage_data_sources' permission — but never mentions the dry_run/confirm preview-execute flow, which is the single most important behavioral fact for a destructive update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are near-duplicates: 'Update a custom data source.' followed by 'Updates a custom data source specified by its ID.' One of them is pure waste, and the remaining permission note is tacked on as an abbreviation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and schema coverage is complete, so return values and parameter meaning are handled elsewhere. What is missing is the confirmation/preview workflow and any note about partial-update semantics for the nested body object — expected detail for a destructive tool with four parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains data_source_id, confirm, dry_run and every body field. The description only echoes that the target is specified by ID, adding nothing new; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update a custom data source') and names the ID-based targeting, so an agent knows it is a mutation on a single data source. It does not, however, differentiate itself from the many sibling update_* tools (update_script, update_setting, update_report) beyond the resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this vs. action1_create_data_source, action1_get_data_source, or action1_delete_data_source, nor any prerequisite context. The only hint an agent gets is the permission string, which is a gate, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_endpointChange an endpoint comment or nameBDestructive
Change an endpoint comment or name. Changes the user-defined 'comment', 'name' and custom attributes for the specified endpoint. Perm: manage_endpoint_attributes.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| endpoint_id | Yes | Provide an endpoint ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| OS | No | |
| id | No | |
| MAC | No | |
| NIC | No | |
| RAM | No | |
| WiFi | No | |
| disk | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| user | No | |
| video | No | |
| custom | No | |
| serial | No | |
| status | No | |
| address | No | |
| comment | No | |
| dry_run | No | |
| CPU_name | No | |
| CPU_size | No | |
| platform | No | |
| CPU_model | No | |
| last_seen | No | |
| would_send | No | |
| device_name | No | |
| architecture | No | |
| manufacturer | No | |
| agent_version | No | |
| online_status | No | |
| update_status | No | |
| last_boot_time | No | |
| missing_updates | No | |
| organization_id | No | |
| reboot_required | No | |
| vulnerabilities | No | |
| AD_security_groups | No | |
| agent_install_date | No | |
| subscription_status | No | |
| AD_organization_unit | No | |
| vulnerability_status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the risk profile is covered; the description adds the concrete authorization requirement ('Perm: manage_endpoint_attributes'), which is genuine value beyond structured data. However it never mentions the preview/execute workflow (dry_run defaults true, confirm="YES" required) at the description level, leaving the most consequential behavioral detail to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the mutation target front-loaded, no filler. The second sentence partially restates the first ("Change ... comment or name" then "Changes the user-defined 'comment', 'name'..."), so a small amount of redundancy remains.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the permission requirement is stated. But for a destructive, non-idempotent mutation behind a two-step dry_run/confirm gate, the description says nothing about the safety workflow or which fields are omitted vs. cleared, leaving context that would materially help an agent call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters, establishing baseline 3. The description names the fields the body can carry but adds no format, key-naming, or custom-attribute syntax detail beyond what the schema's 'custom:{Custom Attribute Name}' pattern shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Change an endpoint comment or name") and enumerates the mutable fields (comment, name, custom attributes), which separates it from sibling mutations like action1_move_endpoint or action1_update_group. It does not explicitly name a sibling alternative, so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not guidance and no mention of alternatives among the many endpoint-mutating siblings. The only routing signal is the permission name 'manage_endpoint_attributes', which implies the caller needs that scope but doesn't tell an agent when to pick this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_endpoint_agent_deploymentUpdate Agent Deployment settingsBDestructive
Update Agent Deployment settings. Updates the Agent Deployment configuration for a specific organization. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: AgentDeploymentPayload) | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| dry_run | No | |
| would_send | No | |
| connector_id | No | |
| connector_name | No | |
| connector_status | No | |
| connector_last_seen | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, and not idempotent, so the safety profile is largely carried for the agent. The description adds one piece of context not present in the structured fields — the required permission 'manage_endpoints' — but says nothing about what existing configuration is overwritten, whether the update is partial or full, or that a confirmation/dry-run gate exists (which only appears in the schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action. The second sentence is nearly a restatement of the first ('Update Agent Deployment settings' / 'Updates the Agent Deployment configuration'), which is minor waste but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and full schema coverage, so return values and parameter shapes are covered elsewhere. However, this is a destructive mutation gated behind confirm="YES" and dry_run-defaulting-to-true, and the description never signals that preview/execute flow — for a destructive write tool that is a meaningful omission even with annotations present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the nested body fields, org_id, confirm, and dry_run are all documented in the schema itself; the description correctly does not need to repeat them. It also adds no syntax or format insight of its own, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (update Agent Deployment settings) and adds a scope qualifier the title lacks ('for a specific organization'). The second sentence largely restates the first, and it never distinguishes this from neighboring deployment/discovery tools like get_endpoint_discovery_settings or create_endpoint_group, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool versus alternatives, nor any stated prerequisites beyond the permission token. The 'Perm: manage_endpoints' line hints at an access requirement but is not framed as a usage condition or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_enterpriseUpdate enterprise settingsCDestructive
Update enterprise settings. Updates settings for a current enterprise. Perm: manage_enterprise.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: EnterprisePayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| verified | No | |
| would_send | No | |
| description | No | |
| allowed_fast_closure | No | |
| closure_requested_at | No | |
| closure_requested_by | No | |
| closure_scheduled_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real value beyond annotations with the permission requirement ("Perm: manage_enterprise"), which annotations do not convey. However, for a tool flagged destructiveHint=true and idempotentHint=false, it says nothing about the preview-then-execute pattern, partial-update semantics, or that omitted fields are left unchanged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, which is good, but the second sentence is pure restatement and the permission note is appended without structure. Space that could have held the confirm/dry_run contract is spent on redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but this is a destructive, non-idempotent mutation with a nested payload and a required-confirmation gate, and the description covers none of that. For its complexity the definition leaves too much for the schema to carry.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents body, confirm, and dry_run — baseline 3. The description adds no field-level meaning such as whether name/description are optional or how an empty body is handled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Update enterprise settings") that clearly maps to the enterprise-level object, distinguishable from siblings like action1_get_enterprise or action1_update_organization. The second sentence restates the same idea rather than narrowing scope further.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings, no preconditions, and nothing about the two-step dry_run/confirm workflow implied by the schema. An agent must open the schema and infer the safe invocation sequence itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_groupChange group settingsCDestructive
Change group settings. Changes settings for an existing endpoint group in the specified organization. Perm: manage_endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: EndpointGroupPayload) | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| group_id | Yes | Provide an endpoint group ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| contents | No | |
| would_send | No | |
| description | No | |
| uptime_alerts | No | |
| exclude_filter | No | |
| include_filter | No | |
| exclude_filter_logic | No | |
| include_filter_logic | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, idempotentHint=false and openWorldHint=true, so the risk profile is carried structurally. The description adds one genuinely useful non-schema fact, the required permission (manage_endpoints), but says nothing about whether omitted fields are cleared, whether the operation is reversible, or that dry_run defaults to true — all material for a destructive update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, but sentence two ('Changes settings for an existing endpoint group in the specified organization') largely restates sentence one. The only non-redundant content is the permission requirement in the third sentence; the restate could be replaced by behaviorally useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool takes a deeply nested payload with complex include/exclude filter DSL and is flagged destructive, yet the description omits update semantics (full replace vs partial), the default-preview behavior, and any recovery guidance. An output schema exists so return values needn't be explained, but the mutation semantics gap is significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter, including the nested body, include_filter/exclude_filter arrays and the confirm/dry_run pair, is documented in the schema itself. The description adds no parameter meaning beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: change settings for an existing endpoint group in a given organization. The word 'existing' implicitly separates it from action1_create_endpoint_group, but no sibling is named and the scope of 'settings' (name, description, filter lists, alerting) is left to the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus action1_create_endpoint_group, action1_delete_group, action1_update_endpoint, or action1_move_endpoint. Nothing explains the dry_run/confirm workflow that gates execution, which is exactly the sort of routing information an agent needs here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_meUpdate the current user settingsCDestructive
Update the current user settings. Updates settings for the currently authenticated user.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: UserPayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| value | No | |
| dry_run | No | |
| would_send | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the schema carries the safety profile. The description adds no behavioral context of its own — it doesn't mention that the call is destructive, that it requires an explicit "YES" confirmation, or that it previews by default. It does not contradict the annotations, but it contributes nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the second sentence is a pure restatement of the first and does not earn its place. Brevity here comes from under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with a confirm gate and a dry-run default, the description should at minimum explain the two-step preview/execute flow and what is affected. The output schema and schema descriptions cover the mechanics, but the description leaves the agent to discover the safety protocol only by opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter (body.timezone, confirm, dry_run) is documented in the schema, so the baseline of 3 applies. The description mentions no parameters at all — notably it never hints that only timezone is currently exposed in UserPayload — so it neither compensates nor detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does state a verb and resource ("Update the current user settings"), so the general intent is inferable. However, the second sentence ("Updates settings for the currently authenticated user") is a paraphrase of the title and adds nothing, and there is no differentiation from siblings such as action1_update_user or action1_get_me, which are the obvious confusion points given a 130+ tool surface.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus action1_update_user (updating other users) or action1_get_me (reading the same resource). Nothing is said about the confirm/dry-run execution protocol that a destructive mutation requires, which is exactly the kind of routing information an agent needs before invoking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_organizationUpdate organization settingsCDestructive
Update organization settings. Updates settings for an organization specified by its ID. Perm: manage_organizations.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: OrganizationPayload) | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| would_send | No | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is carried by structured data. The description adds the authorization requirement (manage_organizations), which is genuinely useful context, but says nothing about the confirm/'YES' plus dry_run preview flow that governs how this destructive mutation actually executes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, but the second ('Updates settings for an organization specified by its ID') repeats the first with no new information. The one genuinely additive fact, the permission requirement, is buried at the end.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the schema documents all parameters, so the description needn't explain returns. Still, for a destructive, non-idempotent mutation gated behind a confirm string and a default-on dry_run, an agent would benefit from an explicit note on the preview-then-execute sequence, which is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so org_id, confirm, dry_run, and the body fields are already documented. The description only echoes that the target is an org ID and adds no syntax, constraints, or guidance on the nested OrganizationPayload body; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (update organization settings) and ties it to an org ID, so the basic purpose is clear. However, the second sentence largely restates the first, and nothing distinguishes this from sibling update tools such as action1_update_enterprise or action1_update_me.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage information is the required permission ('Perm: manage_organizations'). There is no guidance on when to use this versus action1_create_organization, action1_update_enterprise, or action1_update_setting, and no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_packageUpdate Software Repository package settingsBDestructive
Update Software Repository package settings. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| package_id | Yes | Provide a specific package ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| scope | No | |
| status | No | |
| vendor | No | |
| builtin | No | |
| dry_run | No | |
| versions | No | |
| would_send | No | |
| description | No | |
| internal_notes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the important behavior: destructiveHint=true, idempotentHint=false, openWorldHint=true. The description adds the auth requirement (manage_software_repository), which is genuinely useful context beyond the structured fields, but it never mentions that changes are destructive or that a preview/confirm flow exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no padding; the purpose comes first and the permission second. It is efficiently sized, though the brevity leaves the gaps noted in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema and output schema are rich enough to carry parameter and return semantics, so the description only needs to supply judgment guidance. For a destructive, non-idempotent mutation tool, it omits any warning about the effect of the change and any pointer to sibling tools, leaving the definition only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter, including the dry_run default of true and the confirm 'YES' constant, is documented in the schema. The description adds no parameter meaning at all, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Update Software Repository package settings'), which is clear enough to act on. It does not distinguish the tool from nearby siblings such as action1_update_version or action1_create_package_version, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the permission string 'Perm: manage_software_repository', which is an authorization prerequisite, not a usage rule. Nothing states when to update package settings versus update a version or when this is preferable to get_software_repository_package first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_remediationUpdates record of compensating controls when remediation changesBDestructive
Updates record of compensating controls when remediation changes. Perm: manage_vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: RemediationPayload) | |
| cve_id | Yes | The unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300 | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| remediation_id | Yes | A specific remediation ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| comment | No | |
| dry_run | No | |
| would_send | No | |
| product_name | No | |
| creation_date | No | |
| remediated_by | No | |
| remediation_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the required permission ('Perm: manage_vulnerabilities'), which is genuine value, but it omits the safety-gated execution flow (confirm=YES, dry_run default true) that materially affects how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the verb leading and the permission requirement appended last — no waste. The brevity borders on under-specification but the structure is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with a nested body, a confirm/dry_run gate, and an output schema, the description covers purpose and permission but not the preview-then-confirm execution model or what the update affects. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so cve_id, remediation_id, confirm, dry_run, and org_id are all documented in the schema itself. The description adds nothing beyond that baseline, which is acceptable when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Updates record of compensating controls') tied to a remediation change, which is understandable. It does not name or differentiate from siblings like action1_create_cve_remediation or action1_delete_remediation, and the phrase 'compensating controls' is slightly opaque compared to the schema's 'remediation (compensating control) applied.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus create/delete remediation siblings, nor any prerequisites or exclusions beyond the permission string. The agent must infer the update-vs-create distinction from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_remote_sessionSwitch a current monitorBDestructive
Switch a current monitor. Changes the 'current_monitor' parameter for a specific remote session. Perm: remote_connect.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| session_id | Yes | Provide a specific remote session ID. | |
| endpoint_id | Yes | Provide an endpoint ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| tool | No | |
| type | No | |
| dry_run | No | |
| user_id | No | |
| connected | No | |
| current_ip | No | |
| would_send | No | |
| endpoint_name | No | |
| enterprise_id | No | |
| monitor_count | No | |
| customer_email | No | |
| remote_session | No | |
| connection_type | No | |
| current_monitor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The 'Perm: remote_connect' note adds a genuine auth requirement not in the schema or annotations. However, with destructiveHint=true and a mandatory confirm="YES" / dry_run=false pattern in the schema, the description omits any warning that this is a state-changing, non-idempotent action requiring explicit confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the action front-loaded and no filler. Efficient, though the second sentence largely repeats the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, but for a destructive, non-idempotent mutation the description should surface the dry_run/confirm safety protocol and scope (one session at a time). It is callable but under-specified behaviorally.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all six parameters are already documented in the schema. The description only restates the current_monitor target and implies a session ID, adding essentially nothing beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Switch a current monitor') and clarifies it mutates the 'current_monitor' field of a specific remote session. It is distinguishable from get_remote_session and create_endpoint_remote_session, though it never names those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus get_remote_session or create_endpoint_remote_session, and no mention of the required preview/confirm workflow. The agent must infer usage entirely from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_reportUpdate a custom reportCDestructive
Update a custom report. Updates a custom report. You cannot changes a custom report's category. Perm: manage_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: ReportPayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| report_id | Yes | Provide a specific report ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| simple | No | |
| builtin | No | |
| dry_run | No | |
| alertable | No | |
| filter_set | No | |
| would_send | No | |
| description | No | |
| report_data | No | |
| data_sources | No | |
| data_sourses | No | |
| report_errors | No | |
| column_aliases | No | |
| simple_columns | No | |
| parent_category | No | |
| summary_columns | No | |
| long_description | No | |
| drilldown_columns | No | |
| summary_customizable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the description is not required to carry the full safety burden. It does add value with the manage_reports permission requirement and the immutability of the category field, but it omits that this is a non-idempotent destructive write and says nothing about whether the body replaces the whole report or patches individual fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are duplicates ('Update a custom report. Updates a custom report.'), wasting half the text, and there is a grammar error ('You cannot changes'). Front-loading is fine, but the content is not edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full annotation coverage, and 100% schema coverage, most structured information is already present. However, for a destructive update the description should clarify update semantics (full replacement vs partial patch) and that dry_run/confirm gate execution by default, neither of which is stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema already documents report_id, body fields, confirm, and dry_run. The description adds only one parameter-adjacent fact, that category is not updatable, which is helpful but marginal against the fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the verb and resource ('Update a custom report'), which is clear enough in isolation, but the sentence is immediately repeated verbatim, signalling low information content. It gives no differentiation from sibling tools such as action1_create_report, action1_delete_report, or action1_get_report_or_category.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over creating, deleting, or fetching a report. The only usable hints are the 'Perm: manage_reports' prerequisite and the note that category cannot be changed, which are constraints rather than usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_report_subscriptionUpdate the report subscriptionCDestructive
Update the report subscription. Updates the report subscription. Perm: view_reports.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: ReportSubscriptionPayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| subscription_id | Yes | Provide a specific subscription ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| self | No | |
| tool | No | |
| type | No | |
| format | No | |
| dry_run | No | |
| comments | No | |
| would_send | No | |
| endpoint_count | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only the permission string; it does not disclose what gets overwritten or lost, whether omitted fields are preserved, or how the destructive update behaves — notable for a mutation tool, and the mention of a "view" permission on a destructive update is confusing rather than clarifying.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description wastes an entire sentence restating the first verbatim ("Update the report subscription. Updates the report subscription."), which is pure duplication rather than front-loaded information. The permission note is the only non-redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a destructive mutation with a nested body payload, a confirm/dry_run safety gate, and an output schema, the description should at minimum say what updating changes or reassure about the preview/confirm mechanism. Instead it supplies only a permission name, leaving the agent dependent entirely on schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including documented subscription_id, confirm, dry_run, and nested body fields, so the schema does the heavy lifting and baseline 3 applies. The description adds no extra meaning about parameter interactions, such as that confirm must be "YES" and dry_run defaults to true.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says "Update the report subscription" and then repeats the same sentence, adding nothing beyond the tool name and title. It identifies the verb and resource but offers no detail about which aspects of the subscription are updatable, and it doesn't distinguish itself from list/create/delete/get report subscription siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus action1_create_report_subscription, action1_delete_report_subscription, or action1_list_report_subscriptions. The only extra text is "Perm: view_reports", which gives an auth hint but no usage context or prerequisites about the confirm/dry_run flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_roleUpdate a specific roleADestructive
Update a specific role. Updates a role specified by its ID. Perm: manage_roles.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| role_id | Yes | Provide a specific role ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| users | No | |
| dry_run | No | |
| would_send | No | |
| description | No | |
| scoped_permissions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations handle the destructive and non-read-only nature, the description adds critical operational context: the need for a specific role ID and the exact permission requirement. This helps the agent understand the necessary pre-conditions for execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using two short sentences to convey the core function and the authorization context without any filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the complexity of the input body and the existence of `dry_run` and `confirm` parameters, the description is minimally complete. It provides the necessary context (ID requirement and permission scope) that an agent needs to decide if this tool is the correct fit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100%, meaning the input schema is already highly detailed. The description doesn't add technical meaning beyond confirming the primary ID parameter and the content updates, thus meeting the baseline score for perfect schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Update'), the resource ('a specific role'), and uses the explicit context of being specified by its ID. Given the large list of siblings, this phrasing easily distinguishes it from create, list, or delete actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly indicates the target is a role specified by ID, inherently differentiating it from global operations. The inclusion of the required permission ('Perm: manage_roles') acts as a strong guide for usage context and authorization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_scriptUpdate a custom scriptADestructive
Update a custom script. Updates details for an existing custom script specified by its ID. Perm: manage_scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| script_id | Yes | Provide a specific script ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| params | No | |
| status | No | |
| builtin | No | |
| dry_run | No | |
| language | No | |
| would_send | No | |
| description | No | |
| script_text | No | |
| enterprise_id | No | |
| success_codes | No | |
| reboot_exit_codes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose destructive, non-idempotent, and open-world behavior. The description adds useful authorization context with 'Perm: manage_scripts', though it does not further explain mutation behavior beyond what the schema and annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but the first sentence largely repeats the title and the second sentence restates the update purpose. It is efficient overall, with only minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has rich schema coverage, annotations, and an output schema, so the description does not need to explain return values or parameters. However, for a destructive update tool it gives no guidance on preview/execute behavior or sibling alternatives, leaving some contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents script_id, body fields, confirm, and dry_run. The description only reiterates that the script is specified by ID and adds no additional parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: update an existing custom script by ID. It is clear what the tool does, but it does not distinguish this from sibling script tools such as create_script, delete_script, or update_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'existing custom script specified by its ID' implies when to use the tool, but there is no explicit guidance on alternatives, when not to use it, or how dry_run/confirm affect invocation. Usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_settingUpdate a settingADestructive
Update a setting. Updates an existing setting specified by its ID. Perm: manage_advanced_settings.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (schema: SettingPayload) | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| setting_id | Yes | Provide a specific setting ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| self | No | |
| tool | No | |
| type | No | |
| scope | No | |
| value | No | |
| dry_run | No | |
| value_type | No | |
| would_send | No | |
| description | No | |
| template_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is destructive, non-idempotent, and open-world, so the description carries a lighter burden. It usefully adds the required permission ("manage_advanced_settings"), but does not explain destructive effects, reversibility, or the preview/execute workflow around dry_run and confirm.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with the permission requirement separated cleanly. The first sentence restates the tool name and title, so there is a small amount of redundancy, but overall it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has rich schema coverage, annotations, and an output schema, so the description need not explain parameter details or return values. It includes the key permission requirement, though it could mention the confirm/dry_run execution model for a destructive update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents setting_id, body, confirm, and dry_run. The description only adds that the setting is specified by ID, which is already conveyed by the schema; baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ("Update a setting") and clarifies that it updates an existing setting identified by ID. It does not explicitly differentiate this from the sibling create/get/delete setting tools, but the operation itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "Updates an existing setting specified by its ID" implies the usage context, but there is no explicit guidance on when to use this versus create_setting, get_setting, or delete_setting. No exclusions or prerequisites beyond the permission note are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_userUpdate userCDestructive
Update user. Updates an existing user. Perm: manage_users.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| user_id | Yes | Provide a specific user ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| value | No | |
| dry_run | No | |
| would_send | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true. The description adds a useful permission gate, but omits the most consequential behavior: that changes only execute after confirm="YES" with dry_run=false, and that fields omitted from the body may be left untouched. For a destructive mutation, that safety flow should be surfaced in prose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three fragments, of which the first two say the same thing ("Update user" / "Updates an existing user"). That space would be better spent on the dry_run/confirm execution flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a destructive, non-idempotent user mutation the description should at least flag the two-step preview/confirm execution model and the manage_users requirement's implications. Neither is present beyond the bare permission string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents user_id, body, confirm and dry_run, including the "Default true (preview)" note. The description contributes nothing about parameters beyond the implicit permission, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Update user. Updates an existing user." restates the name and title without adding scope. Nothing distinguishes it from action1_update_me or action1_update_organization, nor does it say what aspects of the user can change.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus action1_create_user, action1_update_me, or action1_get_user. The only actionable cue is the permission requirement "Perm: manage_users", which hints at prerequisites but not at tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_update_versionModify version in Software Repository packageCDestructive
Modify version in Software Repository package.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| package_id | Yes | Provide a specific package ID. | |
| version_id | Yes | Provide a specific version ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| OS | No | |
| id | No | |
| self | No | |
| tool | No | |
| type | No | |
| notes | No | |
| dry_run | No | |
| version | No | |
| EULA_text | No | |
| binary_id | No | |
| file_name | No | |
| would_send | No | |
| update_type | No | |
| install_type | No | |
| release_date | No | |
| security_CVE | No | |
| EULA_accepted | No | |
| app_name_match | No | |
| approval_status | No | |
| scoped_approvals | No | |
| reboot_exit_codes | No | |
| security_severity | No | |
| additional_actions | No | |
| success_exit_codes | No | |
| allow_x86_x64_on_arm | No | |
| silent_install_switches | No | |
| uninstall_app_name_match | No | |
| silent_uninstall_switches | No | |
| minimum_required_agent_version | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is destructive, non-idempotent, and open-world, which lowers the disclosure bar. However, the description adds no behavioral context beyond the title, such as what fields are modified, whether changes are reversible, or how the destructive operation is gated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no wasted words, but it is effectively a title repetition rather than a front-loaded, informative statement. Conciseness is achieved at the cost of under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive mutation tool with a complex body schema and no explanatory context in the description. While annotations cover safety hints and the output schema covers return values, the description gives an agent no understanding of the operation's scope or effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters including body fields, dry_run, and confirm. The description adds no parameter semantics, which is acceptable given the high schema coverage but provides no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the title almost verbatim: 'Modify version in Software Repository package.' It names a verb and resource, but provides no distinguishing detail versus siblings such as action1_update_package, action1_create_package_version, or action1_get_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of the confirm/dry_run workflow. An agent must infer usage entirely from the schema and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_upload_software_chunkUpload package file chunksCDestructiveIdempotent
Not supported by this server (see error text). Upload package file chunks. Uploads package file chunks. Perm: manage_software_repository.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Request body (application/octet-stream) | |
| org_id | No | Org UUID. | |
| confirm | No | Required to execute. Exact string "YES". | |
| dry_run | No | Default true (preview). Set false to execute. | |
| platform | Yes | platform | |
| upload_id | Yes | upload_id | |
| package_id | Yes | Provide a specific package ID. | |
| version_id | Yes | Provide a specific version ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | No | |
| value | No | |
| dry_run | No | |
| would_send | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the description's main added value is the permission requirement ('Perm: manage_software_repository') and the explicit warning that the endpoint is unavailable. It does not explain what the upload mutates, how chunks relate to upload_id, or what happens on retry given the idempotent claim.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two of the three sentences say the same thing, and 'see error text' is a forward reference that earns little. The most decision-relevant fact (unsupported) is front-loaded, which is the one structural positive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, multi-parameter chunk-upload operation, the description explains neither the chunking protocol, the interplay with dry_run/confirm, nor which sibling performs the supported equivalent. Saying 'not supported' is helpful but leaves the agent without a next step.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so package_id, version_id, platform, upload_id, body, confirm and dry_run are already documented at the field level. The description adds nothing beyond the permission name; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Upload package file chunks' states a verb and resource, but the same sentence is repeated twice ('Uploads package file chunks') without adding information, making it effectively a restatement of the title. The leading line 'Not supported by this server' muddies rather than clarifies the purpose, and nothing distinguishes it from the sibling action1_init_software_upload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is 'Not supported by this server (see error text)', which tells the agent the call will fail but gives no alternative such as action1_init_software_upload or any condition under which this tool would work. That is a bare warning, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
action1_wait_for_automationPoll an automation until it terminatesARead-onlyIdempotent
Block until an automation instance reaches a terminal status (Stopped/Success/Warning/Error) or timeout.
| Name | Required | Description | Default |
|---|---|---|---|
| org_id | No | Org UUID. | |
| endpoint_id | No | If set, also fetch filtered script output. | |
| instance_id | Yes | Instance UUID. | |
| response_format | No | Output format. Default markdown. | |
| timeout_seconds | No | Polling timeout. | |
| poll_interval_seconds | No | Poll interval seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| output | No | string |
| status | No | object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description successfully adds value by specifying the exact terminal statuses (Stopped/Success/Warning/Error) that define termination, giving the agent crucial behavioral context regarding the expected exit states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense, and efficient sentence. It front-loads the core behavior (Block until) and the condition (terminal status/timeout) with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the detailed input schema and annotations, the description provides all necessary context to perform the core function correctly—namely, initiating a blocking wait operation and understanding its termination conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning the structured data already defines all parameters (like UUID types or poll intervals). The description adds no semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool description is extremely precise, stating it blocks until an automation instance reaches a terminal state. This explicitly differentiates it from 'get status' or 'get results' tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The title and description clearly dictate the use case: when the user needs to actively wait for an asynchronous operation to finish. While it doesn't explicitly list all alternatives, the defined blocking nature makes the required usage intuitive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
167 tool updates
v0.6.0- Changed
action1_add_endpoint_to_group4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_audit_log_search13 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / event_type_substring / descriptionPrevious value: -"Filter by event_type."New value: +"Filter by event name (e.g. Login, View Report, POST)." - changed
Input schema / properties / from_time / descriptionPrevious value: -"ISO-8601 lower bound."New value: +"Lower bound: YYYY-MM-DD_HH-MM-SS (UTC) or ISO-8601." - removed
Input schema / properties / from_time / formatRemoved value: -"date-time" - added
Input schema / properties / from_time / patternAdded value: +"^(?:\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2}))$" - changed
Input schema / properties / target_substring / descriptionPrevious value: -"Filter by target."New value: +"Filter by affected object (name, URL or description)." - changed
Input schema / properties / to_time / descriptionPrevious value: -"ISO-8601 upper bound."New value: +"Upper bound: YYYY-MM-DD_HH-MM-SS (UTC) or ISO-8601." - removed
Input schema / properties / to_time / formatRemoved value: -"date-time" - added
Input schema / properties / to_time / patternAdded value: +"^(?:\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2}))$" - changed
Input schema / properties / user_substring / descriptionPrevious value: -"Filter by user."New value: +"Filter by user name." - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_automations_summary10 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / by_statusAdded value: +{ + "description": "object" +} - added
Output schema / properties / failure_countAdded value: +{ + "description": "number" +} - added
Output schema / properties / has_moreAdded value: +{ + "description": "boolean" +} - added
Output schema / properties / noteAdded value: +{ + "description": "string" +} - added
Output schema / properties / success_countAdded value: +{ + "description": "number" +} - added
Output schema / properties / total_scannedAdded value: +{ + "description": "number" +} - added
Output schema / properties / warning_countAdded value: +{ + "description": "number" +}
- Changed
action1_clone_package17 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / internal_notesAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / vendorAdded value: +{} - added
Output schema / properties / versionsAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_clone_role13 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scoped_permissionsAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / usersAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Added
action1_create_approval - Changed
action1_create_automation_instance22 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "actions": { + "description": "One automation can contain multiple actions.", + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "deploy_update", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "deploy_package", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "uninstall_program", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "run_script", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "reboot", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "update_ring", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "endpoints": { + "description": "IDs of endpoints and/or groups to run this batch on.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "The automation name.", + "type": "string" + }, + "retry_minutes": { + "description": "The number of minutes to keep trying to run on disconnected/powered off endpoints.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "retry_minutes", + "actions", + "endpoints" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / actionsAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / end_timeAdded value: +{} - added
Output schema / properties / endpoint_resultsAdded value: +{} - added
Output schema / properties / endpointsAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / percent_completedAdded value: +{} - added
Output schema / properties / retry_minutesAdded value: +{} - added
Output schema / properties / scheduleAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / start_timeAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_automation_schedule20 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "actions": { + "description": "One automation can contain multiple actions.", + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "deploy_update", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "deploy_package", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "uninstall_program", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "run_script", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "reboot", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "update_ring", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "endpoints": { + "description": "IDs of endpoints and/or groups to run this batch on.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "The automation name.", + "type": "string" + }, + "retry_minutes": { + "description": "The number of minutes to keep trying to run on disconnected/powered off endpoints.", + "type": "string" + }, + "settings": { + "description": "### Available schedule settings: - ONCE - apply only once on a specified DATE and AT a...", + "type": "string" + }, + "settings_timezone": { + "description": "The time zone for automation execution: - UTC - the automation will execute at the same...", + "enum": [ + "UTC", + "LOCALTIME" + ], + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "retry_minutes", + "actions", + "settings" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / actionsAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / endpointsAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / last_instanceAdded value: +{} - added
Output schema / properties / last_runAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / next_runAdded value: +{} - added
Output schema / properties / retry_minutesAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / settingsAdded value: +{} - added
Output schema / properties / settings_timezoneAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_cve_remediation13 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "comment": { + "description": "A description of the remediation (compensating control) applied.", + "type": "string" + }, + "product_name": { + "description": "The name of the vulnerable software product being remediated.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "comment", + "product_name" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / commentAdded value: +{} - added
Output schema / properties / creation_dateAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / product_nameAdded value: +{} - added
Output schema / properties / remediated_byAdded value: +{} - added
Output schema / properties / remediation_idAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_data_source19 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "columns": { + "description": "A list of data source output columns.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The data source description.", + "type": "string" + }, + "language": { + "description": "The language for querying data.", + "enum": [ + "PowerShell" + ], + "type": "string" + }, + "name": { + "description": "The name of the data source.", + "type": "string" + }, + "script_text": { + "description": "The script text.", + "type": "string" + }, + "status": { + "description": "This parameter is currently deferred.", + "enum": [ + "Published", + "Draft" + ], + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "description", + "language", + "script_text", + "columns", + "status" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / columnsAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / languageAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / script_textAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_endpoint_group20 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The group description.", + "type": "string" + }, + "exclude_filter": { + "description": "The list of endpoint exclusion filters.", + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "AD_organization_unit", + "AD_security_groups", + "agent_version", + "CPU_name", + "CPU_size", + "comment", + "name", + "video", + "MAC", + "manufacturer", + "platform", + "serial", + "user", + "WiFi", + "NIC" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value or wildcard." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "OS", + "reboot_required", + "subscription_status", + "status" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "description": "Format is \"custom:{Attribute Name}\".", + "type": "string" + }, + "field_value": {}, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "agent_install_date", + "last_seen", + "last_boot_time" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `2023-07-04-2023-08-04` - from 4 July, 2023 to 4 August, 2023." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "RAM", + "Disk" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `524-1024` - from 524GB to 1024GB." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "const": "member_of", + "type": "string" + }, + "field_value": { + "description": "The endpoint group ID with the prefix \"id:\"." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "exclude_filter_logic": { + "description": "Filter logic Boolean expression for group's exclusion filters using 1-based filter...", + "type": "string" + }, + "include_filter": { + "description": "The list of endpoint inclusion filters.", + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "AD_organization_unit", + "AD_security_groups", + "agent_version", + "CPU_name", + "CPU_size", + "comment", + "name", + "video", + "MAC", + "manufacturer", + "platform", + "serial", + "user", + "WiFi", + "NIC" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value or wildcard." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "OS", + "reboot_required", + "subscription_status", + "status" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "description": "Format is \"custom:{Attribute Name}\".", + "type": "string" + }, + "field_value": {}, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "agent_install_date", + "last_seen", + "last_boot_time" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `2023-07-04-2023-08-04` - from 4 July, 2023 to 4 August, 2023." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "RAM", + "Disk" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `524-1024` - from 524GB to 1024GB." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "const": "member_of", + "type": "string" + }, + "field_value": { + "description": "The endpoint group ID with the prefix \"id:\"." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "include_filter_logic": { + "description": "Filter logic Boolean expression for group's inclusion filters using 1-based filter...", + "type": "string" + }, + "name": { + "description": "The group name.", + "type": "string" + }, + "uptime_alerts": { + "additionalProperties": {}, + "properties": { + "offline_alerts_delay": { + "description": "Notify when endpoints have been offline for more than minutes", + "type": "number" + }, + "offline_alerts_enabled": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "online_alerts_enabled": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "user_ids_for_notification": { + "description": "The list of user ids to be notified", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / contentsAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / exclude_filterAdded value: +{} - added
Output schema / properties / exclude_filter_logicAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / include_filterAdded value: +{} - added
Output schema / properties / include_filter_logicAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / uptime_alertsAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_endpoint_remote_session22 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "connection_type": { + "const": "assistance", + "type": "string" + }, + "current_ip": { + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "connection_type" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / connectedAdded value: +{} - added
Output schema / properties / connection_typeAdded value: +{} - added
Output schema / properties / current_ipAdded value: +{} - added
Output schema / properties / current_monitorAdded value: +{} - added
Output schema / properties / customer_emailAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / endpoint_nameAdded value: +{} - added
Output schema / properties / enterprise_idAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / monitor_countAdded value: +{} - added
Output schema / properties / remote_sessionAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_idAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_organization14 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "Description for My Organization", + "type": "string" + }, + "name": { + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "description" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_package19 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The package description.", + "type": "string" + }, + "internal_notes": { + "description": "Invisible comments.", + "type": "string" + }, + "name": { + "description": "The package name.", + "type": "string" + }, + "platform": { + "description": "The package platform.", + "enum": [ + "Windows", + "Mac" + ], + "type": "string" + }, + "vendor": { + "description": "The package vendor.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "vendor", + "description", + "platform" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / internal_notesAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / vendorAdded value: +{} - added
Output schema / properties / versionsAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_package_version36 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / body / additionalPropertiesRemoved value: -{} - added
Input schema / properties / body / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "EULA_accepted": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "EULA_text": { + "description": "The text of the EULA agreement.", + "type": "string" + }, + "OS": { + "description": "The list of supported OS's.", + "items": { + "enum": [ + "Windows 11 (26H2)", + "Windows 11 (26H1)", + "Windows 11 (25H2)", + "Windows 11 (24H2)", + "Windows 11 (23H2)", + "Windows 11 (22H2)", + "Windows 11 (21H2)", + "Windows 11", + "Windows 10 (22H2)", + "Windows 10 (21H2)", + "Windows 10 (21H1)", + "Windows 10 (20H2)", + "Windows 10 (2004)", + "Windows 10 (1909)", + "Windows 10 (1903)", + "Windows 10 (1809)", + "Windows 10 (1803)", + "Windows 10 (1709)", + "Windows 10 (1703)", + "Windows 10 (1607)", + "Windows 10 (1511)", + "Windows 10 (1507)", + "Windows 10", + "Windows 8.1", + "Windows 8", + "Windows 7", + "Windows Vista", + "Windows XP", + "Windows Server 2025", + "Windows Server 2022", + "Windows Server 2019", + "Windows Server 2016", + "Windows Server 2012 R2", + "Windows Server 2012", + "Windows Server 2008 R2", + "Windows Server 2008", + "Windows Server 2003", + "Windows Server" + ], + "type": "string" + }, + "type": "array" + }, + "additional_actions": { + "items": { + "anyOf": [ + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_update", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_package", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "run_script", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "allow_x86_x64_on_arm": { + "description": "If 'file_name.Windows_ARM64' not provided and 'x86_arm_fallback' are set to 'yes', the...", + "enum": [ + "no", + "yes" + ], + "type": "string" + }, + "app_name_match": { + "description": "Regular expression to identify a specific version of already installed software.", + "type": "string" + }, + "approval_status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "file_name": { + "additionalProperties": {}, + "description": "Methods for downloading the installation file.", + "properties": { + "Windows_32": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "Windows_64": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "Windows_ARM64": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, + "install_type": { + "description": "The type of installation file", + "enum": [ + "msi", + "exe", + "msix" + ], + "type": "string" + }, + "minimum_required_agent_version": { + "description": "Minimum required agent version", + "type": "string" + }, + "notes": { + "description": "Additional notes about version.", + "type": "string" + }, + "reboot_exit_codes": { + "description": "Reboot exit code", + "type": "string" + }, + "release_date": { + "description": "The date when the software version was released in format YYYY-MM-DD.", + "type": "string" + }, + "scoped_approvals": { + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Enterprise", + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "organization_id": { + "description": "The ID of the organization where the update holds this status.", + "type": "string" + }, + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Organization", + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "security_CVE": { + "description": "For Security Updates only, CVE ID, if available.", + "type": "string" + }, + "security_severity": { + "description": "For Security Updates only.", + "enum": [ + "Critical", + "Important", + "Moderate", + "Low", + "Unspecified" + ], + "type": "string" + }, + "silent_install_switches": { + "description": "The command line parameters that suppress all setup UI prompts to ensure the installation...", + "type": "string" + }, + "silent_uninstall_switches": { + "description": "The command line parameters that suppress all setup UI prompts to ensure the...", + "type": "string" + }, + "success_exit_codes": { + "description": "Exit code", + "type": "string" + }, + "uninstall_app_name_match": { + "description": "Regular expression to identify all possible versions of the same software, including...", + "type": "string" + }, + "update_type": { + "description": "The update type field will be used by the update automation to determine which updates to...", + "enum": [ + "Regular Updates", + "Critical - Non-Security", + "Definition Updates", + "Feature Updates", + "Security Updates", + "Service Packs", + "Tools", + "Update Rollups", + "Drivers", + "Upgrades", + "Unknown" + ], + "type": "string" + }, + "version": { + "description": "Specify the exact version number as shown in Apps & Features when installed.", + "type": "string" + } + }, + "required": [ + "version", + "app_name_match", + "release_date" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "EULA_accepted": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "EULA_text": { + "description": "The text of the EULA agreement.", + "type": "string" + }, + "OS": { + "description": "The list of supported OS's.", + "items": { + "enum": [ + "macOS Golden Gate", + "macOS Tahoe", + "macOS Sequoia", + "macOS Sonoma", + "macOS Ventura", + "macOS Monterey", + "macOS" + ], + "type": "string" + }, + "type": "array" + }, + "additional_actions": { + "items": { + "anyOf": [ + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_update", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_package", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "run_script", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "app_name_match": { + "description": "Regular expression to identify a specific version of already installed software.", + "type": "string" + }, + "approval_status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "file_name": { + "additionalProperties": {}, + "description": "Methods for downloading the installation file.", + "properties": { + "Mac_AppleSilicon": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "Mac_IntelCPU": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, + "minimum_required_agent_version": { + "description": "Minimum required agent version", + "type": "string" + }, + "notes": { + "description": "Additional notes about version.", + "type": "string" + }, + "release_date": { + "description": "The date when the software version was released in format YYYY-MM-DD.", + "type": "string" + }, + "scoped_approvals": { + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Enterprise", + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "organization_id": { + "description": "The ID of the organization where the update holds this status.", + "type": "string" + }, + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Organization", + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "security_CVE": { + "description": "For Security Updates only, CVE ID, if available.", + "type": "string" + }, + "security_severity": { + "description": "For Security Updates only.", + "enum": [ + "Critical", + "Important", + "Moderate", + "Low", + "Unspecified" + ], + "type": "string" + }, + "silent_install_switches": { + "description": "The command line parameters that suppress all setup UI prompts to ensure the installation...", + "type": "string" + }, + "success_exit_codes": { + "description": "Exit code", + "type": "string" + }, + "update_type": { + "description": "The update type field will be used by the update automation to determine which updates to...", + "enum": [ + "Regular Updates", + "Critical - Non-Security", + "Definition Updates", + "Feature Updates", + "Security Updates", + "Service Packs", + "Tools", + "Update Rollups", + "Drivers", + "Upgrades", + "Unknown" + ], + "type": "string" + }, + "version": { + "description": "Specify the exact version number as shown in Apps & Features when installed.", + "type": "string" + } + }, + "required": [ + "version", + "app_name_match", + "release_date" + ], + "type": "object" + } +] - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - removed
Input schema / properties / body / typeRemoved value: -"object" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / EULA_acceptedAdded value: +{} - added
Output schema / properties / EULA_textAdded value: +{} - added
Output schema / properties / OSAdded value: +{} - added
Output schema / properties / additional_actionsAdded value: +{} - added
Output schema / properties / allow_x86_x64_on_armAdded value: +{} - added
Output schema / properties / app_name_matchAdded value: +{} - added
Output schema / properties / approval_statusAdded value: +{} - added
Output schema / properties / binary_idAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / file_nameAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / install_typeAdded value: +{} - added
Output schema / properties / minimum_required_agent_versionAdded value: +{} - added
Output schema / properties / notesAdded value: +{} - added
Output schema / properties / reboot_exit_codesAdded value: +{} - added
Output schema / properties / release_dateAdded value: +{} - added
Output schema / properties / scoped_approvalsAdded value: +{} - added
Output schema / properties / security_CVEAdded value: +{} - added
Output schema / properties / security_severityAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / silent_install_switchesAdded value: +{} - added
Output schema / properties / silent_uninstall_switchesAdded value: +{} - added
Output schema / properties / success_exit_codesAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / uninstall_app_name_matchAdded value: +{} - added
Output schema / properties / update_typeAdded value: +{} - added
Output schema / properties / versionAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_report29 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "column_aliases": { + "description": "A list of column aliases.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The ID of the data source for which the new column name is assigned.", + "type": "string" + }, + "new_name": { + "description": "The new column name.", + "type": "string" + }, + "original_name": { + "description": "The original column name for which the new name is assigned.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "data_sources": { + "description": "Only data source ID or self is sufficient for this method.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The custom report description.", + "type": "string" + }, + "drilldown_columns": { + "description": "A list of drilldown report data output columns.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The data source ID.", + "type": "string" + }, + "enabled": { + "description": "Defines if a column is enabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "name": { + "description": "The column name.", + "type": "string" + }, + "sort": { + "description": "Defines sorting settings.", + "enum": [ + "ASC", + "DESC", + "none" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "filter_set": { + "additionalProperties": {}, + "properties": { + "filter_logic": { + "description": "Expression to combine filters in the \"filters\" array.", + "type": "string" + }, + "filters": { + "description": "An ordered list of filters to apply to a data source.", + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "name": { + "description": "The report title.", + "type": "string" + }, + "simple_columns": { + "description": "A list of simple report data output columns.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The data source ID.", + "type": "string" + }, + "enabled": { + "description": "Defines if a column is enabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "name": { + "description": "The column name.", + "type": "string" + }, + "sort": { + "description": "Defines sorting settings.", + "enum": [ + "ASC", + "DESC", + "none" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "summary_columns": { + "description": "A list of summary report data output columns.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The data source ID.", + "type": "string" + }, + "enabled": { + "description": "Defines if a column is enabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "name": { + "description": "The column name.", + "type": "string" + }, + "sort": { + "description": "Defines sorting settings.", + "enum": [ + "ASC", + "DESC", + "none" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "description", + "data_sources", + "filter_set", + "simple_columns", + "summary_columns", + "drilldown_columns" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / alertableAdded value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / column_aliasesAdded value: +{} - added
Output schema / properties / data_sourcesAdded value: +{} - added
Output schema / properties / data_soursesAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / drilldown_columnsAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / filter_setAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / long_descriptionAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / parent_categoryAdded value: +{} - added
Output schema / properties / report_dataAdded value: +{} - added
Output schema / properties / report_errorsAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / simpleAdded value: +{} - added
Output schema / properties / simple_columnsAdded value: +{} - added
Output schema / properties / summary_columnsAdded value: +{} - added
Output schema / properties / summary_customizableAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_report_subscription15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "name": { + "description": "URL of a user or API key assigned the role.\"", + "type": "string" + }, + "report_id": { + "description": "ID of a report.", + "enum": [ + "daily_patch_statistics", + "weekly_patch_statistics" + ], + "type": "string" + }, + "schedule": { + "description": "Schedule settings string in the following format - **(ENABLED|DISABLED)...", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "report_id", + "schedule" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / commentsAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / endpoint_countAdded value: +{} - added
Output schema / properties / formatAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_role16 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The role description.", + "type": "string" + }, + "name": { + "description": "The role name.", + "type": "string" + }, + "scoped_permissions": { + "items": { + "additionalProperties": {}, + "properties": { + "exclude_scope": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "include_scope": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "permission": { + "description": "The permission ID. List of available permissions can be found by calling /API/permissions.", + "type": "string" + }, + "restrictions": { + "additionalProperties": {}, + "description": "Optional restrictions for `include_scope` only (not for `exclude_scope`).", + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "permission", + "include_scope", + "exclude_scope" + ], + "type": "object" + }, + "type": "array" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "description" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scoped_permissionsAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / usersAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_role_user11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_script22 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The script description.", + "type": "string" + }, + "language": { + "description": "The scripting language.", + "enum": [ + "PowerShell", + "Command", + "Bash" + ], + "type": "string" + }, + "name": { + "description": "The script name.", + "type": "string" + }, + "params": { + "items": { + "additionalProperties": {}, + "properties": { + "default": { + "description": "Uses this value, unless a different value is specified.", + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "enum": [ + "String", + "Int", + "Float", + "DateTimeString" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "platform": { + "description": "The script platform.", + "enum": [ + "Windows", + "Mac", + "Linux" + ], + "type": "string" + }, + "reboot_exit_codes": { + "description": "The exit codes that indicate a reboot is required.", + "type": "string" + }, + "script_text": { + "description": "The script text.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "name", + "language", + "script_text", + "platform" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / enterprise_idAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / languageAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / paramsAdded value: +{} - added
Output schema / properties / reboot_exit_codesAdded value: +{} - added
Output schema / properties / script_textAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / success_codesAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_setting17 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "scope": { + "items": { + "additionalProperties": {}, + "properties": { + "object": { + "description": "Select specific organization, group, or apply everywhere. Accepts: all, {orgId}, {groupId}.", + "type": "string" + }, + "type": { + "description": "The scope to apply the setting to.", + "enum": [ + "Enterprise", + "Organization", + "Group" + ], + "type": "string" + } + }, + "required": [ + "type", + "object" + ], + "type": "object" + }, + "type": "array" + }, + "template_id": { + "description": "The ID of the template.", + "type": "string" + }, + "value": { + "description": "The value defined for this setting.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "value", + "scope", + "template_id" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / template_idAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / value_typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_create_user11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / body / additionalPropertiesRemoved value: -{} - added
Input schema / properties / body / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "email": { + "type": "string" + }, + "enabled": { + "description": "Defines if the user is enabled or disabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "password": { + "description": "When creating API credentials, the Enterprise Admin can read the password.", + "type": "string" + }, + "phone": { + "type": "string" + }, + "session_timeout": { + "description": "The session timeout in seconds for API and GUI.", + "type": "number" + }, + "timezone": { + "description": "Timezone identifier.", + "type": "string" + }, + "user_type": { + "const": "Interactive", + "type": "string" + } + }, + "required": [ + "email", + "first_name", + "last_name", + "password" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "email": { + "type": "string" + }, + "enabled": { + "description": "Defines if the user is enabled or disabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "session_timeout": { + "description": "The session timeout in seconds for API and GUI.", + "type": "number" + }, + "timezone": { + "description": "Timezone identifier.", + "type": "string" + }, + "user_type": { + "const": "Interactive", + "type": "string" + } + }, + "required": [ + "email" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "email": { + "type": "string" + }, + "enabled": { + "description": "Defines if the user is enabled or disabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "first_name": { + "type": "string" + }, + "password": { + "description": "When creating API credentials, the Enterprise Admin can read the password.", + "type": "string" + }, + "timezone": { + "description": "Timezone identifier.", + "type": "string" + } + }, + "required": [ + "enabled", + "email", + "password", + "first_name" + ], + "type": "object" + } +] - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - removed
Input schema / properties / body / typeRemoved value: -"object" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_cve_remediation_plan8 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / countAdded value: +{ + "description": "number" +} - added
Output schema / properties / planAdded value: +{ + "description": "array" +} - added
Output schema / properties / truncatedAdded value: +{ + "description": "boolean" +} - added
Output schema / properties / warningAdded value: +{ + "description": "string" +}
- Changed
action1_delete_automation11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_automation_action14 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / applicable_toAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / large_imageAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / small_imageAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_data_source11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_deployer11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_endpoint11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_group11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_organization11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_package11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_package_version_action11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_remediation11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_report11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_report_subscription11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_role11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_role_user11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_script11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_setting11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_user11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_delete_version11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_deploy_package4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_deploy_update5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / updates / items / additionalPropertiesRemoved value: -false - changed
Input schema / properties / updates / items / properties / version / descriptionPrevious value: -"Target version (empty string for latest)."New value: +"Version to deploy, as listed by the missing-update or vulnerability tools (repository packages list 'Latest'). Passed through unchanged; see docs/GOTCHAS.md." - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_endpoint_groups_resolve6 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / match_strategyAdded value: +{ + "description": "string" +} - added
Output schema / properties / matchesAdded value: +{ + "description": "array" +} - added
Output schema / properties / total_groupsAdded value: +{ + "description": "number" +}
- Changed
action1_endpoints_summary14 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / by_online_statusAdded value: +{ + "description": "object" +} - added
Output schema / properties / by_osAdded value: +{ + "description": "object" +} - added
Output schema / properties / by_platformAdded value: +{ + "description": "object" +} - added
Output schema / properties / by_statusAdded value: +{ + "description": "object" +} - added
Output schema / properties / fresh_last_seenAdded value: +{ + "description": "number" +} - added
Output schema / properties / linuxAdded value: +{ + "description": "number" +} - added
Output schema / properties / macosAdded value: +{ + "description": "number" +} - added
Output schema / properties / reboot_requiredAdded value: +{ + "description": "number" +} - added
Output schema / properties / stale_last_seenAdded value: +{ + "description": "number" +} - added
Output schema / properties / totalAdded value: +{ + "description": "number" +} - added
Output schema / properties / windowsAdded value: +{ + "description": "number" +}
- Changed
action1_execute_and_wait7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / endpoint_id / minLengthRemoved value: -1 - added
Input schema / properties / endpoint_id / patternAdded value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - added
Input schema / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - added
Input schema / properties / success_exit_codes / patternAdded value: +"^\\d+(,\\d+)*$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_export_audit_log13 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - removed
Input schema / properties / timefrom / formatRemoved value: -"date-time" - added
Input schema / properties / timefrom / patternAdded value: +"^(?:\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2}))$" - removed
Input schema / properties / timeto / formatRemoved value: -"date-time" - added
Input schema / properties / timeto / patternAdded value: +"^(?:\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2}))$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / valueAdded value: +{}
- Changed
action1_get_action_template3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_get_agent_install_url7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / download_URLAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_audit_event17 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / detailsAdded value: +{} - added
Output schema / properties / eventAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / object_nameAdded value: +{} - added
Output schema / properties / object_urlAdded value: +{} - added
Output schema / properties / org_idAdded value: +{} - added
Output schema / properties / org_nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / status_messageAdded value: +{} - added
Output schema / properties / timestampAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_idAdded value: +{} - added
Output schema / properties / user_nameAdded value: +{}
- Changed
action1_get_automation_instance16 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / actionsAdded value: +{} - added
Output schema / properties / end_timeAdded value: +{} - added
Output schema / properties / endpoint_resultsAdded value: +{} - added
Output schema / properties / endpointsAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / percent_completedAdded value: +{} - added
Output schema / properties / retry_minutesAdded value: +{} - added
Output schema / properties / scheduleAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / start_timeAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_automation_output7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / outputAdded value: +{ + "description": "string" +} - added
Output schema / properties / rawAdded value: +{ + "description": "array" +} - added
Output schema / properties / skipped_status_linesAdded value: +{ + "description": "number" +}
- Changed
action1_get_automation_results4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / resultsAdded value: +{ + "description": "object" +}
- Changed
action1_get_automation_schedule15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / actionsAdded value: +{} - added
Output schema / properties / endpointsAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / last_instanceAdded value: +{} - added
Output schema / properties / last_runAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / next_runAdded value: +{} - added
Output schema / properties / retry_minutesAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / settingsAdded value: +{} - added
Output schema / properties / settings_timezoneAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_automation_script_output4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "action_id": {}, + "action_name": {}, + "description": {}, + "id": {}, + "self": {}, + "status": {}, + "time": {}, + "type": {} +}
- Changed
action1_get_automation_status4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / instanceAdded value: +{ + "description": "object" +}
- Changed
action1_get_cve54 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / access_complexityAdded value: +{} - added
Output schema / properties / access_vectorAdded value: +{} - added
Output schema / properties / attack_complexityAdded value: +{} - added
Output schema / properties / attack_requirementsAdded value: +{} - added
Output schema / properties / attack_vectorAdded value: +{} - added
Output schema / properties / authenticationAdded value: +{} - added
Output schema / properties / automatableAdded value: +{} - added
Output schema / properties / availability_impactAdded value: +{} - added
Output schema / properties / availability_requirementAdded value: +{} - added
Output schema / properties / base_severityAdded value: +{} - added
Output schema / properties / cisa_kevAdded value: +{} - added
Output schema / properties / cisa_known_ransomware_campaign_useAdded value: +{} - added
Output schema / properties / confidentiality_impactAdded value: +{} - added
Output schema / properties / confidentiality_requirementAdded value: +{} - added
Output schema / properties / cve_idAdded value: +{} - added
Output schema / properties / cve_originAdded value: +{} - added
Output schema / properties / cvss_scoreAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / exploit_maturityAdded value: +{} - added
Output schema / properties / exploitability_scoreAdded value: +{} - added
Output schema / properties / impact_scoreAdded value: +{} - added
Output schema / properties / integrity_impactAdded value: +{} - added
Output schema / properties / integrity_requirementAdded value: +{} - added
Output schema / properties / modified_attack_complexityAdded value: +{} - added
Output schema / properties / modified_attack_requirementsAdded value: +{} - added
Output schema / properties / modified_attack_vectorAdded value: +{} - added
Output schema / properties / modified_privileges_requiredAdded value: +{} - added
Output schema / properties / modified_subsequent_system_availabilityAdded value: +{} - added
Output schema / properties / modified_subsequent_system_confidentialityAdded value: +{} - added
Output schema / properties / modified_subsequent_system_integrityAdded value: +{} - added
Output schema / properties / modified_user_interactionAdded value: +{} - added
Output schema / properties / modified_vulnerable_system_availabilityAdded value: +{} - added
Output schema / properties / modified_vulnerable_system_confidentialityAdded value: +{} - added
Output schema / properties / modified_vulnerable_system_integrityAdded value: +{} - added
Output schema / properties / privileges_requiredAdded value: +{} - added
Output schema / properties / provider_urgencyAdded value: +{} - added
Output schema / properties / published_dateAdded value: +{} - added
Output schema / properties / recoveryAdded value: +{} - added
Output schema / properties / safetyAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / subsequent_system_availability_impactAdded value: +{} - added
Output schema / properties / subsequent_system_confidentiality_impactAdded value: +{} - added
Output schema / properties / subsequent_system_integrity_impactAdded value: +{} - added
Output schema / properties / user_interactionAdded value: +{} - added
Output schema / properties / value_densityAdded value: +{} - added
Output schema / properties / vector_stringAdded value: +{} - added
Output schema / properties / versionAdded value: +{} - added
Output schema / properties / vulnerability_response_effortAdded value: +{} - added
Output schema / properties / vulnerable_system_availability_impactAdded value: +{} - added
Output schema / properties / vulnerable_system_confidentiality_impactAdded value: +{} - added
Output schema / properties / vulnerable_system_integrity_impactAdded value: +{}
- Changed
action1_get_cve_description54 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / access_complexityAdded value: +{} - added
Output schema / properties / access_vectorAdded value: +{} - added
Output schema / properties / attack_complexityAdded value: +{} - added
Output schema / properties / attack_requirementsAdded value: +{} - added
Output schema / properties / attack_vectorAdded value: +{} - added
Output schema / properties / authenticationAdded value: +{} - added
Output schema / properties / automatableAdded value: +{} - added
Output schema / properties / availability_impactAdded value: +{} - added
Output schema / properties / availability_requirementAdded value: +{} - added
Output schema / properties / base_severityAdded value: +{} - added
Output schema / properties / cisa_kevAdded value: +{} - added
Output schema / properties / cisa_known_ransomware_campaign_useAdded value: +{} - added
Output schema / properties / confidentiality_impactAdded value: +{} - added
Output schema / properties / confidentiality_requirementAdded value: +{} - added
Output schema / properties / cve_idAdded value: +{} - added
Output schema / properties / cve_originAdded value: +{} - added
Output schema / properties / cvss_scoreAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / exploit_maturityAdded value: +{} - added
Output schema / properties / exploitability_scoreAdded value: +{} - added
Output schema / properties / impact_scoreAdded value: +{} - added
Output schema / properties / integrity_impactAdded value: +{} - added
Output schema / properties / integrity_requirementAdded value: +{} - added
Output schema / properties / modified_attack_complexityAdded value: +{} - added
Output schema / properties / modified_attack_requirementsAdded value: +{} - added
Output schema / properties / modified_attack_vectorAdded value: +{} - added
Output schema / properties / modified_privileges_requiredAdded value: +{} - added
Output schema / properties / modified_subsequent_system_availabilityAdded value: +{} - added
Output schema / properties / modified_subsequent_system_confidentialityAdded value: +{} - added
Output schema / properties / modified_subsequent_system_integrityAdded value: +{} - added
Output schema / properties / modified_user_interactionAdded value: +{} - added
Output schema / properties / modified_vulnerable_system_availabilityAdded value: +{} - added
Output schema / properties / modified_vulnerable_system_confidentialityAdded value: +{} - added
Output schema / properties / modified_vulnerable_system_integrityAdded value: +{} - added
Output schema / properties / privileges_requiredAdded value: +{} - added
Output schema / properties / provider_urgencyAdded value: +{} - added
Output schema / properties / published_dateAdded value: +{} - added
Output schema / properties / recoveryAdded value: +{} - added
Output schema / properties / safetyAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / subsequent_system_availability_impactAdded value: +{} - added
Output schema / properties / subsequent_system_confidentiality_impactAdded value: +{} - added
Output schema / properties / subsequent_system_integrity_impactAdded value: +{} - added
Output schema / properties / user_interactionAdded value: +{} - added
Output schema / properties / value_densityAdded value: +{} - added
Output schema / properties / vector_stringAdded value: +{} - added
Output schema / properties / versionAdded value: +{} - added
Output schema / properties / vulnerability_response_effortAdded value: +{} - added
Output schema / properties / vulnerable_system_availability_impactAdded value: +{} - added
Output schema / properties / vulnerable_system_confidentiality_impactAdded value: +{} - added
Output schema / properties / vulnerable_system_integrity_impactAdded value: +{}
- Changed
action1_get_data_source13 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / columnsAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / languageAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / script_textAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_deployer15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / addressAdded value: +{} - added
Output schema / properties / external_addressAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / install_dateAdded value: +{} - added
Output schema / properties / last_seenAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / osAdded value: +{} - added
Output schema / properties / platformAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / versionAdded value: +{}
- Changed
action1_get_drilldown_for_report_row11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "fields": {}, + "id": {}, + "last_refresh": {}, + "response_type": {}, + "self": {}, + "type": {} +}
- Changed
action1_get_endpoint8 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / connectivityAdded value: +{ + "description": "object" +} - added
Output schema / properties / generalAdded value: +{ + "description": "object" +} - added
Output schema / properties / platformAdded value: +{ + "description": "string" +} - added
Output schema / properties / sourceAdded value: +{ + "description": "string" +}
- Changed
action1_get_endpoint_discovery_settings7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / connector_idAdded value: +{} - added
Output schema / properties / connector_last_seenAdded value: +{} - added
Output schema / properties / connector_nameAdded value: +{} - added
Output schema / properties / connector_statusAdded value: +{}
- Changed
action1_get_endpoints_onboarded_status7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / endpoints_addedAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_enterprise13 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / allowed_fast_closureAdded value: +{} - added
Output schema / properties / closure_requested_atAdded value: +{} - added
Output schema / properties / closure_requested_byAdded value: +{} - added
Output schema / properties / closure_scheduled_atAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / verifiedAdded value: +{}
- Changed
action1_get_export_for_report9 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / valueAdded value: +{}
- Changed
action1_get_export_for_report_row4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / valueAdded value: +{}
- Changed
action1_get_group14 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / contentsAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / exclude_filterAdded value: +{} - added
Output schema / properties / exclude_filter_logicAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / include_filterAdded value: +{} - added
Output schema / properties / include_filter_logicAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / uptime_alertsAdded value: +{}
- Changed
action1_get_installed_software_endpoint11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "fields": {}, + "id": {}, + "last_refresh": {}, + "response_type": {}, + "self": {}, + "type": {} +}
- Changed
action1_get_match_conflicts_for_package11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / vendorAdded value: +{} - added
Output schema / properties / versionsAdded value: +{}
- Changed
action1_get_match_conflicts_for_software_repository11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / vendorAdded value: +{} - added
Output schema / properties / versionsAdded value: +{}
- Changed
action1_get_me4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / valueAdded value: +{}
- Changed
action1_get_org_subscription_usage10 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / current_active_endpoint_countAdded value: +{} - added
Output schema / properties / current_inactive_endpoint_countAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / monthly_average_endpoint_countAdded value: +{} - added
Output schema / properties / organizationAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_remote_session16 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / connectedAdded value: +{} - added
Output schema / properties / connection_typeAdded value: +{} - added
Output schema / properties / current_ipAdded value: +{} - added
Output schema / properties / current_monitorAdded value: +{} - added
Output schema / properties / customer_emailAdded value: +{} - added
Output schema / properties / endpoint_nameAdded value: +{} - added
Output schema / properties / enterprise_idAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / monitor_countAdded value: +{} - added
Output schema / properties / remote_sessionAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_idAdded value: +{}
- Changed
action1_get_report_or_category26 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / alertableAdded value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / childrenAdded value: +{} - added
Output schema / properties / column_aliasesAdded value: +{} - added
Output schema / properties / data_sourcesAdded value: +{} - added
Output schema / properties / data_soursesAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / drilldown_columnsAdded value: +{} - added
Output schema / properties / filter_setAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / large_imageAdded value: +{} - added
Output schema / properties / long_descriptionAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / parent_categoryAdded value: +{} - added
Output schema / properties / report_dataAdded value: +{} - added
Output schema / properties / report_errorsAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / simpleAdded value: +{} - added
Output schema / properties / simple_columnsAdded value: +{} - added
Output schema / properties / small_imageAdded value: +{} - added
Output schema / properties / summary_columnsAdded value: +{} - added
Output schema / properties / summary_customizableAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_role10 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scoped_permissionsAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / usersAdded value: +{}
- Changed
action1_get_script16 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / enterprise_idAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / languageAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / paramsAdded value: +{} - added
Output schema / properties / reboot_exit_codesAdded value: +{} - added
Output schema / properties / script_textAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / success_codesAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_setting12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / template_idAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / value_typeAdded value: +{}
- Changed
action1_get_setting_template15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / applicable_forAdded value: +{} - added
Output schema / properties / available_scopesAdded value: +{} - added
Output schema / properties / categoryAdded value: +{} - added
Output schema / properties / default_valueAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / value_patternAdded value: +{} - added
Output schema / properties / value_pattern_descriptionAdded value: +{} - added
Output schema / properties / value_typeAdded value: +{}
- Changed
action1_get_software_repository_package14 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / internal_notesAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / vendorAdded value: +{} - added
Output schema / properties / versionsAdded value: +{}
- Changed
action1_get_subscription15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / MSPAdded value: +{} - added
Output schema / properties / actual_endpoint_countAdded value: +{} - added
Output schema / properties / endpoint_count_coefficientAdded value: +{} - added
Output schema / properties / exceededAdded value: +{} - added
Output schema / properties / free_endpoint_countAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / license_expiresAdded value: +{} - added
Output schema / properties / license_statusAdded value: +{} - added
Output schema / properties / license_typeAdded value: +{} - added
Output schema / properties / licensed_endpoint_countAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_subscription_usage10 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / current_active_endpoint_countAdded value: +{} - added
Output schema / properties / current_inactive_endpoint_countAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / monthly_average_endpoint_countAdded value: +{} - added
Output schema / properties / organizationAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_get_update_package11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "builtin": {}, + "description": {}, + "id": {}, + "internal_notes": {}, + "kb_number": {}, + "name": {}, + "optional": {}, + "organization_ids": {}, + "reboot_needed": {}, + "recommended": {}, + "scope": {}, + "self": {}, + "size": {}, + "status": {}, + "type": {}, + "update_type": {}, + "vendor": {}, + "versions": {} +}
- Changed
action1_get_user4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / valueAdded value: +{}
- Changed
action1_get_version29 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / EULA_acceptedAdded value: +{} - added
Output schema / properties / EULA_textAdded value: +{} - added
Output schema / properties / OSAdded value: +{} - added
Output schema / properties / additional_actionsAdded value: +{} - added
Output schema / properties / allow_x86_x64_on_armAdded value: +{} - added
Output schema / properties / app_name_matchAdded value: +{} - added
Output schema / properties / approval_statusAdded value: +{} - added
Output schema / properties / binary_idAdded value: +{} - added
Output schema / properties / file_nameAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / install_typeAdded value: +{} - added
Output schema / properties / minimum_required_agent_versionAdded value: +{} - added
Output schema / properties / notesAdded value: +{} - added
Output schema / properties / reboot_exit_codesAdded value: +{} - added
Output schema / properties / release_dateAdded value: +{} - added
Output schema / properties / scoped_approvalsAdded value: +{} - added
Output schema / properties / security_CVEAdded value: +{} - added
Output schema / properties / security_severityAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / silent_install_switchesAdded value: +{} - added
Output schema / properties / silent_uninstall_switchesAdded value: +{} - added
Output schema / properties / success_exit_codesAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / uninstall_app_name_matchAdded value: +{} - added
Output schema / properties / update_typeAdded value: +{} - added
Output schema / properties / versionAdded value: +{}
- Changed
action1_get_windows_deployer_url7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / download_URLAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / typeAdded value: +{}
- Changed
action1_init_software_upload10 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / body / additionalPropertiesRemoved value: -{} - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - removed
Input schema / properties / body / typeRemoved value: -"object" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_list_action_templates4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_list_audit_events15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - removed
Input schema / properties / timefrom / formatRemoved value: -"date-time" - added
Input schema / properties / timefrom / patternAdded value: +"^(?:\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2}))$" - removed
Input schema / properties / timeto / formatRemoved value: -"date-time" - added
Input schema / properties / timeto / patternAdded value: +"^(?:\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:?\\d{2}))$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "description": {}, + "details": {}, + "event": {}, + "id": {}, + "object_name": {}, + "object_url": {}, + "org_id": {}, + "org_name": {}, + "self": {}, + "status_message": {}, + "timestamp": {}, + "type": {}, + "user_id": {}, + "user_name": {} +}
- Changed
action1_list_automation_deployment_statuses4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "deployment_count": {}, + "excluded": {}, + "failure_count": {}, + "first_deployed_datetime": {}, + "id": {}, + "name": {}, + "self": {}, + "success_rate": {}, + "type": {}, + "vendor": {}, + "version": {} +}
- Changed
action1_list_automation_instances11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "actions": {}, + "end_time": {}, + "endpoint_results": {}, + "endpoints": {}, + "id": {}, + "name": {}, + "percent_completed": {}, + "retry_minutes": {}, + "schedule": {}, + "self": {}, + "start_time": {}, + "status": {}, + "type": {} +}
- Changed
action1_list_automation_schedules11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "actions": {}, + "endpoints": {}, + "id": {}, + "last_instance": {}, + "last_run": {}, + "name": {}, + "next_run": {}, + "retry_minutes": {}, + "self": {}, + "settings": {}, + "settings_timezone": {}, + "type": {} +}
- Changed
action1_list_cve_endpoints11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "OS": {}, + "endpoint_id": {}, + "endpoint_name": {}, + "organization_id": {}, + "software": {}, + "user": {} +}
- Changed
action1_list_cve_remediations11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "comment": {}, + "creation_date": {}, + "product_name": {}, + "remediated_by": {}, + "remediation_id": {} +}
- Changed
action1_list_data_sources4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "builtin": {}, + "columns": {}, + "description": {}, + "id": {}, + "language": {}, + "name": {}, + "script_text": {}, + "self": {}, + "status": {}, + "type": {} +}
- Changed
action1_list_endpoint_deployers11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "address": {}, + "external_address": {}, + "id": {}, + "install_date": {}, + "last_seen": {}, + "name": {}, + "os": {}, + "platform": {}, + "self": {}, + "status": {}, + "type": {}, + "version": {} +}
- Changed
action1_list_endpoint_groups11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "contents": {}, + "description": {}, + "exclude_filter": {}, + "exclude_filter_logic": {}, + "id": {}, + "include_filter": {}, + "include_filter_logic": {}, + "name": {}, + "self": {}, + "type": {}, + "uptime_alerts": {} +}
- Changed
action1_list_endpoint_missing_updates11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "builtin": {}, + "description": {}, + "id": {}, + "internal_notes": {}, + "kb_number": {}, + "name": {}, + "optional": {}, + "organization_ids": {}, + "reboot_needed": {}, + "recommended": {}, + "scope": {}, + "self": {}, + "size": {}, + "status": {}, + "type": {}, + "update_type": {}, + "vendor": {}, + "versions": {} +}
- Changed
action1_list_endpoints12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / filter / descriptionPrevious value: -"Action1 filter expr (e.g. status=='Connected')."New value: +"Case-insensitive substring; an endpoint matches when any field contains it." - changed
Input schema / properties / online_status / descriptionPrevious value: -"Filter by online status."New value: +"Filter by online status: SUCCESS, WARNING, ERROR." - changed
Input schema / properties / os / descriptionPrevious value: -"Filter by OS substring."New value: +"Filter by operating system name." - changed
Input schema / properties / reboot_required / descriptionPrevious value: -"Filter by reboot-required."New value: +"Filter by reboot-required: Yes or No." - changed
Input schema / properties / reboot_required / enumPrevious value: -[ - "yes", - "no" -]New value: +[ + "Yes", + "No", + "yes", + "no" +] - changed
Input schema / properties / status / descriptionPrevious value: -"Filter by status (Connected/Disconnected)."New value: +"Filter by status: Connected, Disconnected, Pending Uninstall." - changed
Input schema / properties / update_status / descriptionPrevious value: -"Filter by update status."New value: +"Filter by update status: UNDEFINED, SUCCESS, WARNING, ERROR." - changed
Input schema / properties / vulnerability_status / descriptionPrevious value: -"Filter by vulnerability status."New value: +"Filter by vulnerability status: UNDEFINED, SUCCESS, WARNING, ERROR." - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_list_group_contents16 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / online_status / enumAdded value: +[ + "SUCCESS", + "WARNING", + "ERROR" +] - added
Input schema / properties / reboot_required / enumAdded value: +[ + "Yes", + "No" +] - added
Input schema / properties / status / enumAdded value: +[ + "Connected", + "Disconnected", + "Pending Uninstall" +] - added
Input schema / properties / update_status / enumAdded value: +[ + "SUCCESS", + "WARNING", + "ERROR" +] - added
Input schema / properties / vulnerability_status / enumAdded value: +[ + "SUCCESS", + "WARNING", + "ERROR" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "AD_organization_unit": {}, + "AD_security_groups": {}, + "CPU_model": {}, + "CPU_name": {}, + "CPU_size": {}, + "MAC": {}, + "NIC": {}, + "OS": {}, + "RAM": {}, + "WiFi": {}, + "added_via": {}, + "address": {}, + "agent_install_date": {}, + "agent_version": {}, + "architecture": {}, + "comment": {}, + "custom": {}, + "device_name": {}, + "disk": {}, + "id": {}, + "last_boot_time": {}, + "last_seen": {}, + "manufacturer": {}, + "missing_updates": {}, + "name": {}, + "online_status": {}, + "organization_id": {}, + "platform": {}, + "reboot_required": {}, + "self": {}, + "serial": {}, + "status": {}, + "subscription_status": {}, + "type": {}, + "update_status": {}, + "user": {}, + "video": {}, + "vulnerabilities": {}, + "vulnerability_status": {} +}
- Changed
action1_list_installed_software_data11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "drilldown": {}, + "drilldown_field": {}, + "fields": {}, + "id": {}, + "self": {}, + "type": {} +}
- Changed
action1_list_installed_software_errors11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "description": {}, + "endpoint_id": {}, + "endpoint_name": {}, + "id": {}, + "self": {}, + "timestamp": {}, + "type": {} +}
- Changed
action1_list_instance_endpoint_results11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "action_name": {}, + "description": {}, + "details": {}, + "endpoint_name": {}, + "id": {}, + "percent_completed": {}, + "self": {}, + "status": {}, + "time": {}, + "type": {} +}
- Changed
action1_list_logs12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / level / enumAdded value: +[ + "Debug", + "Normal", + "Internal", + "Important", + "Error", + "Critical" +] - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "endpoint_id": {}, + "endpoint_name": {}, + "id": {}, + "is_connector": {}, + "level": {}, + "message": {}, + "self": {}, + "time": {}, + "type": {} +}
- Changed
action1_list_missing_updates5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_list_org_vulnerabilities12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / reset_cache / enumAdded value: +[ + "Yes", + "No" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "cisa_kev": {}, + "cve_id": {}, + "cvss_score": {}, + "endpoints_count": {}, + "organization_id": {}, + "organization_ids": {}, + "published_date": {}, + "remediation_deadline": {}, + "remediation_status": {}, + "software": {}, + "vector_string": {} +}
- Changed
action1_list_organizations4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_list_permissions11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "available_scopes": {}, + "description": {}, + "id": {}, + "name": {} +}
- Changed
action1_list_recent_automations4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_list_report_data11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "drilldown": {}, + "drilldown_field": {}, + "fields": {}, + "group_fields": {}, + "id": {}, + "last_refresh": {}, + "response_type": {}, + "self": {}, + "type": {} +}
- Changed
action1_list_report_errors11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "description": {}, + "endpoint_id": {}, + "endpoint_name": {}, + "id": {}, + "self": {}, + "timestamp": {}, + "type": {} +}
- Changed
action1_list_report_subscriptions11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "comments": {}, + "endpoint_count": {}, + "format": {}, + "id": {}, + "self": {}, + "type": {} +}
- Changed
action1_list_reports4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "alertable": {}, + "builtin": {}, + "children": {}, + "column_aliases": {}, + "data_sources": {}, + "data_sourses": {}, + "description": {}, + "drilldown_columns": {}, + "filter_set": {}, + "id": {}, + "large_image": {}, + "long_description": {}, + "name": {}, + "parent_category": {}, + "report_data": {}, + "report_errors": {}, + "self": {}, + "simple": {}, + "simple_columns": {}, + "small_image": {}, + "summary_columns": {}, + "summary_customizable": {}, + "type": {} +}
- Changed
action1_list_role_users11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_list_roles11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "description": {}, + "id": {}, + "name": {}, + "scoped_permissions": {}, + "self": {}, + "type": {}, + "users": {} +}
- Changed
action1_list_scripts5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / platform / enumAdded value: +[ + "Windows", + "Mac", + "Linux" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "builtin": {}, + "description": {}, + "enterprise_id": {}, + "id": {}, + "language": {}, + "name": {}, + "params": {}, + "reboot_exit_codes": {}, + "script_text": {}, + "self": {}, + "status": {}, + "success_codes": {}, + "type": {} +}
- Changed
action1_list_setting_templates4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "applicable_for": {}, + "available_scopes": {}, + "category": {}, + "default_value": {}, + "description": {}, + "id": {}, + "name": {}, + "self": {}, + "type": {}, + "value_pattern": {}, + "value_pattern_description": {}, + "value_type": {} +}
- Changed
action1_list_settings11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "description": {}, + "id": {}, + "name": {}, + "scope": {}, + "self": {}, + "template_id": {}, + "type": {}, + "value": {}, + "value_type": {} +}
- Changed
action1_list_software_repository12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / platform / enumAdded value: +[ + "Windows", + "Mac", + "Linux" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "builtin": {}, + "description": {}, + "id": {}, + "internal_notes": {}, + "name": {}, + "scope": {}, + "self": {}, + "status": {}, + "type": {}, + "vendor": {}, + "versions": {} +}
- Changed
action1_list_subscription_usage_organizations4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "current_active_endpoint_count": {}, + "current_inactive_endpoint_count": {}, + "id": {}, + "monthly_average_endpoint_count": {}, + "organization": {}, + "self": {}, + "type": {} +}
- Changed
action1_list_updates11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "builtin": {}, + "description": {}, + "id": {}, + "internal_notes": {}, + "kb_number": {}, + "name": {}, + "optional": {}, + "organization_ids": {}, + "reboot_needed": {}, + "recommended": {}, + "scope": {}, + "self": {}, + "size": {}, + "status": {}, + "type": {}, + "update_type": {}, + "vendor": {}, + "versions": {} +}
- Changed
action1_list_user_roles11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "description": {}, + "id": {}, + "name": {}, + "scoped_permissions": {}, + "self": {}, + "type": {}, + "users": {} +}
- Changed
action1_list_users11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_list_version_endpoints11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / auto_paginate / descriptionPrevious value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor." - changed
Input schema / properties / cursor / descriptionPrevious value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from." - added
Input schema / properties / from / maximumAdded value: +9007199254740991 - added
Input schema / properties / from / minimumAdded value: +0 - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "id": {}, + "installed_version": {}, + "name": {}, + "self": {}, + "type": {} +}
- Changed
action1_list_vulnerabilities5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_move_endpoint47 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "target_organization_id": { + "description": "The organization where the endpoint will be moved to.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "target_organization_id" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / AD_organization_unitAdded value: +{} - added
Output schema / properties / AD_security_groupsAdded value: +{} - added
Output schema / properties / CPU_modelAdded value: +{} - added
Output schema / properties / CPU_nameAdded value: +{} - added
Output schema / properties / CPU_sizeAdded value: +{} - added
Output schema / properties / MACAdded value: +{} - added
Output schema / properties / NICAdded value: +{} - added
Output schema / properties / OSAdded value: +{} - added
Output schema / properties / RAMAdded value: +{} - added
Output schema / properties / WiFiAdded value: +{} - added
Output schema / properties / addressAdded value: +{} - added
Output schema / properties / agent_install_dateAdded value: +{} - added
Output schema / properties / agent_versionAdded value: +{} - added
Output schema / properties / architectureAdded value: +{} - added
Output schema / properties / commentAdded value: +{} - added
Output schema / properties / customAdded value: +{} - added
Output schema / properties / device_nameAdded value: +{} - added
Output schema / properties / diskAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / last_boot_timeAdded value: +{} - added
Output schema / properties / last_seenAdded value: +{} - added
Output schema / properties / manufacturerAdded value: +{} - added
Output schema / properties / missing_updatesAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / online_statusAdded value: +{} - added
Output schema / properties / organization_idAdded value: +{} - added
Output schema / properties / platformAdded value: +{} - added
Output schema / properties / reboot_requiredAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / serialAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / subscription_statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / update_statusAdded value: +{} - added
Output schema / properties / userAdded value: +{} - added
Output schema / properties / videoAdded value: +{} - added
Output schema / properties / vulnerabilitiesAdded value: +{} - added
Output schema / properties / vulnerability_statusAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_raw_request4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / query / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_reboot_endpoint3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_recurring_schedules4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_remove_endpoint_from_group4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_report_export11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / contentAdded value: +{ + "description": "string" +} - added
Output schema / properties / countAdded value: +{ + "description": "number" +} - added
Output schema / properties / formatAdded value: +{ + "description": "string" +} - added
Output schema / properties / itemsAdded value: +{ + "description": "array" +} - added
Output schema / properties / noteAdded value: +{ + "description": "string" +} - added
Output schema / properties / report_idAdded value: +{ + "description": "string" +} - added
Output schema / properties / totalAdded value: +{ + "description": "number" +} - added
Output schema / properties / truncatedAdded value: +{ + "description": "number | boolean" +}
- Changed
action1_requery_installed_software_for_endpoint11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_requery_installed_software_for_org11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_requery_report11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_request_enterprise_closure18 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "reason": { + "description": "Reason for closing.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "reason" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / allowed_fast_closureAdded value: +{} - added
Output schema / properties / closure_requested_atAdded value: +{} - added
Output schema / properties / closure_requested_byAdded value: +{} - added
Output schema / properties / closure_scheduled_atAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / verifiedAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_request_enterprise_quote12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "comments": { + "description": "The additional comment.", + "type": "string" + }, + "endpoint_count": { + "description": "The number of licensed endpoints for the enterprise.", + "type": "number" + }, + "product": { + "description": "Company name", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_request_enterprise_trial12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "comments": { + "description": "The additional comment.", + "type": "string" + }, + "endpoint_count": { + "description": "The number of licensed endpoints for the enterprise.", + "type": "number" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_revoke_enterprise_closure18 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "reason": { + "description": "Reason for closing.", + "type": "string" + } +} - added
Input schema / properties / body / requiredAdded value: +[ + "reason" +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / allowed_fast_closureAdded value: +{} - added
Output schema / properties / closure_requested_atAdded value: +{} - added
Output schema / properties / closure_requested_byAdded value: +{} - added
Output schema / properties / closure_scheduled_atAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / verifiedAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_run_bash_macos5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / retry_minutes / $refRemoved value: -"#/properties/timeout_minutes" - added
Input schema / properties / retry_minutes / anyOfAdded value: +[ + { + "maximum": 10080, + "minimum": 0, + "type": "integer" + }, + { + "pattern": "^\\d+$", + "type": "string" + } +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_run_data_collection4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_run_powershell5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / retry_minutes / $refRemoved value: -"#/properties/timeout_minutes" - added
Input schema / properties / retry_minutes / anyOfAdded value: +[ + { + "maximum": 10080, + "minimum": 0, + "type": "integer" + }, + { + "pattern": "^\\d+$", + "type": "string" + } +] - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_run_script7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / osAdded value: +{ + "description": "Script OS. Required for target_type='EndpointGroup'; for a single endpoint it must match the detected OS.", + "enum": [ + "windows", + "macos" + ], + "type": "string" +} - removed
Input schema / properties / retry_minutes / $refRemoved value: -"#/properties/timeout_minutes" - added
Input schema / properties / retry_minutes / anyOfAdded value: +[ + { + "maximum": 10080, + "minimum": 0, + "type": "integer" + }, + { + "pattern": "^\\d+$", + "type": "string" + } +] - added
Input schema / properties / success_exit_codes / patternAdded value: +"^\\d+(,\\d+)*$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_search7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / limit / maximumAdded value: +50000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertiesAdded value: +{ + "AD_organization_unit": {}, + "AD_security_groups": {}, + "CPU_model": {}, + "CPU_name": {}, + "CPU_size": {}, + "MAC": {}, + "NIC": {}, + "OS": {}, + "RAM": {}, + "WiFi": {}, + "address": {}, + "agent_install_date": {}, + "agent_version": {}, + "alertable": {}, + "architecture": {}, + "builtin": {}, + "column_aliases": {}, + "comment": {}, + "custom": {}, + "data_sources": {}, + "data_sourses": {}, + "description": {}, + "device_name": {}, + "disk": {}, + "drilldown_columns": {}, + "filter_set": {}, + "id": {}, + "internal_notes": {}, + "last_boot_time": {}, + "last_seen": {}, + "long_description": {}, + "manufacturer": {}, + "missing_updates": {}, + "name": {}, + "online_status": {}, + "organization_id": {}, + "parent_category": {}, + "platform": {}, + "reboot_required": {}, + "report_data": {}, + "report_errors": {}, + "scope": {}, + "self": {}, + "serial": {}, + "simple": {}, + "simple_columns": {}, + "status": {}, + "subscription_status": {}, + "summary_columns": {}, + "summary_customizable": {}, + "type": {}, + "update_status": {}, + "user": {}, + "vendor": {}, + "versions": {}, + "video": {}, + "vulnerabilities": {}, + "vulnerability_status": {} +}
- Changed
action1_search_endpoints4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_software_inventory_for_endpoint5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / endpoint_id / patternPrevious value: -"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"New value: +"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / items / items / propertyNamesAdded value: +{ + "type": "string" +}
- Changed
action1_stop_instance11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / developer_messageAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_messageAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_uninstall_program4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / params / propertyNamesAdded value: +{ + "type": "string" +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{}
- Changed
action1_update_automation19 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "actions": { + "description": "One automation can contain multiple actions.", + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "deploy_update", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "deploy_package", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "uninstall_program", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "run_script", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "reboot", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "template_id": { + "const": "update_ring", + "type": "string" + } + }, + "required": [ + "template_id", + "name", + "params" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "endpoints": { + "description": "IDs of endpoints and/or groups to run this batch on.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "The automation name.", + "type": "string" + }, + "retry_minutes": { + "description": "The number of minutes to keep trying to run on disconnected/powered off endpoints.", + "type": "string" + }, + "settings": { + "description": "### Available schedule settings: - ONCE - apply only once on a specified DATE and AT a...", + "type": "string" + }, + "settings_timezone": { + "description": "The time zone for automation execution: - UTC - the automation will execute at the same...", + "enum": [ + "UTC", + "LOCALTIME" + ], + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / actionsAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / endpointsAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / last_instanceAdded value: +{} - added
Output schema / properties / last_runAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / next_runAdded value: +{} - added
Output schema / properties / retry_minutesAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / settingsAdded value: +{} - added
Output schema / properties / settings_timezoneAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_data_source17 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "columns": { + "description": "A list of data source output columns.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The data source description.", + "type": "string" + }, + "language": { + "description": "The language for querying data.", + "enum": [ + "PowerShell" + ], + "type": "string" + }, + "name": { + "description": "The name of the data source.", + "type": "string" + }, + "script_text": { + "description": "The script text.", + "type": "string" + }, + "status": { + "description": "This parameter is currently deferred.", + "enum": [ + "Published", + "Draft" + ], + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / columnsAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / languageAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / script_textAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_endpoint46 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "comment": { + "description": "New value for comment.", + "type": "string" + }, + "custom:{Custom Attribute Name}": { + "description": "New value for custom attribute.", + "type": "string" + }, + "name": { + "description": "New value for name.", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / AD_organization_unitAdded value: +{} - added
Output schema / properties / AD_security_groupsAdded value: +{} - added
Output schema / properties / CPU_modelAdded value: +{} - added
Output schema / properties / CPU_nameAdded value: +{} - added
Output schema / properties / CPU_sizeAdded value: +{} - added
Output schema / properties / MACAdded value: +{} - added
Output schema / properties / NICAdded value: +{} - added
Output schema / properties / OSAdded value: +{} - added
Output schema / properties / RAMAdded value: +{} - added
Output schema / properties / WiFiAdded value: +{} - added
Output schema / properties / addressAdded value: +{} - added
Output schema / properties / agent_install_dateAdded value: +{} - added
Output schema / properties / agent_versionAdded value: +{} - added
Output schema / properties / architectureAdded value: +{} - added
Output schema / properties / commentAdded value: +{} - added
Output schema / properties / customAdded value: +{} - added
Output schema / properties / device_nameAdded value: +{} - added
Output schema / properties / diskAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / last_boot_timeAdded value: +{} - added
Output schema / properties / last_seenAdded value: +{} - added
Output schema / properties / manufacturerAdded value: +{} - added
Output schema / properties / missing_updatesAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / online_statusAdded value: +{} - added
Output schema / properties / organization_idAdded value: +{} - added
Output schema / properties / platformAdded value: +{} - added
Output schema / properties / reboot_requiredAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / serialAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / subscription_statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / update_statusAdded value: +{} - added
Output schema / properties / userAdded value: +{} - added
Output schema / properties / videoAdded value: +{} - added
Output schema / properties / vulnerabilitiesAdded value: +{} - added
Output schema / properties / vulnerability_statusAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_endpoint_agent_deployment11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "ad_domain": { + "description": "1 - AD domain, 0 - computer list.", + "enum": [ + "0", + "1" + ], + "type": "string" + }, + "computer_list": { + "description": "The list of computers.", + "items": { + "type": "string" + }, + "type": "array" + }, + "domain_name": { + "description": "A comma-separated list of AD domains.\"", + "type": "string" + }, + "exclude_DCs": { + "description": "A setting to exclude domain controllers from discovery by Action1 Deployment.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "exclude_computer_list": { + "description": "Excluded machines.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exclude_computer_list_enabled": { + "description": "A setting to exclude certain machines from discovery by Action1 Deployment.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "exclude_servers": { + "description": "A setting to exclude servers from discovery by Action1 Deployment.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "exclude_workstations": { + "description": "A setting to exclude workstations from discovery by Action1 Deployment.", + "enum": [ + "yes", + "no" + ], + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / connector_idAdded value: +{} - added
Output schema / properties / connector_last_seenAdded value: +{} - added
Output schema / properties / connector_nameAdded value: +{} - added
Output schema / properties / connector_statusAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_enterprise17 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "type": "string" + }, + "name": { + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / allowed_fast_closureAdded value: +{} - added
Output schema / properties / closure_requested_atAdded value: +{} - added
Output schema / properties / closure_requested_byAdded value: +{} - added
Output schema / properties / closure_scheduled_atAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / verifiedAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_group18 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The group description.", + "type": "string" + }, + "exclude_filter": { + "description": "The list of endpoint exclusion filters.", + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "AD_organization_unit", + "AD_security_groups", + "agent_version", + "CPU_name", + "CPU_size", + "comment", + "name", + "video", + "MAC", + "manufacturer", + "platform", + "serial", + "user", + "WiFi", + "NIC" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value or wildcard." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "OS", + "reboot_required", + "subscription_status", + "status" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "description": "Format is \"custom:{Attribute Name}\".", + "type": "string" + }, + "field_value": {}, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "agent_install_date", + "last_seen", + "last_boot_time" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `2023-07-04-2023-08-04` - from 4 July, 2023 to 4 August, 2023." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "RAM", + "Disk" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `524-1024` - from 524GB to 1024GB." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "const": "member_of", + "type": "string" + }, + "field_value": { + "description": "The endpoint group ID with the prefix \"id:\"." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "exclude_filter_logic": { + "description": "Filter logic Boolean expression for group's exclusion filters using 1-based filter...", + "type": "string" + }, + "include_filter": { + "description": "The list of endpoint inclusion filters.", + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "AD_organization_unit", + "AD_security_groups", + "agent_version", + "CPU_name", + "CPU_size", + "comment", + "name", + "video", + "MAC", + "manufacturer", + "platform", + "serial", + "user", + "WiFi", + "NIC" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value or wildcard." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "OS", + "reboot_required", + "subscription_status", + "status" + ], + "type": "string" + }, + "field_value": { + "description": "Exact match value." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "description": "Format is \"custom:{Attribute Name}\".", + "type": "string" + }, + "field_value": {}, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "agent_install_date", + "last_seen", + "last_boot_time" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `2023-07-04-2023-08-04` - from 4 July, 2023 to 4 August, 2023." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "enum": [ + "RAM", + "Disk" + ], + "type": "string" + }, + "field_value": { + "description": "Allowed formats: * `524-1024` - from 524GB to 1024GB." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "field_name": { + "const": "member_of", + "type": "string" + }, + "field_value": { + "description": "The endpoint group ID with the prefix \"id:\"." + }, + "mode": { + "description": "Defines matching.", + "enum": [ + "include", + "exclude" + ], + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "include_filter_logic": { + "description": "Filter logic Boolean expression for group's inclusion filters using 1-based filter...", + "type": "string" + }, + "name": { + "description": "The group name.", + "type": "string" + }, + "uptime_alerts": { + "additionalProperties": {}, + "properties": { + "offline_alerts_delay": { + "description": "Notify when endpoints have been offline for more than minutes", + "type": "number" + }, + "offline_alerts_enabled": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "online_alerts_enabled": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "user_ids_for_notification": { + "description": "The list of user ids to be notified", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / contentsAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / exclude_filterAdded value: +{} - added
Output schema / properties / exclude_filter_logicAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / include_filterAdded value: +{} - added
Output schema / properties / include_filter_logicAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / uptime_alertsAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_me8 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "timezone": { + "description": "Timezone identifier.", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_organization12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "Description for My Organization", + "type": "string" + }, + "name": { + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_package19 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The package description.", + "type": "string" + }, + "internal_notes": { + "description": "Invisible comments.", + "type": "string" + }, + "name": { + "description": "The package name.", + "type": "string" + }, + "vendor": { + "description": "The package vendor.", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / internal_notesAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / vendorAdded value: +{} - added
Output schema / properties / versionsAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_remediation12 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "comment": { + "description": "A description of the remediation (compensating control) applied.", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / commentAdded value: +{} - added
Output schema / properties / creation_dateAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / product_nameAdded value: +{} - added
Output schema / properties / remediated_byAdded value: +{} - added
Output schema / properties / remediation_idAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_remote_session21 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "current_monitor": { + "description": "Switch to monitor 2.", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / connectedAdded value: +{} - added
Output schema / properties / connection_typeAdded value: +{} - added
Output schema / properties / current_ipAdded value: +{} - added
Output schema / properties / current_monitorAdded value: +{} - added
Output schema / properties / customer_emailAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / endpoint_nameAdded value: +{} - added
Output schema / properties / enterprise_idAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / monitor_countAdded value: +{} - added
Output schema / properties / remote_sessionAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / user_idAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_report27 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "column_aliases": { + "description": "A list of column aliases.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The ID of the data source for which the new column name is assigned.", + "type": "string" + }, + "new_name": { + "description": "The new column name.", + "type": "string" + }, + "original_name": { + "description": "The original column name for which the new name is assigned.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "data_sources": { + "description": "Only data source ID or self is sufficient for this method.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "The custom report description.", + "type": "string" + }, + "drilldown_columns": { + "description": "A list of drilldown report data output columns.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The data source ID.", + "type": "string" + }, + "enabled": { + "description": "Defines if a column is enabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "name": { + "description": "The column name.", + "type": "string" + }, + "sort": { + "description": "Defines sorting settings.", + "enum": [ + "ASC", + "DESC", + "none" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "filter_set": { + "additionalProperties": {}, + "properties": { + "filter_logic": { + "description": "Expression to combine filters in the \"filters\" array.", + "type": "string" + }, + "filters": { + "description": "An ordered list of filters to apply to a data source.", + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "name": { + "description": "The report title.", + "type": "string" + }, + "simple_columns": { + "description": "A list of simple report data output columns.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The data source ID.", + "type": "string" + }, + "enabled": { + "description": "Defines if a column is enabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "name": { + "description": "The column name.", + "type": "string" + }, + "sort": { + "description": "Defines sorting settings.", + "enum": [ + "ASC", + "DESC", + "none" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "summary_columns": { + "description": "A list of summary report data output columns.", + "items": { + "additionalProperties": {}, + "properties": { + "data_source_id": { + "description": "The data source ID.", + "type": "string" + }, + "enabled": { + "description": "Defines if a column is enabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "name": { + "description": "The column name.", + "type": "string" + }, + "sort": { + "description": "Defines sorting settings.", + "enum": [ + "ASC", + "DESC", + "none" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / alertableAdded value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / column_aliasesAdded value: +{} - added
Output schema / properties / data_sourcesAdded value: +{} - added
Output schema / properties / data_soursesAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / drilldown_columnsAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / filter_setAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / long_descriptionAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / parent_categoryAdded value: +{} - added
Output schema / properties / report_dataAdded value: +{} - added
Output schema / properties / report_errorsAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / simpleAdded value: +{} - added
Output schema / properties / simple_columnsAdded value: +{} - added
Output schema / properties / summary_columnsAdded value: +{} - added
Output schema / properties / summary_customizableAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_report_subscription13 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "name": { + "description": "URL of a user or API key assigned the role.\"", + "type": "string" + }, + "report_id": { + "description": "ID of a report.", + "enum": [ + "daily_patch_statistics", + "weekly_patch_statistics" + ], + "type": "string" + }, + "schedule": { + "description": "Schedule settings string in the following format - **(ENABLED|DISABLED)...", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / commentsAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / endpoint_countAdded value: +{} - added
Output schema / properties / formatAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_role15 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The role description.", + "type": "string" + }, + "name": { + "description": "The role name.", + "type": "string" + }, + "scoped_permissions": { + "items": { + "additionalProperties": {}, + "properties": { + "exclude_scope": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "include_scope": { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "permission": { + "description": "The permission ID. List of available permissions can be found by calling /API/permissions.", + "type": "string" + }, + "restrictions": { + "additionalProperties": {}, + "description": "Optional restrictions for `include_scope` only (not for `exclude_scope`).", + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "permission", + "include_scope", + "exclude_scope" + ], + "type": "object" + }, + "type": "array" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scoped_permissionsAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / usersAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_script21 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - added
Input schema / properties / body / propertiesAdded value: +{ + "description": { + "description": "The script description.", + "type": "string" + }, + "language": { + "description": "The scripting language.", + "enum": [ + "PowerShell", + "Command", + "Bash" + ], + "type": "string" + }, + "name": { + "description": "The script name.", + "type": "string" + }, + "params": { + "items": { + "additionalProperties": {}, + "properties": { + "default": { + "description": "Uses this value, unless a different value is specified.", + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "enum": [ + "String", + "Int", + "Float", + "DateTimeString" + ], + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "reboot_exit_codes": { + "description": "The exit codes that indicate a reboot is required.", + "type": "string" + }, + "script_text": { + "description": "The script text.", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / builtinAdded value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / enterprise_idAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / languageAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / paramsAdded value: +{} - added
Output schema / properties / reboot_exit_codesAdded value: +{} - added
Output schema / properties / script_textAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / statusAdded value: +{} - added
Output schema / properties / success_codesAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_setting16 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / body / propertiesAdded value: +{ + "scope": { + "items": { + "additionalProperties": {}, + "properties": { + "object": { + "description": "Select specific organization, group, or apply everywhere. Accepts: all, {orgId}, {groupId}.", + "type": "string" + }, + "type": { + "description": "The scope to apply the setting to.", + "enum": [ + "Enterprise", + "Organization", + "Group" + ], + "type": "string" + } + }, + "required": [ + "type", + "object" + ], + "type": "object" + }, + "type": "array" + }, + "value": { + "description": "The value defined for this setting.", + "type": "string" + } +} - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / descriptionAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / nameAdded value: +{} - added
Output schema / properties / scopeAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / template_idAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / value_typeAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_user11 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / body / additionalPropertiesRemoved value: -{} - added
Input schema / properties / body / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "email": { + "type": "string" + }, + "enabled": { + "description": "Defines if the user is enabled or disabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "phone": { + "type": "string" + }, + "session_timeout": { + "description": "The session timeout in seconds for API and GUI.", + "type": "number" + }, + "timezone": { + "description": "Timezone identifier.", + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "email": { + "type": "string" + }, + "enabled": { + "description": "Defines if the user is enabled or disabled.", + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "first_name": { + "type": "string" + }, + "password": { + "description": "When creating API credentials, the Enterprise Admin can read the password.", + "type": "string" + }, + "timezone": { + "description": "Timezone identifier.", + "type": "string" + } + }, + "type": "object" + } +] - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - removed
Input schema / properties / body / typeRemoved value: -"object" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_update_version36 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / body / additionalPropertiesRemoved value: -{} - added
Input schema / properties / body / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "EULA_accepted": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "EULA_text": { + "description": "The text of the EULA agreement.", + "type": "string" + }, + "OS": { + "description": "The list of supported OS's.", + "items": { + "enum": [ + "Windows 11 (26H2)", + "Windows 11 (26H1)", + "Windows 11 (25H2)", + "Windows 11 (24H2)", + "Windows 11 (23H2)", + "Windows 11 (22H2)", + "Windows 11 (21H2)", + "Windows 11", + "Windows 10 (22H2)", + "Windows 10 (21H2)", + "Windows 10 (21H1)", + "Windows 10 (20H2)", + "Windows 10 (2004)", + "Windows 10 (1909)", + "Windows 10 (1903)", + "Windows 10 (1809)", + "Windows 10 (1803)", + "Windows 10 (1709)", + "Windows 10 (1703)", + "Windows 10 (1607)", + "Windows 10 (1511)", + "Windows 10 (1507)", + "Windows 10", + "Windows 8.1", + "Windows 8", + "Windows 7", + "Windows Vista", + "Windows XP", + "Windows Server 2025", + "Windows Server 2022", + "Windows Server 2019", + "Windows Server 2016", + "Windows Server 2012 R2", + "Windows Server 2012", + "Windows Server 2008 R2", + "Windows Server 2008", + "Windows Server 2003", + "Windows Server" + ], + "type": "string" + }, + "type": "array" + }, + "additional_actions": { + "items": { + "anyOf": [ + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_update", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_package", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "run_script", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "allow_x86_x64_on_arm": { + "description": "If 'file_name.Windows_ARM64' not provided and 'x86_arm_fallback' are set to 'yes', the...", + "enum": [ + "no", + "yes" + ], + "type": "string" + }, + "app_name_match": { + "description": "Regular expression to identify a specific version of already installed software.", + "type": "string" + }, + "approval_status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "file_name": { + "additionalProperties": {}, + "description": "Methods for downloading the installation file.", + "properties": { + "Windows_32": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "Windows_64": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "Windows_ARM64": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, + "install_type": { + "description": "The type of installation file", + "enum": [ + "msi", + "exe", + "msix" + ], + "type": "string" + }, + "minimum_required_agent_version": { + "description": "Minimum required agent version", + "type": "string" + }, + "notes": { + "description": "Additional notes about version.", + "type": "string" + }, + "reboot_exit_codes": { + "description": "Reboot exit code", + "type": "string" + }, + "release_date": { + "description": "The date when the software version was released in format YYYY-MM-DD.", + "type": "string" + }, + "scoped_approvals": { + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Enterprise", + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "organization_id": { + "description": "The ID of the organization where the update holds this status.", + "type": "string" + }, + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Organization", + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "security_CVE": { + "description": "For Security Updates only, CVE ID, if available.", + "type": "string" + }, + "security_severity": { + "description": "For Security Updates only.", + "enum": [ + "Critical", + "Important", + "Moderate", + "Low", + "Unspecified" + ], + "type": "string" + }, + "silent_install_switches": { + "description": "The command line parameters that suppress all setup UI prompts to ensure the installation...", + "type": "string" + }, + "silent_uninstall_switches": { + "description": "The command line parameters that suppress all setup UI prompts to ensure the...", + "type": "string" + }, + "success_exit_codes": { + "description": "Exit code", + "type": "string" + }, + "uninstall_app_name_match": { + "description": "Regular expression to identify all possible versions of the same software, including...", + "type": "string" + }, + "update_type": { + "description": "The update type field will be used by the update automation to determine which updates to...", + "enum": [ + "Regular Updates", + "Critical - Non-Security", + "Definition Updates", + "Feature Updates", + "Security Updates", + "Service Packs", + "Tools", + "Update Rollups", + "Drivers", + "Upgrades", + "Unknown" + ], + "type": "string" + }, + "version": { + "description": "Specify the exact version number as shown in Apps & Features when installed.", + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "EULA_accepted": { + "enum": [ + "yes", + "no" + ], + "type": "string" + }, + "EULA_text": { + "description": "The text of the EULA agreement.", + "type": "string" + }, + "OS": { + "description": "The list of supported OS's.", + "items": { + "enum": [ + "macOS Golden Gate", + "macOS Tahoe", + "macOS Sequoia", + "macOS Sonoma", + "macOS Ventura", + "macOS Monterey", + "macOS" + ], + "type": "string" + }, + "type": "array" + }, + "additional_actions": { + "items": { + "anyOf": [ + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_update", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "deploy_package", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + }, + { + "properties": { + "name": { + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "priority": { + "description": "The priority of the action.", + "type": "string" + }, + "template_id": { + "const": "run_script", + "type": "string" + }, + "when": { + "description": "The action will be triggered - before_install|after_install|before_uninstall|after_unin...", + "enum": [ + "before_install", + "after_install", + "before_uninstall", + "after_uninstall", + "disable_updates" + ], + "type": "string" + } + }, + "required": [ + "priority", + "when", + "template_id", + "name", + "params" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "app_name_match": { + "description": "Regular expression to identify a specific version of already installed software.", + "type": "string" + }, + "approval_status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "file_name": { + "additionalProperties": {}, + "description": "Methods for downloading the installation file.", + "properties": { + "Mac_AppleSilicon": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "Mac_IntelCPU": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, + "minimum_required_agent_version": { + "description": "Minimum required agent version", + "type": "string" + }, + "notes": { + "description": "Additional notes about version.", + "type": "string" + }, + "release_date": { + "description": "The date when the software version was released in format YYYY-MM-DD.", + "type": "string" + }, + "scoped_approvals": { + "items": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Enterprise", + "type": "string" + } + }, + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "organization_id": { + "description": "The ID of the organization where the update holds this status.", + "type": "string" + }, + "status": { + "enum": [ + "New", + "Approved", + "Declined" + ], + "type": "string" + }, + "type": { + "const": "Organization", + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "security_CVE": { + "description": "For Security Updates only, CVE ID, if available.", + "type": "string" + }, + "security_severity": { + "description": "For Security Updates only.", + "enum": [ + "Critical", + "Important", + "Moderate", + "Low", + "Unspecified" + ], + "type": "string" + }, + "silent_install_switches": { + "description": "The command line parameters that suppress all setup UI prompts to ensure the installation...", + "type": "string" + }, + "success_exit_codes": { + "description": "Exit code", + "type": "string" + }, + "update_type": { + "description": "The update type field will be used by the update automation to determine which updates to...", + "enum": [ + "Regular Updates", + "Critical - Non-Security", + "Definition Updates", + "Feature Updates", + "Security Updates", + "Service Packs", + "Tools", + "Update Rollups", + "Drivers", + "Upgrades", + "Unknown" + ], + "type": "string" + }, + "version": { + "description": "Specify the exact version number as shown in Apps & Features when installed.", + "type": "string" + } + }, + "type": "object" + } +] - changed
Input schema / properties / body / descriptionPrevious value: -"Request body (schema: object)"New value: +"Request body" - removed
Input schema / properties / body / typeRemoved value: -"object" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / EULA_acceptedAdded value: +{} - added
Output schema / properties / EULA_textAdded value: +{} - added
Output schema / properties / OSAdded value: +{} - added
Output schema / properties / additional_actionsAdded value: +{} - added
Output schema / properties / allow_x86_x64_on_armAdded value: +{} - added
Output schema / properties / app_name_matchAdded value: +{} - added
Output schema / properties / approval_statusAdded value: +{} - added
Output schema / properties / binary_idAdded value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / file_nameAdded value: +{} - added
Output schema / properties / idAdded value: +{} - added
Output schema / properties / install_typeAdded value: +{} - added
Output schema / properties / minimum_required_agent_versionAdded value: +{} - added
Output schema / properties / notesAdded value: +{} - added
Output schema / properties / reboot_exit_codesAdded value: +{} - added
Output schema / properties / release_dateAdded value: +{} - added
Output schema / properties / scoped_approvalsAdded value: +{} - added
Output schema / properties / security_CVEAdded value: +{} - added
Output schema / properties / security_severityAdded value: +{} - added
Output schema / properties / selfAdded value: +{} - added
Output schema / properties / silent_install_switchesAdded value: +{} - added
Output schema / properties / silent_uninstall_switchesAdded value: +{} - added
Output schema / properties / success_exit_codesAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / typeAdded value: +{} - added
Output schema / properties / uninstall_app_name_matchAdded value: +{} - added
Output schema / properties / update_typeAdded value: +{} - added
Output schema / properties / versionAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_upload_software_chunk10 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / body / additionalPropertiesRemoved value: -{} - changed
Input schema / properties / body / descriptionPrevious value: -"Request body."New value: +"Request body (application/octet-stream)" - changed
Input schema / properties / body / typePrevious value: -"object"New value: +"string" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / dry_runAdded value: +{} - added
Output schema / properties / toolAdded value: +{} - added
Output schema / properties / valueAdded value: +{} - added
Output schema / properties / would_sendAdded value: +{}
- Changed
action1_wait_for_automation5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / additionalPropertiesPrevious value: -trueNew value: +{} - added
Output schema / properties / outputAdded value: +{ + "description": "string" +} - added
Output schema / properties / statusAdded value: +{ + "description": "object" +}
166 tool updates
v0.5.0- First observed
action1_add_endpoint_to_group - First observed
action1_audit_log_search - First observed
action1_automations_summary - First observed
action1_clone_package - First observed
action1_clone_role - First observed
action1_create_automation_instance - First observed
action1_create_automation_schedule - First observed
action1_create_cve_remediation - First observed
action1_create_data_source - First observed
action1_create_endpoint_group - First observed
action1_create_endpoint_remote_session - First observed
action1_create_organization - First observed
action1_create_package - First observed
action1_create_package_version - First observed
action1_create_report - First observed
action1_create_report_subscription - First observed
action1_create_role - First observed
action1_create_role_user - First observed
action1_create_script - First observed
action1_create_setting - First observed
action1_create_user - First observed
action1_cve_remediation_plan - First observed
action1_delete_automation - First observed
action1_delete_automation_action - First observed
action1_delete_data_source - First observed
action1_delete_deployer - First observed
action1_delete_endpoint - First observed
action1_delete_group - First observed
action1_delete_organization - First observed
action1_delete_package - First observed
action1_delete_package_version_action - First observed
action1_delete_remediation - First observed
action1_delete_report - First observed
action1_delete_report_subscription - First observed
action1_delete_role - First observed
action1_delete_role_user - First observed
action1_delete_script - First observed
action1_delete_setting - First observed
action1_delete_user - First observed
action1_delete_version - First observed
action1_deploy_package - First observed
action1_deploy_update - First observed
action1_endpoint_groups_resolve - First observed
action1_endpoints_summary - First observed
action1_execute_and_wait - First observed
action1_export_audit_log - First observed
action1_get_action_template - First observed
action1_get_agent_install_url - First observed
action1_get_audit_event - First observed
action1_get_automation_instance - First observed
action1_get_automation_output - First observed
action1_get_automation_results - First observed
action1_get_automation_schedule - First observed
action1_get_automation_script_output - First observed
action1_get_automation_status - First observed
action1_get_cve - First observed
action1_get_cve_description - First observed
action1_get_data_source - First observed
action1_get_deployer - First observed
action1_get_drilldown_for_report_row - First observed
action1_get_endpoint - First observed
action1_get_endpoint_discovery_settings - First observed
action1_get_endpoints_onboarded_status - First observed
action1_get_enterprise - First observed
action1_get_export_for_report - First observed
action1_get_export_for_report_row - First observed
action1_get_group - First observed
action1_get_installed_software_endpoint - First observed
action1_get_match_conflicts_for_package - First observed
action1_get_match_conflicts_for_software_repository - First observed
action1_get_me - First observed
action1_get_org_subscription_usage - First observed
action1_get_remote_session - First observed
action1_get_report_or_category - First observed
action1_get_role - First observed
action1_get_script - First observed
action1_get_setting - First observed
action1_get_setting_template - First observed
action1_get_software_repository_package - First observed
action1_get_subscription - First observed
action1_get_subscription_usage - First observed
action1_get_update_package - First observed
action1_get_user - First observed
action1_get_version - First observed
action1_get_windows_deployer_url - First observed
action1_init_software_upload - First observed
action1_list_action_templates - First observed
action1_list_audit_events - First observed
action1_list_automation_deployment_statuses - First observed
action1_list_automation_instances - First observed
action1_list_automation_schedules - First observed
action1_list_cve_endpoints - First observed
action1_list_cve_remediations - First observed
action1_list_data_sources - First observed
action1_list_endpoint_deployers - First observed
action1_list_endpoint_groups - First observed
action1_list_endpoint_missing_updates - First observed
action1_list_endpoints - First observed
action1_list_group_contents - First observed
action1_list_installed_software_data - First observed
action1_list_installed_software_errors - First observed
action1_list_instance_endpoint_results - First observed
action1_list_logs - First observed
action1_list_missing_updates - First observed
action1_list_org_vulnerabilities - First observed
action1_list_organizations - First observed
action1_list_permissions - First observed
action1_list_recent_automations - First observed
action1_list_report_data - First observed
action1_list_report_errors - First observed
action1_list_report_subscriptions - First observed
action1_list_reports - First observed
action1_list_role_users - First observed
action1_list_roles - First observed
action1_list_scripts - First observed
action1_list_setting_templates - First observed
action1_list_settings - First observed
action1_list_software_repository - First observed
action1_list_subscription_usage_organizations - First observed
action1_list_updates - First observed
action1_list_user_roles - First observed
action1_list_users - First observed
action1_list_version_endpoints - First observed
action1_list_vulnerabilities - First observed
action1_move_endpoint - First observed
action1_raw_request - First observed
action1_reboot_endpoint - First observed
action1_recurring_schedules - First observed
action1_remove_endpoint_from_group - First observed
action1_report_export - First observed
action1_requery_installed_software_for_endpoint - First observed
action1_requery_installed_software_for_org - First observed
action1_requery_report - First observed
action1_request_enterprise_closure - First observed
action1_request_enterprise_quote - First observed
action1_request_enterprise_trial - First observed
action1_revoke_enterprise_closure - First observed
action1_run_bash_macos - First observed
action1_run_data_collection - First observed
action1_run_powershell - First observed
action1_run_script - First observed
action1_search - First observed
action1_search_endpoints - First observed
action1_software_inventory_for_endpoint - First observed
action1_stop_instance - First observed
action1_uninstall_program - First observed
action1_update_automation - First observed
action1_update_data_source - First observed
action1_update_endpoint - First observed
action1_update_endpoint_agent_deployment - First observed
action1_update_enterprise - First observed
action1_update_group - First observed
action1_update_me - First observed
action1_update_organization - First observed
action1_update_package - First observed
action1_update_remediation - First observed
action1_update_remote_session - First observed
action1_update_report - First observed
action1_update_report_subscription - First observed
action1_update_role - First observed
action1_update_script - First observed
action1_update_setting - First observed
action1_update_user - First observed
action1_update_version - First observed
action1_upload_software_chunk - First observed
action1_wait_for_automation
TDQS
Scored across 167 tools
The set contains many overlapping tools: list_missing_updates vs list_endpoint_missing_updates, list_vulnerabilities vs list_org_vulnerabilities, list_endpoints vs search_endpoints, and multiple automation instance/output/summary tools. Curated aliases and generic tools like raw_request further blur boundaries, making misselection likely despite helpful descriptions.
Most tools use a consistent action1_ prefix and snake_case, but the naming pattern is mixed: many are verb_noun, while others are noun-style or summary/resolve/export helpers. The inconsistency is readable but not predictable enough for a large toolset.
With 167 tools, this far exceeds a practical surface for an agent, even for a broad RMM platform. The count creates selection burden and increases the chance of using near-duplicate or wrong-domain tools.
Coverage is very broad across endpoints, organizations, users, roles, scripts, reports, software repository, automations, vulnerabilities, audit, and subscriptions. Some lifecycle gaps remain, such as unsupported software upload tools and partial automation action/version management, but most core workflows are covered.
Maintenance
Related MCP Connectors
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Hosted Airtable MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server for Action1, a cloud-native RMM platform, enabling remote monitoring, patch management, and endpoint management through Action1's API.63Apache 2.0
- AlicenseNot gradedqualityAmaintenanceMCP server for the Atera RMM API. Implements a decision tree architecture for efficient tool discovery, enabling Claude to manage devices, alerts, tickets, and customers in Atera.Apache 2.0
- AlicenseAqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server that enables Claude and other LLM applications to execute PowerShell commands, scripts, and perform system operations on Windows systems.1027MIT
- FlicenseNot gradedqualityDmaintenanceAutonomous network monitoring and auto-remediation MCP server for Claude Desktop, enabling observation, planning, human-approved execution, verification, and session summarization.1-