Skip to main content
Glama

action1-mcp-server

License: MIT Node

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 in TESTING.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_script with target_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.md and 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_script payload; the API answers not applicable to Mac platform for any missing field.

  • Windows PowerShell actions need a non-empty success_exit_codes.

  • last_seen is YYYY-MM-DD_HH-MM-SS (UTC), not ISO-8601, so Date.parse returns NaN. The server parses it and renders it readable.

  • The self URL of a list item contains a /general segment that is not a real REST resource.

  • Script output is interleaved with Starting / Waiting / Completed lifecycle markers that need to be filtered.

  • OS is upper-case and platform lower-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

  1. Download action1-mcp-<version>.mcpb from the project's GitHub Releases. The release workflow attaches it to every version tag.

  2. Double-click it (or drag it onto Claude Desktop, or use Settings > Extensions > Install from file).

  3. 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.js

npm 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-server

Any 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 as action1_list_endpoint_groups, unless a curated tool covers it. Exceptions: POST /oauth2/token is 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 into docs/_coverage_table.md; docs/api-coverage.md explains 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 need confirm: "YES" to execute. Account operations need a second switch. See Destructive guard.

  • Scoping. ACTION1_ALLOWED_ORG_IDS limits which organizations the tools may address; ACTION1_TOOLSETS=read registers only read-only tools.

  • Output for agents. Every read-only tool accepts response_format (markdown default, json); every tool sets all four MCP annotations and declares an outputSchema. Paginated results carry count, has_more, next_cursor, and total on 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 by ACTION1_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 Host and Origin against DNS rebinding, limits bodies to 1 MB and rate-limits per client IP.

  • Logs. Structured JSON lines on stderr with credential redaction, one tool_call line 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

ACTION1_BASE_URL

required

API base URL of your region, see below.

ACTION1_CLIENT_ID

required

OAuth2 client ID from Action1 > Settings > API Credentials.

ACTION1_CLIENT_SECRET

required

OAuth2 client secret, shown once when the credential is created.

ACTION1_ORG_ID

unset

Default organization UUID; tools can override it with org_id. Recommended.

ACTION1_ALLOWED_ORG_IDS

any

Comma-separated organization UUIDs the tools may address; others are refused. Recommended for HTTP and shared setups.

ACTION1_ALLOW_ENTERPRISE_OPS

false

With ACTION1_ALLOWED_ORG_IDS set: also allows mutations not bound to one allowed organization (enterprise settings, script library, roles, users, Enterprise scopes).

ACTION1_ALLOW_DESTRUCTIVE

false

true / 1 / yes allows tools that change state to execute.

ACTION1_ALLOW_ACCOUNT_OPS

false

Also allows account operations: changes to users, roles, /me, the enterprise account, organizations and subscriptions, and every non-GET action1_raw_request.

ACTION1_DESTRUCTIVE_AUTO_CONFIRM

false

Isolated single-operator setups only: drops the per-call confirm: "YES". dry_run still defaults to true.

ACTION1_TOOLSETS

all

all, read (read-only tools) or curated (no generated tools); comma-separated values intersect.

ACTION1_REDACT_PII

false

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 User Name and CSV export columns), resource reads and upstream error bodies. Rules and limits: SECURITY.md.

ACTION1_DEFAULT_TIMEOUT_MINUTES

10

Default script timeout, 0 to 10080.

ACTION1_DEFAULT_RETRY_MINUTES

1440

How long Action1 retries an action for an offline endpoint, 0 to 10080.

ACTION1_LAST_SEEN_STALE_MINUTES

10

Minutes since last_seen before an endpoint counts as offline, 1 to 1440: the offline check before an action, connectivity.online of action1_get_endpoint and the fresh / stale counts of action1_endpoints_summary.

ACTION1_REQUEST_TIMEOUT_MS

60000

Budget for one Action1 API call including retries, 1000 to 600000.

ACTION1_TOKEN_TIMEOUT_MS

15000

Timeout for one OAuth token attempt, 1000 to 600000.

ACTION1_LOG_LEVEL

info

debug, info, notice, warn, error, critical, alert or emergency (case-insensitive).

PORT

3000

HTTP mode: listen port.

HOST

127.0.0.1

HTTP mode: bind address.

MCP_HTTP_TOKEN

required for --http

Bearer token clients must send, at least 16 characters (openssl rand -hex 32).

MCP_HTTP_ALLOW_NO_AUTH

false

HTTP mode without a token; loopback binds only, local development.

MCP_HTTP_ALLOWED_HOSTS

loopback and bind address

Extra Host names to accept, e.g. the public name behind a reverse proxy. Required for 0.0.0.0 / ::.

MCP_HTTP_ALLOWED_ORIGINS

loopback origins

Browser Origin values to accept.

TRUST_PROXY

false

Express trust proxy: false, true, loopback, a hop count or a CIDR list. Set loopback behind a local reverse proxy so the rate limit sees real client IPs.

Action1 regions (ACTION1_BASE_URL):

Region

Base URL

Europe

https://app.eu.action1.com/api/3.0

North America

https://app.action1.com/api/3.0

North America 2

https://app.na-2.action1.com/api/3.0

United Kingdom

https://app.uk.action1.com/api/3.0

Australia

https://app.au.action1.com/api/3.0

Connecting to MCP hosts

Host

Transport

Doc

Claude Code (CLI)

stdio

INSTALLATION: Claude Code

Claude Desktop (macOS / Windows)

MCPB bundle or stdio

INSTALLATION: Claude Desktop

Claude.ai (web)

Streamable HTTP

INSTALLATION: Claude.ai

Cursor

stdio

INSTALLATION: Cursor

Continue.dev / Cody

stdio

INSTALLATION: generic

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

docs/INSTALLATION.md

Step-by-step setup for every supported MCP host.

docs/USAGE.md

Tool reference for the curated and wrapper layers, resources, prompts, output format, cancellation, logging.

docs/EXAMPLES.md

End-to-end recipes (patching, triage, CVE remediation).

docs/DEPLOYMENT.md

stdio, HTTP behind a reverse proxy, systemd, MCPB, production checklist.

docs/SECURITY.md

Threat model, destructive guard, data flow to the LLM, reporting vulnerabilities.

docs/permissions.md

Action1 permission per operation and tool (generated).

docs/TROUBLESHOOTING.md

Common failure modes and fixes.

docs/FAQ.md

Questions across topics.

docs/CONTRIBUTING.md

Development setup, codegen workflow, tests, pull requests.

docs/api-coverage.md

How spec operations map to tools; full table in docs/_coverage_table.md.

docs/api-coverage-gaps.md

What the server does not cover, or covers only with a caveat.

docs/GOTCHAS.md

Action1 API quirks and the undocumented endpoints the curated tools use.

docs/adr/

Architecture decision records.

docs/403-investigation.md

Why /general is not a real path.

evals/

Evaluation questions for an LLM-driven harness.

TESTING.md

Test layers and the live-run record.

CHANGELOG.md

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 server

The 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

Available Tools

167 tools
action1_add_endpoint_to_groupAdd an endpoint to an endpoint groupB
Destructive

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.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
group_idYesEndpoint group id.
endpoint_idYesEndpoint UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_automations_summaryServer-side aggregation over recent automation instancesA
Read-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.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
max_scanNoMax instances to walk.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNostring
has_moreNoboolean
by_statusNoobject
failure_countNonumber
success_countNonumber
total_scannedNonumber
warning_countNonumber

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 packageA
Destructive

Clone Software Repository package. Creates a full copy of an existing Software Repository package under a new package ID. Perm: manage_software_repository.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
package_idYesProvide a specific package ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
scopeNo
statusNo
vendorNo
builtinNo
dry_runNo
versionsNo
would_sendNo
descriptionNo
internal_notesNo

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 roleB
Destructive

Clone a role. Creates a copy of an existing role. Perm: manage_roles.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
role_idYesPath parameter (synthesised: not declared in spec).

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
usersNo
dry_runNo
would_sendNo
descriptionNo
scoped_permissionsNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 approvalsB
Destructive

Manage updates approvals. Manages approval status for multiple packages in bulk. Perm: approve_updates.

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
detailsNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 automationC
Destructive

Apply a automation. Immediately runs an instance of the automation on the specified endpoints in the specified. Perm: run_automations.

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
statusNo
actionsNo
dry_runNo
end_timeNo
scheduleNo
endpointsNo
start_timeNo
would_sendNo
retry_minutesNo
endpoint_resultsNo
percent_completedNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 scheduleA
Destructive

Create a automation schedule. Schedules a new automation. The automation will be executed against a specified list of endpoints. Perm: manage_automations.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: AutomationSchedulePayload)
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
actionsNo
dry_runNo
last_runNo
next_runNo
settingsNo
endpointsNo
would_sendNo
last_instanceNo
retry_minutesNo
settings_timezoneNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 vulnerabilityB
Destructive

Documents applied compensating controls for a specific vulnerability. Perm: manage_vulnerabilities.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: RemediationPayloadPost)
cve_idYesThe unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
toolNo
commentNo
dry_runNo
would_sendNo
product_nameNo
creation_dateNo
remediated_byNo
remediation_idNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 sourceB
Destructive

Create a data source. Creates a new custom data source. At this time, all data sources are enterprise-wide. Perm: manage_data_sources.

NameRequiredDescriptionDefault
bodyYesRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
statusNo
builtinNo
columnsNo
dry_runNo
languageNo
would_sendNo
descriptionNo
script_textNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 groupA
Destructive

Create a new group. Creates a new endpoint group within the specified organization. Perm: manage_endpoints.

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
contentsNo
would_sendNo
descriptionNo
uptime_alertsNo
exclude_filterNo
include_filterNo
exclude_filter_logicNo
include_filter_logicNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 sessionB
Destructive

Start a new remote session. Sends a request to the endpoint to start a new remote session. Perm: remote_connect.

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesProvide an endpoint ID.

Output Schema

NameRequiredDescription
idNo
selfNo
toolNo
typeNo
dry_runNo
user_idNo
connectedNo
current_ipNo
would_sendNo
endpoint_nameNo
enterprise_idNo
monitor_countNo
customer_emailNo
remote_sessionNo
connection_typeNo
current_monitorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 organizationC
Destructive

Create an organization. Creates a new organization. Perm: manage_organizations.

NameRequiredDescriptionDefault
bodyNoRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
would_sendNo
descriptionNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 packageB
Destructive

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.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: SoftwareRepositoryPackagePayloadPost)
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
scopeNo
statusNo
vendorNo
builtinNo
dry_runNo
versionsNo
would_sendNo
descriptionNo
internal_notesNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 packageB
Destructive

Create new version in Software Repository package. Adds a new version to the specified Software Repository package. Perm: manage_software_repository.

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
package_idYesProvide a specific package ID.

Output Schema

NameRequiredDescription
OSNo
idNo
selfNo
toolNo
typeNo
notesNo
dry_runNo
versionNo
EULA_textNo
binary_idNo
file_nameNo
would_sendNo
update_typeNo
install_typeNo
release_dateNo
security_CVENo
EULA_acceptedNo
app_name_matchNo
approval_statusNo
scoped_approvalsNo
reboot_exit_codesNo
security_severityNo
additional_actionsNo
success_exit_codesNo
allow_x86_x64_on_armNo
silent_install_switchesNo
uninstall_app_name_matchNo
silent_uninstall_switchesNo
minimum_required_agent_versionNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 reportA
Destructive

Create a custom report. Creates a custom report in the predefined Custom report category. Perm: manage_reports.

NameRequiredDescriptionDefault
bodyYesRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
simpleNo
builtinNo
dry_runNo
alertableNo
filter_setNo
would_sendNo
descriptionNo
report_dataNo
data_sourcesNo
data_soursesNo
report_errorsNo
column_aliasesNo
simple_columnsNo
parent_categoryNo
summary_columnsNo
long_descriptionNo
drilldown_columnsNo
summary_customizableNo

TDQS

A3.5/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 subscriptionC
Destructive

Create a new report subscription. Creates a new report subscription. Perm: view_reports.

NameRequiredDescriptionDefault
bodyNoRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
selfNo
toolNo
typeNo
formatNo
dry_runNo
commentsNo
would_sendNo
endpoint_countNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 roleC
Destructive

Create a role. Creates a new role. Perm: manage_roles.

NameRequiredDescriptionDefault
bodyYesRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
usersNo
dry_runNo
would_sendNo
descriptionNo
scoped_permissionsNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 roleB
Destructive

Assign user to a specific role. Assigns user to a role specified by its ID. Perm: assign_roles.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
role_idYesProvide a specific role ID.
user_idYesProvide a specific user ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 scriptB
Destructive

Create a custom script. Creates a new custom script and adds it to the Script Library. Perm: manage_scripts.

NameRequiredDescriptionDefault
bodyYesRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
paramsNo
statusNo
builtinNo
dry_runNo
languageNo
would_sendNo
descriptionNo
script_textNo
enterprise_idNo
success_codesNo
reboot_exit_codesNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingB
Destructive

Create a new setting. Creates a new setting. At this time, all setting templates are enterprise-wide. Perm: manage_advanced_settings.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: SettingPayloadPost)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
scopeNo
valueNo
dry_runNo
value_typeNo
would_sendNo
descriptionNo
template_idNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 userC
Destructive

Create new user. Creates a new user. To create an SSO user, please first review the following documentation: -. Perm: manage_users.

NameRequiredDescriptionDefault
bodyYesRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
toolNo
valueNo
dry_runNo
would_sendNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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)A
Read-onlyIdempotent

Read-only correlation of vulnerabilities and the updates that fix them. Does NOT execute; pass the result to action1_deploy_update.

NameRequiredDescriptionDefault
cve_idNoPlan for one CVE id.
org_idNoOrg UUID.
max_itemsNoMax plan entries.
endpoint_idNoPlan for one endpoint.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
planNoarray
countNonumber
warningNostring
truncatedNoboolean

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 scheduleB
DestructiveIdempotent

Delete a automation schedule. Deletes a scheduled automation specified by its ID. Perm: manage_automations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
automation_idYesProvide a specific automation ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 automationB
DestructiveIdempotent

Delete an action from a automation. Deletes a specified action from a scheduled automation. Perm: manage_automations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
action_idYesProvide a specific action ID.
automation_idYesProvide a specific automation ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
would_sendNo
descriptionNo
large_imageNo
small_imageNo
applicable_toNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 sourceA
DestructiveIdempotent

Delete a custom data source. Deletes an existing custom data source. Note that you cannot remove built-in data sources. Perm: manage_data_sources.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
data_source_idYesProvide a specific data source ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 DeployerC
DestructiveIdempotent

Delete Deployer. Perm: manage_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
deployer_idYesProvide a specific deployer ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

C2.4/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 endpointB
DestructiveIdempotent

Delete an endpoint. Removes a specified endpoint and attempts to uninstall its agent. Perm: manage_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesProvide an endpoint ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 groupB
DestructiveIdempotent

Delete an endpoint group. Deletes an existing group in the specified organization. Perm: manage_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
group_idYesProvide an endpoint group ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 organizationA
DestructiveIdempotent

Delete an organization. Removes an organization from the enterprise. Perm: manage_organizations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 packageB
DestructiveIdempotent

Delete custom Software Repository package. Deletes a custom Software Repository package specified by its ID. Perm: manage_software_repository.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
package_idYesProvide a specific package ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 packageB
DestructiveIdempotent

Delete additional action from version of Software Repository package. Perm: manage_software_repository.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
action_idYesProvide a specific action ID.
package_idYesProvide a specific package ID.
version_idYesProvide a specific version ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 controlsB
DestructiveIdempotent

Deletes remediation record of compensating controls. Perm: manage_vulnerabilities.

NameRequiredDescriptionDefault
cve_idYesThe unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
remediation_idYesA specific remediation ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 reportA
DestructiveIdempotent

Delete a custom report. Deletes a custom report specified by its ID. Perm: manage_reports.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
report_idYesProvide a specific report ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 subscriptionC
DestructiveIdempotent

Delete the report subscription. Removes the report subscription.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
subscription_idYesProvide a specific subscription ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

C2.4/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 roleB
DestructiveIdempotent

Delete a specific role. Deletes a role specified by its ID. Perm: manage_roles.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
role_idYesProvide a specific role ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 roleA
DestructiveIdempotent

Unassign user from a specific role. Unassigns user from a role specified by its ID. Perm: assign_roles.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
role_idYesProvide a specific role ID.
user_idYesProvide a specific user ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 scriptB
DestructiveIdempotent

Delete a custom script. Deletes an existing custom script specified by its ID. Perm: manage_scripts.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
script_idYesProvide a specific script ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingB
DestructiveIdempotent

Delete a setting. Deletes an existing setting specified by its ID. Perm: manage_advanced_settings.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
setting_idYesProvide a specific setting ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 userC
DestructiveIdempotent

Delete user. Deletes an existing user. Perm: manage_users.

NameRequiredDescriptionDefault
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
user_idYesProvide a specific user ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 packageB
DestructiveIdempotent

Delete version from Software Repository package. Deletes the specified version of the specified custom Software Repository package. Perm: manage_software_repository.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
package_idYesProvide a specific package ID.
version_idYesProvide a specific version ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 packageA
Destructive

Deploy software via the deploy_package template. Use action1_get_action_template for the params schema.

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
paramsYesTemplate params for deploy_package.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 endpointC
Destructive

Deploy one or more updates (by package id) via the deploy_update template.

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
updatesYesUpdates to deploy.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
reboot_afterNoReboot policy after deploy.
display_summaryNoOptional console summary.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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)A
Read-onlyIdempotent

Look up an endpoint group by name or UUID using exact-id/exact-name/starts-with/contains.

NameRequiredDescriptionDefault
queryYesGroup name fragment or UUID.
org_idNoOrg UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
matchesNoarray
total_groupsNonumber
match_strategyNostring

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 endpointsA
Read-onlyIdempotent

Walks every endpoint and returns counts (total, by status/platform/OS/online, reboot_required). ~1 KB output regardless of fleet size.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
by_osNoobject
linuxNonumber
macosNonumber
totalNonumber
windowsNonumber
by_statusNoobject
by_platformNoobject
fresh_last_seenNonumber
reboot_requiredNonumber
stale_last_seenNonumber
by_online_statusNoobject

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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)A
Destructive

One-shot helper: starts an action (auto-routes by OS for 'script', or runs a template), polls until terminal, returns filtered output.

NameRequiredDescriptionDefault
modeNo'script' auto-routes by OS; 'template' runs a template_id.script
nameNoFriendly action name.
org_idNoOrg UUID.
paramsNoTemplate params when mode='template'.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID.
script_textNoRequired when mode='script'.
template_idNoRequired when mode='template'.
response_formatNoOutput format. Default markdown.
timeout_secondsNoPolling timeout.
success_exit_codesNoPowerShell only. Default '0'.
poll_interval_secondsNoPoll interval seconds.
skip_connectivity_checkNoSkip offline-abort check.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 dataC
Read-onlyIdempotent

Export of audit trail data. Exports audit data. Use parameters to filter out exported data. Perm: view_audit.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
eventNoThe list of comma-separated event names to include.
limitNoSet the maximum number of items to be returned (the page size).
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
formatNoSpecify the report format.
sortbyNoDefine the sorting order by a certain field.
timetoNoThe end date and time in the following format: YYYY-MM-DD_HH-MM-SS
from_idNoProvide the sequential ID of the first record to be returned.
verboseNoSkip per-item compactor.
timefromNoThe start date and time in the following format: YYYY-MM-DD_HH-MM-SS
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
valueNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 detailsA
Read-onlyIdempotent

Fetch full details (parameters, supported platforms) for a single action template by id.

NameRequiredDescriptionDefault
template_idYesAction template id.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 installationA
Read-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.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
install_typeYesThe install type.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
selfNo
typeNo
download_URLNo

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 IDC
Read-onlyIdempotent

Get an audit record by its ID. Get a specific audit record by its ID. Perm: view_audit.

NameRequiredDescriptionDefault
idYesThe ID of an event.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
selfNo
typeNo
eventNo
org_idNo
detailsNo
user_idNo
org_nameNo
timestampNo
user_nameNo
object_urlNo
descriptionNo
object_nameNo
status_messageNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 instanceC
Read-onlyIdempotent

Get a specific instance. Gets details about a automation instance specified by its ID. Perm: view_automations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
automation_idYesProvide a specific automation ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
statusNo
actionsNo
end_timeNo
scheduleNo
endpointsNo
start_timeNo
retry_minutesNo
endpoint_resultsNo
percent_completedNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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)A
Read-onlyIdempotent

Returns filtered stdout for one endpoint of an automation instance. Strips Action1 status markers.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
endpoint_idYesEndpoint UUID.
include_rawNoIf true, also include raw description list.
instance_idYesInstance UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
rawNoarray
outputNostring
skipped_status_linesNonumber

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 overviewB
Read-onlyIdempotent

Per-endpoint result rollup for an instance. Use action1_get_automation_output for stdout.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
instance_idYesInstance UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
resultsNoobject

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 scheduleB
Read-onlyIdempotent

Get a specific automation schedule. Gets a scheduled automation specified by its ID. Perm: view_automations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
automation_idYesProvide a specific automation ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
actionsNo
last_runNo
next_runNo
settingsNo
endpointsNo
last_instanceNo
retry_minutesNo
settings_timezoneNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 endpointB
Read-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.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
endpoint_idYesProvide an endpoint ID.
instance_idYesProvide a specific instance ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

B3.4/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines4/5

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 statusA
Read-onlyIdempotent

Returns the high-level status of one automation instance. For stdout use action1_get_automation_output.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
instance_idYesInstance UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
instanceNoobject

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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…B
Read-onlyIdempotent

Detailed information on a specific vulnerability within an organization, including CVE details like attack vector. Perm: view_vulnerabilities.

NameRequiredDescriptionDefault
cve_idYesThe unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
scopeNo
cve_idNo
safetyNo
versionNo
cisa_kevNo
recoveryNo
cve_originNo
cvss_scoreNo
automatableNo
descriptionNo
impact_scoreNo
access_vectorNo
attack_vectorNo
base_severityNo
value_densityNo
vector_stringNo
authenticationNo
published_dateNo
exploit_maturityNo
integrity_impactNo
provider_urgencyNo
user_interactionNo
access_complexityNo
attack_complexityNo
attack_requirementsNo
availability_impactNo
privileges_requiredNo
exploitability_scoreNo
integrity_requirementNo
confidentiality_impactNo
modified_attack_vectorNo
availability_requirementNo
modified_user_interactionNo
modified_attack_complexityNo
confidentiality_requirementNo
modified_attack_requirementsNo
modified_privileges_requiredNo
vulnerability_response_effortNo
cisa_known_ransomware_campaign_useNo
subsequent_system_integrity_impactNo
vulnerable_system_integrity_impactNo
modified_subsequent_system_integrityNo
modified_vulnerable_system_integrityNo
subsequent_system_availability_impactNo
vulnerable_system_availability_impactNo
modified_subsequent_system_availabilityNo
modified_vulnerable_system_availabilityNo
subsequent_system_confidentiality_impactNo
vulnerable_system_confidentiality_impactNo
modified_subsequent_system_confidentialityNo
modified_vulnerable_system_confidentialityNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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…B
Read-onlyIdempotent

Detailed information on a specific vulnerability in general (not for an organization), including CVE details like attack vector. Perm: view_vulnerabilities.

NameRequiredDescriptionDefault
cve_idYesThe unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
scopeNo
cve_idNo
safetyNo
versionNo
cisa_kevNo
recoveryNo
cve_originNo
cvss_scoreNo
automatableNo
descriptionNo
impact_scoreNo
access_vectorNo
attack_vectorNo
base_severityNo
value_densityNo
vector_stringNo
authenticationNo
published_dateNo
exploit_maturityNo
integrity_impactNo
provider_urgencyNo
user_interactionNo
access_complexityNo
attack_complexityNo
attack_requirementsNo
availability_impactNo
privileges_requiredNo
exploitability_scoreNo
integrity_requirementNo
confidentiality_impactNo
modified_attack_vectorNo
availability_requirementNo
modified_user_interactionNo
modified_attack_complexityNo
confidentiality_requirementNo
modified_attack_requirementsNo
modified_privileges_requiredNo
vulnerability_response_effortNo
cisa_known_ransomware_campaign_useNo
subsequent_system_integrity_impactNo
vulnerable_system_integrity_impactNo
modified_subsequent_system_integrityNo
modified_vulnerable_system_integrityNo
subsequent_system_availability_impactNo
vulnerable_system_availability_impactNo
modified_subsequent_system_availabilityNo
modified_vulnerable_system_availabilityNo
subsequent_system_confidentiality_impactNo
vulnerable_system_confidentiality_impactNo
modified_subsequent_system_confidentialityNo
modified_vulnerable_system_confidentialityNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 sourceB
Read-onlyIdempotent

Get a specific data source. Gets details about a specific data source. Perm: manage_data_sources, manage_reports.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
data_source_idYesProvide a specific data source ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
statusNo
builtinNo
columnsNo
languageNo
descriptionNo
script_textNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 DeployerA
Read-onlyIdempotent

Get a specific Deployer. Obtains the current information about the specified Action1 Deployer service. Perm: manage_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
deployer_idYesProvide a specific deployer ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
osNo
nameNo
selfNo
typeNo
statusNo
addressNo
versionNo
platformNo
last_seenNo
install_dateNo
external_addressNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 detailsC
Read-onlyIdempotent

Drill down to details. Expands report details to provide more information. Perm: view_reports.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
live_onlyNoSpecify if you want to retrieve live results only.
report_idYesProvide a specific report ID.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
report_row_idYesProvide a specific report row ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.6/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 infoA
Read-onlyIdempotent

Fetch the general info block for a single endpoint, plus derived platform and connectivity.online flags.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
endpoint_idYesEndpoint UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
sourceNostring
generalNoobject
platformNostring
connectivityNoobject

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 settingsB
Read-onlyIdempotent

Get Agent Deployment settings. Obtains the current Agent Deployment settings in a specified organization. Perm: manage_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
connector_idNo
connector_nameNo
connector_statusNo
connector_last_seenNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 statusB
Read-onlyIdempotent

Check endpoint status. Retrieves information if any endpoints were added to an organization.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
selfNo
typeNo
endpoints_addedNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingsB
Read-onlyIdempotent

Get enterprise settings. Gets settings for an enterprise. You can query data for your enterprise only.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
verifiedNo
descriptionNo
allowed_fast_closureNo
closure_requested_atNo
closure_requested_byNo
closure_scheduled_atNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 reportC
Read-onlyIdempotent

Export a report. Exports data from the report. Use parameters to filter out exported data. Perm: view_reports.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
formatNoSpecify the report format.
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
live_onlyNoSpecify if you want to retrieve live results only.
report_idYesProvide a specific report ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
valueNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 detailsC
Read-onlyIdempotent

Export report details. Exports reports data. Use parameters to filter out exported data. Perm: view_reports.

NameRequiredDescriptionDefault
formatNoSpecify the report format.
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
report_idYesProvide a specific report ID.
report_row_idYesProvide a specific report row ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
valueNo

TDQS

C2.4/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 groupB
Read-onlyIdempotent

Get an endpoint group. Gets a specific endpoint group by its ID. Perm: view_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
group_idYesProvide an endpoint group ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
contentsNo
descriptionNo
uptime_alertsNo
exclude_filterNo
include_filterNo
exclude_filter_logicNo
include_filter_logicNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 endpointB
Read-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.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
endpoint_idYesProvide an endpoint ID.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 versionA
Read-onlyIdempotent

Check for package matching conflicts when editing and existing package version. Perm: view_software_repository.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
package_idYesProvide a specific package ID.
app_name_matchNoProvide the REGEX expression to match the software name.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
statusNo
vendorNo
builtinNo
versionsNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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…A
Read-onlyIdempotent

Check for Software Repository package matching conflicts before creating a new package version. Perm: view_software_repository.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
app_name_matchNoProvide the REGEX expression to match the software name.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
statusNo
vendorNo
builtinNo
versionsNo

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 settingsC
Read-onlyIdempotent

Get the current user settings. Gets settings for the currently authenticated user.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
valueNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 organizationB
Read-onlyIdempotent

Get usage statistics for a specific organization. Gets details about license usage for an organization specified by its ID. Perm: manage_organizations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
selfNo
typeNo
organizationNo
current_active_endpoint_countNo
monthly_average_endpoint_countNo
current_inactive_endpoint_countNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 sessionB
Read-onlyIdempotent

Get a remote session. Gets details for an existing remote session specified by ID. Perm: remote_connect.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
session_idYesProvide a specific remote session ID.
endpoint_idYesProvide an endpoint ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
selfNo
typeNo
user_idNo
connectedNo
current_ipNo
endpoint_nameNo
enterprise_idNo
monitor_countNo
customer_emailNo
remote_sessionNo
connection_typeNo
current_monitorNo

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 categoriesC
Read-onlyIdempotent

List reports and categories. Gets a list of reports and categories. At this time all reports are enterprise-wide.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.
report_or_category_idYesProvide a specific report id or category id.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
simpleNo
builtinNo
childrenNo
alertableNo
filter_setNo
descriptionNo
large_imageNo
report_dataNo
small_imageNo
data_sourcesNo
data_soursesNo
report_errorsNo
column_aliasesNo
simple_columnsNo
parent_categoryNo
summary_columnsNo
long_descriptionNo
drilldown_columnsNo
summary_customizableNo

TDQS

C2.6/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 roleB
Read-onlyIdempotent

Get a specific role. Gets details about a role specified by its ID. Perm: manage_roles.

NameRequiredDescriptionDefault
role_idYesProvide a specific role ID.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
usersNo
descriptionNo
scoped_permissionsNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 scriptB
Read-onlyIdempotent

Get a specific script. Gets details for a script specified by its ID. Perm: use_scripts.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
script_idYesProvide a specific script ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
paramsNo
statusNo
builtinNo
languageNo
descriptionNo
script_textNo
enterprise_idNo
success_codesNo
reboot_exit_codesNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 configurationC
Read-onlyIdempotent

Get setting configuration. Gets details about the setting configuration. Perm: manage_advanced_settings.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
setting_idYesProvide a specific setting ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
scopeNo
valueNo
value_typeNo
descriptionNo
template_idNo

TDQS

C2.6/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 templateC
Read-onlyIdempotent

Get a setting template. Gets details about a setting template specified by its ID.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
template_idYesProvide a specific setting template ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
categoryNo
value_typeNo
descriptionNo
default_valueNo
value_patternNo
applicable_forNo
available_scopesNo
value_pattern_descriptionNo

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 settingsA
Read-onlyIdempotent

Get Software Repository package settings. Gets details for a Software Repository package specified by its ID. Perm: view_software_repository.

NameRequiredDescriptionDefault
fieldsNoAdd FIELDS parameter to query extended data.
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
package_idYesProvide a specific package ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
typeNo
scopeNo
statusNo
vendorNo
builtinNo
versionsNo
descriptionNo
internal_notesNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 informationC
Read-onlyIdempotent

Get enterprise license information. Gets details about the enterprise license. Perm: manage_enterprise.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
MSPNo
selfNo
typeNo
exceededNo
license_typeNo
license_statusNo
license_expiresNo
free_endpoint_countNo
actual_endpoint_countNo
licensed_endpoint_countNo
endpoint_count_coefficientNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 enterpriseB
Read-onlyIdempotent

Get usage statistics for an enterprise. Gets details about license usage for the entire enterprise. Perm: manage_enterprise.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
selfNo
typeNo
organizationNo
current_active_endpoint_countNo
monthly_average_endpoint_countNo
current_inactive_endpoint_countNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 packageB
Read-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.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
customNoSpecify if the package is custom (yes) or builtin (no).
fieldsNoAdd FIELDS parameter to query extended data.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
builtinNoSpecify if the package is builtin (yes) or custom (no).
verboseNoSkip per-item compactor.
package_idYesProvide a specific package ID.
only_latestNoSpecify if you want to exclude superseded updates. By default, 'yes'.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
approval_statusNoSpecify the update status.
response_formatNoOutput format. Default markdown.
security_severityNoSpecify the severity level, e.g., security_severity=-Critical (for all non-critical).

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 userC
Read-onlyIdempotent

Get user. Gets an existing user. Perm: view_users.

NameRequiredDescriptionDefault
user_idYesProvide a specific user ID.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
valueNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 packageB
Read-onlyIdempotent

Get version in Software Repository package. Gets details about a package version specified by its ID. Perm: view_software_repository.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
package_idYesProvide a specific package ID.
version_idYesProvide a specific version ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
OSNo
idNo
selfNo
typeNo
notesNo
versionNo
EULA_textNo
binary_idNo
file_nameNo
update_typeNo
install_typeNo
release_dateNo
security_CVENo
EULA_acceptedNo
app_name_matchNo
approval_statusNo
scoped_approvalsNo
reboot_exit_codesNo
security_severityNo
additional_actionsNo
success_exit_codesNo
allow_x86_x64_on_armNo
silent_install_switchesNo
uninstall_app_name_matchNo
silent_uninstall_switchesNo
minimum_required_agent_versionNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 URLB
Read-onlyIdempotent

Get Deployer installation URL. Obtains an URL to download the Deployer installation file. Perm: manage_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
idNo
selfNo
typeNo
download_URLNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 uploadC
Destructive

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.

NameRequiredDescriptionDefault
bodyNoRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
platformYesplatform
package_idYesProvide a specific package ID.
version_idYesProvide a specific version ID.

Output Schema

NameRequiredDescription
toolNo
valueNo
dry_runNo
would_sendNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 templatesA
Read-onlyIdempotent

List every action template (id, name, description). Use ids with action1_get_action_template.

NameRequiredDescriptionDefault
applicable_toNoFilter to templates applicable to a context URL.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 actionsB
Read-onlyIdempotent

Get audit records of user actions. 'The Audit Trail contains event records associated with user actions, such as logins, remote. Perm: view_audit.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
eventNoThe list of comma-separated event names to include.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
sortbyNoDefine the sorting order by a certain field.
timetoNoThe end date and time in the following format: YYYY-MM-DD_HH-MM-SS
from_idNoProvide the sequential ID of the first record to be returned.
verboseNoSkip per-item compactor.
timefromNoThe start date and time in the following format: YYYY-MM-DD_HH-MM-SS
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 automationB
Read-onlyIdempotent

Get the deployment statuses of a automation. Gets the deployment statuses of a automation specified by its ID. Perm: view_automations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
verboseNoSkip per-item compactor.
automation_idYesProvide a specific automation ID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 instancesB
Read-onlyIdempotent

List automation instances. Gets a list of running and completed automations for the specified organization. Perm: view_automations.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
statusNoSpecify the status.
verboseNoSkip per-item compactor.
completedNoSpecify the completion status of the automation schedule.
endpoint_idNoThe ID of the endpoint to query.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 schedulesB
Read-onlyIdempotent

List automation schedules. Lists existing scheduled automations. Use parameters to filter out automations in the returned. Perm: view_automations.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 vulnerabilityA
Read-onlyIdempotent

Lists endpoints in an organization affected by a specific vulnerability. Perm: view_vulnerabilities.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
cve_idYesThe unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
product_namesNoThe names of the products to retrieve the endpoints associated with those specific...
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 vulnerabilityB
Read-onlyIdempotent

Lists past remediation actions for a specific vulnerability. Perm: view_vulnerabilities.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
cve_idYesThe unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 sourcesB
Read-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.

NameRequiredDescriptionDefault
builtinNoSpecify if the package is builtin (yes) or custom (no).
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 DeployersB
Read-onlyIdempotent

List Deployers. Lists all Action1 Deployer services in the specified organization. Perm: manage_endpoints.

NameRequiredDescriptionDefault
osNoFilter by operation system.
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
statusNoSpecify the status.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
installed_sinceNoEnter the installation date.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 groupsB
Read-onlyIdempotent

List endpoint groups. Lists existing endpoint groups. Use filters and narrow down and sort the returned results. Perm: view_endpoints.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 endpointA
Read-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.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
endpoint_idYesProvide an endpoint ID.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
approval_statusNoSpecify the update status.
response_formatNoOutput format. Default markdown.
security_severityNoSpecify the severity level, e.g., security_severity=-Critical (for all non-critical).

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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)A
Read-onlyIdempotent

List endpoints with server-side filters (status, online_status, os, reboot_required, …). For counts, use action1_endpoints_summary instead.

NameRequiredDescriptionDefault
osNoFilter by operating system name.
limitNoMax items.
cursorNoPagination cursor.
fieldsNoAPI field-set: *, missing_updates, vulnerabilities.
filterNoCase-insensitive substring; an endpoint matches when any field contains it.
org_idNoOrg UUID.
sortbyNoSort key (e.g. name, last_seen).
statusNoFilter by status: Connected, Disconnected, Pending Uninstall.
page_sizeNoUpstream page size.
projectionNoClient projection: bare (default), compact, full.
reset_cacheNoBypass cache for fresh page.
online_statusNoFilter by online status: SUCCESS, WARNING, ERROR.
update_statusNoFilter by update status: UNDEFINED, SUCCESS, WARNING, ERROR.
reboot_requiredNoFilter by reboot-required: Yes or No.
response_formatNoOutput format. Default markdown.
vulnerability_statusNoFilter by vulnerability status: UNDEFINED, SUCCESS, WARNING, ERROR.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 groupB
Read-onlyIdempotent

List endpoints from the group. Lists all endpoints included in the specified group. Perm: view_endpoints.

NameRequiredDescriptionDefault
osNoFilter by operation system.
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
fieldsNoSome API requests support the optional 'fields' parameter that specifies which object...
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
statusNoFilter by online status.
verboseNoSkip per-item compactor.
group_idYesProvide an endpoint group ID.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
online_statusNoFilter by last seen online status.
update_statusNoFilter by update status.
reboot_requiredNoFilter by reboot requirement of the endpoint.
response_formatNoOutput format. Default markdown.
vulnerability_statusNoFilter by vulnerability status.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 appsC
Read-onlyIdempotent

Get installed apps. Gets a list of installed apps. Use parameters to filter out apps in the returned results. Perm: view_installed_software.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
live_onlyNoSpecify if you want to retrieve live results only.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 errorsC
Read-onlyIdempotent

Get apps report errors. Returns apps report errors. Use parameters to filter out returned results. Perm: view_installed_software.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.4/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 resultsC
Read-onlyIdempotent

List results. Gets a list of endpoints where the automation instance is being applied or has been executed. Perm: view_automations.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
instance_idYesProvide a specific instance ID.
last_statusNoSpecify the last status of the automation instance.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 logsC
Read-onlyIdempotent

Get diagnostic logs. Gets diagnostic logs. Use parameters to pre-filter returned results. Perm: manage_endpoints.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
levelNoSpecify the minimum request level.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 endpointB
Read-onlyIdempotent

Returns missing-update items for one endpoint. Each item.id can be passed to action1_deploy_update.

NameRequiredDescriptionDefault
limitNoMax items to return.
org_idNoOrg UUID.
endpoint_idYesEndpoint UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 organizationsB
Read-onlyIdempotent

List every organization the configured API key can access.

NameRequiredDescriptionDefault
adminNoIf true, restrict to orgs the API key has admin rights on.
limitNoMax items to return.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 organizationA
Read-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.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
scoreNoThe severity of the Common Vulnerabilities and Exposures (CVE) entries.
cursorNonext_cursor of the previous call; takes precedence over from.
cveidsNoAdd CVEIDs parameter to query specific vulnerabilities by their CVE IDs.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
endpoint_idNoThe ID of the endpoint to query.
reset_cacheNoReset current cache.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.
published_date_endNoThe maximum publishing date of the Common Vulnerabilities and Exposures (CVE) entries.
remediation_statusNoThe remediation status.
published_date_startNoThe minimum publishing date of the Common Vulnerabilities and Exposures (CVE) entries.
remediation_required_end_dayNoThe maximum value of the remediation deadline, in days. Example: 30
remediation_required_start_dayNoThe minimum value of the remediation deadline, in days. Example: 7

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 templatesC
Read-onlyIdempotent

List permission templates. Gets a list of available permission templates.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.4/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 instancesA
Read-onlyIdempotent

List recent automation instances for the org. For counts use action1_automations_summary instead.

NameRequiredDescriptionDefault
limitNoMax items.
cursorNoPagination cursor.
org_idNoOrg UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 rowsB
Read-onlyIdempotent

Get report rows. Gets data organized by report rows. Use parameters to filter out returned results. Perm: view_reports.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
detailsNoSpecify 'yes' to expand the details. This parameter is supported only for Summary reports.
verboseNoSkip per-item compactor.
live_onlyNoSpecify if you want to retrieve live results only.
report_idYesProvide a specific report ID.
endpoint_idNoThe ID of the endpoint to query.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines3/5

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 errorsB
Read-onlyIdempotent

Get report errors. Returns report errors for the specified report. Perm: view_reports.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
report_idYesProvide a specific report ID.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines3/5

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 reportsC
Read-onlyIdempotent

List reports. Gets a list of existing reports. At this time all reports are enterprise-wide.

NameRequiredDescriptionDefault
subtreeNoSpecify if you want to query the entire report subtree.
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 subscriptionsC
Read-onlyIdempotent

List report subscriptions. Gets a list of report subscriptions.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.3/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 rolesC
Read-onlyIdempotent

List roles. Gets a list of available roles. Perm: manage_roles.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
fieldsNoAdd FIELDS parameter to query extended data.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 roleB
Read-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.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
sortbyNoDefine the sorting order by a certain field.
role_idYesProvide a specific role ID.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 scriptsB
Read-onlyIdempotent

List scripts. Gets a list of existing scripts from the Script Library. Perm: use_scripts.

NameRequiredDescriptionDefault
builtinNoSpecify if the package is builtin (yes) or custom (no).
verboseNoSkip per-item compactor.
platformNoplatform
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingsA
Read-onlyIdempotent

List settings. Lists all existing settings. At this time, all settings are enterprise-wide. Perm: manage_advanced_settings.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
categoryNoThe category of advanced settings.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.7/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 templatesC
Read-onlyIdempotent

List setting templates. Gets a list of existing setting templates.

NameRequiredDescriptionDefault
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

C2.3/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 packagesB
Read-onlyIdempotent

List Software Repository packages. Gets a list of Software Repository packages for the entire enterprise. Perm: view_software_repository.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
customNoSpecify if the package is custom (yes) or builtin (no).
fieldsNoAdd FIELDS parameter to query extended data.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
builtinNoSpecify if the package is builtin (yes) or custom (no).
verboseNoSkip per-item compactor.
platformNoplatform
match_nameNoProvide the software name to search for.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
match_versionNoProvide the software version to search for.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 organizationsB
Read-onlyIdempotent

Get usage statistics for organizations. Gets details about license usage with statistics for each organization individually. Perm: manage_organizations.

NameRequiredDescriptionDefault
verboseNoSkip per-item compactor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 updatesC
Read-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.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
customNoSpecify if the package is custom (yes) or builtin (no).
fieldsNoAdd FIELDS parameter to query extended data.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
builtinNoSpecify if the package is builtin (yes) or custom (no).
verboseNoSkip per-item compactor.
only_latestNoSpecify if you want to exclude superseded updates. By default, 'yes'.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
approval_statusNoSpecify the update status.
response_formatNoOutput format. Default markdown.
security_severityNoSpecify the severity level, e.g., security_severity=-Critical (for all non-critical).
update_sla_end_dayNoThe maximum value of the remediation deadline in the SLA.
update_sla_start_dayNoThe minimum value of the remediation deadline in the SLA.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 userA
Read-onlyIdempotent

List the roles assigned to a user. Retrieves all roles assigned to a user specified by ID. Perm: manage_users.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
user_idYesProvide a specific user ID.
verboseNoSkip per-item compactor.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.5/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 usersA
Read-onlyIdempotent

List users. Gets a list of users within the current Action1 enterprise. Perm: view_users.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
verboseNoSkip per-item compactor.
user_typeNoSpecify if the user type is API or Interactive.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 updateA
Read-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.

NameRequiredDescriptionDefault
fromNoProvide the number of the first record to be returned.
limitNoSet the maximum number of items to be returned (the page size).
cursorNonext_cursor of the previous call; takes precedence over from.
filterNoProvide a case-insensitive substring to filter and narrow down returned results (i.e., if...
org_idNoOrg UUID.
sortbyNoDefine the sorting order by a certain field.
verboseNoSkip per-item compactor.
package_idYesProvide a specific package ID.
version_idYesProvide a specific version ID.
auto_paginateNoWalk pages until limit or the size budget; then continue with next_cursor.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A4/5.0
Behavior5/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 endpointA
Read-onlyIdempotent

Returns vulnerability findings for one endpoint. Returns a clear 403 if the API key lacks the vulnerabilities scope.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
endpoint_idYesEndpoint UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
truncatedNo

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 organizationB
Destructive

Move the endpoint to another organization. Moves the endpoint to another organization. Perm: manage_endpoints.

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesProvide an endpoint ID.

Output Schema

NameRequiredDescription
OSNo
idNo
MACNo
NICNo
RAMNo
WiFiNo
diskNo
nameNo
selfNo
toolNo
typeNo
userNo
videoNo
customNo
serialNo
statusNo
addressNo
commentNo
dry_runNo
CPU_nameNo
CPU_sizeNo
platformNo
CPU_modelNo
last_seenNo
would_sendNo
device_nameNo
architectureNo
manufacturerNo
agent_versionNo
online_statusNo
update_statusNo
last_boot_timeNo
missing_updatesNo
organization_idNo
reboot_requiredNo
vulnerabilitiesNo
AD_security_groupsNo
agent_install_dateNo
subscription_statusNo
AD_organization_unitNo
vulnerability_statusNo

TDQS

B3.1/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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)A
Destructive

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.

NameRequiredDescriptionDefault
bodyNoRequest body for non-GET verbs.
pathYesAPI path beginning with /.
queryNoOptional query params.
methodYesHTTP method.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 endpointA
Destructive

Reboots the host via the reboot action template. Combine with action1_wait_for_automation to track recovery.

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
response_formatNoOutput format. Default markdown.
skip_connectivity_checkNoSkip offline-abort check.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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)B
Read-onlyIdempotent

List recurring automations with optional client-side filters (status, template_id, group id substring).

NameRequiredDescriptionDefault
limitNoMax items.
cursorNoPagination cursor.
org_idNoOrg UUID.
active_onlyNoDrop paused/disabled schedules.
template_idNoFilter by first action template_id.
response_formatNoOutput format. Default markdown.
group_id_substringNoFilter by target group id substring.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 groupA
Destructive

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).

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
group_idYesEndpoint group id.
endpoint_idYesEndpoint UUID.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 exportB
Read-onlyIdempotent

Resolve a report by name or UUID, then return JSON rows or a CSV export blob.

NameRequiredDescriptionDefault
limitNoMax rows when format='json'.
formatNo'json' rows or 'csv' blob.json
org_idNoOrg UUID.
reportYesReport id or name fragment.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNostring
countNonumber
itemsNoarray
totalNonumber
formatNostring
contentNostring
report_idNostring
truncatedNonumber | boolean

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 endpointB
Destructive

Re-querying installed apps on a specific endpoint. Perm: view_installed_software, view_endpoints.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesProvide an endpoint ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 appsB
Destructive

Re-querying installed apps. This API method initiates an asynchronous update ("requery") of the installed software inventory. Perm: view_installed_software.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 reportA
Destructive

Re-querying a report. This API method initiates an asynchronous update ("requery") of the report's underlying data source. Perm: view_reports.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
report_idYesProvide a specific report ID.
endpoint_idNoThe ID of the endpoint to query.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

A3.9/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 accountA
Destructive

Close the entire enterprise associated with Action1 account. The request is available only for a free Action1 account. Perm: manage_enterprise.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: EnterpriseRequest)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
verifiedNo
would_sendNo
descriptionNo
allowed_fast_closureNo
closure_requested_atNo
closure_requested_byNo
closure_scheduled_atNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 quoteB
Destructive

Request a quote. Sends a quote request to the Action1 Sales department. Perm: manage_enterprise.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: SubscriptionQuotePayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 extensionB
Destructive

Request a free trial or its extension. Perm: manage_enterprise.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: SubscriptionPayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 closureA
Destructive

Revoke account closure. The Action1 enterprise will be immediately reactivated and all your data will be retained. Perm: manage_enterprise.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: EnterpriseRequest)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
verifiedNo
would_sendNo
descriptionNo
allowed_fast_closureNo
closure_requested_atNo
closure_requested_byNo
closure_scheduled_atNo

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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 endpointA
Destructive

Run a Bash script on a macOS endpoint via the run_script template. For OS-aware routing use action1_run_script.

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
script_textYesScript source.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
retry_minutesNoRetry window in minutes when endpoint is offline.
response_formatNoOutput format. Default markdown.
timeout_minutesNoPer-action timeout in minutes (number or digit-string).

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 collectionC
Destructive

Trigger the run_data_collection template on an endpoint.

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
paramsNoOptional template params.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 endpointB
Destructive

Run PowerShell on a Windows endpoint via the run_powershell template. Runs as SYSTEM (no user profile).

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
script_textYesScript source.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
retry_minutesNoRetry window in minutes when endpoint is offline.
response_formatNoOutput format. Default markdown.
timeout_minutesNoPer-action timeout in minutes (number or digit-string).
success_exit_codesNoComma-separated success exit codes.

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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)A
Destructive

Cross-platform script runner. Routes to PowerShell (Windows) or Bash (macOS); errors on Linux/unknown. For target_type='EndpointGroup' pass os ('windows' or 'macos').

NameRequiredDescriptionDefault
osNoScript OS. Required for target_type='EndpointGroup'; for a single endpoint it must match the detected OS.
nameNoFriendly action name.
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
script_textYesScript source.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
retry_minutesNoRetry window in minutes when endpoint is offline.
response_formatNoOutput format. Default markdown.
timeout_minutesNoPer-action timeout in minutes (number or digit-string).
success_exit_codesNoPowerShell only; ignored on macOS.
skip_connectivity_checkNoSkip offline-abort check.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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_search_endpointsSearch endpoints (client-side substring filter, cursor-paginated)A
Read-onlyIdempotent

Case-insensitive substring search restricted to hostname, user, OS and status fields. Walks the endpoint list page by page and matches client-side.

NameRequiredDescriptionDefault
limitNoMax items.
queryYesSubstring (case-insensitive).
cursorNoPagination cursor.
fieldsNoRestrict matching to these fields.
org_idNoOrg UUID.
projectionNoPer-endpoint projection.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 endpointA
Read-onlyIdempotent

Fetch installed-software inventory for one endpoint, with optional name substring filter.

NameRequiredDescriptionDefault
limitNoMax items.
cursorNoPagination cursor.
org_idNoOrg UUID.
endpoint_idYesEndpoint UUID.
find_by_nameNoSubstring filter on application name.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription
noteNo
countYes
itemsYes
totalNo
has_moreNo
next_cursorNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 automationA
Destructive

Stop a automation. Stops applying a automation instance and aborts actions running on a remote endpoint. Perm: manage_automations.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
instance_idYesProvide a specific instance ID.

Output Schema

NameRequiredDescription
idNo
toolNo
typeNo
statusNo
dry_runNo
would_sendNo
user_messageNo
developer_messageNo

TDQS

A3.5/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 programA
Destructive

Uninstall software via the uninstall_program template. Use action1_get_action_template for the params schema.

NameRequiredDescriptionDefault
nameNoFriendly action name.
org_idNoOrg UUID.
paramsYesTemplate params for uninstall_program.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesEndpoint UUID, or Group ID when target_type='EndpointGroup'.
target_typeNoEndpoint (default) or EndpointGroup for fan-out.
response_formatNoOutput format. Default markdown.

Output Schema

NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 scheduleB
Destructive

Update a automation schedule. Perm: manage_automations.

NameRequiredDescriptionDefault
bodyYesRequest body (schema: AutomationSchedulePayload)
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
automation_idYesProvide a specific automation ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
actionsNo
dry_runNo
last_runNo
next_runNo
settingsNo
endpointsNo
would_sendNo
last_instanceNo
retry_minutesNo
settings_timezoneNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 sourceC
Destructive

Update a custom data source. Updates a custom data source specified by its ID. Perm: manage_data_sources.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: DataSourcePayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
data_source_idYesProvide a specific data source ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
statusNo
builtinNo
columnsNo
dry_runNo
languageNo
would_sendNo
descriptionNo
script_textNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 nameB
Destructive

Change an endpoint comment or name. Changes the user-defined 'comment', 'name' and custom attributes for the specified endpoint. Perm: manage_endpoint_attributes.

NameRequiredDescriptionDefault
bodyYesRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
endpoint_idYesProvide an endpoint ID.

Output Schema

NameRequiredDescription
OSNo
idNo
MACNo
NICNo
RAMNo
WiFiNo
diskNo
nameNo
selfNo
toolNo
typeNo
userNo
videoNo
customNo
serialNo
statusNo
addressNo
commentNo
dry_runNo
CPU_nameNo
CPU_sizeNo
platformNo
CPU_modelNo
last_seenNo
would_sendNo
device_nameNo
architectureNo
manufacturerNo
agent_versionNo
online_statusNo
update_statusNo
last_boot_timeNo
missing_updatesNo
organization_idNo
reboot_requiredNo
vulnerabilitiesNo
AD_security_groupsNo
agent_install_dateNo
subscription_statusNo
AD_organization_unitNo
vulnerability_statusNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingsB
Destructive

Update Agent Deployment settings. Updates the Agent Deployment configuration for a specific organization. Perm: manage_endpoints.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: AgentDeploymentPayload)
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
toolNo
dry_runNo
would_sendNo
connector_idNo
connector_nameNo
connector_statusNo
connector_last_seenNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingsC
Destructive

Update enterprise settings. Updates settings for a current enterprise. Perm: manage_enterprise.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: EnterprisePayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
verifiedNo
would_sendNo
descriptionNo
allowed_fast_closureNo
closure_requested_atNo
closure_requested_byNo
closure_scheduled_atNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingsC
Destructive

Change group settings. Changes settings for an existing endpoint group in the specified organization. Perm: manage_endpoints.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: EndpointGroupPayload)
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
group_idYesProvide an endpoint group ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
contentsNo
would_sendNo
descriptionNo
uptime_alertsNo
exclude_filterNo
include_filterNo
exclude_filter_logicNo
include_filter_logicNo

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 settingsC
Destructive

Update the current user settings. Updates settings for the currently authenticated user.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: UserPayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
toolNo
valueNo
dry_runNo
would_sendNo

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 settingsC
Destructive

Update organization settings. Updates settings for an organization specified by its ID. Perm: manage_organizations.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: OrganizationPayload)
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
dry_runNo
would_sendNo
descriptionNo

TDQS

C2.8/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 settingsB
Destructive

Update Software Repository package settings. Perm: manage_software_repository.

NameRequiredDescriptionDefault
bodyNoRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
package_idYesProvide a specific package ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
scopeNo
statusNo
vendorNo
builtinNo
dry_runNo
versionsNo
would_sendNo
descriptionNo
internal_notesNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 changesB
Destructive

Updates record of compensating controls when remediation changes. Perm: manage_vulnerabilities.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: RemediationPayload)
cve_idYesThe unique identifier of a CVE (Common Vulnerabilities and Exposures), e.g. CVE-2005-2300
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
remediation_idYesA specific remediation ID.

Output Schema

NameRequiredDescription
toolNo
commentNo
dry_runNo
would_sendNo
product_nameNo
creation_dateNo
remediated_byNo
remediation_idNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 monitorB
Destructive

Switch a current monitor. Changes the 'current_monitor' parameter for a specific remote session. Perm: remote_connect.

NameRequiredDescriptionDefault
bodyNoRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
session_idYesProvide a specific remote session ID.
endpoint_idYesProvide an endpoint ID.

Output Schema

NameRequiredDescription
idNo
selfNo
toolNo
typeNo
dry_runNo
user_idNo
connectedNo
current_ipNo
would_sendNo
endpoint_nameNo
enterprise_idNo
monitor_countNo
customer_emailNo
remote_sessionNo
connection_typeNo
current_monitorNo

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 reportC
Destructive

Update a custom report. Updates a custom report. You cannot changes a custom report's category. Perm: manage_reports.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: ReportPayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
report_idYesProvide a specific report ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
simpleNo
builtinNo
dry_runNo
alertableNo
filter_setNo
would_sendNo
descriptionNo
report_dataNo
data_sourcesNo
data_soursesNo
report_errorsNo
column_aliasesNo
simple_columnsNo
parent_categoryNo
summary_columnsNo
long_descriptionNo
drilldown_columnsNo
summary_customizableNo

TDQS

C2.7/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 subscriptionC
Destructive

Update the report subscription. Updates the report subscription. Perm: view_reports.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: ReportSubscriptionPayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
subscription_idYesProvide a specific subscription ID.

Output Schema

NameRequiredDescription
idNo
selfNo
toolNo
typeNo
formatNo
dry_runNo
commentsNo
would_sendNo
endpoint_countNo

TDQS

C2.2/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 roleA
Destructive

Update a specific role. Updates a role specified by its ID. Perm: manage_roles.

NameRequiredDescriptionDefault
bodyYesRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
role_idYesProvide a specific role ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
usersNo
dry_runNo
would_sendNo
descriptionNo
scoped_permissionsNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 scriptA
Destructive

Update a custom script. Updates details for an existing custom script specified by its ID. Perm: manage_scripts.

NameRequiredDescriptionDefault
bodyNoRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
script_idYesProvide a specific script ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
paramsNo
statusNo
builtinNo
dry_runNo
languageNo
would_sendNo
descriptionNo
script_textNo
enterprise_idNo
success_codesNo
reboot_exit_codesNo

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 settingA
Destructive

Update a setting. Updates an existing setting specified by its ID. Perm: manage_advanced_settings.

NameRequiredDescriptionDefault
bodyNoRequest body (schema: SettingPayload)
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
setting_idYesProvide a specific setting ID.

Output Schema

NameRequiredDescription
idNo
nameNo
selfNo
toolNo
typeNo
scopeNo
valueNo
dry_runNo
value_typeNo
would_sendNo
descriptionNo
template_idNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 userC
Destructive

Update user. Updates an existing user. Perm: manage_users.

NameRequiredDescriptionDefault
bodyYesRequest body
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
user_idYesProvide a specific user ID.

Output Schema

NameRequiredDescription
toolNo
valueNo
dry_runNo
would_sendNo

TDQS

C2.2/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 packageC
Destructive

Modify version in Software Repository package.

NameRequiredDescriptionDefault
bodyNoRequest body
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
package_idYesProvide a specific package ID.
version_idYesProvide a specific version ID.

Output Schema

NameRequiredDescription
OSNo
idNo
selfNo
toolNo
typeNo
notesNo
dry_runNo
versionNo
EULA_textNo
binary_idNo
file_nameNo
would_sendNo
update_typeNo
install_typeNo
release_dateNo
security_CVENo
EULA_acceptedNo
app_name_matchNo
approval_statusNo
scoped_approvalsNo
reboot_exit_codesNo
security_severityNo
additional_actionsNo
success_exit_codesNo
allow_x86_x64_on_armNo
silent_install_switchesNo
uninstall_app_name_matchNo
silent_uninstall_switchesNo
minimum_required_agent_versionNo

TDQS

C2.3/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose2/5

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.

Usage Guidelines2/5

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 chunksC
DestructiveIdempotent

Not supported by this server (see error text). Upload package file chunks. Uploads package file chunks. Perm: manage_software_repository.

NameRequiredDescriptionDefault
bodyNoRequest body (application/octet-stream)
org_idNoOrg UUID.
confirmNoRequired to execute. Exact string "YES".
dry_runNoDefault true (preview). Set false to execute.
platformYesplatform
upload_idYesupload_id
package_idYesProvide a specific package ID.
version_idYesProvide a specific version ID.

Output Schema

NameRequiredDescription
toolNo
valueNo
dry_runNo
would_sendNo

TDQS

C2.6/5.0
Behavior3/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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 terminatesA
Read-onlyIdempotent

Block until an automation instance reaches a terminal status (Stopped/Success/Warning/Error) or timeout.

NameRequiredDescriptionDefault
org_idNoOrg UUID.
endpoint_idNoIf set, also fetch filtered script output.
instance_idYesInstance UUID.
response_formatNoOutput format. Default markdown.
timeout_secondsNoPolling timeout.
poll_interval_secondsNoPoll interval seconds.

Output Schema

NameRequiredDescription
outputNostring
statusNoobject

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 167 tool updatesv0.6.0
    • Changedaction1_add_endpoint_to_group4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_audit_log_search13 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / event_type_substring / description
        Previous value: -"Filter by event_type."New value: +"Filter by event name (e.g. Login, View Report, POST)."
      • changedInput schema / properties / from_time / description
        Previous value: -"ISO-8601 lower bound."New value: +"Lower bound: YYYY-MM-DD_HH-MM-SS (UTC) or ISO-8601."
      • removedInput schema / properties / from_time / format
        Removed value: -"date-time"
      • addedInput schema / properties / from_time / pattern
        Added 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}))$"
      • changedInput schema / properties / target_substring / description
        Previous value: -"Filter by target."New value: +"Filter by affected object (name, URL or description)."
      • changedInput schema / properties / to_time / description
        Previous value: -"ISO-8601 upper bound."New value: +"Upper bound: YYYY-MM-DD_HH-MM-SS (UTC) or ISO-8601."
      • removedInput schema / properties / to_time / format
        Removed value: -"date-time"
      • addedInput schema / properties / to_time / pattern
        Added 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}))$"
      • changedInput schema / properties / user_substring / description
        Previous value: -"Filter by user."New value: +"Filter by user name."
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_automations_summary10 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / by_status
        Added value: +{
        +  "description": "object"
        +}
      • addedOutput schema / properties / failure_count
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / has_more
        Added value: +{
        +  "description": "boolean"
        +}
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / success_count
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / total_scanned
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / warning_count
        Added value: +{
        +  "description": "number"
        +}
    • Changedaction1_clone_package17 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / internal_notes
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / vendor
        Added value: +{}
      • addedOutput schema / properties / versions
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_clone_role13 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scoped_permissions
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / users
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Addedaction1_create_approval
    • Changedaction1_create_automation_instance22 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "retry_minutes",
        +  "actions",
        +  "endpoints"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / actions
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / end_time
        Added value: +{}
      • addedOutput schema / properties / endpoint_results
        Added value: +{}
      • addedOutput schema / properties / endpoints
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / percent_completed
        Added value: +{}
      • addedOutput schema / properties / retry_minutes
        Added value: +{}
      • addedOutput schema / properties / schedule
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / start_time
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_automation_schedule20 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "retry_minutes",
        +  "actions",
        +  "settings"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / actions
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / endpoints
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / last_instance
        Added value: +{}
      • addedOutput schema / properties / last_run
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / next_run
        Added value: +{}
      • addedOutput schema / properties / retry_minutes
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / settings
        Added value: +{}
      • addedOutput schema / properties / settings_timezone
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_cve_remediation13 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "comment",
        +  "product_name"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / comment
        Added value: +{}
      • addedOutput schema / properties / creation_date
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / product_name
        Added value: +{}
      • addedOutput schema / properties / remediated_by
        Added value: +{}
      • addedOutput schema / properties / remediation_id
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_data_source19 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "description",
        +  "language",
        +  "script_text",
        +  "columns",
        +  "status"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / columns
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / script_text
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_endpoint_group20 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / contents
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / exclude_filter
        Added value: +{}
      • addedOutput schema / properties / exclude_filter_logic
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / include_filter
        Added value: +{}
      • addedOutput schema / properties / include_filter_logic
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / uptime_alerts
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_endpoint_remote_session22 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "connection_type": {
        +    "const": "assistance",
        +    "type": "string"
        +  },
        +  "current_ip": {
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "connection_type"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / connected
        Added value: +{}
      • addedOutput schema / properties / connection_type
        Added value: +{}
      • addedOutput schema / properties / current_ip
        Added value: +{}
      • addedOutput schema / properties / current_monitor
        Added value: +{}
      • addedOutput schema / properties / customer_email
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / endpoint_name
        Added value: +{}
      • addedOutput schema / properties / enterprise_id
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / monitor_count
        Added value: +{}
      • addedOutput schema / properties / remote_session
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_id
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_organization14 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "description": {
        +    "description": "Description for My Organization",
        +    "type": "string"
        +  },
        +  "name": {
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "description"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_package19 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "vendor",
        +  "description",
        +  "platform"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / internal_notes
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / vendor
        Added value: +{}
      • addedOutput schema / properties / versions
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_package_version36 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / body / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / body / anyOf
        Added 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"
        +  }
        +]
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • removedInput schema / properties / body / type
        Removed value: -"object"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / EULA_accepted
        Added value: +{}
      • addedOutput schema / properties / EULA_text
        Added value: +{}
      • addedOutput schema / properties / OS
        Added value: +{}
      • addedOutput schema / properties / additional_actions
        Added value: +{}
      • addedOutput schema / properties / allow_x86_x64_on_arm
        Added value: +{}
      • addedOutput schema / properties / app_name_match
        Added value: +{}
      • addedOutput schema / properties / approval_status
        Added value: +{}
      • addedOutput schema / properties / binary_id
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / file_name
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / install_type
        Added value: +{}
      • addedOutput schema / properties / minimum_required_agent_version
        Added value: +{}
      • addedOutput schema / properties / notes
        Added value: +{}
      • addedOutput schema / properties / reboot_exit_codes
        Added value: +{}
      • addedOutput schema / properties / release_date
        Added value: +{}
      • addedOutput schema / properties / scoped_approvals
        Added value: +{}
      • addedOutput schema / properties / security_CVE
        Added value: +{}
      • addedOutput schema / properties / security_severity
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / silent_install_switches
        Added value: +{}
      • addedOutput schema / properties / silent_uninstall_switches
        Added value: +{}
      • addedOutput schema / properties / success_exit_codes
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / uninstall_app_name_match
        Added value: +{}
      • addedOutput schema / properties / update_type
        Added value: +{}
      • addedOutput schema / properties / version
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_report29 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "description",
        +  "data_sources",
        +  "filter_set",
        +  "simple_columns",
        +  "summary_columns",
        +  "drilldown_columns"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / alertable
        Added value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / column_aliases
        Added value: +{}
      • addedOutput schema / properties / data_sources
        Added value: +{}
      • addedOutput schema / properties / data_sourses
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / drilldown_columns
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / filter_set
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / long_description
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / parent_category
        Added value: +{}
      • addedOutput schema / properties / report_data
        Added value: +{}
      • addedOutput schema / properties / report_errors
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / simple
        Added value: +{}
      • addedOutput schema / properties / simple_columns
        Added value: +{}
      • addedOutput schema / properties / summary_columns
        Added value: +{}
      • addedOutput schema / properties / summary_customizable
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_report_subscription15 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "report_id",
        +  "schedule"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / comments
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / endpoint_count
        Added value: +{}
      • addedOutput schema / properties / format
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_role16 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "description"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scoped_permissions
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / users
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_role_user11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_script22 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "name",
        +  "language",
        +  "script_text",
        +  "platform"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / enterprise_id
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / params
        Added value: +{}
      • addedOutput schema / properties / reboot_exit_codes
        Added value: +{}
      • addedOutput schema / properties / script_text
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / success_codes
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_setting17 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "value",
        +  "scope",
        +  "template_id"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / template_id
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / value_type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_create_user11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / body / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / body / anyOf
        Added 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"
        +  }
        +]
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • removedInput schema / properties / body / type
        Removed value: -"object"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_cve_remediation_plan8 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / count
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / plan
        Added value: +{
        +  "description": "array"
        +}
      • addedOutput schema / properties / truncated
        Added value: +{
        +  "description": "boolean"
        +}
      • addedOutput schema / properties / warning
        Added value: +{
        +  "description": "string"
        +}
    • Changedaction1_delete_automation11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_automation_action14 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / applicable_to
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / large_image
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / small_image
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_data_source11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_deployer11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_endpoint11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_group11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_organization11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_package11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_package_version_action11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_remediation11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_report11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_report_subscription11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_role11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_role_user11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_script11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_setting11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_user11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_delete_version11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_deploy_package4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / params / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_deploy_update5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / updates / items / additionalProperties
        Removed value: -false
      • changedInput schema / properties / updates / items / properties / version / description
        Previous 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."
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_endpoint_groups_resolve6 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / match_strategy
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / matches
        Added value: +{
        +  "description": "array"
        +}
      • addedOutput schema / properties / total_groups
        Added value: +{
        +  "description": "number"
        +}
    • Changedaction1_endpoints_summary14 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / by_online_status
        Added value: +{
        +  "description": "object"
        +}
      • addedOutput schema / properties / by_os
        Added value: +{
        +  "description": "object"
        +}
      • addedOutput schema / properties / by_platform
        Added value: +{
        +  "description": "object"
        +}
      • addedOutput schema / properties / by_status
        Added value: +{
        +  "description": "object"
        +}
      • addedOutput schema / properties / fresh_last_seen
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / linux
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / macos
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / reboot_required
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / stale_last_seen
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / total
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / windows
        Added value: +{
        +  "description": "number"
        +}
    • Changedaction1_execute_and_wait7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / endpoint_id / minLength
        Removed value: -1
      • addedInput schema / properties / endpoint_id / pattern
        Added 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}$"
      • addedInput schema / properties / params / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / success_exit_codes / pattern
        Added value: +"^\\d+(,\\d+)*$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_export_audit_log13 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • removedInput schema / properties / timefrom / format
        Removed value: -"date-time"
      • addedInput schema / properties / timefrom / pattern
        Added 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}))$"
      • removedInput schema / properties / timeto / format
        Removed value: -"date-time"
      • addedInput schema / properties / timeto / pattern
        Added 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}))$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
    • Changedaction1_get_action_template3 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_get_agent_install_url7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / download_URL
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_audit_event17 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / details
        Added value: +{}
      • addedOutput schema / properties / event
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / object_name
        Added value: +{}
      • addedOutput schema / properties / object_url
        Added value: +{}
      • addedOutput schema / properties / org_id
        Added value: +{}
      • addedOutput schema / properties / org_name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status_message
        Added value: +{}
      • addedOutput schema / properties / timestamp
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_id
        Added value: +{}
      • addedOutput schema / properties / user_name
        Added value: +{}
    • Changedaction1_get_automation_instance16 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / actions
        Added value: +{}
      • addedOutput schema / properties / end_time
        Added value: +{}
      • addedOutput schema / properties / endpoint_results
        Added value: +{}
      • addedOutput schema / properties / endpoints
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / percent_completed
        Added value: +{}
      • addedOutput schema / properties / retry_minutes
        Added value: +{}
      • addedOutput schema / properties / schedule
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / start_time
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_automation_output7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / output
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / raw
        Added value: +{
        +  "description": "array"
        +}
      • addedOutput schema / properties / skipped_status_lines
        Added value: +{
        +  "description": "number"
        +}
    • Changedaction1_get_automation_results4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / results
        Added value: +{
        +  "description": "object"
        +}
    • Changedaction1_get_automation_schedule15 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / actions
        Added value: +{}
      • addedOutput schema / properties / endpoints
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / last_instance
        Added value: +{}
      • addedOutput schema / properties / last_run
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / next_run
        Added value: +{}
      • addedOutput schema / properties / retry_minutes
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / settings
        Added value: +{}
      • addedOutput schema / properties / settings_timezone
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_automation_script_output4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "action_id": {},
        +  "action_name": {},
        +  "description": {},
        +  "id": {},
        +  "self": {},
        +  "status": {},
        +  "time": {},
        +  "type": {}
        +}
    • Changedaction1_get_automation_status4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / instance
        Added value: +{
        +  "description": "object"
        +}
    • Changedaction1_get_cve54 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / access_complexity
        Added value: +{}
      • addedOutput schema / properties / access_vector
        Added value: +{}
      • addedOutput schema / properties / attack_complexity
        Added value: +{}
      • addedOutput schema / properties / attack_requirements
        Added value: +{}
      • addedOutput schema / properties / attack_vector
        Added value: +{}
      • addedOutput schema / properties / authentication
        Added value: +{}
      • addedOutput schema / properties / automatable
        Added value: +{}
      • addedOutput schema / properties / availability_impact
        Added value: +{}
      • addedOutput schema / properties / availability_requirement
        Added value: +{}
      • addedOutput schema / properties / base_severity
        Added value: +{}
      • addedOutput schema / properties / cisa_kev
        Added value: +{}
      • addedOutput schema / properties / cisa_known_ransomware_campaign_use
        Added value: +{}
      • addedOutput schema / properties / confidentiality_impact
        Added value: +{}
      • addedOutput schema / properties / confidentiality_requirement
        Added value: +{}
      • addedOutput schema / properties / cve_id
        Added value: +{}
      • addedOutput schema / properties / cve_origin
        Added value: +{}
      • addedOutput schema / properties / cvss_score
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / exploit_maturity
        Added value: +{}
      • addedOutput schema / properties / exploitability_score
        Added value: +{}
      • addedOutput schema / properties / impact_score
        Added value: +{}
      • addedOutput schema / properties / integrity_impact
        Added value: +{}
      • addedOutput schema / properties / integrity_requirement
        Added value: +{}
      • addedOutput schema / properties / modified_attack_complexity
        Added value: +{}
      • addedOutput schema / properties / modified_attack_requirements
        Added value: +{}
      • addedOutput schema / properties / modified_attack_vector
        Added value: +{}
      • addedOutput schema / properties / modified_privileges_required
        Added value: +{}
      • addedOutput schema / properties / modified_subsequent_system_availability
        Added value: +{}
      • addedOutput schema / properties / modified_subsequent_system_confidentiality
        Added value: +{}
      • addedOutput schema / properties / modified_subsequent_system_integrity
        Added value: +{}
      • addedOutput schema / properties / modified_user_interaction
        Added value: +{}
      • addedOutput schema / properties / modified_vulnerable_system_availability
        Added value: +{}
      • addedOutput schema / properties / modified_vulnerable_system_confidentiality
        Added value: +{}
      • addedOutput schema / properties / modified_vulnerable_system_integrity
        Added value: +{}
      • addedOutput schema / properties / privileges_required
        Added value: +{}
      • addedOutput schema / properties / provider_urgency
        Added value: +{}
      • addedOutput schema / properties / published_date
        Added value: +{}
      • addedOutput schema / properties / recovery
        Added value: +{}
      • addedOutput schema / properties / safety
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / subsequent_system_availability_impact
        Added value: +{}
      • addedOutput schema / properties / subsequent_system_confidentiality_impact
        Added value: +{}
      • addedOutput schema / properties / subsequent_system_integrity_impact
        Added value: +{}
      • addedOutput schema / properties / user_interaction
        Added value: +{}
      • addedOutput schema / properties / value_density
        Added value: +{}
      • addedOutput schema / properties / vector_string
        Added value: +{}
      • addedOutput schema / properties / version
        Added value: +{}
      • addedOutput schema / properties / vulnerability_response_effort
        Added value: +{}
      • addedOutput schema / properties / vulnerable_system_availability_impact
        Added value: +{}
      • addedOutput schema / properties / vulnerable_system_confidentiality_impact
        Added value: +{}
      • addedOutput schema / properties / vulnerable_system_integrity_impact
        Added value: +{}
    • Changedaction1_get_cve_description54 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / access_complexity
        Added value: +{}
      • addedOutput schema / properties / access_vector
        Added value: +{}
      • addedOutput schema / properties / attack_complexity
        Added value: +{}
      • addedOutput schema / properties / attack_requirements
        Added value: +{}
      • addedOutput schema / properties / attack_vector
        Added value: +{}
      • addedOutput schema / properties / authentication
        Added value: +{}
      • addedOutput schema / properties / automatable
        Added value: +{}
      • addedOutput schema / properties / availability_impact
        Added value: +{}
      • addedOutput schema / properties / availability_requirement
        Added value: +{}
      • addedOutput schema / properties / base_severity
        Added value: +{}
      • addedOutput schema / properties / cisa_kev
        Added value: +{}
      • addedOutput schema / properties / cisa_known_ransomware_campaign_use
        Added value: +{}
      • addedOutput schema / properties / confidentiality_impact
        Added value: +{}
      • addedOutput schema / properties / confidentiality_requirement
        Added value: +{}
      • addedOutput schema / properties / cve_id
        Added value: +{}
      • addedOutput schema / properties / cve_origin
        Added value: +{}
      • addedOutput schema / properties / cvss_score
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / exploit_maturity
        Added value: +{}
      • addedOutput schema / properties / exploitability_score
        Added value: +{}
      • addedOutput schema / properties / impact_score
        Added value: +{}
      • addedOutput schema / properties / integrity_impact
        Added value: +{}
      • addedOutput schema / properties / integrity_requirement
        Added value: +{}
      • addedOutput schema / properties / modified_attack_complexity
        Added value: +{}
      • addedOutput schema / properties / modified_attack_requirements
        Added value: +{}
      • addedOutput schema / properties / modified_attack_vector
        Added value: +{}
      • addedOutput schema / properties / modified_privileges_required
        Added value: +{}
      • addedOutput schema / properties / modified_subsequent_system_availability
        Added value: +{}
      • addedOutput schema / properties / modified_subsequent_system_confidentiality
        Added value: +{}
      • addedOutput schema / properties / modified_subsequent_system_integrity
        Added value: +{}
      • addedOutput schema / properties / modified_user_interaction
        Added value: +{}
      • addedOutput schema / properties / modified_vulnerable_system_availability
        Added value: +{}
      • addedOutput schema / properties / modified_vulnerable_system_confidentiality
        Added value: +{}
      • addedOutput schema / properties / modified_vulnerable_system_integrity
        Added value: +{}
      • addedOutput schema / properties / privileges_required
        Added value: +{}
      • addedOutput schema / properties / provider_urgency
        Added value: +{}
      • addedOutput schema / properties / published_date
        Added value: +{}
      • addedOutput schema / properties / recovery
        Added value: +{}
      • addedOutput schema / properties / safety
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / subsequent_system_availability_impact
        Added value: +{}
      • addedOutput schema / properties / subsequent_system_confidentiality_impact
        Added value: +{}
      • addedOutput schema / properties / subsequent_system_integrity_impact
        Added value: +{}
      • addedOutput schema / properties / user_interaction
        Added value: +{}
      • addedOutput schema / properties / value_density
        Added value: +{}
      • addedOutput schema / properties / vector_string
        Added value: +{}
      • addedOutput schema / properties / version
        Added value: +{}
      • addedOutput schema / properties / vulnerability_response_effort
        Added value: +{}
      • addedOutput schema / properties / vulnerable_system_availability_impact
        Added value: +{}
      • addedOutput schema / properties / vulnerable_system_confidentiality_impact
        Added value: +{}
      • addedOutput schema / properties / vulnerable_system_integrity_impact
        Added value: +{}
    • Changedaction1_get_data_source13 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / columns
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / script_text
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_deployer15 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / address
        Added value: +{}
      • addedOutput schema / properties / external_address
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / install_date
        Added value: +{}
      • addedOutput schema / properties / last_seen
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / os
        Added value: +{}
      • addedOutput schema / properties / platform
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / version
        Added value: +{}
    • Changedaction1_get_drilldown_for_report_row11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "fields": {},
        +  "id": {},
        +  "last_refresh": {},
        +  "response_type": {},
        +  "self": {},
        +  "type": {}
        +}
    • Changedaction1_get_endpoint8 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / connectivity
        Added value: +{
        +  "description": "object"
        +}
      • addedOutput schema / properties / general
        Added value: +{
        +  "description": "object"
        +}
      • addedOutput schema / properties / platform
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / source
        Added value: +{
        +  "description": "string"
        +}
    • Changedaction1_get_endpoint_discovery_settings7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / connector_id
        Added value: +{}
      • addedOutput schema / properties / connector_last_seen
        Added value: +{}
      • addedOutput schema / properties / connector_name
        Added value: +{}
      • addedOutput schema / properties / connector_status
        Added value: +{}
    • Changedaction1_get_endpoints_onboarded_status7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / endpoints_added
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_enterprise13 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / allowed_fast_closure
        Added value: +{}
      • addedOutput schema / properties / closure_requested_at
        Added value: +{}
      • addedOutput schema / properties / closure_requested_by
        Added value: +{}
      • addedOutput schema / properties / closure_scheduled_at
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / verified
        Added value: +{}
    • Changedaction1_get_export_for_report9 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
    • Changedaction1_get_export_for_report_row4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
    • Changedaction1_get_group14 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / contents
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / exclude_filter
        Added value: +{}
      • addedOutput schema / properties / exclude_filter_logic
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / include_filter
        Added value: +{}
      • addedOutput schema / properties / include_filter_logic
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / uptime_alerts
        Added value: +{}
    • Changedaction1_get_installed_software_endpoint11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "fields": {},
        +  "id": {},
        +  "last_refresh": {},
        +  "response_type": {},
        +  "self": {},
        +  "type": {}
        +}
    • Changedaction1_get_match_conflicts_for_package11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / vendor
        Added value: +{}
      • addedOutput schema / properties / versions
        Added value: +{}
    • Changedaction1_get_match_conflicts_for_software_repository11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / vendor
        Added value: +{}
      • addedOutput schema / properties / versions
        Added value: +{}
    • Changedaction1_get_me4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
    • Changedaction1_get_org_subscription_usage10 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / current_active_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / current_inactive_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / monthly_average_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / organization
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_remote_session16 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / connected
        Added value: +{}
      • addedOutput schema / properties / connection_type
        Added value: +{}
      • addedOutput schema / properties / current_ip
        Added value: +{}
      • addedOutput schema / properties / current_monitor
        Added value: +{}
      • addedOutput schema / properties / customer_email
        Added value: +{}
      • addedOutput schema / properties / endpoint_name
        Added value: +{}
      • addedOutput schema / properties / enterprise_id
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / monitor_count
        Added value: +{}
      • addedOutput schema / properties / remote_session
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_id
        Added value: +{}
    • Changedaction1_get_report_or_category26 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / alertable
        Added value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / children
        Added value: +{}
      • addedOutput schema / properties / column_aliases
        Added value: +{}
      • addedOutput schema / properties / data_sources
        Added value: +{}
      • addedOutput schema / properties / data_sourses
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / drilldown_columns
        Added value: +{}
      • addedOutput schema / properties / filter_set
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / large_image
        Added value: +{}
      • addedOutput schema / properties / long_description
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / parent_category
        Added value: +{}
      • addedOutput schema / properties / report_data
        Added value: +{}
      • addedOutput schema / properties / report_errors
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / simple
        Added value: +{}
      • addedOutput schema / properties / simple_columns
        Added value: +{}
      • addedOutput schema / properties / small_image
        Added value: +{}
      • addedOutput schema / properties / summary_columns
        Added value: +{}
      • addedOutput schema / properties / summary_customizable
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_role10 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scoped_permissions
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / users
        Added value: +{}
    • Changedaction1_get_script16 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / enterprise_id
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / params
        Added value: +{}
      • addedOutput schema / properties / reboot_exit_codes
        Added value: +{}
      • addedOutput schema / properties / script_text
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / success_codes
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_setting12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / template_id
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / value_type
        Added value: +{}
    • Changedaction1_get_setting_template15 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / applicable_for
        Added value: +{}
      • addedOutput schema / properties / available_scopes
        Added value: +{}
      • addedOutput schema / properties / category
        Added value: +{}
      • addedOutput schema / properties / default_value
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / value_pattern
        Added value: +{}
      • addedOutput schema / properties / value_pattern_description
        Added value: +{}
      • addedOutput schema / properties / value_type
        Added value: +{}
    • Changedaction1_get_software_repository_package14 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / internal_notes
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / vendor
        Added value: +{}
      • addedOutput schema / properties / versions
        Added value: +{}
    • Changedaction1_get_subscription15 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / MSP
        Added value: +{}
      • addedOutput schema / properties / actual_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / endpoint_count_coefficient
        Added value: +{}
      • addedOutput schema / properties / exceeded
        Added value: +{}
      • addedOutput schema / properties / free_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / license_expires
        Added value: +{}
      • addedOutput schema / properties / license_status
        Added value: +{}
      • addedOutput schema / properties / license_type
        Added value: +{}
      • addedOutput schema / properties / licensed_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_subscription_usage10 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / current_active_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / current_inactive_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / monthly_average_endpoint_count
        Added value: +{}
      • addedOutput schema / properties / organization
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_get_update_package11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "builtin": {},
        +  "description": {},
        +  "id": {},
        +  "internal_notes": {},
        +  "kb_number": {},
        +  "name": {},
        +  "optional": {},
        +  "organization_ids": {},
        +  "reboot_needed": {},
        +  "recommended": {},
        +  "scope": {},
        +  "self": {},
        +  "size": {},
        +  "status": {},
        +  "type": {},
        +  "update_type": {},
        +  "vendor": {},
        +  "versions": {}
        +}
    • Changedaction1_get_user4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
    • Changedaction1_get_version29 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / EULA_accepted
        Added value: +{}
      • addedOutput schema / properties / EULA_text
        Added value: +{}
      • addedOutput schema / properties / OS
        Added value: +{}
      • addedOutput schema / properties / additional_actions
        Added value: +{}
      • addedOutput schema / properties / allow_x86_x64_on_arm
        Added value: +{}
      • addedOutput schema / properties / app_name_match
        Added value: +{}
      • addedOutput schema / properties / approval_status
        Added value: +{}
      • addedOutput schema / properties / binary_id
        Added value: +{}
      • addedOutput schema / properties / file_name
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / install_type
        Added value: +{}
      • addedOutput schema / properties / minimum_required_agent_version
        Added value: +{}
      • addedOutput schema / properties / notes
        Added value: +{}
      • addedOutput schema / properties / reboot_exit_codes
        Added value: +{}
      • addedOutput schema / properties / release_date
        Added value: +{}
      • addedOutput schema / properties / scoped_approvals
        Added value: +{}
      • addedOutput schema / properties / security_CVE
        Added value: +{}
      • addedOutput schema / properties / security_severity
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / silent_install_switches
        Added value: +{}
      • addedOutput schema / properties / silent_uninstall_switches
        Added value: +{}
      • addedOutput schema / properties / success_exit_codes
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / uninstall_app_name_match
        Added value: +{}
      • addedOutput schema / properties / update_type
        Added value: +{}
      • addedOutput schema / properties / version
        Added value: +{}
    • Changedaction1_get_windows_deployer_url7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / download_URL
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
    • Changedaction1_init_software_upload10 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / body / additionalProperties
        Removed value: -{}
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • removedInput schema / properties / body / type
        Removed value: -"object"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_list_action_templates4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_list_audit_events15 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • removedInput schema / properties / timefrom / format
        Removed value: -"date-time"
      • addedInput schema / properties / timefrom / pattern
        Added 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}))$"
      • removedInput schema / properties / timeto / format
        Removed value: -"date-time"
      • addedInput schema / properties / timeto / pattern
        Added 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}))$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "description": {},
        +  "details": {},
        +  "event": {},
        +  "id": {},
        +  "object_name": {},
        +  "object_url": {},
        +  "org_id": {},
        +  "org_name": {},
        +  "self": {},
        +  "status_message": {},
        +  "timestamp": {},
        +  "type": {},
        +  "user_id": {},
        +  "user_name": {}
        +}
    • Changedaction1_list_automation_deployment_statuses4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "deployment_count": {},
        +  "excluded": {},
        +  "failure_count": {},
        +  "first_deployed_datetime": {},
        +  "id": {},
        +  "name": {},
        +  "self": {},
        +  "success_rate": {},
        +  "type": {},
        +  "vendor": {},
        +  "version": {}
        +}
    • Changedaction1_list_automation_instances11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "actions": {},
        +  "end_time": {},
        +  "endpoint_results": {},
        +  "endpoints": {},
        +  "id": {},
        +  "name": {},
        +  "percent_completed": {},
        +  "retry_minutes": {},
        +  "schedule": {},
        +  "self": {},
        +  "start_time": {},
        +  "status": {},
        +  "type": {}
        +}
    • Changedaction1_list_automation_schedules11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "actions": {},
        +  "endpoints": {},
        +  "id": {},
        +  "last_instance": {},
        +  "last_run": {},
        +  "name": {},
        +  "next_run": {},
        +  "retry_minutes": {},
        +  "self": {},
        +  "settings": {},
        +  "settings_timezone": {},
        +  "type": {}
        +}
    • Changedaction1_list_cve_endpoints11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "OS": {},
        +  "endpoint_id": {},
        +  "endpoint_name": {},
        +  "organization_id": {},
        +  "software": {},
        +  "user": {}
        +}
    • Changedaction1_list_cve_remediations11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "comment": {},
        +  "creation_date": {},
        +  "product_name": {},
        +  "remediated_by": {},
        +  "remediation_id": {}
        +}
    • Changedaction1_list_data_sources4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "builtin": {},
        +  "columns": {},
        +  "description": {},
        +  "id": {},
        +  "language": {},
        +  "name": {},
        +  "script_text": {},
        +  "self": {},
        +  "status": {},
        +  "type": {}
        +}
    • Changedaction1_list_endpoint_deployers11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "address": {},
        +  "external_address": {},
        +  "id": {},
        +  "install_date": {},
        +  "last_seen": {},
        +  "name": {},
        +  "os": {},
        +  "platform": {},
        +  "self": {},
        +  "status": {},
        +  "type": {},
        +  "version": {}
        +}
    • Changedaction1_list_endpoint_groups11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "contents": {},
        +  "description": {},
        +  "exclude_filter": {},
        +  "exclude_filter_logic": {},
        +  "id": {},
        +  "include_filter": {},
        +  "include_filter_logic": {},
        +  "name": {},
        +  "self": {},
        +  "type": {},
        +  "uptime_alerts": {}
        +}
    • Changedaction1_list_endpoint_missing_updates11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "builtin": {},
        +  "description": {},
        +  "id": {},
        +  "internal_notes": {},
        +  "kb_number": {},
        +  "name": {},
        +  "optional": {},
        +  "organization_ids": {},
        +  "reboot_needed": {},
        +  "recommended": {},
        +  "scope": {},
        +  "self": {},
        +  "size": {},
        +  "status": {},
        +  "type": {},
        +  "update_type": {},
        +  "vendor": {},
        +  "versions": {}
        +}
    • Changedaction1_list_endpoints12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / filter / description
        Previous value: -"Action1 filter expr (e.g. status=='Connected')."New value: +"Case-insensitive substring; an endpoint matches when any field contains it."
      • changedInput schema / properties / online_status / description
        Previous value: -"Filter by online status."New value: +"Filter by online status: SUCCESS, WARNING, ERROR."
      • changedInput schema / properties / os / description
        Previous value: -"Filter by OS substring."New value: +"Filter by operating system name."
      • changedInput schema / properties / reboot_required / description
        Previous value: -"Filter by reboot-required."New value: +"Filter by reboot-required: Yes or No."
      • changedInput schema / properties / reboot_required / enum
        Previous value: -[
        -  "yes",
        -  "no"
        -]New value: +[
        +  "Yes",
        +  "No",
        +  "yes",
        +  "no"
        +]
      • changedInput schema / properties / status / description
        Previous value: -"Filter by status (Connected/Disconnected)."New value: +"Filter by status: Connected, Disconnected, Pending Uninstall."
      • changedInput schema / properties / update_status / description
        Previous value: -"Filter by update status."New value: +"Filter by update status: UNDEFINED, SUCCESS, WARNING, ERROR."
      • changedInput schema / properties / vulnerability_status / description
        Previous value: -"Filter by vulnerability status."New value: +"Filter by vulnerability status: UNDEFINED, SUCCESS, WARNING, ERROR."
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_list_group_contents16 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / online_status / enum
        Added value: +[
        +  "SUCCESS",
        +  "WARNING",
        +  "ERROR"
        +]
      • addedInput schema / properties / reboot_required / enum
        Added value: +[
        +  "Yes",
        +  "No"
        +]
      • addedInput schema / properties / status / enum
        Added value: +[
        +  "Connected",
        +  "Disconnected",
        +  "Pending Uninstall"
        +]
      • addedInput schema / properties / update_status / enum
        Added value: +[
        +  "SUCCESS",
        +  "WARNING",
        +  "ERROR"
        +]
      • addedInput schema / properties / vulnerability_status / enum
        Added value: +[
        +  "SUCCESS",
        +  "WARNING",
        +  "ERROR"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added 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": {}
        +}
    • Changedaction1_list_installed_software_data11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "drilldown": {},
        +  "drilldown_field": {},
        +  "fields": {},
        +  "id": {},
        +  "self": {},
        +  "type": {}
        +}
    • Changedaction1_list_installed_software_errors11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "description": {},
        +  "endpoint_id": {},
        +  "endpoint_name": {},
        +  "id": {},
        +  "self": {},
        +  "timestamp": {},
        +  "type": {}
        +}
    • Changedaction1_list_instance_endpoint_results11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "action_name": {},
        +  "description": {},
        +  "details": {},
        +  "endpoint_name": {},
        +  "id": {},
        +  "percent_completed": {},
        +  "self": {},
        +  "status": {},
        +  "time": {},
        +  "type": {}
        +}
    • Changedaction1_list_logs12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / level / enum
        Added value: +[
        +  "Debug",
        +  "Normal",
        +  "Internal",
        +  "Important",
        +  "Error",
        +  "Critical"
        +]
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "endpoint_id": {},
        +  "endpoint_name": {},
        +  "id": {},
        +  "is_connector": {},
        +  "level": {},
        +  "message": {},
        +  "self": {},
        +  "time": {},
        +  "type": {}
        +}
    • Changedaction1_list_missing_updates5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_list_org_vulnerabilities12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / reset_cache / enum
        Added value: +[
        +  "Yes",
        +  "No"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "cisa_kev": {},
        +  "cve_id": {},
        +  "cvss_score": {},
        +  "endpoints_count": {},
        +  "organization_id": {},
        +  "organization_ids": {},
        +  "published_date": {},
        +  "remediation_deadline": {},
        +  "remediation_status": {},
        +  "software": {},
        +  "vector_string": {}
        +}
    • Changedaction1_list_organizations4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_list_permissions11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "available_scopes": {},
        +  "description": {},
        +  "id": {},
        +  "name": {}
        +}
    • Changedaction1_list_recent_automations4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_list_report_data11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "drilldown": {},
        +  "drilldown_field": {},
        +  "fields": {},
        +  "group_fields": {},
        +  "id": {},
        +  "last_refresh": {},
        +  "response_type": {},
        +  "self": {},
        +  "type": {}
        +}
    • Changedaction1_list_report_errors11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "description": {},
        +  "endpoint_id": {},
        +  "endpoint_name": {},
        +  "id": {},
        +  "self": {},
        +  "timestamp": {},
        +  "type": {}
        +}
    • Changedaction1_list_report_subscriptions11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "comments": {},
        +  "endpoint_count": {},
        +  "format": {},
        +  "id": {},
        +  "self": {},
        +  "type": {}
        +}
    • Changedaction1_list_reports4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added 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": {}
        +}
    • Changedaction1_list_role_users11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_list_roles11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "description": {},
        +  "id": {},
        +  "name": {},
        +  "scoped_permissions": {},
        +  "self": {},
        +  "type": {},
        +  "users": {}
        +}
    • Changedaction1_list_scripts5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / platform / enum
        Added value: +[
        +  "Windows",
        +  "Mac",
        +  "Linux"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "builtin": {},
        +  "description": {},
        +  "enterprise_id": {},
        +  "id": {},
        +  "language": {},
        +  "name": {},
        +  "params": {},
        +  "reboot_exit_codes": {},
        +  "script_text": {},
        +  "self": {},
        +  "status": {},
        +  "success_codes": {},
        +  "type": {}
        +}
    • Changedaction1_list_setting_templates4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "applicable_for": {},
        +  "available_scopes": {},
        +  "category": {},
        +  "default_value": {},
        +  "description": {},
        +  "id": {},
        +  "name": {},
        +  "self": {},
        +  "type": {},
        +  "value_pattern": {},
        +  "value_pattern_description": {},
        +  "value_type": {}
        +}
    • Changedaction1_list_settings11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "description": {},
        +  "id": {},
        +  "name": {},
        +  "scope": {},
        +  "self": {},
        +  "template_id": {},
        +  "type": {},
        +  "value": {},
        +  "value_type": {}
        +}
    • Changedaction1_list_software_repository12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • addedInput schema / properties / platform / enum
        Added value: +[
        +  "Windows",
        +  "Mac",
        +  "Linux"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "builtin": {},
        +  "description": {},
        +  "id": {},
        +  "internal_notes": {},
        +  "name": {},
        +  "scope": {},
        +  "self": {},
        +  "status": {},
        +  "type": {},
        +  "vendor": {},
        +  "versions": {}
        +}
    • Changedaction1_list_subscription_usage_organizations4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "current_active_endpoint_count": {},
        +  "current_inactive_endpoint_count": {},
        +  "id": {},
        +  "monthly_average_endpoint_count": {},
        +  "organization": {},
        +  "self": {},
        +  "type": {}
        +}
    • Changedaction1_list_updates11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "builtin": {},
        +  "description": {},
        +  "id": {},
        +  "internal_notes": {},
        +  "kb_number": {},
        +  "name": {},
        +  "optional": {},
        +  "organization_ids": {},
        +  "reboot_needed": {},
        +  "recommended": {},
        +  "scope": {},
        +  "self": {},
        +  "size": {},
        +  "status": {},
        +  "type": {},
        +  "update_type": {},
        +  "vendor": {},
        +  "versions": {}
        +}
    • Changedaction1_list_user_roles11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "description": {},
        +  "id": {},
        +  "name": {},
        +  "scoped_permissions": {},
        +  "self": {},
        +  "type": {},
        +  "users": {}
        +}
    • Changedaction1_list_users11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_list_version_endpoints11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / auto_paginate / description
        Previous value: -"Walk all pages."New value: +"Walk pages until limit or the size budget; then continue with next_cursor."
      • changedInput schema / properties / cursor / description
        Previous value: -"Pagination cursor."New value: +"next_cursor of the previous call; takes precedence over from."
      • addedInput schema / properties / from / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / from / minimum
        Added value: +0
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added value: +{
        +  "id": {},
        +  "installed_version": {},
        +  "name": {},
        +  "self": {},
        +  "type": {}
        +}
    • Changedaction1_list_vulnerabilities5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_move_endpoint47 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "target_organization_id": {
        +    "description": "The organization where the endpoint will be moved to.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "target_organization_id"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / AD_organization_unit
        Added value: +{}
      • addedOutput schema / properties / AD_security_groups
        Added value: +{}
      • addedOutput schema / properties / CPU_model
        Added value: +{}
      • addedOutput schema / properties / CPU_name
        Added value: +{}
      • addedOutput schema / properties / CPU_size
        Added value: +{}
      • addedOutput schema / properties / MAC
        Added value: +{}
      • addedOutput schema / properties / NIC
        Added value: +{}
      • addedOutput schema / properties / OS
        Added value: +{}
      • addedOutput schema / properties / RAM
        Added value: +{}
      • addedOutput schema / properties / WiFi
        Added value: +{}
      • addedOutput schema / properties / address
        Added value: +{}
      • addedOutput schema / properties / agent_install_date
        Added value: +{}
      • addedOutput schema / properties / agent_version
        Added value: +{}
      • addedOutput schema / properties / architecture
        Added value: +{}
      • addedOutput schema / properties / comment
        Added value: +{}
      • addedOutput schema / properties / custom
        Added value: +{}
      • addedOutput schema / properties / device_name
        Added value: +{}
      • addedOutput schema / properties / disk
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / last_boot_time
        Added value: +{}
      • addedOutput schema / properties / last_seen
        Added value: +{}
      • addedOutput schema / properties / manufacturer
        Added value: +{}
      • addedOutput schema / properties / missing_updates
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / online_status
        Added value: +{}
      • addedOutput schema / properties / organization_id
        Added value: +{}
      • addedOutput schema / properties / platform
        Added value: +{}
      • addedOutput schema / properties / reboot_required
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / serial
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / subscription_status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / update_status
        Added value: +{}
      • addedOutput schema / properties / user
        Added value: +{}
      • addedOutput schema / properties / video
        Added value: +{}
      • addedOutput schema / properties / vulnerabilities
        Added value: +{}
      • addedOutput schema / properties / vulnerability_status
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_raw_request4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / query / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_reboot_endpoint3 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_recurring_schedules4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_remove_endpoint_from_group4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_report_export11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / content
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / count
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / format
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / items
        Added value: +{
        +  "description": "array"
        +}
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / report_id
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / total
        Added value: +{
        +  "description": "number"
        +}
      • addedOutput schema / properties / truncated
        Added value: +{
        +  "description": "number | boolean"
        +}
    • Changedaction1_requery_installed_software_for_endpoint11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_requery_installed_software_for_org11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_requery_report11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_request_enterprise_closure18 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "reason": {
        +    "description": "Reason for closing.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "reason"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / allowed_fast_closure
        Added value: +{}
      • addedOutput schema / properties / closure_requested_at
        Added value: +{}
      • addedOutput schema / properties / closure_requested_by
        Added value: +{}
      • addedOutput schema / properties / closure_scheduled_at
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / verified
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_request_enterprise_quote12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_request_enterprise_trial12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "comments": {
        +    "description": "The additional comment.",
        +    "type": "string"
        +  },
        +  "endpoint_count": {
        +    "description": "The number of licensed endpoints for the enterprise.",
        +    "type": "number"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_revoke_enterprise_closure18 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "reason": {
        +    "description": "Reason for closing.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / body / required
        Added value: +[
        +  "reason"
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / allowed_fast_closure
        Added value: +{}
      • addedOutput schema / properties / closure_requested_at
        Added value: +{}
      • addedOutput schema / properties / closure_requested_by
        Added value: +{}
      • addedOutput schema / properties / closure_scheduled_at
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / verified
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_run_bash_macos5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / retry_minutes / $ref
        Removed value: -"#/properties/timeout_minutes"
      • addedInput schema / properties / retry_minutes / anyOf
        Added value: +[
        +  {
        +    "maximum": 10080,
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  {
        +    "pattern": "^\\d+$",
        +    "type": "string"
        +  }
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_run_data_collection4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / params / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_run_powershell5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / retry_minutes / $ref
        Removed value: -"#/properties/timeout_minutes"
      • addedInput schema / properties / retry_minutes / anyOf
        Added value: +[
        +  {
        +    "maximum": 10080,
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  {
        +    "pattern": "^\\d+$",
        +    "type": "string"
        +  }
        +]
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_run_script7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / os
        Added value: +{
        +  "description": "Script OS. Required for target_type='EndpointGroup'; for a single endpoint it must match the detected OS.",
        +  "enum": [
        +    "windows",
        +    "macos"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / properties / retry_minutes / $ref
        Removed value: -"#/properties/timeout_minutes"
      • addedInput schema / properties / retry_minutes / anyOf
        Added value: +[
        +  {
        +    "maximum": 10080,
        +    "minimum": 0,
        +    "type": "integer"
        +  },
        +  {
        +    "pattern": "^\\d+$",
        +    "type": "string"
        +  }
        +]
      • addedInput schema / properties / success_exit_codes / pattern
        Added value: +"^\\d+(,\\d+)*$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_search7 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / limit / maximum
        Added value: +50000
      • addedInput schema / properties / limit / minimum
        Added value: +1
      • changedInput schema / properties / limit / type
        Previous value: -"number"New value: +"integer"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / properties
        Added 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": {}
        +}
    • Changedaction1_search_endpoints4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_software_inventory_for_endpoint5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / endpoint_id / pattern
        Previous 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}$"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / items / items / propertyNames
        Added value: +{
        +  "type": "string"
        +}
    • Changedaction1_stop_instance11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / developer_message
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_message
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_uninstall_program4 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / params / propertyNames
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
    • Changedaction1_update_automation19 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / actions
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / endpoints
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / last_instance
        Added value: +{}
      • addedOutput schema / properties / last_run
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / next_run
        Added value: +{}
      • addedOutput schema / properties / retry_minutes
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / settings
        Added value: +{}
      • addedOutput schema / properties / settings_timezone
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_data_source17 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / columns
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / script_text
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_endpoint46 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / AD_organization_unit
        Added value: +{}
      • addedOutput schema / properties / AD_security_groups
        Added value: +{}
      • addedOutput schema / properties / CPU_model
        Added value: +{}
      • addedOutput schema / properties / CPU_name
        Added value: +{}
      • addedOutput schema / properties / CPU_size
        Added value: +{}
      • addedOutput schema / properties / MAC
        Added value: +{}
      • addedOutput schema / properties / NIC
        Added value: +{}
      • addedOutput schema / properties / OS
        Added value: +{}
      • addedOutput schema / properties / RAM
        Added value: +{}
      • addedOutput schema / properties / WiFi
        Added value: +{}
      • addedOutput schema / properties / address
        Added value: +{}
      • addedOutput schema / properties / agent_install_date
        Added value: +{}
      • addedOutput schema / properties / agent_version
        Added value: +{}
      • addedOutput schema / properties / architecture
        Added value: +{}
      • addedOutput schema / properties / comment
        Added value: +{}
      • addedOutput schema / properties / custom
        Added value: +{}
      • addedOutput schema / properties / device_name
        Added value: +{}
      • addedOutput schema / properties / disk
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / last_boot_time
        Added value: +{}
      • addedOutput schema / properties / last_seen
        Added value: +{}
      • addedOutput schema / properties / manufacturer
        Added value: +{}
      • addedOutput schema / properties / missing_updates
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / online_status
        Added value: +{}
      • addedOutput schema / properties / organization_id
        Added value: +{}
      • addedOutput schema / properties / platform
        Added value: +{}
      • addedOutput schema / properties / reboot_required
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / serial
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / subscription_status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / update_status
        Added value: +{}
      • addedOutput schema / properties / user
        Added value: +{}
      • addedOutput schema / properties / video
        Added value: +{}
      • addedOutput schema / properties / vulnerabilities
        Added value: +{}
      • addedOutput schema / properties / vulnerability_status
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_endpoint_agent_deployment11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / connector_id
        Added value: +{}
      • addedOutput schema / properties / connector_last_seen
        Added value: +{}
      • addedOutput schema / properties / connector_name
        Added value: +{}
      • addedOutput schema / properties / connector_status
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_enterprise17 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "description": {
        +    "type": "string"
        +  },
        +  "name": {
        +    "type": "string"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / allowed_fast_closure
        Added value: +{}
      • addedOutput schema / properties / closure_requested_at
        Added value: +{}
      • addedOutput schema / properties / closure_requested_by
        Added value: +{}
      • addedOutput schema / properties / closure_scheduled_at
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / verified
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_group18 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / contents
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / exclude_filter
        Added value: +{}
      • addedOutput schema / properties / exclude_filter_logic
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / include_filter
        Added value: +{}
      • addedOutput schema / properties / include_filter_logic
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / uptime_alerts
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_me8 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "timezone": {
        +    "description": "Timezone identifier.",
        +    "type": "string"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_organization12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "description": {
        +    "description": "Description for My Organization",
        +    "type": "string"
        +  },
        +  "name": {
        +    "type": "string"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_package19 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / internal_notes
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / vendor
        Added value: +{}
      • addedOutput schema / properties / versions
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_remediation12 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "comment": {
        +    "description": "A description of the remediation (compensating control) applied.",
        +    "type": "string"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / comment
        Added value: +{}
      • addedOutput schema / properties / creation_date
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / product_name
        Added value: +{}
      • addedOutput schema / properties / remediated_by
        Added value: +{}
      • addedOutput schema / properties / remediation_id
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_remote_session21 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added value: +{
        +  "current_monitor": {
        +    "description": "Switch to monitor 2.",
        +    "type": "string"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / connected
        Added value: +{}
      • addedOutput schema / properties / connection_type
        Added value: +{}
      • addedOutput schema / properties / current_ip
        Added value: +{}
      • addedOutput schema / properties / current_monitor
        Added value: +{}
      • addedOutput schema / properties / customer_email
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / endpoint_name
        Added value: +{}
      • addedOutput schema / properties / enterprise_id
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / monitor_count
        Added value: +{}
      • addedOutput schema / properties / remote_session
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / user_id
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_report27 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / alertable
        Added value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / column_aliases
        Added value: +{}
      • addedOutput schema / properties / data_sources
        Added value: +{}
      • addedOutput schema / properties / data_sourses
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / drilldown_columns
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / filter_set
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / long_description
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / parent_category
        Added value: +{}
      • addedOutput schema / properties / report_data
        Added value: +{}
      • addedOutput schema / properties / report_errors
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / simple
        Added value: +{}
      • addedOutput schema / properties / simple_columns
        Added value: +{}
      • addedOutput schema / properties / summary_columns
        Added value: +{}
      • addedOutput schema / properties / summary_customizable
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_report_subscription13 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / comments
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / endpoint_count
        Added value: +{}
      • addedOutput schema / properties / format
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_role15 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scoped_permissions
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / users
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_script21 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / builtin
        Added value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / enterprise_id
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / language
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / params
        Added value: +{}
      • addedOutput schema / properties / reboot_exit_codes
        Added value: +{}
      • addedOutput schema / properties / script_text
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / status
        Added value: +{}
      • addedOutput schema / properties / success_codes
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_setting16 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • addedInput schema / properties / body / properties
        Added 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"
        +  }
        +}
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / description
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / name
        Added value: +{}
      • addedOutput schema / properties / scope
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / template_id
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / value_type
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_user11 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / body / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / body / anyOf
        Added 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"
        +  }
        +]
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • removedInput schema / properties / body / type
        Removed value: -"object"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_update_version36 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / body / additionalProperties
        Removed value: -{}
      • addedInput schema / properties / body / anyOf
        Added 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"
        +  }
        +]
      • changedInput schema / properties / body / description
        Previous value: -"Request body (schema: object)"New value: +"Request body"
      • removedInput schema / properties / body / type
        Removed value: -"object"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / EULA_accepted
        Added value: +{}
      • addedOutput schema / properties / EULA_text
        Added value: +{}
      • addedOutput schema / properties / OS
        Added value: +{}
      • addedOutput schema / properties / additional_actions
        Added value: +{}
      • addedOutput schema / properties / allow_x86_x64_on_arm
        Added value: +{}
      • addedOutput schema / properties / app_name_match
        Added value: +{}
      • addedOutput schema / properties / approval_status
        Added value: +{}
      • addedOutput schema / properties / binary_id
        Added value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / file_name
        Added value: +{}
      • addedOutput schema / properties / id
        Added value: +{}
      • addedOutput schema / properties / install_type
        Added value: +{}
      • addedOutput schema / properties / minimum_required_agent_version
        Added value: +{}
      • addedOutput schema / properties / notes
        Added value: +{}
      • addedOutput schema / properties / reboot_exit_codes
        Added value: +{}
      • addedOutput schema / properties / release_date
        Added value: +{}
      • addedOutput schema / properties / scoped_approvals
        Added value: +{}
      • addedOutput schema / properties / security_CVE
        Added value: +{}
      • addedOutput schema / properties / security_severity
        Added value: +{}
      • addedOutput schema / properties / self
        Added value: +{}
      • addedOutput schema / properties / silent_install_switches
        Added value: +{}
      • addedOutput schema / properties / silent_uninstall_switches
        Added value: +{}
      • addedOutput schema / properties / success_exit_codes
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / type
        Added value: +{}
      • addedOutput schema / properties / uninstall_app_name_match
        Added value: +{}
      • addedOutput schema / properties / update_type
        Added value: +{}
      • addedOutput schema / properties / version
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_upload_software_chunk10 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • removedInput schema / properties / body / additionalProperties
        Removed value: -{}
      • changedInput schema / properties / body / description
        Previous value: -"Request body."New value: +"Request body (application/octet-stream)"
      • changedInput schema / properties / body / type
        Previous value: -"object"New value: +"string"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / dry_run
        Added value: +{}
      • addedOutput schema / properties / tool
        Added value: +{}
      • addedOutput schema / properties / value
        Added value: +{}
      • addedOutput schema / properties / would_send
        Added value: +{}
    • Changedaction1_wait_for_automation5 fields changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
      • changedOutput schema / additionalProperties
        Previous value: -trueNew value: +{}
      • addedOutput schema / properties / output
        Added value: +{
        +  "description": "string"
        +}
      • addedOutput schema / properties / status
        Added value: +{
        +  "description": "object"
        +}
  2. 166 tool updatesv0.5.0
    • First observedaction1_add_endpoint_to_group
    • First observedaction1_audit_log_search
    • First observedaction1_automations_summary
    • First observedaction1_clone_package
    • First observedaction1_clone_role
    • First observedaction1_create_automation_instance
    • First observedaction1_create_automation_schedule
    • First observedaction1_create_cve_remediation
    • First observedaction1_create_data_source
    • First observedaction1_create_endpoint_group
    • First observedaction1_create_endpoint_remote_session
    • First observedaction1_create_organization
    • First observedaction1_create_package
    • First observedaction1_create_package_version
    • First observedaction1_create_report
    • First observedaction1_create_report_subscription
    • First observedaction1_create_role
    • First observedaction1_create_role_user
    • First observedaction1_create_script
    • First observedaction1_create_setting
    • First observedaction1_create_user
    • First observedaction1_cve_remediation_plan
    • First observedaction1_delete_automation
    • First observedaction1_delete_automation_action
    • First observedaction1_delete_data_source
    • First observedaction1_delete_deployer
    • First observedaction1_delete_endpoint
    • First observedaction1_delete_group
    • First observedaction1_delete_organization
    • First observedaction1_delete_package
    • First observedaction1_delete_package_version_action
    • First observedaction1_delete_remediation
    • First observedaction1_delete_report
    • First observedaction1_delete_report_subscription
    • First observedaction1_delete_role
    • First observedaction1_delete_role_user
    • First observedaction1_delete_script
    • First observedaction1_delete_setting
    • First observedaction1_delete_user
    • First observedaction1_delete_version
    • First observedaction1_deploy_package
    • First observedaction1_deploy_update
    • First observedaction1_endpoint_groups_resolve
    • First observedaction1_endpoints_summary
    • First observedaction1_execute_and_wait
    • First observedaction1_export_audit_log
    • First observedaction1_get_action_template
    • First observedaction1_get_agent_install_url
    • First observedaction1_get_audit_event
    • First observedaction1_get_automation_instance
    • First observedaction1_get_automation_output
    • First observedaction1_get_automation_results
    • First observedaction1_get_automation_schedule
    • First observedaction1_get_automation_script_output
    • First observedaction1_get_automation_status
    • First observedaction1_get_cve
    • First observedaction1_get_cve_description
    • First observedaction1_get_data_source
    • First observedaction1_get_deployer
    • First observedaction1_get_drilldown_for_report_row
    • First observedaction1_get_endpoint
    • First observedaction1_get_endpoint_discovery_settings
    • First observedaction1_get_endpoints_onboarded_status
    • First observedaction1_get_enterprise
    • First observedaction1_get_export_for_report
    • First observedaction1_get_export_for_report_row
    • First observedaction1_get_group
    • First observedaction1_get_installed_software_endpoint
    • First observedaction1_get_match_conflicts_for_package
    • First observedaction1_get_match_conflicts_for_software_repository
    • First observedaction1_get_me
    • First observedaction1_get_org_subscription_usage
    • First observedaction1_get_remote_session
    • First observedaction1_get_report_or_category
    • First observedaction1_get_role
    • First observedaction1_get_script
    • First observedaction1_get_setting
    • First observedaction1_get_setting_template
    • First observedaction1_get_software_repository_package
    • First observedaction1_get_subscription
    • First observedaction1_get_subscription_usage
    • First observedaction1_get_update_package
    • First observedaction1_get_user
    • First observedaction1_get_version
    • First observedaction1_get_windows_deployer_url
    • First observedaction1_init_software_upload
    • First observedaction1_list_action_templates
    • First observedaction1_list_audit_events
    • First observedaction1_list_automation_deployment_statuses
    • First observedaction1_list_automation_instances
    • First observedaction1_list_automation_schedules
    • First observedaction1_list_cve_endpoints
    • First observedaction1_list_cve_remediations
    • First observedaction1_list_data_sources
    • First observedaction1_list_endpoint_deployers
    • First observedaction1_list_endpoint_groups
    • First observedaction1_list_endpoint_missing_updates
    • First observedaction1_list_endpoints
    • First observedaction1_list_group_contents
    • First observedaction1_list_installed_software_data
    • First observedaction1_list_installed_software_errors
    • First observedaction1_list_instance_endpoint_results
    • First observedaction1_list_logs
    • First observedaction1_list_missing_updates
    • First observedaction1_list_org_vulnerabilities
    • First observedaction1_list_organizations
    • First observedaction1_list_permissions
    • First observedaction1_list_recent_automations
    • First observedaction1_list_report_data
    • First observedaction1_list_report_errors
    • First observedaction1_list_report_subscriptions
    • First observedaction1_list_reports
    • First observedaction1_list_role_users
    • First observedaction1_list_roles
    • First observedaction1_list_scripts
    • First observedaction1_list_setting_templates
    • First observedaction1_list_settings
    • First observedaction1_list_software_repository
    • First observedaction1_list_subscription_usage_organizations
    • First observedaction1_list_updates
    • First observedaction1_list_user_roles
    • First observedaction1_list_users
    • First observedaction1_list_version_endpoints
    • First observedaction1_list_vulnerabilities
    • First observedaction1_move_endpoint
    • First observedaction1_raw_request
    • First observedaction1_reboot_endpoint
    • First observedaction1_recurring_schedules
    • First observedaction1_remove_endpoint_from_group
    • First observedaction1_report_export
    • First observedaction1_requery_installed_software_for_endpoint
    • First observedaction1_requery_installed_software_for_org
    • First observedaction1_requery_report
    • First observedaction1_request_enterprise_closure
    • First observedaction1_request_enterprise_quote
    • First observedaction1_request_enterprise_trial
    • First observedaction1_revoke_enterprise_closure
    • First observedaction1_run_bash_macos
    • First observedaction1_run_data_collection
    • First observedaction1_run_powershell
    • First observedaction1_run_script
    • First observedaction1_search
    • First observedaction1_search_endpoints
    • First observedaction1_software_inventory_for_endpoint
    • First observedaction1_stop_instance
    • First observedaction1_uninstall_program
    • First observedaction1_update_automation
    • First observedaction1_update_data_source
    • First observedaction1_update_endpoint
    • First observedaction1_update_endpoint_agent_deployment
    • First observedaction1_update_enterprise
    • First observedaction1_update_group
    • First observedaction1_update_me
    • First observedaction1_update_organization
    • First observedaction1_update_package
    • First observedaction1_update_remediation
    • First observedaction1_update_remote_session
    • First observedaction1_update_report
    • First observedaction1_update_report_subscription
    • First observedaction1_update_role
    • First observedaction1_update_script
    • First observedaction1_update_setting
    • First observedaction1_update_user
    • First observedaction1_update_version
    • First observedaction1_upload_software_chunk
    • First observedaction1_wait_for_automation

TDQS

C2.7/5.0

Scored across 167 tools

Disambiguation2/5

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.

Naming Consistency3/5

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.

Tool Count1/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    An MCP server for Action1, a cloud-native RMM platform, enabling remote monitoring, patch management, and endpoint management through Action1's API.
    6
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP 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
  • A
    license
    A
    quality
    D
    maintenance
    A 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.
    10
    27
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Autonomous network monitoring and auto-remediation MCP server for Claude Desktop, enabling observation, planning, human-approved execution, verification, and session summarization.
    1
    -