app-store-connect-mcp
Provides full coverage of Apple's App Store Connect API, letting AI agents manage apps, App Store versions, review submissions, TestFlight beta testing, in-app purchases and subscriptions, Game Center, App Clips, Xcode Cloud CI builds, provisioning profiles and certificates, users, analytics, sales/finance reports, and EU alternative distribution.
Exposes every non-deprecated App Store Connect operation (1300+ tools) plus helpers for asset uploads and report downloads, enabling automation of App Store submissions, metadata and localization management, pricing and availability, custom product pages and A/B experiments, screenshots, customer review responses, and compliance/privacy declarations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@app-store-connect-mcpsubmit my latest build for App Store review"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
app-store-connect-mcp
The complete Model Context Protocol (MCP) server for Apple's App Store Connect API. 1316 tools. 100% coverage of every non-deprecated operation in Apple's official OpenAPI spec — TestFlight, Xcode Cloud, Game Center, App Clips, in-app purchases, subscriptions, review submissions, analytics, provisioning, and everything else Apple exposes. Works with Claude, Cursor, VS Code Copilot, Codex CLI, Gemini CLI, Windsurf, or any MCP client.
See also: google-play-developer-mcp — the same philosophy for the Google Play Console.
Table of Contents
Related MCP server: App Store Connect MCP
Why this exists
App Store Connect is huge. Apple's own OpenAPI spec currently lists 1303 operations across 203 resource groups — TestFlight, Xcode Cloud, Game Center, App Clips, in-app purchases, subscriptions, offer codes, review submissions, alternative distribution (EU DMA), analytics, metrics, privacy manifests, provisioning, users… the list goes on.
Every community MCP covers a slice. None covers everything.
app-store-connect-mcp does.
Property | This server | Typical community MCP |
App Store Connect API coverage | ✅ 1300+ tools (100% of spec v4.5.1) | Partial (usually 50–150 tools) |
Xcode Cloud | ✅ all | ❌ |
Game Center | ✅ achievements, leaderboards, groups, matchmaking, vocabularies | ❌ |
App Clips | ✅ default + advanced experiences, review details, header images | ❌ |
Review Submissions v2 | ✅ | Often still on the legacy |
Alternative distribution (EU DMA) | ✅ | ❌ |
App data usages (privacy) | ✅ | ❌ |
Multi-account (switch between dev accounts) | ✅ local registry + per-project | Usually one |
Credential safety | No | Varies |
Spec-driven — auto-regenerate on new spec | ✅ | ❌ |
If you drive App Store Connect with an AI assistant — submission automation, TestFlight management, IAP / subscription catalog, review triage, analytics, or Xcode Cloud orchestration — this gives the assistant the full toolbox in one install.
Feature matrix
1316 tools total (as of spec v4.5.1):
6
accounts_*— local multi-account registry (add / list / switch / remove / update / current)2
auth_*—auth_status(readiness) andauth_revoke_cache1303 auto-generated from the official App Store Connect OpenAPI spec, one per operation, covering every resource group:
Apps / App Infos / App Store Versions / App Store Version Localizations / Phased Releases / Version Submissions
Review Submissions (v2) + Review Submission Items + App Store Review Attachments + App Store Review Details
TestFlight: Beta Groups, Beta Testers, Beta App Review Details/Submissions, Beta App Localizations, Beta Build Localizations, Beta License Agreements, Beta Feedback Screenshot/Crash Submissions, Beta Invitees, Builds, Build Bundles, Build Bundle File Sizes
Xcode Cloud: Ci Products, Ci Workflows, Ci Build Runs, Ci Build Actions, Ci Artifacts, Ci Issues, Ci Test Results, Ci Xcode Versions, Ci Mac Os Versions, Ci Scm Repositories / References / Pull Requests / Providers
Game Center: Achievements, Leaderboards, Leaderboard Sets, Groups, Matchmaking Queues / Rule Sets / Rules / Teams, Activities, Player Scores / Achievements, App Versions, Enabled Versions, Details, Vocabularies, plus all Localizations / Images / Releases
App Clips: App Clips, Default / Advanced Experiences, Default / Advanced Experience Localizations, Header Images, Advanced Experience Images, App Store Review Details
In-App Purchases: IAP v2, Subscriptions, Subscription Groups, Subscription Offer Codes (custom + one-time-use), Subscription Prices, Subscription Promotional Offers, Subscription Introductory Offers, Subscription Availabilities, Win-back Offers, Promoted Purchases
Pricing & Availability: App Prices, App Price Points, App Price Schedules, App Availabilities V2, Territories, Territory Availabilities
Custom Product Pages + PPO (A/B testing): App Custom Product Pages, Versions, Localizations, App Store Version Experiments V2 + Treatments + Localizations
Screenshots & Previews: App Screenshots, App Screenshot Sets, App Previews, App Preview Sets, App Event Screenshots, App Event Video Clips
Provisioning: Bundle Ids, Bundle Id Capabilities, Certificates, Devices, Profiles, Pass Type Ids
Users & Access: Users, User Invitations, Actors, Sandbox Testers
Encryption / Compliance: App Encryption Declarations + Documents, Age Rating Declarations, App Data Usages + Categories + Purposes + Data Protections + Publish State, Accessibility Declarations, End User License Agreements
Alternative Distribution (EU DMA): Alternative Distribution Keys, Domains, Packages, Package Versions / Variants / Deltas, Marketplace Search Details, Marketplace Webhooks
Analytics: Analytics Reports, Report Requests, Report Instances, Report Segments, Diagnostic Signatures
Metrics: App Perf, Build Perf, Power Perf, Diagnostic Logs
Sales & Finance: Sales Reports, Finance Reports
Reviews: Customer Reviews, Customer Review Responses
Routing App Coverages, App Categories, App Events + Localizations, Android ↔ iOS App Mapping, External Purchase Collectors…
Spec 4.5 additions: App Asset Libraries (images, videos, placements), In-App Purchase / Subscription / Subscription Group Versions with V2 localizations and images, Subscription Plan Availabilities, Game Center Score Moderations and Blocked Players, App Performance Overviews
5 hand-written helpers for flows that don't map cleanly to a single operation:
asset_upload_file— step 2 of the 3-step asset upload protocol (screenshots, previews, review attachments, IAP review screenshots, App Clip header images, Game Center images, routing app coverages)sales_reports_download— downloads and un-gzips sales reports, returns parsed TSVfinance_reports_download— same for finance reportsanalytics_report_instance_wait— poll until a report isCOMPLETED/FAILEDci_build_run_wait— poll an Xcode Cloud build run to completion
Run auth_status, then apps_get_collection to verify end-to-end.
Quick start
Install from npm:
npm install -g apple-app-store-connect-mcpOr run without installing:
npx -y apple-app-store-connect-mcpAbout the package name. The package on npm is
apple-app-store-connect-mcp. After install, the command on your$PATHisapp-store-connect-mcp(the bin name) — that's what your MCP client config below points at.
Then add to your MCP client config (example, Claude Code):
{
"mcpServers": {
"app-store-connect": {
"command": "app-store-connect-mcp"
}
}
}Finally, register your App Store Connect API key (details below):
accounts_add
name: my-app
keyId: AB12CD34EF
issuerId: 69a6de70-...
keyFile: /Users/you/.config/app-store-connect-mcp/AuthKey_AB12CD34EF.p8Step-by-step setup
1. Create an App Store Connect API key
Open App Store Connect.
Users and Access → Integrations → App Store Connect API.
Click Generate API Key (requires Account Holder or Admin role).
Name it, choose the access level you want (Admin, Developer, Finance, Marketing, etc.), and Generate.
Copy the Key ID and Issuer ID (displayed at the top of the page).
Click Download API Key. This gives you an
AuthKey_<KEYID>.p8file. You only get this download once. Store it outside any git repo, for example at~/.config/app-store-connect-mcp/AuthKey_AB12CD34EF.p8withchmod 600.
2. Register the key with this MCP server
Launch any MCP client that has the server configured, then call:
accounts_add
name: my-app
keyId: <the 10-char Key ID>
issuerId: <the UUID shown above the API keys list>
keyFile: /absolute/path/to/AuthKey_XXXXXXXXXX.p8
description: (optional)3. Verify
auth_statusShould return { source: "accounts", tokenAcquired: true, expiresAt: ... }.
apps_get_collectionLists the apps the key can see.
4. Managing multiple accounts
accounts_add name: client-a keyId: ... issuerId: ... keyFile: ...
accounts_add name: client-b keyId: ... issuerId: ... keyFile: ...
accounts_switch name: client-b
accounts_listAll subsequent calls target the currently-switched account.
5. Pinning one account per project (ASC_ACCOUNT)
currentAccount is a single global value in accounts.json, shared by every MCP client on
the machine. If you work on more than one App Store Connect account, that is a footgun: an
accounts_switch in one project silently retargets every other project, and an assistant in
project A can end up writing to account B's apps.
Pin the account per server process instead. Set ASC_ACCOUNT in the MCP client config:
{
"mcpServers": {
"app-store-connect": {
"command": "app-store-connect-mcp",
"env": { "ASC_ACCOUNT": "acme-app" }
}
}
}With a pin in effect:
Every call resolves to that account, whatever
currentAccounthappens to be.accounts_switchto any other account fails loudly instead of silently retargeting.accounts_removerefuses to delete the pinned account.auth_statusandaccounts_currentreportpinnedTo, so it is always visible which account a session is on.
If ASC_ACCOUNT names an account that isn't registered, calls fail with an explicit error rather
than falling back to some other account.
Give each project its own pin — then no project depends on the shared global at all.
Environment-variable compatibility mode
For compatibility with older setups (e.g. zelentsov-dev/asc-mcp), the server also accepts:
ASC_KEY_ID="..."
ASC_ISSUER_ID="..."
ASC_PRIVATE_KEY_PATH="/absolute/path/to/AuthKey_XXX.p8"If no account is registered via accounts_add, the server falls back to these env vars. accounts_* tools always take precedence.
Register with your MCP client
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"app-store-connect": {
"command": "app-store-connect-mcp"
}
}
}Claude Code
claude mcp add app-store-connect app-store-connect-mcpOr edit ~/.claude.json:
{
"mcpServers": {
"app-store-connect": {
"command": "app-store-connect-mcp"
}
}
}If you work on more than one App Store Connect account, put the server in each project's
.mcp.json instead and pin it — see Pinning one account per project:
{
"mcpServers": {
"app-store-connect": {
"command": "app-store-connect-mcp",
"env": { "ASC_ACCOUNT": "acme-app" }
}
}
}Cursor
Settings → MCP → Add new MCP server:
{
"app-store-connect": {
"command": "app-store-connect-mcp"
}
}VS Code (GitHub Copilot agent mode)
.vscode/mcp.json:
{
"servers": {
"app-store-connect": {
"type": "stdio",
"command": "app-store-connect-mcp"
}
}
}Codex CLI / Gemini CLI / Windsurf / Continue
Any MCP-compliant client accepts the same command entry — point it at the globally installed app-store-connect-mcp binary, or at node /path/to/dist/index.js when running from source.
Running from source (no global install)
git clone https://github.com/devinwang/app-store-connect-mcp.git
cd app-store-connect-mcp
npm install
npm run buildThen in your MCP client config:
{
"mcpServers": {
"app-store-connect": {
"command": "node",
"args": ["/absolute/path/to/app-store-connect-mcp/dist/index.js"]
}
}
}Usage examples
Check which apps your key can see
accounts_switch name: my-app
auth_status
apps_get_collectionFetch a build by version + buildNumber and submit it to TestFlight
builds_get_collection
"filter[preReleaseVersion.version]": "1.2.0"
"filter[version]": "147"
beta_groups_get_collection
"filter[app]": <APP_ID>
"fields[betaGroups]": "name,publicLinkEnabled"
builds_beta_groups_create_to_many_relationship
id: <BUILD_ID>
body:
data:
- type: betaGroups
id: <BETA_GROUP_ID>
builds_update_instance
id: <BUILD_ID>
body:
data:
type: builds
id: <BUILD_ID>
attributes:
expired: falseUpload a screenshot (3-step asset flow)
app_screenshots_create_instance
body:
data:
type: appScreenshots
attributes:
fileName: "en-US-iphone-6_9-1.png"
fileSize: 2415122
relationships:
appScreenshotSet:
data: { type: appScreenshotSets, id: <SET_ID> }
# → response includes the new `data.id` (asset is now AWAITING_UPLOAD)
asset_upload_file
filePath: /abs/path/to/screenshot.png
assetType: appScreenshots # preferred: tool fetches uploadOperations
assetId: <SCREENSHOT_ID> # server-side (signature stays server-side)
# (legacy: pass `uploadOperations: [...]` from the create response instead)
app_screenshots_update_instance
id: <SCREENSHOT_ID>
body:
data:
type: appScreenshots
id: <SCREENSHOT_ID>
attributes:
uploaded: true
sourceFileChecksum: <MD5>Trigger an Xcode Cloud build and wait for completion
ci_build_runs_create_instance
body:
data:
type: ciBuildRuns
relationships:
workflow:
data: { type: ciWorkflows, id: <WORKFLOW_ID> }
# → response includes `data.id`
ci_build_run_wait
id: <BUILD_RUN_ID>
timeoutMs: 3600000Respond to a customer review
customer_reviews_get_collection
"filter[app]": <APP_ID>
"sort": "-createdDate"
"limit": 10
customer_review_responses_v1_create_instance
body:
data:
type: customerReviewResponses
attributes:
responseBody: "Thanks for the feedback — we fixed this crash in 1.2.1. Please give it another try!"
relationships:
review:
data: { type: customerReviews, id: <REVIEW_ID> }Pull a sales report (one day)
sales_reports_download
"filter[frequency]": DAILY
"filter[reportType]": SALES
"filter[reportSubType]": SUMMARY
"filter[vendorNumber]": "12345678"
"filter[reportDate]": "2026-04-20"Returns parsed rows. Add parse: false to get raw TSV.
Create + activate a subscription
subscription_groups_create_instance
body: { data: { type: subscriptionGroups, attributes: { referenceName: "Premium" }, relationships: { app: { data: { type: apps, id: <APP_ID> } } } } }
subscriptions_create_instance
body: { data: { type: subscriptions, attributes: { productId: "com.example.premium.monthly", name: "Premium Monthly", subscriptionPeriod: "ONE_MONTH" }, relationships: { group: { data: { type: subscriptionGroups, id: <GROUP_ID> } } } } }
subscription_prices_create_instance
body: { data: { type: subscriptionPrices, relationships: { subscription: { data: { type: subscriptions, id: <SUB_ID> } }, territory: { data: { type: territories, id: "USA" } }, subscriptionPricePoint: { data: { type: subscriptionPricePoints, id: <PRICE_POINT_ID> } } } } }Migrating from asc-mcp (zelentsov-dev)
This server replaces github.com/zelentsov-dev/asc-mcp. Key differences:
Scope. That server implements ~90 tools; this one implements all 1303 spec operations plus helpers.
Tool names.
zelentsov-dev/asc-mcpuses simplified names likeapps_search,reviews_list,app_versions_submit_for_review. This server uses Apple's officialoperationIdsnake-cased —apps_get_collection,customer_reviews_get_collection,review_submissions_create_instance. There's no auto-translation: update any prompts or scripts that assumed the old names.Credential compat. The same env vars (
ASC_KEY_ID,ASC_ISSUER_ID,ASC_PRIVATE_KEY_PATH) still work, so you don't need to move the.p8to migrate. You'll get a one-time stderr warning recommending you register viaaccounts_addfor multi-account support.company_*→accounts_*. Rename mental model: a "company" in the old server is an "account" here.
A comprehensive name-by-name mapping is included in docs/MIGRATION.md.
Security
This repo ships with zero credentials. You bring an App Store Connect API .p8; the server records only its path.
What is and isn't on disk
Where | What |
| Account names, key ids, issuer ids, key-file paths, descriptions. No secrets. Written with |
Wherever you placed your | The actual private key. Never committed. Never copied into the server's memory longer than one JWT signing. |
Repo contents | Code only. No fixtures, no example keys, no real key ids. |
What's in memory
When | What |
At JWT sign time | The |
Between calls | A signed JWT (20-minute lifetime) is cached in a local variable in |
In tool outputs | Everything is passed through |
.gitignore blocks
*.p8,AuthKey_*,AuthKey_*.p8*.pem,*.p12,*.pfx,*.key,id_rsa*accounts.json,.app-store-connect-mcp/credentials/,keys/,secrets/.env,.env.*(keeps.env.example)
Recommended hygiene
Keep your
.p8outside any git repo on your machine.Grant the API key the narrowest role your workflow needs.
Adminlets this MCP do anything including deleting store metadata. Restrict as appropriate.Rotate the key periodically: revoke the old key in App Store Connect → Users and Access → Integrations, generate a new one, run
accounts_update --keyFile <newPath>.auth_statusreturns only the key id, issuer id, a boolean, and the JWT expiry timestamp. It never returns the JWT or the.p8content.The CI workflow in this repo fails the build if any private-key-material regex is detected in
dist/.
Audit trail
Apple logs every API call against your key id. If you ever suspect misuse, open App Store Connect → Users and Access → Integrations and revoke the key; any outstanding JWTs signed with it stop working immediately.
Design notes
Spec-driven. 1303 of the 1316 tools are auto-generated from Apple's official OpenAPI spec (
spec/app-store-connect-openapi.json). When Apple ships a new version,npm run spec:download && npm run codegen && npm run buildis all it takes to update.1:1 operationId naming. Tool names are Apple's
operationIdvalues converted tosnake_case. This means the MCP names match the official REST reference, so when an LLM reads Apple's docs it can pick the right tool without translation.Pragmatic input validation. Path params are typed zod strings (required), query params are typed zod fields (optional) with the exact bracketed names Apple uses (
filter[name],fields[apps],limit[appStoreVersions]). Request bodies arez.record(z.unknown())with a description pointing at the OpenAPI component schema — ASC validates them server-side and our error translator surfaces mistakes clearly. Generating full zod trees for every JSON:API envelope would balloon the server by 10× and add negligible value.Error translation.
401becomes "JWT rejected — rotate or check clock skew",403becomes "key isn't authorized for this endpoint",422surfaces the exactsource.pointerfrom the ASC response,429explains the per-team quota,5xxpoints at https://developer.apple.com/system-status/.Stateless transport. stdio only. No network listener, no persistent state beyond the accounts file.
Zero telemetry. The server never phones home.
Contributing
PRs welcome. Before you submit:
npm run typecheck+npm run buildpass on Node 18 / 20 / 22 (CI also runs this).Never include a real
.p8, a realkeyId, a realissuerId, or a real JWT in an issue, PR, fixture, or example.When you update to a new OpenAPI spec version:
npm run spec:downloadnpm run codegen— regeneratessrc/tools/generated/andspec/coverage-report.txtnpm run buildSkim
spec/coverage-report.txtdiff — a delta of 10+ tools or a new top-level tag should get a CHANGELOG note.
New hand-written tools live in
src/tools/overrides.tsand must have names that don't collide with any generated name.
Version history
0.1.0 — 2026-04-21 (first public release)
1221 MCP tools: 6 accounts, 2 auth, 1208 auto-generated from Apple's App Store Connect OpenAPI spec v4.3, 5 hand-written helpers (asset upload, sales/finance report download, polling).
100% spec coverage — every non-deprecated operation in the spec has a tool, and deprecated operations are still exposed with a
[DEPRECATED]prefix.Zero credentials in the repo. Strict
.gitignore,.p8content never cached in process memory, in-memory-only JWT cache, universal output redaction.Multi-account via
~/.app-store-connect-mcp/accounts.json(path storage only).Compatibility mode for
ASC_KEY_ID/ASC_ISSUER_ID/ASC_PRIVATE_KEY_PATHenv vars (drop-in replacement forzelentsov-dev/asc-mcpsetups).Spec-driven regeneration via
npm run codegen.Error translation for every common ASC failure mode.
References
License
MIT — see LICENSE.
Available Tools
1316 toolsaccessibility_declarations_create_instanceC
POST /v1/accessibilityDeclarations (POST /v1/accessibilityDeclarations) Body shape: see OpenAPI components.schemas.AccessibilityDeclarationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AccessibilityDeclarationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a mutating create, not whether it requires an app relationship or specific role, not whether it fails on duplicates, and not what it returns. The only behavioral hint (POST) is already implied by the name and path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity reflects under-specification rather than economy: the endpoint path is duplicated needlessly in parentheses and no informational content is added. There is nothing to reward beyond the fact that it is a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a required nested JSON:API body, no output schema, and no annotations, the description supplies none of the information an agent needs to call it correctly. Referring to an external OpenAPI component does not fill the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is nominally 100%, so a baseline of 3 would apply, but the description merely repeats the schema's own text ('see OpenAPI components.schemas.AccessibilityDeclarationCreateRequest') and points to an out-of-band document that is not resolvable inside this definition. The single required nested body parameter has additionalProperties {} with no inlined field semantics, so the agent still cannot know what to put in the envelope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb and resource path (POST /v1/accessibilityDeclarations), which does convey 'create an accessibility declaration', but it is essentially a restatement of the tool name/endpoint with the path repeated verbatim inside parentheses and no human-readable statement of purpose. It does nothing to distinguish this tool from its siblings accessibility_declarations_get_instance, accessibility_declarations_update_instance, and accessibility_declarations_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus the sibling get/update/delete instance operations, nor any mention of prerequisites such as which app or version the declaration must be attached to. The agent is left to infer everything 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.
accessibility_declarations_delete_instanceD
DELETE /v1/accessibilityDeclarations/{id} (DELETE /v1/accessibilityDeclarations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that the operation is destructive and likely irreversible, not whether dependent resources are affected, not auth requirements. A raw endpoint string is insufficient for a delete tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but the entire content is duplicated verbatim in parentheses, adding zero information. Brevity here is under-specification rather than conciseness, since nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations, no output schema, and a trivial description, the definition leaves out everything an agent would need: consequences, preconditions, error behavior, and confirmation semantics. It is not adequate to invoke safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (id) with 100% schema description coverage, so the schema already documents it fully. The path template '{id}' in the description merely mirrors the parameter without adding format, source, or constraint details, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete HTTP verb and resource path (DELETE /v1/accessibilityDeclarations/{id}), so an agent can infer it deletes an accessibility declaration by id. However, it is essentially the tool name rendered as an endpoint, with no prose about what a declaration is and no differentiation from siblings like accessibility_declarations_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the sibling create/get/update variants, nor any precondition such as required permissions or irreversibility. An agent learns nothing beyond the HTTP method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accessibility_declarations_get_instanceD
GET /v1/accessibilityDeclarations/{id} (GET /v1/accessibilityDeclarations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_accessibilityDeclarations | No | the fields to include for returned resources of type accessibilityDeclarations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the HTTP verb: no auth/permission requirements, no statement of what is returned, no note about behavior for a missing or invalid id. A raw path echo is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical repeats the identical route with zero added information, so one of the two units of text is pure noise. Brevity here reflects thin content rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource retrieval tool with no annotations and no output schema, the description should at minimum convey the concept of the returned object and auth expectations. The route does imply 'fetch the accessibilityDeclaration with this id', but nothing else needed to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'fields_accessibilityDeclarations' are documented in the schema, including the full field enum), so the baseline of 3 applies. The description adds nothing about the path parameter or sparse-fieldset syntax, but it also does not mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route, echoed twice: 'GET /v1/accessibilityDeclarations/{id} (GET /v1/accessibilityDeclarations/{id})'. It restates the tool name (accessibility_declarations_get_instance) in URL form rather than stating a purpose in prose; an agent learns only that this fetches one accessibility declaration by id, and gets no differentiation from the many sibling *_get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing. Siblings such as accessibility_declarations_create_instance, _update_instance, _delete_instance, and apps_accessibility_declarations_get_to_many_related are never referenced, so the agent must infer selection 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.
accessibility_declarations_update_instanceC
PATCH /v1/accessibilityDeclarations/{id} (PATCH /v1/accessibilityDeclarations/{id}) Body shape: see OpenAPI components.schemas.AccessibilityDeclarationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AccessibilityDeclarationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing about authorization requirements, whether the update is partial or full, what happens to fields not supplied, or any side effects. The only implicit behavioral hint is the PATCH verb, which signals a partial update, but that is not stated and is already implied by the route.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the parenthetical '(PATCH /v1/accessibilityDeclarations/{id})' duplicates the text immediately preceding it and earns no place. The remaining content is a single useful pointer to the body schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API envelope body, the description is not complete enough: it does not enumerate updatable fields, note auth/permission needs, or explain the envelope structure beyond a schema name the agent cannot resolve. An agent has little to act on beyond the required parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema. The description merely references components.schemas.AccessibilityDeclarationUpdateRequest, which the schema description already points to, so it adds essentially no new meaning. Baseline 3 for full schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the operation ID restated as an HTTP route: 'PATCH /v1/accessibilityDeclarations/{id}'. It never says in plain language that it updates an existing accessibility declaration, and it does nothing to differentiate itself from its four siblings (accessibility_declarations_create_instance, get_instance, delete_instance). It is marginally more than the name because it names the HTTP verb, but that is decodable from the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus create_instance, get_instance, or delete_instance, nor any prerequisite or ordering information. The rubric assigns 2 for 'no guidance,' and the description contains none.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_addB
Register a new App Store Connect account. Provide the Key ID, Issuer ID, and an absolute path to the .p8 file. The key file stays on disk — the MCP records only its path.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Short identifier used to switch accounts (e.g. 'acme-app', 'client-b'). | |
| keyId | Yes | The Key ID from App Store Connect → Users and Access → Integrations (e.g. 'AB12CD34EF'). | |
| scope | No | ||
| keyFile | Yes | Absolute path to the `.p8` private key file you downloaded from App Store Connect. Must remain readable at this path. | |
| issuerId | Yes | The Issuer ID shown on the same page — a single UUID per developer team. | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose one genuinely useful trait — the .p8 file is not read into the MCP, only its path is stored — which is security-relevant. It omits what happens on duplicate names, whether the new account becomes active, and what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero waste; the core action is front-loaded and the clarifying disk-path note follows immediately. Nothing is repeated or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a credential-registering mutation with no annotations and no output schema, the description covers the essential inputs and one important side effect. It is still silent on post-conditions (is the account activated?), duplicate handling, and error behavior, leaving gaps an agent may need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so most parameters are already documented in the schema. The description reinforces keyId, issuerId and keyFile but adds no format or constraint detail beyond the schema, and never mentions the name, scope, or description parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Register a new App Store Connect account' — which is clearly distinct from the read/switch/remove account siblings. It does not explicitly name or contrast with those siblings (accounts_switch, accounts_update), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description tells the agent what to pass but never when to use this tool versus accounts_switch or accounts_update, nor does it state prerequisites such as generating the API key in App Store Connect first. 'Provide the Key ID...' is input instruction, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_currentA
Show which account is currently active. All subsequent API calls use this account's credentials. If pinnedTo is set, this server was pinned to that account via ASC_ACCOUNT and cannot be switched.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral context: the active account governs credentials for all later calls, and pinning via ASC_ACCOUNT makes the account non-switchable. It does not describe the return format (e.g., what fields identify the account), but for a simple read this is a solid disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose, then the credential effect and the pinning constraint. No filler; each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, read-only status tool with no output schema, the description covers purpose and the key operational constraint. It stops short of describing what the response contains beyond the hinted `pinnedTo`, which is a minor gap given no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the baseline is 4. The description's mention of `pinnedTo` describes a returned/derived value rather than an input, which slightly enriches understanding without being required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Show which account is currently active') that is unambiguous and distinguishable from siblings like accounts_list (all accounts) and accounts_switch (change active account). An agent can tell it apart without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies the consequence of the current account ('All subsequent API calls use this account's credentials') and the pinning constraint, which is useful context. However, it never explicitly routes the agent to accounts_switch for changing the account, so usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_listA
List every App Store Connect account registered locally. Returns names, key ids, issuer ids, key-file paths, and descriptions. Never returns key material.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it enumerates the returned fields and makes a security-relevant disclosure that key material is never returned. It does not mention auth requirements or whether the read is local-only, which are minor gaps for a zero-arg list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the most important constraint (never returns key material) is placed last as a clear boundary. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description compensates by naming the returned fields, so an agent knows what it will get. Only auth/prerequisite context is absent, which is a minor omission for a local list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the schema to document and the baseline is 4. The description does not need to explain parameter syntax and correctly does not attempt to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (App Store Connect accounts registered locally) with a clear scope ('every account'). It is distinguishable from siblings like accounts_current by the 'every' scope, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is useful (inspecting locally registered accounts) but gives no explicit when-to-use guidance and never routes the agent to alternatives such as accounts_current or accounts_switch. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_removeB
Remove an account from the local registry. Does NOT delete the .p8 file on disk.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose one genuinely useful behavioral trait: the .p8 credential file on disk is preserved, bounding the blast radius of a destructive-sounding operation. However, it says nothing about reversibility, whether removal is refused for the active account, or any side effects, so the destructive profile remains only half-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, the core action front-loaded and the important caveat immediately after. No filler, no restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter local-registry tool with no output schema, the description covers the action and the key non-effect on disk. It still leaves gaps an agent would want: identifier format and any precondition about the currently active account.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required 'name' parameter has 0% schema description coverage, and the description never states what form that name takes (account label, email, team ID) or how it matches a registry entry. The text implies an account is identified but adds no meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Remove an account') scoped to 'the local registry', and the .p8 caveat sharpens that scope. It is clearly distinguishable from accounts_add/accounts_switch/accounts_list without opening a schema, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to remove an account versus switching away from it or updating it, and no prerequisites (e.g., whether the account must be inactive). The 'local registry' phrasing implies the domain but does not route the agent among the accounts_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_switchB
Make an existing registered account the active one.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the action (mutates state) but does not mention authentication needs, side effects, error conditions, or what the response returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is to the point but very brief, which is acceptable for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no output schema, and no annotations, the description covers the essential purpose but lacks context about what 'active' means, expected results, and error handling. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'name' has no description in the JSON schema (0% coverage), and the tool description adds no extra meaning beyond the parameter name. The parameter is self-explanatory as an account name, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: switching the active account to an existing one. It distinguishes itself from sibling tools like accounts_add, accounts_remove, and accounts_current.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when multiple accounts exist and you need to change the active one, but it does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention prerequisites like listing accounts first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
accounts_updateC
Change one or more fields of an existing account. Provide only the fields you want to update.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| keyId | No | ||
| scope | No | ||
| keyFile | No | ||
| issuerId | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It says 'Change' (mutation) but never states auth/permission requirements, whether changes are reversible, or how the account is selected. It also leaves ambiguous whether the required 'name' parameter is the account identifier or a field being changed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler; the purpose leads and the partial-update hint follows. Brevity here reflects under-specification rather than padding, so it earns credit for structure but not a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and 6 undocumented parameters at 0% coverage, the description is far too thin. An agent cannot confidently identify the target account or predict the effect of the update from this text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, so the description must compensate and does not. It only implies partial-update semantics and says nothing about keyId, scope, keyFile, issuerId, description, or whether 'name' identifies the account rather than being updated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('Change ... fields of an existing account'), which is unambiguous against the sibling list of account tools (accounts_list, accounts_add, accounts_remove, accounts_switch). It does not explicitly differentiate itself from those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Provide only the fields you want to update' gives useful partial-update semantics, so the agent knows omitted fields are untouched. However there is no guidance on when to use this versus accounts_add/accounts_switch, no prerequisites, and no mention of how the target account is identified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actors_get_collectionC
GET /v1/actors (GET /v1/actors)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| filter_id | No | filter by id(s) | |
| fields_actors | No | the fields to include for returned resources of type actors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden, and it discloses nothing: not pagination behavior, not default page size, not auth requirements, not what the response contains. A bare endpoint string is the minimum possible disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness — the same URL is even duplicated in parentheses. Nothing here is front-loaded because there is nothing of substance to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a collection endpoint with three optional query parameters, no annotations, and no output schema, the description should at least state that it returns a paginated list of actor resources. It supplies none of that, leaving the agent to infer the entire behavior from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so limit, filter_id, and fields_actors are already documented in the schema with their meanings. The description adds no parameter context, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint "GET /v1/actors (GET /v1/actors)", which restates the tool name (actors_get_collection) in URL form rather than describing what the tool does. It conveys no verb-resource semantics beyond what the name already implies and does nothing to distinguish it from siblings like actors_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance at all. An agent has no signal about when to list actors versus fetching a single actor via actors_get_instance, or how this relates to filters such as filter_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
actors_get_instanceD
GET /v1/actors/{id} (GET /v1/actors/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_actors | No | the fields to include for returned resources of type actors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that the call is read-only, whether the response is cached, what happens on an unknown id (404), or any auth/rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is under-specified rather than concise, and the parenthetical repeat of the same path is pure redundancy. There is no front-loaded statement of purpose to front-load anything against.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-instance tool with a complete input schema and no output schema, the description still omits the basic framing an agent needs: what resource is being fetched and what the response contains. With no annotations and no output schema, the description should at minimum state the read semantics, which it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, fields_actors) are documented in the schema itself, so the baseline is 3. The description adds no syntax, format, or semantic detail about the id or the fields_actors sparse-fieldset selector beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the HTTP method and path, 'GET /v1/actors/{id}', repeated twice. It restates what the tool name already encodes (actors_get_instance) without stating in natural language what an actor is or what retrieving one yields. An agent gains no distinguishing information versus the sibling actors_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance whatsoever. The description does not say when to fetch a single actor versus listing the collection (actors_get_collection), nor does it mention prerequisites such as authentication or a known actor id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
age_rating_declarations_update_instanceC
PATCH /v1/ageRatingDeclarations/{id} (PATCH /v1/ageRatingDeclarations/{id}) Body shape: see OpenAPI components.schemas.AgeRatingDeclarationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AgeRatingDeclarationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is a PATCH (implying a partial mutation) and points at an external schema; it says nothing about required permissions, whether the change is reversible, what happens to unspecified fields, or any side effects of mutating an age rating declaration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence duplicates the exact same endpoint string 'PATCH /v1/ageRatingDeclarations/{id}' in parentheses, which is pure waste. It is short but structurally flawed because roughly half its content is redundant rather than additive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is inadequate: it never explains what the update accomplishes, which fields are modifiable, or what the caller should expect. It offloads everything to an external OpenAPI document an agent may not have access to, leaving the tool underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema. The description only repeats the schema's body reference to components.schemas.AgeRatingDeclarationUpdateRequest, adding no new meaning; per the high-coverage baseline, 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a verb/action (PATCH) and the target resource (ageRatingDeclarations/{id}), so an agent can infer this updates one age rating declaration. However, it is phrased as a bare HTTP endpoint rather than a purpose statement, and it does nothing to distinguish itself from the many sibling update_instance tools or the age-rating relationship tools (e.g. app_infos_age_rating_declaration_get_to_one_relationship).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent is not told when this update should be preferred over sibling tools that also touch age rating declarations or app info. Only the mechanical HTTP method is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_domains_create_instanceC
POST /v1/alternativeDistributionDomains (POST /v1/alternativeDistributionDomains) Body shape: see OpenAPI components.schemas.AlternativeDistributionDomainCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AlternativeDistributionDomainCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing: no auth/permission requirements, no idempotency or side-effect notes, no response behavior. It only restates the HTTP route and points to an external schema name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short, but the route is duplicated verbatim ('POST /v1/alternativeDistributionDomains (POST /v1/alternativeDistributionDomains)'), which is pure waste, and the schema reference duplicates the schema's own description. Front-loading is fine but the content is not earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a single nested-object body, no output schema, and no annotations, the description should explain the request envelope's key fields or at least what a successful creation yields. Pointing at an OpenAPI component name the agent may not be able to resolve leaves the definition substantially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and schema description coverage is 100%, so the schema already documents it as a JSON body referencing components.schemas.AlternativeDistributionDomainCreateRequest. The description merely repeats that pointer, adding no field-level meaning, which matches the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a create operation on the alternativeDistributionDomains resource only through the REST route 'POST /v1/alternativeDistributionDomains'. There is no plain-language statement of what an alternative distribution domain is or what creating one accomplishes, though the resource and verb are technically identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings such as alternative_distribution_domains_get_instance, get_collection, or delete_instance. No prerequisites, no context, 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.
alternative_distribution_domains_delete_instanceC
DELETE /v1/alternativeDistributionDomains/{id} (DELETE /v1/alternativeDistributionDomains/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It reveals that the operation is a DELETE, but says nothing about required permissions, whether deletion is reversible, what associated data is removed, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but duplicates the same endpoint string in parentheses, which adds no information. It is not front-loaded with useful context, just a raw HTTP route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations and no output schema, the description is insufficient. It does not explain prerequisites, consequences, or what happens to references after deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single required id parameter, so the baseline is 3. The description adds no meaningful semantics beyond repeating the id placeholder from the path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint path and HTTP method already implied by the tool name, without explaining what an alternative distribution domain is or what deleting it entails. It is a tautology rather than a meaningful statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no preconditions, and no warning about destructive effects. The description only gives the HTTP route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_domains_get_collectionC
GET /v1/alternativeDistributionDomains (GET /v1/alternativeDistributionDomains)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| fields_alternativeDistributionDomains | No | the fields to include for returned resources of type alternativeDistributionDomains |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discharges almost none of it. The embedded "GET" verb weakly implies a read-only, non-destructive operation, but there is no mention of pagination behavior (despite a limit parameter), authentication requirements, or the shape of the returned collection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is short but wastes its only content on restating the same path twice, which is pure redundancy rather than concision. It is under-specified rather than appropriately sized, leaving almost no useful signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list-collection endpoint with no output schema and no annotations, the description should convey scope (all domains, not one), pagination, and the read-only nature. None of that is present, so an agent must rely entirely on the schema and sibling naming to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both the limit and fields_alternativeDistributionDomains parameters are documented in the schema itself. The description adds no parameter detail whatsoever, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP path repeated twice in parentheses: "GET /v1/alternativeDistributionDomains (GET /v1/alternativeDistributionDomains)". It restates the tool name rather than stating in plain language that it lists/retrieves all alternative distribution domains. An agent can infer the resource from the path, but this is tautological rather than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this collection endpoint versus the sibling alternative_distribution_domains_get_instance, alternative_distribution_domains_create_instance, or alternative_distribution_domains_delete_instance. No prerequisites, no scope, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_domains_get_instanceD
GET /v1/alternativeDistributionDomains/{id} (GET /v1/alternativeDistributionDomains/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_alternativeDistributionDomains | No | the fields to include for returned resources of type alternativeDistributionDomains |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no error behavior for a missing id, no note that this is a read-only fetch. The parenthetical merely duplicates the path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical is pure duplication rather than conciseness — the same string is stated twice with zero additional information, so the content is under-specified rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a bare endpoint string, the definition omits everything an agent needs to call it confidently: return shape, id format, failure modes, and any scoping constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both id and fields_alternativeDistributionDomains documented in the schema, so the baseline is 3. The description adds nothing beyond the schema but is not misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw REST path repeated verbatim in parentheses, which restates the tool name rather than explaining purpose in plain language. An agent can infer 'fetch one alternative distribution domain by id' from the path and the sibling alternative_distribution_domains_get_collection, but the definition itself contributes no explanatory content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the collection sibling or any other retrieval tool. Nothing about prerequisites, id sourcing, or when-not-to-use is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_keys_create_instanceC
POST /v1/alternativeDistributionKeys (POST /v1/alternativeDistributionKeys) Body shape: see OpenAPI components.schemas.AlternativeDistributionKeyCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AlternativeDistributionKeyCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and largely fails it: no mention of authentication scopes, rate limits, idempotency, side effects, or what the response contains. The one piece of real information is that the payload follows a JSON:API envelope defined by AlternativeDistributionKeyCreateRequest, which is a useful but minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is duplicated verbatim: the path 'POST /v1/alternativeDistributionKeys' appears twice, with the second occurrence in parentheses adding nothing. That is waste in an already sparse description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested body whose shape is deferred to an external OpenAPI component the agent may not have. Critical invocation information (required fields, envelope structure, auth requirements) is effectively out of reach.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter with 100% schema description coverage, so the schema already documents it. The description repeats the same pointer ('see OpenAPI components.schemas.AlternativeDistributionKeyCreateRequest') without adding field-level semantics, which is the expected baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP route ('POST /v1/alternativeDistributionKeys') rather than stating what the tool accomplishes. An agent can infer creation from the name and the POST verb, but the text itself adds no purpose statement and does nothing to distinguish it from sibling tools like alternative_distribution_keys_get_instance or alternative_distribution_keys_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, prerequisite, or alternative-tool guidance of any kind. The only signal is the POST path, which comes from the name rather than the description text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_keys_delete_instanceD
DELETE /v1/alternativeDistributionKeys/{id} (DELETE /v1/alternativeDistributionKeys/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not whether deletion is permanent, whether dependent resources (e.g., domains, apps referencing the key) are affected, what permissions are required, or what the response is. For a destructive operation this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is not efficient: the parenthetical duplicates the endpoint verbatim, so half the text is pure repetition. There is no front-loaded statement of intent, just a raw route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description should at minimum explain the effect and risk of deletion. It supplies none of that, leaving the agent unable to judge consequences before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter whose schema description coverage is 100% ("the id of the requested resource"), so the schema already documents it fully. The description adds no format or sourcing detail beyond the path template, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as a raw HTTP endpoint ("DELETE /v1/alternativeDistributionKeys/{id}") with no added explanation of what an alternative distribution key is or what deleting one accomplishes. A verb and resource are technically present, but this is essentially a tautology of the name and path rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as alternative_distribution_keys_get_instance or the update/collection variants in the sibling list. The agent must infer everything from the endpoint string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_keys_get_collectionD
GET /v1/alternativeDistributionKeys (GET /v1/alternativeDistributionKeys)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| exists_app | No | filter by existence or non-existence of related 'app' | |
| fields_alternativeDistributionKeys | No | the fields to include for returned resources of type alternativeDistributionKeys |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the endpoint path. It says nothing about pagination (limit is a param), how results relate to apps (exists_app filter), auth requirements, or the shape/volume of the read. A pure endpoint echo for an unannotated tool is a transparency failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical simply duplicates the preceding endpoint path, so the 'structure' is redundant rather than efficient. This is under-specification masquerading as conciseness; the second half earns no place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter collection tool with no annotations and no output schema, the description is completely inadequate: it gives no filtering semantics, no pagination note, no indication of what is returned. An agent has nothing to work with beyond the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the three params (limit, exists_app, fields_alternativeDistributionKeys) are already self-documented in the schema. The description adds no parameter meaning whatsoever, but per the high-coverage baseline of 3, no penalty below that is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw endpoint string echoed twice ('GET /v1/alternativeDistributionKeys (GET /v1/alternativeDistributionKeys)'), which merely restates what the tool name already encodes. It implies a list/collection fetch but adds no semantic framing beyond 'this is a GET on alternativeDistributionKeys'. No differentiation from sibling create/get_instance/delete_instance tools beyond what the name provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling collection/list tools, no mention of required auth or prerequisites, and no exclusions. The only implicit usage signal is the HTTP verb, which is inference rather than stated guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_keys_get_instanceD
GET /v1/alternativeDistributionKeys/{id} (GET /v1/alternativeDistributionKeys/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_alternativeDistributionKeys | No | the fields to include for returned resources of type alternativeDistributionKeys |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no auth requirements, no note on whether the key is sensitive material, no error behavior for an invalid id. A bare URL is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a verbatim duplication of the same path twice, so half the text is pure waste and nothing is front-loaded beyond the endpoint. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with no annotations and no output schema, the description should at minimum say what a key is and what the response contains. It says nothing, leaving the agent entirely dependent on the tool name and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both 'id' (the id of the requested resource) and 'fields_alternativeDistributionKeys'. The description adds no parameter meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a duplicated REST path, 'GET /v1/alternativeDistributionKeys/{id} (GET /v1/alternativeDistributionKeys/{id})', which restates the tool name rather than explaining what the resource is or what fetching it returns. An agent can infer a read of a single alternative distribution key, but nothing distinguishes it from the sibling get_instance tools beyond the raw URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as alternative_distribution_keys_get_collection or apps_alternative_distribution_key_get_to_one_relationship. The agent must infer everything 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.
alternative_distribution_package_deltas_get_instanceD
GET /v1/alternativeDistributionPackageDeltas/{id} (GET /v1/alternativeDistributionPackageDeltas/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_alternativeDistributionPackageDeltas | No | the fields to include for returned resources of type alternativeDistributionPackageDeltas |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the call is read-only (implied only by the 'GET' token), nor auth requirements, rate limits, or what the returned delta payload contains. A bare route string is inadequate for a mutation-free but undocumented endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the same route repeated twice with no added information, so no sentence earns its place. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource GET with a fully documented two-parameter schema, the structured fields cover invocation, but the description supplies no domain context about what an alternative distribution package delta is or how it relates to the sibling version/package tools, leaving the agent unable to distinguish it from adjacent endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the 'id' parameter is documented as 'the id of the requested resource' and the sparse-fieldset parameter lists its enum values — so the schema does the heavy lifting. The description adds nothing beyond the path template, but the baseline for fully documented schemas is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route 'GET /v1/alternativeDistributionPackageDeltas/{id}', duplicated in parentheses. It restates the operation already encoded in the tool name (get_instance) and gives no plain-language statement of what an alternative distribution package delta is or what retrieving one yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool versus the many sibling relationship tools (e.g. alternative_distribution_package_versions_deltas_get_to_many_relationship) or the other alternative_distribution_package_* getters. Nothing indicates prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_packages_create_instanceC
POST /v1/alternativeDistributionPackages (POST /v1/alternativeDistributionPackages) Body shape: see OpenAPI components.schemas.AlternativeDistributionPackageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AlternativeDistributionPackageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only discloses that this is a POST. It says nothing about side effects, required permissions, idempotency, or error behavior for a mutating endpoint. The pointer to the OpenAPI request schema is the only substantive content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, which is efficient, but it redundantly repeats 'POST /v1/alternativeDistributionPackages' twice in a parenthetical and spends most of its length on a schema cross-reference rather than useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is thin: it does not explain what a request body must contain, what the endpoint returns, or what preconditions exist. The nested JSON:API envelope is pushed entirely to an external OpenAPI document the agent may not have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter at 100% schema description coverage, so the schema already carries the documentation burden. The description only points to components.schemas.AlternativeDistributionPackageCreateRequest, which duplicates the schema's own note rather than adding new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP method and path (POST /v1/alternativeDistributionPackages), from which a create operation on alternative distribution packages can be inferred. However, it never states the purpose in plain terms and does not distinguish this tool from siblings like alternative_distribution_packages_get_instance or versions_get_to_many_related. It is essentially a mechanical verb+path restatement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as the get_instance variant, and no mention of prerequisites (e.g., an existing app store version). The agent is left to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_packages_get_instanceC
GET /v1/alternativeDistributionPackages/{id} (GET /v1/alternativeDistributionPackages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| fields_alternativeDistributionPackages | No | the fields to include for returned resources of type alternativeDistributionPackages | |
| fields_alternativeDistributionPackageVersions | No | the fields to include for returned resources of type alternativeDistributionPackageVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it does not meet it. The GET verb weakly implies a non-destructive read, but nothing is said about authentication, errors for unknown ids, pagination/relationship expansion behavior, or whether the included relationships affect response size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicate of the path is pure waste that earns no place. Nothing is front-loaded except the route string, which the agent already infers from the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter read with no annotations and no output schema, the definition is inadequate: it never says what resource is returned or that include/fields_* shape the response. The schema covers parameter formats, but the description leaves an agent with no operating context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the five parameters (id, include, limit_versions, and the two field selectors) is already documented in the schema; baseline 3 applies. The description contributes nothing beyond the route, so it neither compensates nor detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route ("GET /v1/alternativeDistributionPackages/{id}") repeated twice in parentheses. The tool name already says it is a get-by-id for alternative distribution packages, so the description adds no distinguishing information and is effectively a tautology with an endpoint echo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool rather than the many sibling getters (e.g. alternative_distribution_packages_versions_get_to_many_related, alternative_distribution_package_versions_get_instance) or any prerequisite such as needing a valid package id. No when-to-use and no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_packages_versions_get_to_many_relationshipD
GET /v1/alternativeDistributionPackages/{id}/relationships/versions (GET /v1/alternativeDistributionPackages/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but supplies none. It says nothing about authentication, pagination behavior despite the limit parameter, response shape, or the relationship between alternative distribution packages and their versions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: it repeats the identical endpoint path twice in parentheses without adding any explanatory content. Conciseness here reflects under-specification and redundancy rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and many similar sibling endpoints, the description is completely inadequate. An agent would have to rely solely on the tool name and schema to decide whether and how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the required id and optional limit parameters are already documented in the schema. The description adds no additional parameter meaning, but under the high-coverage baseline this is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and URL path, duplicating the tool name rather than explaining what the tool does in plain language. It does not distinguish this tool from sibling relationship endpoints such as alternative_distribution_packages_versions_get_to_many_related or the get-instance variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of the closely named sibling tools that expose similar version-related data. The description provides only the endpoint, leaving selection entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_package_variants_get_instanceD
GET /v1/alternativeDistributionPackageVariants/{id} (GET /v1/alternativeDistributionPackageVariants/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_alternativeDistributionPackageVariants | No | the fields to include for returned resources of type alternativeDistributionPackageVariants |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden, and it conveys nothing beyond the HTTP verb. It does not state whether the retrieval is read-only, what happens with an invalid id, whether fields filtering is required, or anything about the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence duplicates the same path twice in parentheses, which is pure waste rather than economy. There is no front-loaded purpose statement, just a raw endpoint string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a terse path-only description, an agent has no information about the resource being fetched or what comes back. For a domain-specific resource like an alternative distribution package variant, this is far below the minimum needed to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the 'id' and 'fields_alternativeDistributionPackageVariants' parameters are both documented in the schema, including the enum of selectable fields. The description adds zero meaning beyond it, so the baseline 3 for fully-covered schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name and its URL path ('GET /v1/alternativeDistributionPackageVariants/{id}') twice. There is no plain-language statement of what an 'alternative distribution package variant' is or what retrieving one accomplishes, so it is effectively a tautology that an agent cannot distinguish meaningfully from sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the many sibling retrieval tools (e.g. alternative_distribution_package_versions_variants_get_to_many_relationship, alternative_distribution_package_deltas_get_instance). No prerequisites, exclusions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_package_versions_deltas_get_to_many_relationshipD
GET /v1/alternativeDistributionPackageVersions/{id}/relationships/deltas (GET /v1/alternativeDistributionPackageVersions/{id}/relationships/deltas)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no note that this is a read-only relationship fetch, no pagination behavior despite the 'limit' parameter, no auth requirements, and no relationship-vs-related distinction. The only implicit signal is the 'GET' verb in the path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is pure redundancy: the same route string appears twice with no added information, so the second copy earns nothing. There is no front-loaded purpose sentence to orient the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description consisting only of a repeated URL, the definition is inadequate for an agent to know what the call returns or how to interpret it. A relationship endpoint in particular needs explanation of the linkage-resource semantics, which is entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('id' and 'limit'), so the schema already documents them fully; per the baseline rule this yields a 3. The description adds no syntax or format detail beyond the raw path template, so it neither helps nor harms.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the HTTP route duplicated verbatim in parentheses: 'GET /v1/alternativeDistributionPackageVersions/{id}/relationships/deltas (...same...)'. It restates what the tool name already encodes and gives no plain-language statement of what a 'deltas relationship' fetch returns or why an agent would call it, so it reads as a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling tools (e.g. alternative_distribution_package_versions_deltas_get_to_many_related, or the variants relationship siblings), and no indication of when this relationship endpoint is preferred over the related endpoint. Nothing routes the agent among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_package_versions_get_instanceD
GET /v1/alternativeDistributionPackageVersions/{id} (GET /v1/alternativeDistributionPackageVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_deltas | No | maximum number of related deltas returned (when they are included) | |
| limit_variants | No | maximum number of related variants returned (when they are included) | |
| fields_alternativeDistributionPackages | No | the fields to include for returned resources of type alternativeDistributionPackages | |
| fields_alternativeDistributionPackageDeltas | No | the fields to include for returned resources of type alternativeDistributionPackageDeltas | |
| fields_alternativeDistributionPackageVariants | No | the fields to include for returned resources of type alternativeDistributionPackageVariants | |
| fields_alternativeDistributionPackageVersions | No | the fields to include for returned resources of type alternativeDistributionPackageVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it offers nothing. It does not mention authentication requirements, pagination/sparse-field behavior, or what the call returns. The bare URL path is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the identical string with zero added information, which is pure noise rather than concise front-loading. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter retrieval tool with no annotations and no output schema, the description should at minimum explain the resource and how the include/fields/limit parameters shape the response. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 8 parameters (id, include, limit_deltas, limit_variants, and the fields_* selectors) are already documented in the schema. The description adds nothing, but the high coverage establishes the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name re-expressed as a REST path, duplicated verbatim in parentheses. It conveys only that this is a GET by id, which the name 'get_instance' already implies, and gives no explanation of what an alternative distribution package version actually is or how it differs from sibling resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many sibling retrieval tools (e.g. alternative_distribution_package_versions_variants_get_to_many_related, alternative_distribution_packages_versions_get_to_many_related). No prerequisites or context are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
alternative_distribution_package_versions_variants_get_to_many_relationshipC
GET /v1/alternativeDistributionPackageVersions/{id}/relationships/variants (GET /v1/alternativeDistributionPackageVersions/{id}/relationships/variants)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The GET verb implies read-only, but there is no statement about auth requirements, pagination behavior, or what relationship data (identifiers vs. full resources) is returned. The one hint, that this is a to-many relationship, comes only from the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is only one sentence, but it is pure duplication: the same path is written twice, the parenthetical repetition adding zero information. Short, but the space is not used to convey anything, so it is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description should explain what the relationship resolves to and how pagination works. It offers none of this, so an agent cannot call it correctly without reading the underlying API docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and limit), so the schema already documents the required resource id and the page-size limit. The description adds nothing on top of that, which lands at the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as a raw HTTP path, duplicated verbatim inside parentheses. It identifies the endpoint (GET on alternativeDistributionPackageVersions/{id}/relationships/variants) but adds no explanation of what 'variants' are or what the call returns, so it is tautological rather than descriptive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no conditions, no mention of the closely related sibling alternative_distribution_package_versions_variants_get_to_many_related, which an agent would otherwise confuse with this relationship endpoint. The description gives nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_report_instances_get_instanceD
GET /v1/analyticsReportInstances/{id} (GET /v1/analyticsReportInstances/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_analyticsReportInstances | No | the fields to include for returned resources of type analyticsReportInstances |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure, yet it discloses nothing: no read-only nature, no pagination/field-selection behavior, no note that report instances are the data artifacts produced by analytics report requests, and no hint about what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence duplicates itself (the same path printed twice) and carries zero informational payload. Brevity here is under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description needed to explain what an analytics report instance is and what fetching one returns. It provides none of that, leaving the agent unable to use the tool confidently beyond the mechanical GET semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, fields_analyticsReportInstances) are documented in the schema itself, including the enum of fields. The description adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the tool name as an HTTP path: 'GET /v1/analyticsReportInstances/{id} (GET /v1/analyticsReportInstances/{id})'. It conveys only that a single analyticsReportInstance is fetched by id, which the name already implies, and does nothing to distinguish it from siblings like analytics_reports_instances_get_to_many_related or analytics_report_instance_wait.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when to use the collection/related variants instead, or what prerequisites (ids derived from a report request) are needed. The agent must infer everything 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.
analytics_report_instances_segments_get_to_many_relationshipC
GET /v1/analyticsReportInstances/{id}/relationships/segments (GET /v1/analyticsReportInstances/{id}/relationships/segments)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only confirmation, no pagination behavior (despite a limit parameter), no indication of what the relationship payload contains or what permissions are needed. The route string alone conveys no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is not concise in any useful sense: the identical route string is printed twice with no added information. The single sentence is pure duplication rather than front-loaded value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description should at minimum explain what segments are and how the related-vs-relationship variant differs. It supplies none of that, leaving the agent to infer everything from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both 'id' and 'limit' are documented in the schema itself. The description adds nothing beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP route, 'GET /v1/analyticsReportInstances/{id}/relationships/segments', repeated verbatim in parentheses. It restates the tool name in URL form rather than stating in plain language what the tool does (retrieve the segment relationships for an analytics report instance). No verb+resource phrasing an agent can act on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-routing guidance at all. The sibling set contains closely named tools (analytics_report_instances_segments_get_to_many_related, analytics_report_segments_get_instance), and the description gives no basis for choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_report_instance_waitB
Poll an analytics report instance until it reaches a terminal state (COMPLETED or FAILED) or a timeout expires. Returns the final instance payload.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| timeoutMs | No | ||
| pollIntervalMs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: it polls, it stops on COMPLETED/FAILED or timeout, and it returns the final payload. However, it omits what happens on timeout (error vs last payload), any default/limit values for the timeout and interval, and any rate-limit or auth expectations for a polling loop.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler; the action and termination condition are front-loaded and the return-value sentence adds information rather than restating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter async-polling tool with no annotations, no output schema, and undocumented parameters, the description covers the core semantics but leaves key operational gaps: timeout-outcome behavior, polling interval meaning, and defaults. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and it only partly does: 'a timeout expires' maps loosely to timeoutMs, but pollIntervalMs is never explained, the id format/type is not clarified, and no defaults or units are given for the timing parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Poll') and resource ('analytics report instance') plus the terminal conditions (COMPLETED or FAILED) that define success. This implicitly separates it from the single-shot sibling analytics_report_instances_get_instance, but it never names that sibling or any alternative, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The polling-until-terminal wording implies the use case (waiting on an async report job), but the description gives no explicit when-to-use guidance, no prerequisites (e.g. a report instance must already exist), and no statement of when a plain get_instance fetch is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_report_requests_create_instanceC
POST /v1/analyticsReportRequests (POST /v1/analyticsReportRequests) Body shape: see OpenAPI components.schemas.AnalyticsReportRequestCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AnalyticsReportRequestCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing: no indication of what the created request triggers, whether it is idempotent, what permissions are required, or what the response contains. The only behavioral signal is the implicit 'POST = mutation', which comes from the raw HTTP verb rather than an explicit statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but it wastes words by stating the identical path twice in parentheses, and every sentence is low value. Brevity here reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested JSON:API envelope (additionalProperties: {}, i.e. opaque), no annotations, and no output schema, the description leaves the agent without the body structure it needs to actually invoke the tool. Deferring to an external OpenAPI component the agent may not have access to is not sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required body parameter and schema description coverage is 100%, so the schema already documents the parameter and the baseline of 3 applies. The description only repeats the schema's own pointer to components.schemas.AnalyticsReportRequestCreateRequest, adding no additional semantic detail about the fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the HTTP verb and path ('POST /v1/analyticsReportRequests'), which conveys that a report request is created but explains nothing about what an analytics report request is or what creating one accomplishes. It offers no differentiation from siblings such as analytics_report_requests_get_instance, analytics_report_requests_delete_instance, or analytics_report_requests_reports_get_to_many_relationship. This is close to a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling analytics/newer-report tools. The only 'guidance' is a pointer to the OpenAPI schema for request body shape, which is not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_report_requests_delete_instanceD
DELETE /v1/analyticsReportRequests/{id} (DELETE /v1/analyticsReportRequests/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses nothing about irreversibility, whether related report instances are cascaded/deleted, required auth scopes, or failure modes for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it wastes the entire budget by duplicating the same path string twice with zero information gain. Under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive endpoint with no annotations and no output schema, the description should explain consequences and prerequisites. It provides none, leaving an agent unable to safely decide whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage ('the id of the requested resource'), so baseline is 3. The description adds no further meaning about the id beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP verb and path repeated twice, e.g., 'DELETE /v1/analyticsReportRequests/{id}'. It does convey delete-on-a-specific-report-request, but it is essentially a restatement of the tool name rather than an explanation of what the operation means in domain terms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, when not to, or how it relates to siblings like analytics_report_requests_get_instance or analytics_report_requests_reports_get_to_many_relationship. The agent gets no routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_report_requests_get_instanceD
GET /v1/analyticsReportRequests/{id} (GET /v1/analyticsReportRequests/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_reports | No | maximum number of related reports returned (when they are included) | |
| fields_analyticsReports | No | the fields to include for returned resources of type analyticsReports | |
| fields_analyticsReportRequests | No | the fields to include for returned resources of type analyticsReportRequests |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no authentication requirements, no rate limits, no note on whether the resource may be absent, and no statement of what is returned. The path string itself is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the sentence word-for-word, so half the text is pure redundancy rather than earned conciseness. Brevity here comes from omission, not from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A five-parameter read tool with no annotations and no output schema needs the description to explain retrieval semantics and the sparse-fieldset/include behavior; instead it supplies only a path. Nothing an agent needs in order to call this correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, limit_reports and both fields_* filters. The description adds nothing beyond that, which lands at the baseline of 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as a REST path, duplicated inside parentheses. It tells the agent nothing beyond 'GET this resource by id' — no scope, no mention of what an analytics report request is, and no differentiation from the dozens of neighboring analytics_report_* siblings. This is tautology rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to call this versus alternatives. The sibling set contains analytics_report_requests_reports_get_to_many_related, apps_analytics_report_requests_get_to_many_related, analytics_report_requests_create_instance and others; the description offers no routing guidance whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_report_requests_reports_get_to_many_relationshipD
GET /v1/analyticsReportRequests/{id}/relationships/reports (GET /v1/analyticsReportRequests/{id}/relationships/reports)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior. It does not mention that this is a read-only relationship fetch, pagination semantics, auth requirements, or what the response contains beyond the bare GET path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but consists entirely of a path duplicated verbatim in parentheses, which is pure redundancy with zero informational value. Nothing is front-loaded because there is no explanatory content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain what the endpoint returns and how pagination behaves, but it does neither. For a relationship-listing tool in a large sibling set, the raw path alone is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and limit), so the schema already documents them fully. The description adds no syntax, format, or meaning beyond what the schema provides, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP path repeated twice in parentheses, with no natural-language verb or resource statement. An agent can infer it reads the 'reports' relationship of an analyticsReportRequest, but this is a restatement of the name/URL rather than an explanation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as analytics_report_requests_reports_get_to_many_related or analytics_report_requests_get_instance. No context, no prerequisites, no exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_report_segments_get_instanceD
GET /v1/analyticsReportSegments/{id} (GET /v1/analyticsReportSegments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_analyticsReportSegments | No | the fields to include for returned resources of type analyticsReportSegments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not state auth requirements, whether the operation is read-only (only inferable from 'GET'), rate limits, or error behavior for a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a verbatim endpoint path printed twice in parentheses, which is redundant noise rather than front-loaded signal. Brevity here reflects under-specification, not efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple single-resource GET with full schema coverage and no output schema, so it needs little, but the description still fails to say what an analytics report segment is or why an agent would fetch one. Naming only the HTTP route leaves the resource semantically opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the required 'id' and the optional 'fields_analyticsReportSegments' are fully documented in the schema itself. The description adds no additional syntax, format, or filtering meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path 'GET /v1/analyticsReportSegments/{id}' repeated twice, which restates the tool name rather than explaining what the resource is or what a 'segment' contains. It does convey a read of a single analytics report segment by id, but provides no purpose beyond what the name already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling 'get_instance'/'get_to_many' analytics tools, no prerequisites, and no indication of when it should not be used. The agent is left to infer everything from the URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_reports_get_instanceC
GET /v1/analyticsReports/{id} (GET /v1/analyticsReports/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_analyticsReports | No | the fields to include for returned resources of type analyticsReports |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses nothing beyond the 'GET' verb (which weakly implies a read). It does not say whether the lookup is scoped, what happens on a missing id, whether the response is cached, or which auth/app scopes are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the single sentence is pure redundancy: the route appears twice in parentheses with no added information. Brevity here comes from omission rather than from efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description is the only place an agent could learn what this call returns and when to make it. It provides neither, leaving a bare REST route for a resource that is otherwise ambiguous among many analytics-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id and fields_analyticsReports) are documented in the schema with enum values for fields. The description adds no meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route repeated twice: 'GET /v1/analyticsReports/{id}'. It restates the tool name and path but never says what an analytics report is or what retrieving one returns. An agent learns only that some resource with that id exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternatives are given. Sibling tools like analytics_report_instances_get_instance and analytics_reports_instances_get_to_many_relationship sit alongside it, and nothing in the definition helps an agent choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analytics_reports_instances_get_to_many_relationshipC
GET /v1/analyticsReports/{id}/relationships/instances (GET /v1/analyticsReports/{id}/relationships/instances)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses essentially nothing. The 'GET' verb weakly implies a read-only, non-destructive operation, and the presence of a limit parameter is implied by the schema, but there is no statement about authentication, pagination behavior, or what relationship data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but every character is wasted: the same path is printed twice inside a redundant parenthetical, and none of it earns its place by adding meaning. Brevity here reflects under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no output schema and no annotations, the description should at minimum explain what an 'instances' relationship yields and how pagination works. It supplies none of that, leaving the agent unable to reason about the call beyond the path itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('id' and 'limit'), so the schema already fully documents them and the baseline of 3 applies. The description adds no parameter meaning whatsoever beyond what the schema supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path repeated twice in parentheses: 'GET /v1/analyticsReports/{id}/relationships/instances (GET /v1/analyticsReports/{id}/relationships/instances)'. It technically contains a verb (GET) and a resource, but that is a tautological restatement of the tool name rather than an explanation of what the tool does, and it gives no basis for distinguishing it from the near-identical sibling analytics_reports_instances_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the -related vs -relationship sibling that an agent must choose between. The endpoint path is the only information offered, leaving selection entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
android_to_ios_app_mapping_details_create_instanceC
POST /v1/androidToIosAppMappingDetails (POST /v1/androidToIosAppMappingDetails) Body shape: see OpenAPI components.schemas.AndroidToIosAppMappingDetailCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AndroidToIosAppMappingDetailCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, and it discloses almost nothing: no side effects, no auth/permission requirements, no indication of whether the mapping must reference existing apps, and no return behavior. The only signal is the implied POST-mutates semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical redundantly repeats the identical path and the body-shape pointer duplicates the schema description, so not every token earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation tool with no annotations, no output schema, and a nested-object body, the description should explain what the resource represents and what a valid creation requires. Instead it punts entirely to an external OpenAPI component, leaving the agent unable to call it correctly without outside documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single body parameter is documented there. The description repeats the same 'see components.schemas.AndroidToIosAppMappingDetailCreateRequest' pointer without adding any field-level meaning, so it neither helps nor harms beyond the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (androidToIosAppMappingDetails) and the HTTP verb (POST), which implies creation, so an agent can roughly tell what it does. However, it never explains in plain language what an Android-to-iOS app mapping detail is or what creating one accomplishes; it merely restates the endpoint path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling tools (get/update/delete instance for the same resource) that an agent must choose between. Usage must be inferred entirely from the name and HTTP method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
android_to_ios_app_mapping_details_delete_instanceD
DELETE /v1/androidToIosAppMappingDetails/{id} (DELETE /v1/androidToIosAppMappingDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not whether the deletion is permanent or reversible, not what permissions are required, and not what happens to dependent mappings. A destructive operation documented only by its URL is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the identical endpoint string appears twice in parentheses, so there is no front-loaded intent, just a duplicated URL fragment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive endpoint with no annotations, no output schema, and no supporting text, the description omits everything an agent needs to act safely: irreversibility, auth requirements, and effect on related resources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single `id` parameter is documented in the schema as "the id of the requested resource." The description's path template merely repeats that {id} is required, so it neither adds nor detracts from the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP method and path ("DELETE /v1/androidToIosAppMappingDetails/{id}"), which restates the tool name rather than describing what deleting this resource accomplishes. It does convey the verb and resource, but adds no distinguishing information beyond the identifier itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete an Android-to-iOS app mapping versus updating it (android_to_ios_app_mapping_details_update_instance) or creating a new one. No prerequisites, no exclusions, no context of any kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
android_to_ios_app_mapping_details_get_instanceD
GET /v1/androidToIosAppMappingDetails/{id} (GET /v1/androidToIosAppMappingDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_androidToIosAppMappingDetails | No | the fields to include for returned resources of type androidToIosAppMappingDetails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it says nothing. It does not mention authentication requirements, error behavior for unknown ids, pagination/sparse-field semantics of the fields_... parameter, or output shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the content is the same route string duplicated inside parentheses, which is pure redundancy rather than front-loaded information. Brevity here reflects under-specification, not efficient prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single-resource read tool with no annotations, no output schema, and a description consisting only of the URL fragment leaves the agent without the minimum context needed to invoke it confidently (auth, response shape, sparse-fieldset behavior).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' and 'fields_androidToIosAppMappingDetails' carry their own descriptions in the schema. With the schema doing all the work, the baseline of 3 applies; the description adds no additional parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name/HTTP route ('GET /v1/androidToIosAppMappingDetails/{id}') rather than describing in plain terms what is retrieved. It does reveal the operation is a read of a single androidToIosAppMappingDetails resource by id, but that is inferable from the name alone and adds no differentiation from sibling create/update/delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the sibling android_to_ios_app_mapping_details_create/update/delete_instance tools or the apps_android_to_ios_app_mapping_details_get_to_many relationship tool. Nothing indicates prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
android_to_ios_app_mapping_details_update_instanceC
PATCH /v1/androidToIosAppMappingDetails/{id} (PATCH /v1/androidToIosAppMappingDetails/{id}) Body shape: see OpenAPI components.schemas.AndroidToIosAppMappingDetailUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AndroidToIosAppMappingDetailUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only states the verb and path. It hints at a JSON:API envelope requirement for the body, which is mild useful context, but omits partial-update semantics (what happens to omitted fields), auth/permission requirements, error behavior, and any destructive or irreversible effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the operation, which is good, but the path is redundantly repeated in parentheses and the sentence spends its budget pointing at a schema component rather than adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the definition should clarify what gets modified, partial-update behavior, and requirements. Instead it defers entirely to an external OpenAPI component reference the agent may not be able to resolve, leaving the update semantics underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id and body) are already documented in the schema. The description adds only that the body follows a JSON:API envelope and references the same components.schemas component the schema already points to, so it adds essentially nothing beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the operation via the HTTP verb PATCH and the resource path /v1/androidToIosAppMappingDetails/{id}, so an agent can infer 'update an existing Android-to-iOS app mapping detail'. However, it is essentially a restatement of the tool name with no explanation of what the mapping detail represents or what can be updated, and it does not distinguish itself from the sibling create/get/delete instance tools beyond the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites or required permissions, and no reference to the sibling create/get/delete tools for the same resource. The agent is left to infer that PATCH means partial update and that an existing id is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_libraries_get_instanceC
GET /v1/appAssetLibraries/{id} (GET /v1/appAssetLibraries/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_appAssetLibraries | No | the fields to include for returned resources of type appAssetLibraries |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure and supplies almost none. The 'GET' verb implies a read-only operation, which is the sole behavioral signal, but there is no mention of authentication requirements, error behavior for a missing id, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant, repeating the same route twice in a parenthetical with zero informational gain. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral context, and it fails to explain return shape, sparseness via the fields parameter, or error conditions. For a two-parameter retrieval endpoint it is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'fields_appAssetLibraries' (including the enum values images/videos). The description adds nothing beyond echoing the path parameter, so the baseline 3 for a fully documented schema is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route repeated twice ("GET /v1/appAssetLibraries/{id} (GET /v1/appAssetLibraries/{id})"), which restates the tool name rather than describing the operation in words. An agent can infer 'fetch one app asset library' from the name and path, but the description itself adds no explanatory content and does nothing to distinguish it from siblings like app_asset_libraries_images_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as apps_asset_library_get_to_one_relationship or app_asset_library_images_get_instance. The only implicit cue is the '{id}' path template, which hints at single-resource retrieval but gives no conditional guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_libraries_images_get_to_many_relationshipC
GET /v1/appAssetLibraries/{id}/relationships/images (GET /v1/appAssetLibraries/{id}/relationships/images)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix weakly implies a read-only fetch, but nothing is said about pagination behavior, relationship-vs-resource payload shape, or permissions on the asset library. For an unannotated tool this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes its only sentence on a verbatim duplicate of the same endpoint string in parentheses. There is no front-loaded explanation of what the call returns, so brevity here is under-specification rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a confusingly similar sibling pair (relationship vs related), the description should explain the relationship-endpoint semantics. The endpoint path gives only minimal orientation and leaves the agent guessing about what the call actually returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with documented 'id' and 'limit' fields, so the schema already does the work; per the baseline rule this scores 3. The description itself contributes nothing about pagination via limit or how id must resolve to an asset library.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint 'GET /v1/appAssetLibraries/{id}/relationships/images', repeated verbatim in parentheses. It restates the tool name rather than explaining in plain language that it lists the images in an App Asset Library; the agent gets no verb-plus-resource statement beyond decoding the URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the closely-named sibling app_asset_libraries_images_get_to_many_related or videos_get_to_many_relationship, which are equally plausible choices. Nothing helps the agent choose 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.
app_asset_libraries_videos_get_to_many_relationshipC
GET /v1/appAssetLibraries/{id}/relationships/videos (GET /v1/appAssetLibraries/{id}/relationships/videos)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the read-only nature, not pagination semantics for the 'limit' parameter, not rate limits, not the shape or count of what is returned. The bare route is the only signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the sentence is printed twice inside parentheses, which is pure redundancy rather than economy. Nothing is front-loaded beyond the raw route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-list endpoint with no annotations and no output schema, the description should at minimum say what is listed and how pagination works. Instead it supplies only the route, leaving the agent without the context needed to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('id' and 'limit') are already documented in the schema; the description adds no format, scope, or pagination detail beyond it. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name rendered as an HTTP route: 'GET /v1/appAssetLibraries/{id}/relationships/videos'. It conveys no more than the name already does, and does not explain the relationship-vs-related distinction against siblings like app_asset_libraries_videos_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, no mention of prerequisites, and no routing between this relationship endpoint and its near-identical sibling app_asset_libraries_videos_get_to_many_related. The agent is left to infer everything from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_images_create_instanceC
POST /v1/appAssetLibraryImages (POST /v1/appAssetLibraryImages) Body shape: see OpenAPI components.schemas.AppAssetLibraryImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppAssetLibraryImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and delivers almost none. It hints that the payload is a JSON:API envelope, but says nothing about auth/permissions, whether the call is idempotent, side effects, or failure modes for what is clearly a mutating POST.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the route, but the parenthetical '(POST /v1/appAssetLibraryImages)' duplicates the text immediately preceding it verbatim. That redundant clause is pure waste, though the overall length is not excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create with a nested, loosely-typed body, no annotations, and no output schema, the description offloads everything to an external OpenAPI component reference the agent may not be able to resolve. The JSON:API envelope requirements and required fields are never surfaced inline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter ('body') and the schema description coverage is 100%, so the baseline of 3 applies. The description merely repeats the schema's pointer to components.schemas.AppAssetLibraryImageCreateRequest without adding any field-level or envelope detail of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: 'POST /v1/appAssetLibraryImages' adds no plain-language purpose beyond the 'create_instance' in the name. It never explains what an app asset library image is or what creating one accomplishes, so it does little to separate this from the update/get/delete siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. With siblings like app_asset_library_images_update_instance, app_asset_library_images_get_instance, and app_asset_library_images_delete_instance present, the description gives the agent nothing to disambiguate create vs. update vs. fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_images_delete_instanceD
DELETE /v1/appAssetLibraryImages/{id} (DELETE /v1/appAssetLibraryImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that the operation is destructive, whether deletion is reversible, what related placements or references are affected, or what permissions are required. A single path string is inadequate for a delete operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line and front-loads the method and path, but the parenthetical repetition of the identical endpoint is pure waste. Minimal, but not because it is well-edited.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description should explain consequences and preconditions. It supplies none, leaving the agent without the context needed to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter at 100% schema description coverage, the schema already documents that 'id' is the requested resource's id, so the description adds nothing. Baseline 3 applies when the schema does the heavy lifting and the description is silent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and endpoint path (DELETE /v1/appAssetLibraryImages/{id}), which is essentially the tool name reworded. It implies deletion of an app asset library image, but offers no elaboration beyond the identifier itself and no differentiation from siblings like app_asset_library_videos_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The agent is left to infer everything from the endpoint path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_images_get_instanceD
GET /v1/appAssetLibraryImages/{id} (GET /v1/appAssetLibraryImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_placements | No | maximum number of related placements returned (when they are included) | |
| fields_appAssetLibraryImages | No | the fields to include for returned resources of type appAssetLibraryImages | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it supplies none. Nothing is said about whether 'include' triggers extra fetching, whether the call requires authentication, or how the single resource read behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is a duplicated placeholder rather than a concise statement: the identical path appears twice in parentheses. There is no front-loaded explanation of behavior, so brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter read tool with no annotations and no output schema, an agent needs at least a sentence on what the instance represents and how the include/fields parameters shape the response. The description provides none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (id, include, limit_placements, and the two fields_* filters) is documented in the schema itself, which sets the baseline at 3. The description adds nothing on top, but the schema already carries the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated twice: 'GET /v1/appAssetLibraryImages/{id} (GET /v1/appAssetLibraryImages/{id})'. It technically names a verb and resource, but only by restating what the tool name (app_asset_library_images_get_instance) already encodes, with no natural-language statement such as 'fetch a single asset-library image by id'. It gives an agent no basis for distinguishing it from siblings like app_asset_library_images_placements_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance of any kind: no statement of when to use this endpoint versus the collection, placements, or video variants, and no mention of required inputs or prerequisites. The agent is left to infer everything from the path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_images_placements_get_to_many_relationshipC
GET /v1/appAssetLibraryImages/{id}/relationships/placements (GET /v1/appAssetLibraryImages/{id}/relationships/placements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' verb implies a read-only fetch, but nothing is said about pagination behavior, permissions, or whether the relationship list is filtered — all of which matter for a relationship endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is pure duplication of the route with the identical string repeated in parentheses — no information is front-loaded and no sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should say more, but the tool is a simple parameterized GET whose parameters are fully documented in the schema. The missing piece is any explanation of what 'placements' means and what the paginated response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two simple parameters (id and limit), so the schema already documents both. The description adds nothing about them, but the baseline for full schema coverage is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP route repeated twice in parentheses, restating what the tool name already encodes. It does identify the resource (placements of an app asset library image via GET), but adds no clarifying language about what a placement is or what the call returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no mention of alternatives such as the sibling app_asset_library_images_placements_get_to_many_related, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_images_update_instanceC
PATCH /v1/appAssetLibraryImages/{id} (PATCH /v1/appAssetLibraryImages/{id}) Body shape: see OpenAPI components.schemas.AppAssetLibraryImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppAssetLibraryImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. PATCH implies a partial mutation, which is the only behavioral signal present; nothing is said about required permissions, which fields are mutable, side effects on placements, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the sentence does not front-load purpose; it opens with an HTTP path and then redundantly restates that same path in parentheses. Half the content is duplicated text rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should at minimum say what is being updated and what the JSON:API envelope requires. Instead it defers entirely to an external OpenAPI component the agent may not have access to, leaving the tool under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and body, and the baseline is 3. The description's pointer to components.schemas.AppAssetLibraryImageUpdateRequest is marginally useful for locating the body shape, but it adds no concrete parameter meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the HTTP verb and resource path (PATCH /v1/appAssetLibraryImages/{id}), from which an agent can infer 'update an app asset library image'. However, the parenthetical repeats the path verbatim instead of describing the effect, and it does nothing to distinguish this from the sibling create/get/delete variants for the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or prerequisite information whatsoever. The agent is given a raw endpoint string and a pointer to an OpenAPI component with no guidance on when this tool is the right choice over app_asset_library_images_create_instance or the get/delete siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_placement_ordering_requests_create_instanceC
POST /v1/appAssetLibraryPlacementOrderingRequests (POST /v1/appAssetLibraryPlacementOrderingRequests) Body shape: see OpenAPI components.schemas.AppAssetLibraryPlacementOrderingRequestCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppAssetLibraryPlacementOrderingRequestCreateRequest. | |
| include | No | comma-separated list of relationships to include | |
| limit_orderedPlacements | No | maximum number of related orderedPlacements returned (when they are included) | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements | |
| fields_appAssetLibraryPlacementOrderingRequests | No | the fields to include for returned resources of type appAssetLibraryPlacementOrderingRequests |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects, required permissions, ordering semantics, or what the created resource represents. The only added value is a pointer to the OpenAPI schema for the request envelope, which is minimal for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint path is duplicated verbatim in parentheses, which is pure waste, and the single sentence is a schema pointer rather than a front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation/mutation tool with no annotations and no output schema, the description should at least characterize the created resource or its side effects. Instead it only names the endpoint and defers entirely to an external OpenAPI schema reference the agent may not have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters (body, include, limit_orderedPlacements, and the two fields_* filters). The description adds nothing beyond naming the request body schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the operation as an HTTP verb plus path ("POST /v1/appAssetLibraryPlacementOrderingRequests"), which is a direct transcription of the tool name rather than an explanation of what a placement ordering request is or what creating one accomplishes. It offers no differentiation from the many sibling *_create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites it has, or what alternatives exist. The agent is left to infer everything from the name and endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_placements_create_instanceC
POST /v1/appAssetLibraryPlacements (POST /v1/appAssetLibraryPlacements) Body shape: see OpenAPI components.schemas.AppAssetLibraryPlacementCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppAssetLibraryPlacementCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects, authentication requirements, idempotency, or what state must exist before a placement can be created. The only substantive hint is the pointer to the request body schema, which addresses shape, not behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the path is duplicated verbatim in parentheses, which is dead weight rather than conciseness. The remaining sentence about the body shape is the only useful part.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations, no output schema, and a nested JSON:API envelope body, the description should at minimum cover prerequisites and side effects. Instead it provides only an endpoint path and a schema pointer, leaving the agent under-equipped to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single 'body' parameter and 100% schema description coverage, the schema already defines the parameter and the description adds only a reference to the governing OpenAPI component schema. Baseline 3 is appropriate here because the schema does the explanatory work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('POST /v1/appAssetLibraryPlacements'), which is a mechanical echo of the tool name rather than a statement of what a placement is or what creating one accomplishes. An agent gets no domain-level understanding of the resource, so it cannot easily distinguish this from siblings like app_asset_library_placement_ordering_requests_create_instance or app_asset_library_placements_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. an existing app asset library image or video), and no mention of any alternative tool. The sibling set contains several closely related placement tools, and nothing here helps the agent choose among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_placements_delete_instanceD
DELETE /v1/appAssetLibraryPlacements/{id} (DELETE /v1/appAssetLibraryPlacements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the verb embedded in the URL. It does not state that the operation is destructive/irreversible, whether it requires specific permissions or a placement ordering step, whether it is idempotent, or what happens on missing/invalid IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but this is under-specification rather than conciseness. It also redundantly repeats the identical endpoint string twice inside the parentheses, which is pure noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-parameter tool with no annotations and no output schema, the description should at least confirm the deletion target and irreversibility. It provides only a raw endpoint string, leaving the agent with no context beyond what the tool name already encodes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it. The description adds no format, source, or constraint information beyond the path placeholder. The baseline of 3 applies when the schema does the heavy lifting and the description contributes nothing extra.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the HTTP endpoint path repeated verbatim in parentheses: 'DELETE /v1/appAssetLibraryPlacements/{id}'. It conveys the verb and resource implicitly through the URL, but adds no plain-language statement of what is being deleted or its effect, and does not distinguish this tool from siblings such as app_asset_library_placements_get_instance or app_asset_library_placements_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent is left to infer that this destroys a placement solely from the word DELETE in the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_placements_get_instanceC
GET /v1/appAssetLibraryPlacements/{id} (GET /v1/appAssetLibraryPlacements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appAssetLibraryImages | No | the fields to include for returned resources of type appAssetLibraryImages | |
| fields_appAssetLibraryVideos | No | the fields to include for returned resources of type appAssetLibraryVideos | |
| fields_appEventLocalizations | No | the fields to include for returned resources of type appEventLocalizations | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements | |
| fields_appStoreVersionLocalizations | No | the fields to include for returned resources of type appStoreVersionLocalizations | |
| fields_appCustomProductPageLocalizations | No | the fields to include for returned resources of type appCustomProductPageLocalizations | |
| fields_appStoreVersionExperimentTreatmentLocalizations | No | the fields to include for returned resources of type appStoreVersionExperimentTreatmentLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not what a placement resource contains, not auth or scope requirements, not error behavior for missing ids, and not how the many include/fields query options change the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which is good, but the same GET route is duplicated in parentheses with zero added information, so part of the already-minimal text is pure waste. It is front-loaded only in the sense that there is nothing else to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter retrieval tool with no output schema and no annotations, the description provides essentially no context an agent could use. The schema documents the query parameters, but nothing explains the returned placement resource or the semantics of expanded relationships, which the description should at least gesture at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all 9 parameters (id, include, and seven sparse fieldsets) are documented directly in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema, but it does not need to compensate for any gap either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint route repeated twice — 'GET /v1/appAssetLibraryPlacements/{id} (GET /v1/appAssetLibraryPlacements/{id})'. It restates the tool name/operation rather than stating in plain terms what is fetched or why, and it makes no attempt to distinguish this single-resource read from siblings like app_asset_library_placements_create_instance or app_asset_libraries_images_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what precondition (a valid placement id) applies, or which alternative to prefer when the caller wants placements for an image/video/app instead. Only the GET verb implies a read, which is the barest implicit signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_ref_data_get_collectionD
GET /v1/appAssetLibraryRefData (GET /v1/appAssetLibraryRefData)
| Name | Required | Description | Default |
|---|---|---|---|
| filter_specs | No | filter by specs | |
| filter_features | No | filter by attribute 'features' | |
| filter_placementTypes | No | filter by attribute 'placementTypes' | |
| fields_appAssetLibraryRefData | No | the fields to include for returned resources of type appAssetLibraryRefData | |
| filter_placementProfileGroups | No | filter by attribute 'placementProfileGroups' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden, yet it discloses nothing: no auth requirements, no pagination behavior, no rate limits, and no note that this is a read-only collection fetch. Restating the URL conveys zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical is a verbatim duplicate of the path, so the text is pure redundancy rather than efficient communication. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five query parameters, a collection GET tool requires at least some description of purpose or filtering behavior. The description supplies none, leaving the agent unable to call it correctly beyond guessing from the endpoint name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the five filter/fields parameters are already documented in the schema (filter_specs, filter_features, filter_placementTypes, filter_placementProfileGroups, fields_appAssetLibraryRefData). Per the high-coverage baseline this is a 3, though the description itself contributes nothing about filter syntax or combinations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a literal restatement of the HTTP path, duplicated parenthetically: 'GET /v1/appAssetLibraryRefData (GET /v1/appAssetLibraryRefData)'. It adds no verb, resource meaning, or scope beyond what the tool name already encodes, and gives no differentiation from siblings like app_asset_library_ref_data_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus alternatives, no prerequisites, and no mention of the sibling single-instance endpoint. An agent has no basis for choosing this tool over the collection/relationship siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_ref_data_get_instanceD
GET /v1/appAssetLibraryRefData/{id} (GET /v1/appAssetLibraryRefData/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_appAssetLibraryRefData | No | the fields to include for returned resources of type appAssetLibraryRefData |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavior-disclosure burden, yet it says nothing about what is returned, required permissions, or side effects. The raw path conveys only that it is a GET, which is the bare minimum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful way: it simply repeats the identical path string twice in parentheses, which is wasted tokens rather than a front-loaded summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description needed to explain what an 'appAssetLibraryRefData' instance is and what a caller gains from fetching it. The 100% schema coverage covers the inputs, but the domain meaning of the resource and its return are left entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'fields_appAssetLibraryRefData' fully documented including the field enum list. Per the baseline rule, the schema does the heavy lifting, so a 3 is appropriate even though the description adds nothing about parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP path 'GET /v1/appAssetLibraryRefData/{id}' repeated twice, which restates the tool name rather than describing what it does in domain terms. An agent can infer it fetches a single app asset library reference-data resource, but there is no verb-plus-resource phrasing that distinguishes it from app_asset_library_ref_data_get_collection or related get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the collection sibling or the neighboring asset-library tools. Nothing states prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_videos_create_instanceC
POST /v1/appAssetLibraryVideos (POST /v1/appAssetLibraryVideos) Body shape: see OpenAPI components.schemas.AppAssetLibraryVideoCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppAssetLibraryVideoCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about authentication requirements, what the create operation returns, whether the video is uploaded separately or linked via relationships, or any side effects. A raw REST path plus a schema pointer is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it wastes space by repeating the same path twice ('POST /v1/appAssetLibraryVideos (POST /v1/appAssetLibraryVideos)') and adds no real information. It is brief but not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with a nested request body, no annotations, and no output schema, yet the description defers all body detail to an external OpenAPI document the agent may not have access to. It omits the context an agent needs to construct a valid JSON:API create request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single body parameter is documented in the schema as a JSON:API envelope of type AppAssetLibraryVideoCreateRequest. The description merely repeats the schema pointer without adding any field-level meaning, so the baseline of 3 applies when the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP method and path (POST /v1/appAssetLibraryVideos) and the request schema name AppAssetLibraryVideoCreateRequest, which together imply the resource being created. However, it never states in plain language what creating an app asset library video accomplishes or how it differs from the many sibling create_instance tools. Purpose is only inferable from the name and schema reference, not articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as app_asset_library_videos_update_instance or the image counterparts. The agent must infer usage entirely from the endpoint path and resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_videos_delete_instanceD
DELETE /v1/appAssetLibraryVideos/{id} (DELETE /v1/appAssetLibraryVideos/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. For a destructive DELETE operation, an agent needs to know whether the deletion is permanent, whether it requires elevated permissions, and what happens to associated placements — none of which is stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it contains a pointless verbatim duplication — the route appears twice inside parentheses. Under-specification plus redundant text means the small amount of space is not used well.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, unannotated mutation tool with no output schema, the description should at minimum state irreversibility and permission requirements. It provides none of this, leaving the agent with only a URL template to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is documented in the schema as 'the id of the requested resource', so the schema does the heavy lifting. The description adds no syntax, format, or ID-source detail beyond what the schema already provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP route 'DELETE /v1/appAssetLibraryVideos/{id}', which conveys a specific verb (delete) and resource (app asset library video), so an agent can infer the intent. However, it is essentially a raw route dump that duplicates the tool name rather than describing the operation in plain language, and it does nothing to distinguish itself from siblings like app_asset_library_videos_get_instance or app_asset_library_videos_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as app_asset_library_videos_update_instance or app_asset_library_videos_create_instance. No preconditions, no exclusions, no context about what resource state is required before deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_videos_get_instanceD
GET /v1/appAssetLibraryVideos/{id} (GET /v1/appAssetLibraryVideos/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_placements | No | maximum number of related placements returned (when they are included) | |
| fields_appAssetLibraryVideos | No | the fields to include for returned resources of type appAssetLibraryVideos | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only fetch, not what it returns, not auth or error behavior. The endpoint string is pure tautology.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the same route string is repeated twice inside parentheses, so half the text is pure redundancy with zero informational payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five parameters including sparse-fieldset and include options, the description should explain return shape and relationship expansion. It explains nothing, leaving an agent unable to judge what a call will produce.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every one of the 5 parameters (id, include, limit_placements, fields_appAssetLibraryVideos, fields_appAssetLibraryPlacements) is documented in the schema. The description adds no parameter meaning at all, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route, duplicated parenthetically: "GET /v1/appAssetLibraryVideos/{id} (GET /v1/appAssetLibraryVideos/{id})". It conveys only that this fetches a single app asset library video, which the name already implies, and does nothing to distinguish it from siblings like app_asset_library_videos_placements_get_to_many_related or app_asset_library_videos_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of alternatives such as the list/relationship variants in the sibling set. An agent gets no routing help whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_videos_placements_get_to_many_relationshipC
GET /v1/appAssetLibraryVideos/{id}/relationships/placements (GET /v1/appAssetLibraryVideos/{id}/relationships/placements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about pagination behavior despite a 'limit' parameter, required permissions, or response shape. A raw URL is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string is duplicated inside parentheses, which is pure waste rather than the front-loaded information an agent needs. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no annotations and no output schema, the definition should explain what a placements relationship returns and how it differs from the 'related' sibling. The endpoint path alone leaves those gaps unfilled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (id, limit) are already documented in the schema; per the rubric this sets a baseline of 3. The description adds no extra meaning about id format or how limit interacts with paging.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint 'GET /v1/appAssetLibraryVideos/{id}/relationships/placements', which does imply the verb (retrieve) and resource (placements of a video), so an agent can infer it lists placements for a video. However, it offers no plain-language restatement beyond the path and nothing that distinguishes it from siblings like app_asset_library_videos_placements_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer the 'related' variant sibling, or what prerequisites exist. The path alone does not tell the agent under which circumstances to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_asset_library_videos_update_instanceC
PATCH /v1/appAssetLibraryVideos/{id} (PATCH /v1/appAssetLibraryVideos/{id}) Body shape: see OpenAPI components.schemas.AppAssetLibraryVideoUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppAssetLibraryVideoUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses almost nothing: not whether the update is partial, which fields are mutable, what happens to omitted fields, or any auth/rate-limit constraints. The only behavioral hint is the PATCH verb and a pointer to an external JSON:API envelope schema that is not included in the definition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but contains a verbatim duplication: 'PATCH /v1/appAssetLibraryVideos/{id} (PATCH /v1/appAssetLibraryVideos/{id})'. That parenthetical is pure waste, and the whole description spends its budget restating the endpoint instead of describing the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is too thin. It delegates all body semantics to an OpenAPI schema reference the agent may not have, and explains neither the effect of the update nor what a successful response returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline is 3. The description merely echoes the schema by naming the request schema for the body and adds no field-level meaning beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a method and URL (PATCH /v1/appAssetLibraryVideos/{id}), so the resource and mutating verb are inferable. However, it never states in plain language that it updates an existing app asset library video, and it does nothing to separate itself from the sibling create/get/delete variants. It is essentially the operation ID restated as an endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus create_instance, get_instance, or delete_instance. The PATCH verb weakly implies modification, but no conditions, prerequisites, or alternatives are given, leaving the agent to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_availabilities_v2_create_instanceC
POST /v2/appAvailabilities (POST /v2/appAvailabilities) Body shape: see OpenAPI components.schemas.AppAvailabilityV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppAvailabilityV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden yet discloses no behavioral traits: it does not say what an app availability controls (territory availability), whether the operation replaces existing availability, what permissions are required, or what side effects occur. Pointing at components.schemas.AppAvailabilityV2CreateRequest is a pointer, not a behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence duplicates the endpoint verbatim in parentheses ('POST /v2/appAvailabilities (POST /v2/appAvailabilities)'), wasting the only sentence on repetition rather than front-loading the purpose. It is short but not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested request body defined only externally, the description should explain the resource and its effect. Instead it offloads everything to an OpenAPI schema reference, leaving an agent without the context needed to use it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'body' parameter is documented in the schema itself, so the baseline of 3 applies. The description merely repeats the schema's own pointer to components.schemas.AppAvailabilityV2CreateRequest and adds no field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the HTTP verb and path (POST /v2/appAvailabilities), which implies 'create an app availability v2', but it never states the action in plain terms and simply repeats the endpoint string. It also fails to distinguish this create tool from nearby siblings such as app_availabilities_v2_get_instance or app_availabilities_v2_territory_availabilities_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist (e.g., an existing app), or which alternative to pick. The description only names the endpoint, leaving the agent to infer all usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_availabilities_v2_get_instanceD
GET /v2/appAvailabilities/{id} (GET /v2/appAvailabilities/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appAvailabilities | No | the fields to include for returned resources of type appAvailabilities | |
| limit_territoryAvailabilities | No | maximum number of related territoryAvailabilities returned (when they are included) | |
| fields_territoryAvailabilities | No | the fields to include for returned resources of type territoryAvailabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers nothing beyond the word "GET". It says nothing about permissions, what relationships the include/fields parameters pull in, or whether the resource can be absent, despite the schema offering five query parameters that change the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes its single line by duplicating the same path twice in parentheses, and the content is under-specified rather than concise. Nothing is front-loaded because nothing is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-by-id tool with no output schema, the description should at minimum say what an app availability represents and that the include/fields parameters expand related territoryAvailabilities. Neither is present, leaving the agent with only structured fields to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: id, include, fields_appAvailabilities, limit_territoryAvailabilities and fields_territoryAvailabilities are each documented in the schema. The description adds zero additional meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path already encoded in the tool name: "GET /v2/appAvailabilities/{id}". It conveys no natural-language statement of what an app availability resource is or how it differs from siblings like app_availabilities_v2_create_instance or the territory_availabilities relationship tools. This is tautological rather than clarifying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of any alternative tool. The agent must infer entirely from the name that this retrieves one app availability by id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_availabilities_v2_territory_availabilities_get_to_many_relationshipD
GET /v2/appAvailabilities/{id}/relationships/territoryAvailabilities (GET /v2/appAvailabilities/{id}/relationships/territoryAvailabilities)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that the call is a safe read, whether results are paginated (the limit parameter hints at it), what permissions are required, or what the payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but half its content is a redundant restatement of the same path in parentheses. The text is under-specified rather than concise, and nothing is front-loaded because there is no informative content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing endpoint with no annotations and no output schema, the description should at minimum explain that it lists territory availability records for an app availability. Neither the resource meaning nor the relationship direction is explained, leaving an agent to infer everything from the URL slug.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'limit'. The description adds no meaning beyond the {id} path placeholder, which is baseline 3 under the rules when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name rendered as an HTTP method plus path, repeated verbatim inside parentheses. It identifies a GET on a to-many relationship but never states in plain language what the tool returns or why an agent would call it, so it effectively restates the name/title rather than explaining purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives, despite dozens of near-identical sibling relationship tools (e.g. app_availabilities_v2_territory_availabilities_get_to_many_related, apps_app_availability_v2_get_to_one_relationship). Nothing tells an agent when this endpoint is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_categories_get_collectionD
GET /v1/appCategories (GET /v1/appCategories)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| exists_parent | No | filter by existence or non-existence of related 'parent' | |
| filter_platforms | No | filter by attribute 'platforms' | |
| limit_subcategories | No | maximum number of related subcategories returned (when they are included) | |
| fields_appCategories | No | the fields to include for returned resources of type appCategories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing. It does not state that this is a read-only listing, whether results are paginated, whether the include parameter triggers additional requests, or that it is scoped to the App Store's global category taxonomy rather than the caller's apps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it is short because it is content-free rather than because it is efficient. The parenthetical duplication of the same endpoint string adds nothing, and no useful information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter collection endpoint with no annotations and no output schema, the description supplies no orientation at all: no statement of what an app category is, no pagination behavior, no note that the relationship filters (include, exists_parent) are optional refinements. An agent cannot call this confidently from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (limit, include, exists_parent, filter_platforms, limit_subcategories, fields_appCategories) carry their own descriptions, so the schema does the heavy lifting. The description adds zero meaning on top of that, which lands at the baseline of 3 under the high-coverage rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text "GET /v1/appCategories" is a tautological restatement of the tool name app_categories_get_collection; it adds no verb+resource framing beyond what the name already encodes. It also does nothing to distinguish this collection endpoint from siblings such as app_categories_get_instance, app_categories_parent_get_to_one_related, or app_categories_subcategories_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever: no statement that this lists the App Store category catalog, no mention of when to prefer it over app_categories_get_instance or the subcategories/parent relationship tools. Nothing routes the agent among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_categories_get_instanceC
GET /v1/appCategories/{id} (GET /v1/appCategories/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_subcategories | No | maximum number of related subcategories returned (when they are included) | |
| fields_appCategories | No | the fields to include for returned resources of type appCategories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no note that this is a read-only single-resource fetch, no explanation that 'include' triggers extra relationship payloads or that 'limit_subcategories' only applies when subcategories are included. Repeating the endpoint string adds zero behavioral value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeat of the identical endpoint string is pure redundancy with no informational content, and there is no front-loaded statement of purpose. Brevity here reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with four parameters, relationship-inclusion options, no annotations, and no output schema, the description is completely inadequate. Nothing tells the agent what resource is returned or how the include/limit/fields options shape the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all four parameters, so the schema already documents id, include, limit_subcategories and fields_appCategories. The description adds no syntax or format guidance beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the HTTP endpoint string repeated twice: 'GET /v1/appCategories/{id} (GET /v1/appCategories/{id})'. It technically names a verb and resource, but it restates the tool name and endpoint rather than explaining what the tool does, and it does nothing to distinguish it from the sibling 'app_categories_get_collection' or the 'app_categories_parent/internal_relationship' variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the implied 'fetch one app category by id'. There is no statement of when to use this versus the collection endpoint, when to include parent/subcategories, or any prerequisite. An agent must infer usage entirely from the parameter names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_categories_parent_get_to_one_relationshipD
GET /v1/appCategories/{id}/relationships/parent (GET /v1/appCategories/{id}/relationships/parent)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full behavioral burden, yet it says nothing about authentication, rate limits, pagination, or the fact that this retrieves a to-one relationship linkage plus related resource data. It adds zero behavioral information beyond the raw path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a duplicated endpoint string with zero informational value; the parenthetical repetition is pure redundancy rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that only echoes the URL, an agent has nothing to determine what the call returns (parent category identifier vs. full resource) or when it applies. Completely inadequate given the tool's relationship-semantics complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (id) and schema description coverage is 100%, so the schema already documents it fully; baseline 3 applies. The description adds nothing (e.g., it does not say whether id is the app category ID or what happens when a category has no parent).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely the HTTP endpoint string repeated twice in parentheses (GET /v1/appCategories/{id}/relationships/parent), which restates the tool name rather than explaining what the tool does. It does convey a specific resource and read operation, but only to an agent that already understands Apple's App Store Connect relationship URL conventions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to call this versus siblings such as app_categories_get_instance, app_categories_parent_get_to_one_related, or app_categories_subcategories_get_to_many_relationship. The endpoint path is the only hint, and no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_categories_subcategories_get_to_many_relationshipC
GET /v1/appCategories/{id}/relationships/subcategories (GET /v1/appCategories/{id}/relationships/subcategories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The only behavioral signal is the literal 'GET', implying a read operation. Nothing is said about authentication requirements, the pagination behavior implied by the 'limit' parameter, or the shape of a JSON:API relationship response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but not meaningfully so: the path is repeated twice with zero added information, so half the content is pure duplication rather than front-loaded substance. Brevity here reflects under-specification, not tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description does not compensate: it never explains that this returns a paginated JSON:API relationship linkage collection, nor how it differs from the *_related variant. The agent can construct the call from the name and schema, but is left guessing about semantics and return content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds nothing beyond the schema, but with full schema coverage the parameters are still callable without it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP path restated, duplicated verbatim inside parentheses: "GET /v1/appCategories/{id}/relationships/subcategories (GET /v1/appCategories/{id}/relationships/subcategories)". It identifies the resource and the GET verb, but adds no plain-language statement of what is returned, and it gives no way to distinguish this from the near-identical sibling app_categories_subcategories_get_to_many_related (relationship vs. related). This is close to a tautological restatement of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no alternative named, and no indication of when an agent should pick the 'relationship' variant over the 'related' sibling. An agent must infer everything from the URL path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_advanced_experience_images_create_instanceC
POST /v1/appClipAdvancedExperienceImages (POST /v1/appClipAdvancedExperienceImages) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppClipAdvancedExperienceImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no auth/scope requirements, no note that this is a mutating create with side effects, no status/response behavior, and no constraints on the image payload. The pointer to the OpenAPI request schema is a useful structural breadcrumb but is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the route is duplicated verbatim in parentheses ("POST /v1/appClipAdvancedExperienceImages (POST /v1/appClipAdvancedExperienceImages)"), which is pure waste, and the remaining text is a schema pointer rather than usable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create tool with a nested JSON:API envelope object, no annotations, and no output schema, the description should at least summarize the required envelope/attributes. Instead it defers entirely to an external OpenAPI component, leaving an agent unable to construct a valid call without that spec.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is effectively 100% (the single body parameter points at components.schemas.AppClipAdvancedExperienceImageCreateRequest), so the baseline is 3. The description repeats that same schema reference without adding field-level meaning, so it neither helps nor hurts beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb (POST) and the resource path (appClipAdvancedExperienceImages), so an agent can infer this creates an advanced-experience image record. However, it only restates the endpoint rather than stating the purpose in domain terms, and it gives no way to distinguish this from app_clip_advanced_experience_images_get_instance or _update_instance beyond the verb echo in the route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of alternatives among the many sibling create/update/get tools. The only implicit signal is the POST endpoint, which an agent could infer 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.
app_clip_advanced_experience_images_get_instanceC
GET /v1/appClipAdvancedExperienceImages/{id} (GET /v1/appClipAdvancedExperienceImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_appClipAdvancedExperienceImages | No | the fields to include for returned resources of type appClipAdvancedExperienceImages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' verb implies a read-only, non-destructive operation, which is the only behavioral fact conveyed. Nothing is said about authentication requirements, rate limits, or what the returned resource contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the identical endpoint string is duplicated in parentheses, which is pure waste. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain what an app clip advanced experience image is, what the endpoint returns, and any access requirements. It provides none of that, leaving an agent with only the raw path to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'fields_appClipAdvancedExperienceImages' are documented in the schema, including the enum of includable fields). The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name/endpoint path ('GET /v1/appClipAdvancedExperienceImages/{id}') repeated twice in parentheses. It does encode that this is a single-resource read keyed by id, but it adds no semantic content beyond the name and does nothing to distinguish it from siblings like app_clip_advanced_experience_images_update_instance or create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent must infer entirely from the tool name that this fetches one app clip advanced experience image.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_advanced_experience_images_update_instanceC
PATCH /v1/appClipAdvancedExperienceImages/{id} (PATCH /v1/appClipAdvancedExperienceImages/{id}) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppClipAdvancedExperienceImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses almost nothing: not whether PATCH is partial or full replacement, whether the operation requires auth scopes, whether it is destructive/irreversible, or what happens to unspecified fields. The only behavioral hint is the PATCH method itself, which is already in the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the exact same endpoint string, which is pure waste. The one substantive sentence only points at an external OpenAPI schema, so the text is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations, no output schema, and an opaque JSON:API body (additionalProperties with no defined fields), the description should explain the envelope shape or permissions needed. Instead it defers entirely to an external schema and leaves the agent without enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both params (id and body), so the baseline is 3. However the description adds no meaning beyond the schema; it simply repeats the components.schemas reference already present in the body's schema description, giving no field-level detail to compensate for the opaque additionalProperties body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the HTTP verb and path (PATCH /v1/appClipAdvancedExperienceImages/{id}) and even duplicates that string verbatim in parentheses. It conveys no business meaning about what an 'advanced experience image' is or what updating it entails. It is essentially a tautological restatement of the endpoint rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like app_clip_advanced_experience_images_create_instance or app_clip_advanced_experiences_update_instance. No prerequisites, no exclusions, no context are given. The name implies an update operation, but the description supplies no usage direction at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_advanced_experiences_create_instanceC
POST /v1/appClipAdvancedExperiences (POST /v1/appClipAdvancedExperiences) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppClipAdvancedExperienceCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing about auth requirements, side effects on related resources, validation constraints, or what the response contains. The only useful signal is a pointer to the OpenAPI request schema, which is a shape hint rather than behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but it wastes space repeating the path verbatim in parentheses and duplicates the schema pointer the input schema already provides, so little of the text earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API body, no annotations, and no output schema, the description should explain the created resource, key required fields, and any side effects. Instead it supplies only an endpoint and a schema pointer, leaving the agent materially under-informed about invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single body parameter is documented in the schema with the same OpenAPI schema reference repeated in the description. The description adds no syntax, required-field, or envelope detail beyond what the schema already states, so the baseline for high coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description effectively states a POST to /v1/appClipAdvancedExperiences, from which an agent can infer 'create an App Clip advanced experience.' However, it gives no human-readable explanation of what that resource is, and it does not distinguish this tool from siblings like app_clip_advanced_experiences_update_instance or app_clip_advanced_experiences_get_instance beyond the implied REST verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what preconditions must hold, or which alternative to pick (e.g., update_instance for modifications). The description offers only the endpoint, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_advanced_experiences_get_instanceD
GET /v1/appClipAdvancedExperiences/{id} (GET /v1/appClipAdvancedExperiences/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appClips | No | the fields to include for returned resources of type appClips | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_appClipAdvancedExperiences | No | the fields to include for returned resources of type appClipAdvancedExperiences | |
| fields_appClipAdvancedExperienceImages | No | the fields to include for returned resources of type appClipAdvancedExperienceImages | |
| fields_appClipAdvancedExperienceLocalizations | No | the fields to include for returned resources of type appClipAdvancedExperienceLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only fetch, not idempotency, not auth requirements, not error behavior for a missing id. The endpoint string alone is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is duplicated verbatim in parentheses, which is pure waste rather than conciseness. Nothing meaningful is front-loaded because nothing meaningful is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple GET with full schema coverage and no output schema, an agent still lacks any description of the returned resource or its relationships (appClip, headerImage, localizations) beyond the parameter names. The definition is technically callable but substantively empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (7 parameters, each with a description), so the schema already documents id, include, fields_*, and limit_localizations. The description adds nothing beyond that, which meets the baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the HTTP endpoint twice: 'GET /v1/appClipAdvancedExperiences/{id} (GET /v1/appClipAdvancedExperiences/{id})'. It conveys retrieval of one resource by id only implicitly through the path, adding no semantic detail about what an 'app clip advanced experience' is or how it differs from siblings like app_clip_advanced_experiences_update_instance. This is tautological relative to the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no conditions or prerequisites. The agent gets no signal about why it would call this instead of the collection or relationship variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_advanced_experiences_update_instanceD
PATCH /v1/appClipAdvancedExperiences/{id} (PATCH /v1/appClipAdvancedExperiences/{id}) Body shape: see OpenAPI components.schemas.AppClipAdvancedExperienceUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppClipAdvancedExperienceUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not whether PATCH is partial or full replacement, not which fields are mutable, not permission/auth requirements, not whether the change is reversible. Pointing at an external OpenAPI component is not behavioral disclosure the agent can act on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim inside parentheses, which is pure waste rather than conciseness. The single substantive cue (the body schema reference) is buried after the redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body object, the description should explain the update semantics and envelope. Instead it defers to an OpenAPI document the agent likely cannot retrieve, leaving the operation under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented in the schema, which sets the baseline at 3. The description adds only a pointer to the AppClipAdvancedExperienceUpdateRequest schema name, naming the envelope but adding no field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP verb and path (PATCH /v1/appClipAdvancedExperiences/{id}) rather than describing the operation in human terms. An agent can infer 'update an app clip advanced experience' only by decoding the endpoint, and nothing distinguishes this from the sibling app_clip_advanced_experiences_get_instance or create_instance beyond the method token.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many app_clip_advanced_experience* siblings. The agent is left to infer everything from the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_app_store_review_details_create_instanceC
POST /v1/appClipAppStoreReviewDetails (POST /v1/appClipAppStoreReviewDetails) Body shape: see OpenAPI components.schemas.AppClipAppStoreReviewDetailCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppClipAppStoreReviewDetailCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but only reveals the HTTP verb (POST, i.e. a mutation) and that the body must match a named schema. It says nothing about required relationships (e.g. linking to an App Clip default experience), permissions, idempotency, or side effects of creating the review detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is literally duplicated ('POST /v1/appClipAppStoreReviewDetails (POST /v1/appClipAppStoreReviewDetails)'), which is pure waste, and the only substantive content is a pointer to an external schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API envelope, no annotations, and no output schema, the description omits required relationships, field guidance, and expected response. Pointing at the OpenAPI component schema is the one useful cue, but it is far from complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the schema already documents the input. The description only names the same component schema (AppClipAppStoreReviewDetailCreateRequest) that already appears in the schema description, adding no new parameter meaning; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP route ('POST /v1/appClipAppStoreReviewDetails') restated twice, which only mirrors the tool name's verb (create) and resource. It never says what an App Clip App Store Review Detail is or why an agent would create one, so it does not meaningfully distinguish itself from the get/update siblings of the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternative routing is given. An agent must infer from the name alone that this is the creation counterpart to app_clip_app_store_review_details_get_instance / _update_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_app_store_review_details_get_instanceD
GET /v1/appClipAppStoreReviewDetails/{id} (GET /v1/appClipAppStoreReviewDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appClipDefaultExperiences | No | the fields to include for returned resources of type appClipDefaultExperiences | |
| fields_appClipAppStoreReviewDetails | No | the fields to include for returned resources of type appClipAppStoreReviewDetails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the id must belong to the caller's team, not what happens on a missing id, and not the response shape. The duplicated route text adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a redundant duplication of the same route string twice, so no part of it earns its place. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain the read semantics, id provenance, and sparse-fieldset behavior on its own, and it does none of that. An agent cannot invoke this tool correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the four parameters (id, include, fields_appClipDefaultExperiences, fields_appClipAppStoreReviewDetails) documented in the schema, so the baseline of 3 applies. The description adds no syntax or formatting detail beyond the schema, but nothing is left undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as an HTTP route: 'GET /v1/appClipAppStoreReviewDetails/{id}', duplicated in parentheses. It conveys only that a resource is fetched by id, which the tool name already implies, and offers no distinction from siblings such as app_clip_app_store_review_details_create_instance or app_clip_app_store_review_details_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent has no basis for choosing this over the sibling create/update tools or the app_clip_default_experiences_app_clip_app_store_review_detail_get_to_one_related path that also reaches this resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_app_store_review_details_update_instanceD
PATCH /v1/appClipAppStoreReviewDetails/{id} (PATCH /v1/appClipAppStoreReviewDetails/{id}) Body shape: see OpenAPI components.schemas.AppClipAppStoreReviewDetailUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppClipAppStoreReviewDetailUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no permissions required, no side effects, no note on whether fields are replaced or merged, no error conditions. Pointing at an external OpenAPI component for the body shape is a schema reference, not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence duplicates the endpoint verbatim inside a parenthetical ('PATCH /v1/... (PATCH /v1/...)'), which is pure waste, and the remaining clause only redirects to another document. Short, but not every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested request body whose real shape lives in an external OpenAPI document, this description is far too thin to let an agent invoke it correctly. It omits permissions, payload expectations, and any indication of the surrounding App Clip review workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body'. The description adds no syntax, format, or constraint detail beyond refering to components.schemas.AppClipAppStoreReviewDetailUpdateRequest, which the schema itself repeats. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and endpoint path, which the tool name already encodes as an 'update_instance' operation. It never explains in plain language what an App Clip App Store Review Detail is or what fields are being changed, and it does not distinguish this from siblings such as app_clip_app_store_review_details_create_instance or app_clip_app_store_review_details_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools. The {id} path parameter faintly implies an existing resource must be targeted, but nothing is stated about when an agent should reach for this over the create/get variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experience_localizations_app_clip_header_image_get_to_one_relationshipC
GET /v1/appClipDefaultExperienceLocalizations/{id}/relationships/appClipHeaderImage (GET /v1/appClipDefaultExperienceLocalizations/{id}/relationships/appClipHeaderImage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it supplies only the HTTP verb. It does not say that a relationship endpoint returns linkage/identifier data rather than the full resource, nor anything about authentication, error behavior, or whether an empty relationship is possible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same string is duplicated inside parentheses with zero added information — pure waste rather than conciseness. There is no front-loaded purpose statement an agent can scan; the text is a path, not a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an enormous set of near-identical sibling endpoints, the description should at minimum explain what this endpoint returns versus its `_related` counterpart. It leaves that entirely to inference, which is inadequate given the surrounding tool density.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single `id` parameter ('the id of the requested resource'), so the schema already documents it fully. The description's `{id}` placeholder adds no format, scope, or ID-type detail beyond that, which lands at the baseline of 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw URL path repeated verbatim inside parentheses — it restates the tool name rather than explaining in plain language what is retrieved. An agent can infer 'GET the appClipHeaderImage relationship of an appClipDefaultExperienceLocalization', but the description itself contributes no clarifying statement, and it does not distinguish itself from the sibling `..._app_clip_header_image_get_to_one_related`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to call this tool, what preconditions exist, or when the `_related` sibling is the better choice. The relationship-vs-related distinction is exactly the decision an agent faces here and the description is silent on it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experience_localizations_create_instanceC
POST /v1/appClipDefaultExperienceLocalizations (POST /v1/appClipDefaultExperienceLocalizations) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppClipDefaultExperienceLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it discloses nothing. It does not state that this is a mutating create operation, what permissions are required, whether it is reversible, or any side effects on the parent default experience.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but wastes space by repeating the same endpoint twice in parentheses, and the single sentence is a pointer rather than an explanation. It is terse without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is inadequate: it neither explains the create semantics nor the required body fields, deferring entirely to an external OpenAPI reference the agent may not have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents the body envelope. The description adds no meaning beyond pointing at an external OpenAPI component, which is a baseline-level contribution at best.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description effectively restates the tool name and HTTP endpoint ('POST /v1/appClipDefaultExperienceLocalizations'), which the name already conveys. It does not state in plain terms that it creates a new localization for an App Clip default experience, nor differentiate it from the create/update/delete siblings in the same family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. needing an existing default experience), and no reference to alternatives like app_clip_default_experience_localizations_update_instance. The agent is left to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experience_localizations_delete_instanceD
DELETE /v1/appClipDefaultExperienceLocalizations/{id} (DELETE /v1/appClipDefaultExperienceLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that this is destructive/irreversible, what related resources or localizations are affected, what permissions are required, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is redundant: the same path is repeated verbatim inside parentheses with no explanatory value. Brevity here reflects under-specification rather than efficient, front-loaded communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete endpoint with no annotations and no output schema, the description is completely inadequate. An agent receives no information about consequences, side effects, or safe usage before invoking an irreversible operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (id) and the schema already documents it fully ('the id of the requested resource'), giving 100% schema coverage. The description adds no meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text merely restates the tool name and HTTP path — 'DELETE /v1/appClipDefaultExperienceLocalizations/{id}' appears twice with no additional wording. It does convey a delete verb against a specific resource, so it is not fully opaque, but it is effectively a tautology rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or how it relates to siblings such as app_clip_default_experience_localizations_update_instance or the create/get variants. Nothing helps an agent choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experience_localizations_get_instanceC
GET /v1/appClipDefaultExperienceLocalizations/{id} (GET /v1/appClipDefaultExperienceLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appClipHeaderImages | No | the fields to include for returned resources of type appClipHeaderImages | |
| fields_appClipDefaultExperiences | No | the fields to include for returned resources of type appClipDefaultExperiences | |
| fields_appClipDefaultExperienceLocalizations | No | the fields to include for returned resources of type appClipDefaultExperienceLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The HTTP method 'GET' weakly signals a read-only, non-destructive operation, but there is nothing about authentication requirements, error behavior for unknown ids, or what a successful response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but half its content is a verbatim duplicate of the other half in parentheses, which is pure waste. Nothing useful is front-loaded because nothing useful is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource getter with five parameters and no output schema, the description should at least confirm the retrieval semantics and the id-based lookup. Full schema coverage mitigates the parameter gap, but the definition is effectively empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents 'id', 'include', and the three 'fields_*' sparse-fieldset parameters. The description adds nothing beyond that, which is the baseline expectation when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name and endpoint path ('GET /v1/appClipDefaultExperienceLocalizations/{id}') twice, with no verb-plus-resource phrasing an agent could use to distinguish it from siblings. It implies a single-resource retrieval, but that is inferred from the URL shape rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as app_clip_default_experiences_localizations_get_to_many_relationship or app_clip_default_experience_localizations_app_clip_header_image_get_to_one_related. No preconditions, no exclusions, no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experience_localizations_update_instanceC
PATCH /v1/appClipDefaultExperienceLocalizations/{id} (PATCH /v1/appClipDefaultExperienceLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppClipDefaultExperienceLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it only discloses that this is a PATCH and where to find the request body schema. It says nothing about side effects, permissions, whether changes are partial or full replacements, or the response shape for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim inside parentheses with no added value, and the body-shape pointer arrives without any explanatory framing. Front-loading is poor since no plain-language purpose precedes the endpoint notation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no output schema, and no annotations, the description is largely a pointer to external OpenAPI docs. An agent cannot determine behavior, side effects, or expected outcome without leaving the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both the id and body parameters are already documented in the schema, including the OpenAPI component reference. The description merely repeats the body-shape pointer, adding no meaning beyond structured data; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ("PATCH /v1/appClipDefaultExperienceLocalizations/{id}") rather than explaining in words what is being updated or what a default experience localization represents. The verb+resource is technically present but conveyed via URL syntax, which is tautological with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling create/delete/get variants, no prerequisites, and no mention of required permissions or workflow context. An agent gets nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_app_clip_app_store_review_detail_get_to_one_relationshipD
GET /v1/appClipDefaultExperiences/{id}/relationships/appClipAppStoreReviewDetail (GET /v1/appClipDefaultExperiences/{id}/relationships/appClipAppStoreReviewDetail)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this returns a relationship/linkage object (id + type) rather than the related resource, not that it is a read-only operation, not any pagination or error behavior. The word 'relationships' in the URL is the only hint and it is uninterpreted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is not concise in any useful sense: the route string is printed twice, so half the content is pure duplication. Front-loading is moot because there is no substantive content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema and no annotations, the description should at minimum explain that it fetches the linkage between an App Clip default experience and its App Store review detail. It does none of that, leaving an agent to reverse-engineer intent from the URL path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it fully and the baseline is 3. The description adds no meaning beyond the schema (it does not even restate which resource the id belongs to in plain text).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP route duplicated in parentheses: 'GET /v1/appClipDefaultExperiences/{id}/relationships/appClipAppStoreReviewDetail'. It restates the tool name rather than stating in plain language what the tool does, and it makes no attempt to distinguish itself from the many sibling *_get_to_one_relationship / *_get_to_one_related pairs (e.g. app_clip_default_experiences_app_clip_app_store_review_detail_get_to_one_related).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the _related variant, the parent instance getter, or any other sibling. The route alone gives no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_create_instanceC
POST /v1/appClipDefaultExperiences (POST /v1/appClipDefaultExperiences) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppClipDefaultExperienceCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and fails. It discloses nothing about auth requirements, side effects, or what a successful create yields — only a pointer to the schema envelope, which is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wasteful, redundantly repeating 'POST /v1/appClipDefaultExperiences' twice and leading with a route rather than a purpose statement. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex create endpoint with a nested JSON:API envelope and no output schema, the description is inadequate. It neither explains the created resource nor provides usable invocation context, leaving the agent reliant on the name and schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the schema already documents it. The description merely echoes the same component name the schema already references, adding no real semantic value; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP endpoint ('POST /v1/appClipDefaultExperiences') rather than stating in plain language that it creates an app clip default experience. It gives no differentiation from close siblings like app_clip_advanced_experiences_create_instance or app_clip_default_experience_localizations_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or when not to use it. It gives no prerequisites (e.g., needing an existing App Clip) or ordering constraints. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_delete_instanceC
DELETE /v1/appClipDefaultExperiences/{id} (DELETE /v1/appClipDefaultExperiences/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that the operation is destructive/irreversible, not what related resources (localizations, header images) are affected, not the required auth scope or role. Only the verb 'DELETE' hints at mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the content is duplicated — the identical endpoint string appears twice, once outside and once inside parentheses. That duplication is pure noise with no informational value, so length is minimal but not earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive one-parameter operation with no annotations and no output schema, the agent still lacks the information needed to invoke it safely: what gets deleted, side effects on dependent resources, and required permissions. The endpoint path alone is not sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds no format, source, or constraint information beyond that, so the baseline 3 for high-coverage schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated as a raw REST route: 'DELETE /v1/appClipDefaultExperiences/{id}', repeated verbatim in parentheses. It conveys the HTTP verb and resource path but never explains in plain language what an App Clip default experience is or what deleting one means. Precise-but-tautological, which the rubric places at 2.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g. whether the experience must be unreleased first), and no mention of sibling alternatives such as app_clip_default_experiences_get_instance or _update_instance. The DELETE verb implies the operation is for removing an existing experience, but nothing is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_get_instanceD
GET /v1/appClipDefaultExperiences/{id} (GET /v1/appClipDefaultExperiences/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appClips | No | the fields to include for returned resources of type appClips | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_appClipDefaultExperiences | No | the fields to include for returned resources of type appClipDefaultExperiences | |
| fields_appClipAppStoreReviewDetails | No | the fields to include for returned resources of type appClipAppStoreReviewDetails | |
| limit_appClipDefaultExperienceLocalizations | No | maximum number of related appClipDefaultExperienceLocalizations returned (when they are included) | |
| fields_appClipDefaultExperienceLocalizations | No | the fields to include for returned resources of type appClipDefaultExperienceLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing: no auth requirements, no note that this is a read-only single-resource fetch, no error behavior for a missing id, and no explanation of how the include/fields/limit parameters change the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency; the parenthetical duplicate of the same path is pure waste, and no informative content is front-loaded because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An eight-parameter fetch tool with no annotations, no output schema, and a description consisting only of a URL leaves the agent without any behavioral or contextual grounding for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters including the include relationships and sparse-fieldset options are already documented in the schema. The description adds no semantics beyond the schema, which is the baseline-3 case when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the HTTP path and endpoint, duplicating the tool name rather than describing intent in prose. A reader can infer it retrieves one App Clip default experience, but the sentence adds no information beyond the name and offers no distinction from siblings such as app_clip_default_experiences_release_with_app_store_version_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool, what prerequisites exist (an id of an existing default experience), or which sibling relationships tools should be used instead to fetch related resources. Usage is only weakly implied by the 'GET .../{id}' form.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_localizations_get_to_many_relationshipC
GET /v1/appClipDefaultExperiences/{id}/relationships/appClipDefaultExperienceLocalizations (GET /v1/appClipDefaultExperiences/{id}/relationships/appClipDefaultExperienceLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about pagination, that a relationships endpoint returns linkage/identifier data rather than full resources, or auth requirements. Only the implicit 'GET' hints that this is a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the content is a single path duplicated inside parentheses, so roughly half the text is pure redundancy. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple relationship GET with full schema coverage and no output schema, an agent still needs to know that this returns to-many linkage data for the default experience's localizations and how the 'relationship' flavor differs from the 'related' sibling. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with two documented parameters (id, limit), so the schema already carries parameter meaning and the baseline of 3 applies. The description adds no syntax or semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw REST path, repeated verbatim in parentheses, so it restates the tool name rather than explaining what the tool does. It does convey a GET on the localizations relationship of an app clip default experience, but no plain-language purpose is added beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this relationship endpoint versus the sibling get_to_many_related variant or the parent app_clip_default_experiences_..._get_to_many_relationship. The description provides no context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_release_with_app_store_version_get_to_one_relationshipC
GET /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion (GET /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing: no return shape, no pagination, no auth requirements. The only implicit signal is the HTTP verb GET, which hints read-only, but the relationship-vs-related distinction (linkage identifiers vs full resource objects) is left unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant: the identical endpoint string is repeated verbatim inside parentheses with no added information. That duplication is pure waste, and the whole description lacks the front-loaded explanatory sentence an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 1-parameter read relationship endpoint with no output schema and no annotations, the description should at minimum say what is returned and how it differs from the '_related' sibling. Neither is present, so an agent cannot confidently predict the response payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' parameter documented as 'the id of the requested resource', so the schema does the work. The description adds no syntax, format, or scoping detail beyond that, which matches the baseline 3 when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP route, 'GET /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion', which is a restatement of the tool name rather than an explanation of what it does. An agent can decode the path, but no plain-language purpose (retrieve the App Store version linked to a default App Clip experience) is stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this versus the many sibling relationship/related endpoints. Critically, the sibling 'app_clip_default_experiences_release_with_app_store_version_get_to_one_related' and the update counterpart are never mentioned, so the agent must guess which one to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_release_with_app_store_version_update_to_one_relationshipC
PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion (PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceReleaseWithAppStoreVersionLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppClipDefaultExperienceReleaseWithAppStoreVersionLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond PATCH and a pointer to the request schema. It does not say whether the linkage is replaced or merged, whether it requires authentication or specific entitlements, what side effects occur, or whether the operation is reversible. The only thread of transparency is the verb PATCH implying mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the operation, but the parenthetical literally duplicates the method and path verbatim, which is pure waste. The remaining clause does earn its place by pointing at the request schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, an agent needs at least a plain-language statement of what changing this relationship accomplishes and any prerequisites. The description supplies neither, leaving a significant gap for a required-body PATCH endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented in the schema, and the baseline is 3. The description's reference to components.schemas.AppClipDefaultExperienceReleaseWithAppStoreVersionLinkageRequest merely echoes the schema's own body description, adding no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path (PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion), which the tool name already encodes. It never states in plain language that this replaces the to-one linkage between an app clip default experience and its App Store version, nor does it distinguish itself from the sibling get_to_one_relationship variant. This is close to a tautological restatement of the route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing guidance of any kind. An agent gets no signal about when updating this relationship is appropriate versus the several sibling relationship endpoints (get vs update, relationship vs related).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_default_experiences_update_instanceC
PATCH /v1/appClipDefaultExperiences/{id} (PATCH /v1/appClipDefaultExperiences/{id}) Body shape: see OpenAPI components.schemas.AppClipDefaultExperienceUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppClipDefaultExperienceUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about permissions, whether the update is partial or full replacement of the JSON:API envelope, reversibility, or side effects on related resources. The only added context is a pointer to the OpenAPI request schema, which is structural rather than behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the endpoint, but it redundantly repeats the same PATCH path twice in the first clause, which is noise. Beyond the endpoint and schema pointer there is no further content to assess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, zero annotations, and no output schema, the description should explain the envelope structure or update semantics; instead it defers entirely to an external OpenAPI component, which is not resolvable from the tool definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters (id and body) are described in the schema, so the baseline is 3. The description adds marginal value by naming the OpenAPI component for the body shape, which matches the schema description but does not add format or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific verb (PATCH) against a specific resource (appClipDefaultExperiences), so an agent can infer 'update an App Clip default experience.' However, it never states the purpose in plain language and does not distinguish itself from the many sibling operations on the same resource (get_instance, delete_instance, create_instance), relying entirely on the HTTP endpoint string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update versus create/get/delete siblings, no prerequisites, and no mention of what state the resource must be in. The description consists solely of the endpoint path and a pointer to the request schema, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_header_images_create_instanceD
POST /v1/appClipHeaderImages (POST /v1/appClipHeaderImages) Body shape: see OpenAPI components.schemas.AppClipHeaderImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppClipHeaderImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no side effects, no mention that this is a mutating create, no return shape. A bare endpoint string is all that is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The already-terse text wastes its one clause by duplicating the same POST path in parentheses. It is under-specified rather than concise, so brevity here is not a virtue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API body, no annotations, and no output schema, the definition should at least enumerate the required attributes or confirm the return envelope. Delegating everything to an unnamed external schema leaves the agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single body parameter, which sets a baseline of 3, but the description's only parameter content is an external pointer ('see OpenAPI components.schemas.AppClipHeaderImageCreateRequest') that the agent presumably cannot dereference. It adds no inline meaning about required attributes of the JSON:API envelope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('POST /v1/appClipHeaderImages'), which is a tautology of the tool name rather than a statement of what is being created in domain terms. An agent learns no more about the resource than it could infer from the identifier app_clip_header_images_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or how it relates to the sibling app_clip_header_images_get_instance / update_instance / delete_instance tools. Nothing steers selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_header_images_delete_instanceC
DELETE /v1/appClipHeaderImages/{id} (DELETE /v1/appClipHeaderImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the implied DELETE verb. It does not state that the operation is irreversible, what dependent objects may be affected, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the same route is pure waste and no useful information is front-loaded because there is nothing else to front-load. Under-specification, not true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-resource operation with no annotations and no output schema, the definition should explain what is removed, any cascade or block conditions, and failure modes. None of that is present, leaving the agent to infer everything from the HTTP verb.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole parameter 'id' is documented in the schema as 'the id of the requested resource'. The description adds no additional meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name in HTTP-route form ('DELETE /v1/appClipHeaderImages/{id}'), duplicated parenthetically. It conveys verb and resource but adds no plain-language purpose and does nothing to distinguish it from sibling operations on the same resource such as app_clip_header_images_get_instance and app_clip_header_images_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance whatsoever. An agent gets no signal about prerequisites (e.g., whether the image must be detached from a localization first) or which sibling to pick for a non-destructive operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_header_images_get_instanceD
GET /v1/appClipHeaderImages/{id} (GET /v1/appClipHeaderImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appClipHeaderImages | No | the fields to include for returned resources of type appClipHeaderImages | |
| fields_appClipDefaultExperienceLocalizations | No | the fields to include for returned resources of type appClipDefaultExperienceLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that this is a read-only operation, whether authentication is required, what happens if the id is missing or unauthorized, or anything about the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same path string is repeated twice inside parentheses, which is pure noise rather than front-loaded meaning. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and four parameters, the description should explain at minimum what the tool returns and any access constraints. Instead it supplies only a raw endpoint path, leaving the agent with no behavioral or contextual grounding for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the schema documenting id, include, and both fields_* sparse-fieldset parameters, so the baseline is 3. The description adds no syntax, format, or constraint details beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a REST path, 'GET /v1/appClipHeaderImages/{id}', duplicated verbatim in parentheses. It restates the tool name rather than describing the action in natural language, though the path does imply a single-resource fetch by id. This is effectively a tautology with no distinguishing detail from siblings like app_clip_header_images_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no indication of when not to use it. An agent gets nothing about how this single-fetch differs from create/update/delete siblings on the same resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clip_header_images_update_instanceC
PATCH /v1/appClipHeaderImages/{id} (PATCH /v1/appClipHeaderImages/{id}) Body shape: see OpenAPI components.schemas.AppClipHeaderImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppClipHeaderImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it reveals almost nothing: no permissions required, no mention of whether changes are partial or full replacement, no side effects, and no idempotency notes. Only the JSON:API envelope expectation is hinted at, which is minimal for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short and front-loaded with the endpoint, but the parenthetical repeats the exact same path twice and adds no information. It avoids padding by omission rather than by useful density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating endpoint with no annotations, no output schema, and a nested JSON:API body, the description should explain the update semantics, required fields, and side effects. Pointing vaguely at an external OpenAPI component leaves the agent without the context needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and body are already documented in the schema; the description's pointer to components.schemas.AppClipHeaderImageUpdateRequest duplicates the schema's own body description verbatim. With the schema doing the heavy lifting, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path (PATCH /v1/appClipHeaderImages/{id}) that the tool name already conveys, without explaining what an app clip header image is or what an update does to it. It is essentially a tautology of the name/endpoint rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like app_clip_header_images_create_instance, get_instance, or delete_instance, and no prerequisites or context are given. The agent is left to infer usage entirely from the name and HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clips_app_clip_advanced_experiences_get_to_many_relationshipD
GET /v1/appClips/{id}/relationships/appClipAdvancedExperiences (GET /v1/appClips/{id}/relationships/appClipAdvancedExperiences)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the HTTP method 'GET'. It does not state that this is a read-only relationship fetch, whether pagination via 'limit' applies, or what the relationship response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise: the identical path is printed twice with no added information, which is redundancy rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing tool with no output schema and no annotations, the agent gets zero context about what a 'get_to_many_relationship' returns, how it differs from the '_related' sibling, or how pagination behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the schema already does the heavy lifting. The description adds no meaning beyond it, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path repeated twice verbatim: 'GET /v1/appClips/{id}/relationships/appClipAdvancedExperiences (GET /v1/appClips/{id}/relationships/appClipAdvancedExperiences)'. It restates the tool name rather than stating what the operation does or what an 'appClipAdvancedExperience' relationship contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no distinction from siblings such as app_clips_app_clip_advanced_experiences_get_to_many_related or app_clip_advanced_experiences_get_instance, and no prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clips_app_clip_default_experiences_get_to_many_relationshipD
GET /v1/appClips/{id}/relationships/appClipDefaultExperiences (GET /v1/appClips/{id}/relationships/appClipDefaultExperiences)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only confirmation, no pagination behavior, no auth requirements, no indication of what the relationship returns. Repeating the path a second time adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entry is short, but it is pure redundancy: the same path appears twice with no additional information, so the second half earns no place. Brevity here reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should at minimum explain that this returns the default experiences associated with an app clip and note pagination via limit. None of that is present; an agent gets only the endpoint string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id documented as 'the id of the requested resource', limit as 'maximum resources per page'), so the schema does the work. Per the calibration baseline, a 3 is appropriate when the schema fully documents parameters and the description adds nothing further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP path restated, with the path echoed a second time in parentheses. It conveys only that this is a GET on appClips/{id}/relationships/appClipDefaultExperiences, without a plain-language verb+resource statement. It does not distinguish this tool from the near-identical sibling app_clips_app_clip_default_experiences_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many sibling relationship endpoints, nor any prerequisite or context. The agent must infer everything from the URL path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_clips_get_instanceC
GET /v1/appClips/{id} (GET /v1/appClips/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_appClips | No | the fields to include for returned resources of type appClips | |
| limit_appClipDefaultExperiences | No | maximum number of related appClipDefaultExperiences returned (when they are included) | |
| fields_appClipDefaultExperiences | No | the fields to include for returned resources of type appClipDefaultExperiences |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The 'GET' verb implicitly signals a read-only, idempotent fetch, which is minimal value, but nothing is said about authentication, error behavior when the id is invalid, or the sparse-fieldset/include semantics of the query parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a redundant restatement of the tool name and route rather than an under-specification-free summary. Brevity here comes from omission, not from efficient phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET tool exposing relationship includes and sparse fieldsets with no output schema, the description should explain what is returned and how include/fields interact. None of that is present, leaving the agent to infer everything from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (id, include, fields_*, limit_*) are documented in the schema itself. The description adds nothing about how these parameters behave, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw route 'GET /v1/appClips/{id}' repeated twice. It restates what the tool name (app_clips_get_instance) already encodes rather than stating in words what the tool does or which resource it returns. It gives no differentiation from the many sibling app_clip* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as app_clips_app_clip_default_experiences_get_to_many_relationship or app_clip_default_experiences_get_instance. No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_app_preview_sets_get_to_many_relationshipC
GET /v1/appCustomProductPageLocalizations/{id}/relationships/appPreviewSets (GET /v1/appCustomProductPageLocalizations/{id}/relationships/appPreviewSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The GET verb weakly implies a safe, non-destructive read, but pagination behavior, ordering, auth requirements, and the linkage/identifier shape of the response are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is not concise — the identical path is written twice with no added information, and the whole string is an endpoint dump rather than a front-loaded statement of value. Space is spent on redundancy instead of meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no annotations and no output schema, the description should at minimum indicate what the call returns (a paginated set of appPreviewSet relationships/identifiers) and how 'limit' affects it. None of that is present, leaving the agent to infer the entire contract from the URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% ('id' as the requested resource id, 'limit' as maximum resources per page), so the schema does the explanatory work. The description adds no extra meaning about either parameter, which is the expected baseline when coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw endpoint 'GET /v1/appCustomProductPageLocalizations/{id}/relationships/appPreviewSets', duplicated in parentheses. It technically conveys a verb (GET) and a resource path, and the path does separate it from the sibling '..._app_preview_sets_get_to_many_related', but it offers no semantic framing of what an appPreviewSet relationship is, so the agent must decode URL segments to understand the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this versus the '_related' variant, nor any prerequisite (e.g. that a valid appCustomProductPageLocalization id is required to enumerate its preview-set linkages). The reader gets no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_app_screenshot_sets_get_to_many_relationshipD
GET /v1/appCustomProductPageLocalizations/{id}/relationships/appScreenshotSets (GET /v1/appCustomProductPageLocalizations/{id}/relationships/appScreenshotSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about pagination behavior (despite a limit parameter), authentication requirements, the shape of the relationship response, or whether the operation has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains a pure duplication of the same path string with no added information, which is wasteful rather than concise. There is no front-loaded purpose statement — only a repeated identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing tool with no annotations, no output schema, and a confusingly similar sibling ('...get_to_many_related'), the description provides nothing an agent needs to select or invoke it correctly. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both 'id' and 'limit' are documented in the schema — so the baseline of 3 applies. The description adds no additional meaning beyond the schema, but it is not required to since the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw endpoint path duplicated twice. It technically contains a verb (GET) and a resource path, but it restates the tool name rather than describing what the tool does. It does not explain that it returns the app screenshot sets associated with a custom product page localization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, no prerequisites, and no mention of the sibling 'app_custom_product_page_localizations_app_screenshot_sets_get_to_many_related' tool that returns the same data in a different form. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_create_instanceC
POST /v1/appCustomProductPageLocalizations (POST /v1/appCustomProductPageLocalizations) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing beyond the endpoint URL: no mutation side effects, auth/permission needs, idempotency, or relationship requirements. The only added context is a pointer to the request schema, which is minimal for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the redundant repetition of the same URL as both a path and a parenthetical method+path wastes space without earning it. No information is lost, but nothing beyond the URL is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with nested JSON:API body, no annotations, and no output schema, the description is far too thin: it omits what resource is being created, required relationships/attributes, and any success/error behavior. The schema pointer helps locate the body shape but does not make the definition complete enough to call correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'body' parameter, so the schema already documents the envelope shape. The description reinforces this by naming components.schemas.AppCustomProductPageLocalizationCreateRequest, but adds no field-level meaning beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP endpoint restated twice ('POST /v1/appCustomProductPageLocalizations'), which is a tautology of the tool name rather than a statement of purpose. It never says in plain terms that it creates a localization resource for a custom product page, and it offers no differentiation from sibling create tools like app_custom_product_page_localizations_update_instance or the version/localization creators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent is given a pointer to the OpenAPI schema but nothing about when this create call is the right choice versus the many sibling *_create_instance tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_delete_instanceD
DELETE /v1/appCustomProductPageLocalizations/{id} (DELETE /v1/appCustomProductPageLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility, but it only says DELETE. It doesn't state that the operation is irreversible, whether associated child resources are deleted or orphaned, what permissions/auth are required, or what a successful response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not efficient: the identical path is printed twice in parentheses, which is pure waste rather than front-loaded substance. Nothing else is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description omits everything that matters: side effects, cascading deletions, irreversibility, and required state. An agent cannot safely decide to invoke it from this text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema documents it at 100% coverage as 'the id of the requested resource'. The description's path template echoes the same information without adding format, sourcing, or lookup guidance, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description just restates the tool name as an HTTP route: 'DELETE /v1/appCustomProductPageLocalizations/{id}', repeated twice. It names the verb and resource but adds nothing an agent couldn't infer from the tool name itself, and it doesn't distinguish this delete from sibling deletes like app_custom_product_pages_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of alternatives, no mention of prerequisites (e.g., must the parent version or localization exist, must it be in an editable state), and no note on what happens to related resources such as preview sets, screenshot sets, or search keywords tied to the localization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_get_instanceC
GET /v1/appCustomProductPageLocalizations/{id} (GET /v1/appCustomProductPageLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_placements | No | maximum number of related placements returned (when they are included) | |
| limit_appPreviewSets | No | maximum number of related appPreviewSets returned (when they are included) | |
| limit_searchKeywords | No | maximum number of related searchKeywords returned (when they are included) | |
| fields_appPreviewSets | No | the fields to include for returned resources of type appPreviewSets | |
| limit_appScreenshotSets | No | maximum number of related appScreenshotSets returned (when they are included) | |
| fields_appScreenshotSets | No | the fields to include for returned resources of type appScreenshotSets | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements | |
| fields_appCustomProductPageVersions | No | the fields to include for returned resources of type appCustomProductPageVersions | |
| fields_appCustomProductPageLocalizations | No | the fields to include for returned resources of type appCustomProductPageLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it only offers the bare 'GET', which weakly implies a read-only, non-destructive call. It says nothing about authentication requirements, rate limits, pagination behavior, or what including relationships does to the response payload. For a tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is the route string duplicated verbatim inside parentheses ('GET /v1/... (GET /v1/...)'), which is pure redundancy rather than concision. There is no usable front-loaded summary of what the resource is.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter read tool with no annotations and no output schema, the description is far too thin. The schema documents the parameters, but the description fails to explain what an app custom product page localization is, what the returned resource contains, or why an agent would include the related sub-resources, leaving the tool's larger context unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 11 parameters (id, include, the limit_* and fields_* options) are already documented in the schema. The description adds no syntax, defaults, or interaction details beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('GET /v1/appCustomProductPageLocalizations/{id}'), so an agent can tell it retrieves a single app custom product page localization by id. However, it is pure REST route notation that conveys nothing beyond what the tool name and the required 'id' parameter already imply, and it does nothing to distinguish this tool from the several sibling localizations tools (create/update/delete, and the get_to_many relationship variants for preview sets, screenshot sets, placements, search keywords).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. In particular, the schema's 'include' parameter lets the caller pull related preview sets, screenshot sets, placements and search keywords inline, which overlaps with the dedicated *_get_to_many_related sibling tools, yet the description never mentions this choice or any preconditions for calling it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_placements_get_to_many_relationshipC
GET /v1/appCustomProductPageLocalizations/{id}/relationships/placements (GET /v1/appCustomProductPageLocalizations/{id}/relationships/placements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it delivers essentially nothing beyond the HTTP verb. It does not state that this is a paginated read (despite a 'limit' parameter), that it returns linkage data rather than full resources, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wasteful: the parenthetical is an exact duplicate of the preceding text, and the whole description is a restated path rather than a front-loaded explanation. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship fetch with no output schema and no annotations, the description should at minimum explain what the endpoint returns and how pagination behaves. Neither is covered, leaving the agent with only the URL to reason from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('id' and 'limit') are documented in the schema itself, so the baseline of 3 applies. The description adds no meaning beyond the schema, but it does not need to compensate for a coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path duplicated in parentheses: 'GET /v1/appCustomProductPageLocalizations/{id}/relationships/placements (GET /v1/appCustomProductPageLocalizations/{id}/relationships/placements)'. It restates the tool name in URL form without adding a plain-language statement of what is retrieved (the placement IDs/links associated with a localization). There is no differentiation from siblings such as app_custom_product_page_localizations_placements_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisite, or alternative guidance is present. The agent is not told how this 'relationship' variant differs from the 'related' variant of the same resource, nor when the relationship endpoint is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_search_keywords_create_to_many_relationshipC
POST /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords (POST /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationSearchKeywordsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageLocalizationSearchKeywordsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only names the endpoint and points at a schema for the JSON:API envelope; it says nothing about auth requirements, whether the operation appends or replaces existing keywords, or what side effects occur. For a mutation tool with zero annotation coverage this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, which is good, but the endpoint string and its parenthetical are duplicated verbatim, wasting space. The single substantive sentence is a schema pointer rather than a description of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a to-many relationship mutation with a nested body object, no annotations, and no output schema. The description fails to explain the create semantics (append vs replace), the required permission context, or anything an agent needs beyond the raw endpoint, leaving it under-specified for the complexity involved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters, establishing the baseline of 3. The description's reference to the AppCustomProductPageLocalizationSearchKeywordsLinkagesRequest schema adds a pointer but no meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and path (POST .../searchKeywords), which identifies the resource being mutated at the API level. However, it never says in plain terms that it adds search keywords to an app custom product page localization relationship, so the purpose is only inferable by decoding the endpoint and the mechanical tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling operations (search_keywords_get_to_many_relationship, search_keywords_delete_to_many_relationship, search_keywords_get_to_many_related). The agent is left to infer from the name alone whether this appends vs replaces and when it applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_search_keywords_delete_to_many_relationshipC
DELETE /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords (DELETE /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationSearchKeywordsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageLocalizationSearchKeywordsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it says nothing about what is actually affected (relationship linkage vs. deleting keyword entities), whether the keywords reappear elsewhere, permission requirements, or atomicity of the batch delete. The only added content is a pointer to the OpenAPI request schema, which duplicates the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same path is printed twice in parentheses and the sentence is a schema indirection rather than useful content. Front-loading is fine but a portion of the text is pure duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating to-many relationship delete with no annotations and no output schema, an agent needs to know the effect and the shape of the linkages body; the description only defers to an external OpenAPI component reference and omits any outcome or side-effect information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters (id, body) are already documented; the description merely repeats the components.schemas reference already present in the body property. It adds no semantics about the nested linkages payload beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb and resource via the raw path (DELETE .../relationships/searchKeywords), so the operation is inferable, but it is essentially a restatement of the tool name with a duplicated path and no prose explaining that it removes the linkage between a localization and its search keywords. It does not differentiate itself from the sibling create/get search_keywords relationship tools beyond the HTTP verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus app_custom_product_page_localizations_search_keywords_create_to_many_relationship or ...get_to_many_relationship, nor versus the analogous app_store_version_localizations variant. Usage is only implied by the DELETE verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_search_keywords_get_to_many_relationshipD
GET /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords (GET /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing. It does not say this is a read-only relationship listing, whether results are paginated (the limit param implies paging), what the response shape is, or what access is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire budget on a literal duplication of the same URL path twice, adding zero information. Brevity here reflects under-specification rather than earned conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing endpoint with no annotations and no output schema, the description should at minimum explain what related searchKeyword resources are returned and how pagination behaves. None of that is present, leaving the agent to infer everything from the path string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds no additional meaning about the id or pagination semantics, but the schema already carries that load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP method and path, duplicated verbatim inside parentheses. It names a resource path but conveys no human-readable statement of what the tool retrieves, and it does not differentiate itself from the many sibling get_to_many_relationship tools. This is essentially a restatement of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no when-not-to-use, and no mention of the sibling alternatives (e.g. ..._search_keywords_get_to_many_related or the create/delete relationship variants). The agent is given nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_localizations_update_instanceC
PATCH /v1/appCustomProductPageLocalizations/{id} (PATCH /v1/appCustomProductPageLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppCustomProductPageLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only discloses that the body follows the JSON:API envelope. It says nothing about PATCH semantics (partial vs. full replace, behavior of omitted fields), auth requirements, or side effects on related resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wastes space by repeating the identical endpoint string twice in parentheses, and the remaining content is a pointer to an external schema rather than front-loaded, self-contained information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the description is too thin: it omits auth, PATCH semantics, and expected effects. The external OpenAPI pointer partially compensates for the opaque body but not for the behavioral gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters; the baseline of 3 applies. The description's reference to the OpenAPI update-request schema adds marginal value but largely repeats what the body property description already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the operation via the HTTP verb and resource path (PATCH on appCustomProductPageLocalizations), which an experienced agent can map to 'update a custom product page localization'. However, it never states the purpose in plain language and does nothing to distinguish this from sibling update_instance tools or from the create/get/delete variants of the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (create_instance, delete_instance, get_instance), no prerequisites, and no mention of required permissions or scoping. The agent is left to infer everything from the route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_pages_app_custom_product_page_versions_get_to_many_relationshipD
GET /v1/appCustomProductPages/{id}/relationships/appCustomProductPageVersions (GET /v1/appCustomProductPages/{id}/relationships/appCustomProductPageVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix weakly signals a read-only list operation and the presence of a limit parameter implies pagination, but nothing is said about ordering, page size defaults, or what the relationship payload looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single path string immediately duplicated inside parentheses, which is pure redundancy with zero added information. It is short but wasteful rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain what the endpoint returns and how to page through results, but it provides none of that. For a relationship-listing tool in a large API surface, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – both id ('the id of the requested resource') and limit ('maximum resources per page') are documented in the schema. The description adds no additional semantics, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP path twice, with no verb describing the operation beyond 'GET'. It does identify the resource (app custom product page versions) and that it is a relationship fetch, but an agent cannot tell from the text alone what the versions represent or how this differs from the sibling app_custom_product_pages_app_custom_product_page_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many nearby relationship tools (e.g. the *_related variant, or app_custom_product_page_versions_get_instance). No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_pages_create_instanceD
POST /v1/appCustomProductPages (POST /v1/appCustomProductPages) Body shape: see OpenAPI components.schemas.AppCustomProductPageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers nothing. It does not state authentication scopes, whether the operation is idempotent, what side effects occur, or what is returned after the POST, despite being a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The snippet is short but its only content is duplicated verbatim in a redundant parenthetical, and it is under-specified rather than concise. Space that could carry purpose or body-shape context is spent on repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, this is far too thin. The description never hints at what the create request must contain (app relationship, name, visibility) or what the created resource looks like, leaving the agent dependent on an external OpenAPI reference it cannot resolve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (body) and schema description coverage is 100%, so the baseline is 3 per the rubric. The description's reference to components.schemas.AppCustomProductPageCreateRequest merely duplicates the schema's own description and points at an external document the agent cannot see, adding no real parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP route 'POST /v1/appCustomProductPages', which restates what the tool name already implies. It gives no natural-language statement of what an App Custom Product Page is or what creating one accomplishes, and it does nothing to separate this tool from siblings like app_custom_product_pages_update_instance or app_custom_product_page_versions_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist (e.g. an app ID must already exist), or how it relates to alternative creation tools. An agent gets no routing signal whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_pages_delete_instanceC
DELETE /v1/appCustomProductPages/{id} (DELETE /v1/appCustomProductPages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The DELETE method implies a destructive, likely irreversible operation, but the description never states whether deletion cascades to versions/localizations, whether the page must be in a particular state, what permissions are required, or what the failure modes are.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, which is good, but the parenthetical '(DELETE /v1/appCustomProductPages/{id})' is a pure duplicate of the preceding text and earns no place. The only content is front-loaded, but there is little content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive endpoint with no annotations, no output schema, and no explanatory prose, the definition is too thin. An agent needs at least confirmation that this permanently removes the custom product page and any caveats about associated versions before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) and schema description coverage is 100%, so the schema already documents it as 'the id of the requested resource'. The description adds no syntax, format, or meaning beyond the path placeholder, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text states an HTTP verb (DELETE) and a resource path (appCustomProductPages/{id}), so an agent can infer it removes an App Custom Product Page. However it is a mechanical restatement of the tool name rather than a description of the operation, and the parenthetical duplicates the path verbatim instead of clarifying scope. Sibling tools like app_custom_product_pages_get_instance/update_instance are only distinguished by the verb embedded in the name, not by anything the description adds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as app_custom_product_pages_update_instance or the version/localization delete tools that operate on sub-resources. The agent is left to infer 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.
app_custom_product_pages_get_instanceD
GET /v1/appCustomProductPages/{id} (GET /v1/appCustomProductPages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_appCustomProductPages | No | the fields to include for returned resources of type appCustomProductPages | |
| limit_appCustomProductPageVersions | No | maximum number of related appCustomProductPageVersions returned (when they are included) | |
| fields_appCustomProductPageVersions | No | the fields to include for returned resources of type appCustomProductPageVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it offers nothing. It does not state that this is a read-only operation, does not describe error behavior for a missing id, does not mention auth requirements, and does not describe what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but poorly structured: the same endpoint string is repeated verbatim in parentheses, which is pure noise, and there is no front-loaded purpose statement. Every word here is either redundant or uninformative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET-instance tool with no annotations and no output schema, the description should at minimum disclose that it is a safe read and describe the returned resource. It does neither, leaving the agent with only the schema-documented query parameters and a raw URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (id, include, fields_apps, fields_appCustomProductPages, limit_appCustomProductPageVersions, fields_appCustomProductPageVersions) are documented in the schema. The description adds no parameter meaning, but per the high-coverage baseline a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the tool name as a URL path: 'GET /v1/appCustomProductPages/{id}', duplicated in parentheses. It conveys the verb and resource type but adds no meaningful explanation of what an 'app custom product page' instance retrieval is, and does nothing to distinguish this from the sibling app_custom_product_pages_update_instance or app_custom_product_pages_create_instance beyond the HTTP verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No mention of the relationship variants (app_custom_product_pages_app_custom_product_page_versions_get_to_many_relationship) or the collection tool (app_custom_product_pages_get_collection), and no prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_pages_update_instanceC
PATCH /v1/appCustomProductPages/{id} (PATCH /v1/appCustomProductPages/{id}) Body shape: see OpenAPI components.schemas.AppCustomProductPageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing beyond the HTTP verb: not whether the update is partial or full replacement, what permissions/roles are required, whether the change is reversible or submitted for review, nor any rate-limit or conflict behavior. For a mutation tool this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the endpoint, but it wastes the parenthetical by repeating the identical PATCH path verbatim, and the OpenAPI pointer is dense jargon that assumes the agent can resolve component references.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive-by-default mutation with no annotations, no output schema, and an untyped body, the definition should say more about what is being changed and the required envelope. The OpenAPI pointer is the only substantive content, leaving the agent without the behavioral context needed to invoke this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there are only two parameters, but the body is typed as a bare object with additionalProperties: {}, so the schema itself is opaque. The description adds genuine value by pointing to components.schemas.AppCustomProductPageUpdateRequest for the JSON:API envelope, which is the only guidance available on body shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a mutation of a specific resource via the PATCH path (appCustomProductPages/{id}), so the verb+resource is inferable. However it leans on the raw HTTP path rather than stating plainly that it updates a custom product page, and it does nothing to distinguish itself from siblings like app_custom_product_pages_get_instance, app_custom_product_pages_delete_instance, or app_custom_product_page_versions_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the create/get/delete siblings, no prerequisites, and no indication of what conditions must hold to issue the PATCH. The agent is left to infer everything from the HTTP method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_versions_create_instanceC
POST /v1/appCustomProductPageVersions (POST /v1/appCustomProductPageVersions) Body shape: see OpenAPI components.schemas.AppCustomProductPageVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing about authentication requirements, side effects, idempotency, or the state transition this create operation triggers. It does not even confirm that this is a mutating write beyond the bare HTTP verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wastes most of its length repeating the identical POST path twice inside parentheses, and the remaining clause is a pointer to the schema rather than substantive information. Little of it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the description is far too thin: it omits the parent resource relationship, required envelope fields, and any consequence of the creation. It is not sufficient for an agent to invoke the tool correctly without external API knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the baseline is 3. The description points to components.schemas.AppCustomProductPageVersionCreateRequest for the envelope shape, but this only duplicates what the schema's own description already states, adding no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the endpoint path 'POST /v1/appCustomProductPageVersions', which is a tautological echo of the tool name rather than an explanation of what an App Custom Product Page Version is or what creating one accomplishes. It offers no differentiation from siblings such as app_custom_product_page_versions_update_instance or app_custom_product_pages_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. which parent custom product page is required), and no mention of alternatives. The agent must infer the entire usage context 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.
app_custom_product_page_versions_get_instanceD
GET /v1/appCustomProductPageVersions/{id} (GET /v1/appCustomProductPageVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appCustomProductPages | No | the fields to include for returned resources of type appCustomProductPages | |
| fields_appCustomProductPageVersions | No | the fields to include for returned resources of type appCustomProductPageVersions | |
| limit_appCustomProductPageLocalizations | No | maximum number of related appCustomProductPageLocalizations returned (when they are included) | |
| fields_appCustomProductPageLocalizations | No | the fields to include for returned resources of type appCustomProductPageLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses essentially nothing: no auth/permission requirements, no mention of pagination for the included relationships, no note about what the returned fields represent. The only implicit signal is the GET verb, which is already visible in the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but not concise in any useful sense: it duplicates the same path twice in parentheses and contains no information beyond the raw endpoint. It is under-specified rather than efficiently worded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and six parameters, the description should explain the resource, its relationships, and return shape. It provides none of this, leaving the agent with only the endpoint path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (id, include, fields_*, limit_*) are documented in the schema itself. The description adds nothing beyond the path template, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path: 'GET /v1/appCustomProductPageVersions/{id}'. It is a tautology of the tool name and adds no plain-language statement of what the resource is or what retrieving it accomplishes, so it cannot meaningfully distinguish this from the many sibling *_get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as app_custom_product_page_versions_update_instance, app_custom_product_pages_get_instance, or the localizations relationship tools. No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_versions_localizations_get_to_many_relationshipC
GET /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations (GET /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix implies a read-only operation, but nothing is said about pagination behavior despite a limit parameter, response shape, or relationship-vs-related semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line duplicates the same endpoint string twice in parentheses, which is pure waste rather than front-loaded information. It is short but not informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, yet the description explains nothing about what a relationship endpoint returns or how pagination works. For an agent needing to call this correctly, it is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with two documented params (id, limit), so the schema does the heavy lifting. The description adds no meaning beyond the path template, which merely echoes the id parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the raw URL path, but the path segments do convey a retrieval of the appCustomProductPageLocalizations to-many relationship for a given appCustomProductPageVersion. It does not differentiate from the sibling 'app_custom_product_page_versions_app_custom_product_page_localizations_get_to_many_related', which sounds nearly identical.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this versus the 'related' sibling or the version's own endpoints. The parenthetical merely repeats the same path, adding no condition or alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_custom_product_page_versions_update_instanceC
PATCH /v1/appCustomProductPageVersions/{id} (PATCH /v1/appCustomProductPageVersions/{id}) Body shape: see OpenAPI components.schemas.AppCustomProductPageVersionUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppCustomProductPageVersionUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys only the implicit partial-update semantics of PATCH and points to the OpenAPI schema for the body envelope; it says nothing about permissions, reversibility, side effects, or what happens to unspecified fields. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the route, but it wastefully duplicates the PATCH path verbatim inside parentheses. Every sentence is not fully earning its place, though it avoids bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the description is far too thin. It does not explain what the update modifies, what the required envelope contains, or any expected outcome, leaving the agent dependent on external OpenAPI documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters. The description only repeats the pointer to components.schemas.AppCustomProductPageVersionUpdateRequest, which is already present in the body schema description. Baseline 3 applies since the schema does the heavy lifting and the description adds nothing new.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb (PATCH) and the resource path (appCustomProductPageVersions/{id}), which implies an update operation on that resource. However, it never states in plain language what is being updated or which fields are mutable, so an agent must infer purpose from the route alone. It is specific enough to not be a pure tautology, but falls short of a clear verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as app_custom_product_page_versions_create_instance or the localizations tools. No prerequisites, no conditions, no alternatives are mentioned. The agent is left to infer usage entirely from the route name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declaration_documents_create_instanceD
POST /v1/appEncryptionDeclarationDocuments (POST /v1/appEncryptionDeclarationDocuments) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationDocumentCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppEncryptionDeclarationDocumentCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing. The POST verb implies a write, but there is no mention of required auth/roles, whether the operation is idempotent, side effects, or the JSON:API envelope rules beyond a bare pointer to components.schemas. This is a significant gap for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The snippet is short but wastes its budget by duplicating the endpoint string verbatim ('POST /v1/appEncryptionDeclarationDocuments (POST /v1/appEncryptionDeclarationDocuments)') instead of front-loading actionable meaning. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations, no output schema, and a nested object body defined only by an external schema reference, the description omits everything an agent needs: object semantics, required fields, and effects. It is essentially a raw REST route with no added context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter, and both the schema and the description merely point to 'components.schemas.AppEncryptionDeclarationDocumentCreateRequest' without enumerating any required fields or the envelope structure. The description adds no meaning beyond what the schema already says, and the external reference is opaque without the referenced component.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP method and path ('POST /v1/appEncryptionDeclarationDocuments'), which restates the tool name (create_instance) rather than explaining what an App Encryption Declaration Document is or why one would create it. It never states in natural language that this creates an App Store encryption-compliance document, so it is closer to tautology than a real purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, no prerequisite, and no mention of alternatives such as app_encryption_declarations_create_instance or the get/update document siblings. An agent gets zero routing guidance from the text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declaration_documents_get_instanceD
GET /v1/appEncryptionDeclarationDocuments/{id} (GET /v1/appEncryptionDeclarationDocuments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_appEncryptionDeclarationDocuments | No | the fields to include for returned resources of type appEncryptionDeclarationDocuments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: not that this is a read-only operation, not permission requirements, not whether related resources can be included, not error behavior for unknown ids. The only behavioral signal is the bare HTTP verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same path is printed twice with nothing else, so no sentence earns its place. Brevity here stems from under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource-fetch tool with no output schema, the description must at least characterize the returned resource or note the field-selection behavior; it does none of that. An agent can infer almost nothing about the call beyond the URL template already present in the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (id and fields_appEncryptionDeclarationDocuments) are documented in the schema, including the enum of includable fields. That meets the stated baseline of 3, but the description adds no syntax, format, or example beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is the raw endpoint path 'GET /v1/appEncryptionDeclarationDocuments/{id}' duplicated verbatim in parentheses, which merely restates the tool name rather than describing the operation in prose. It does imply a single-resource retrieval, so it is not misleading, but it is essentially a tautology with no explanation of what an app encryption declaration document is or what retrieving one yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this versus siblings such as app_encryption_declarations_app_encryption_declaration_document_get_to_one_relationship or app_encryption_declaration_documents_create_instance/update_instance. No prerequisites, no id-sourcing hints, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declaration_documents_update_instanceC
PATCH /v1/appEncryptionDeclarationDocuments/{id} (PATCH /v1/appEncryptionDeclarationDocuments/{id}) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationDocumentUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppEncryptionDeclarationDocumentUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, but it discloses only the HTTP method and a pointer to an external OpenAPI schema. It does not say what fields can be changed, whether the update is partial or full, what permissions are required, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes space by repeating the same endpoint twice and does not front-load a plain-language purpose. This is under-specification rather than useful concision; the duplicate path text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body and no output schema, the description is not complete enough. It defers the body envelope to OpenAPI but gives no indication of required fields, effects, or return behavior, leaving the agent unable to invoke it safely without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents id and body. The description adds only a pointer to components.schemas.AppEncryptionDeclarationDocumentUpdateRequest, which the schema body description already repeats, so it does not add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives an HTTP method and resource path, so an agent can infer that this updates an app encryption declaration document. However, it never states the purpose in plain language and does not distinguish the mutation from sibling create/get tools beyond the PATCH method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no comparison with app_encryption_declaration_documents_create_instance or app_encryption_declaration_documents_get_instance. The reader must infer from PATCH that this modifies an existing document rather than creating or reading one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declarations_app_encryption_declaration_document_get_to_one_relationshipD
GET /v1/appEncryptionDeclarations/{id}/relationships/appEncryptionDeclarationDocument (GET /v1/appEncryptionDeclarations/{id}/relationships/appEncryptionDeclarationDocument)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It only repeats an HTTP GET path and discloses nothing about read-only behavior, permissions, side effects, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundantly repeats the same URL path twice and is not front-loaded with useful natural-language meaning. It wastes the available space on duplication rather than clarification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations, no output schema, and a sibling related endpoint, the description is wholly inadequate. It gives no indication of what the relationship returns or how it differs from the sibling tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter and the schema description coverage is 100%, so the schema already documents the 'id' parameter. The description adds no additional meaning, but baseline 3 applies when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a URL path repeated twice. It identifies the resource being fetched but does not state the action or what the relationship represents in plain language, and it gives no differentiation from the sibling '..._get_to_one_related' tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint versus the related resource endpoint or any other sibling. No context, prerequisites, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declarations_app_get_to_one_relationshipC
[DEPRECATED] GET /v1/appEncryptionDeclarations/{id}/relationships/app (GET /v1/appEncryptionDeclarations/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses deprecation status, which is valuable, but says nothing about read-only semantics, authentication requirements, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The deprecation warning is correctly front-loaded, but the path is duplicated verbatim in parentheses, which is pure redundancy. The text is short yet a meaningful portion of it earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-relationship endpoint with no output schema and no annotations, the description should at least explain what 'relationship' returns versus the _related sibling. It leaves the agent to guess the payload and has no replacement guidance for a deprecated tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100%, so the schema fully documents 'id'. The description adds no syntax or format nuance beyond that, matching the baseline for a fully covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP path restated (twice) plus a deprecation tag. It never says in plain language that it returns the app resource linked to an app encryption declaration, so the agent must infer purpose from URL structure alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is the only usage signal and it is useful, but there is no statement of when this should be preferred over the sibling app_encryption_declarations_app_get_to_one_related, nor why the relationship variant exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declarations_builds_create_to_many_relationshipC
[DEPRECATED] POST /v1/appEncryptionDeclarations/{id}/relationships/builds (POST /v1/appEncryptionDeclarations/{id}/relationships/builds) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationBuildsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppEncryptionDeclarationBuildsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the deprecation status and that this is a POST mutation, which is useful, but says nothing about side effects, whether it appends or replaces linkages, auth requirements, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Deprecation is correctly front-loaded, but the path is needlessly repeated in parentheses ('POST ... (POST ...)'), which is wasted space, and the body-shape sentence is a pointer rather than content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested body object, the description should explain effects and remediation. It only signals deprecation and defers the body envelope to an external schema, leaving the agent unable to judge what the call does to existing data or what to do instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description defers body shape to 'OpenAPI components.schemas.AppEncryptionDeclarationBuildsLinkagesRequest' and adds no semantic detail about the id or body beyond what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The path 'POST /v1/appEncryptionDeclarations/{id}/relationships/builds' identifies the resource and that a create-to-many relationship operation is happening, so an agent can infer it links builds to an app encryption declaration. However, the description never states this in natural language and offers no differentiation from sibling relationship tools beyond the embedded path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description flags [DEPRECATED] but gives no guidance on when to use this versus alternatives, and crucially does not name a replacement tool or migration path. There is no statement of prerequisites (which build ids, permissions, or linkage format).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declarations_create_instanceC
POST /v1/appEncryptionDeclarations (POST /v1/appEncryptionDeclarations) Body shape: see OpenAPI components.schemas.AppEncryptionDeclarationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppEncryptionDeclarationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing about authentication requirements, idempotency, side effects, or what the POST actually creates. The endpoint line conveys no behavioral trait beyond the verb already in the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short but wasteful: the endpoint is printed twice in immediate succession with no added information in the parenthetical. It is not front-loaded with any meaningful purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with no annotations, no output schema, and a nested JSON:API body that must be constructed correctly, the description is far too thin. Only the OpenAPI component reference offers any help, leaving field requirements, required relationships, and return behavior unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single body parameter, so the schema already documents it, and the description merely points to the same OpenAPI component (components.schemas.AppEncryptionDeclarationCreateRequest). Baseline 3 is appropriate since the schema does the heavy lifting with no added semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP endpoint restated verbatim, duplicated in parentheses, and adds no resource semantics beyond what the tool name already implies. It never explains what an app encryption declaration is or what creating one accomplishes, making it near-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative or related calls such as app_encryption_declarations_get_collection or app_encryption_declaration_documents_create_instance. Only the HTTP POST method faintly implies a create operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declarations_get_collectionC
GET /v1/appEncryptionDeclarations (GET /v1/appEncryptionDeclarations)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| filter_builds | No | filter by id(s) of related 'builds' | |
| filter_platform | No | filter by attribute 'platform' | |
| fields_appEncryptionDeclarations | No | the fields to include for returned resources of type appEncryptionDeclarations | |
| fields_appEncryptionDeclarationDocuments | No | the fields to include for returned resources of type appEncryptionDeclarationDocuments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. The only behavioral signal is the implicit GET verb (read-only, non-destructive); pagination behavior, auth/permission requirements, rate limits, and the include/filter interaction are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the preceding text word-for-word, so one of the two segments earns nothing. Brevity here reflects under-specification, not efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter collection endpoint with no annotations and no output schema, an agent needs at least what resource is being listed and how the collection/relationship variants differ. Neither is provided; the agent must infer everything from the name and schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 10 parameters, so the schema already documents limit, include, filter_app, filter_builds, filter_platform, and the various fields_* selectors. The description adds nothing beyond the schema, which is the baseline-3 case when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the HTTP verb and path ("GET /v1/appEncryptionDeclarations") duplicated verbatim in parentheses. It restates the tool name without saying what an app encryption declaration is or what the list returns, so it is effectively a tautology rather than an explanation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this collection endpoint versus siblings such as app_encryption_declarations_get_instance (single record) or apps_app_encryption_declarations_get_to_many_related (fetching declarations scoped to one app). No prerequisites, no filtering context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_encryption_declarations_get_instanceD
GET /v1/appEncryptionDeclarations/{id} (GET /v1/appEncryptionDeclarations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_appEncryptionDeclarations | No | the fields to include for returned resources of type appEncryptionDeclarations | |
| fields_appEncryptionDeclarationDocuments | No | the fields to include for returned resources of type appEncryptionDeclarationDocuments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no pagination or include-behavior notes, no indication of what the resource represents. The HTTP verb alone is all that is communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the same route string is printed twice in parentheses, wasting the only content it has. There is no front-loaded purpose statement, only a route template.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no annotations and no output schema, the description is completely inadequate. It conveys neither what the tool returns nor how to use the include/fields/limit parameters meaningfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 7 parameters (id, include, fields_*, limit_builds), so the schema already documents each one thoroughly. The description adds nothing beyond the path template, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP route: 'GET /v1/appEncryptionDeclarations/{id}', duplicated parenthetically. An agent can infer a single-resource fetch, but there is no prose describing what an app encryption declaration is or how this differs from siblings like app_encryption_declarations_get_collection or the many *_get_to_one_related variants. This is a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. With siblings such as app_encryption_declarations_get_collection, app_encryption_declarations_app_get_to_one_related, and app_encryption_declarations_builds_create_to_many_relationship, the agent gets no help choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_localizations_app_event_screenshots_get_to_many_relationshipC
GET /v1/appEventLocalizations/{id}/relationships/appEventScreenshots (GET /v1/appEventLocalizations/{id}/relationships/appEventScreenshots)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not that the response contains resource-identifier linkages rather than full screenshot objects, not pagination behavior despite a limit parameter, not auth requirements. The path text adds no behavioral information beyond what the tool name already conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical simply duplicates the preceding endpoint string, so a meaningful fraction of the text earns nothing. Concise in length, wasteful in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the definition needed to explain the response shape (linkage objects) and pagination semantics. Neither is present, so an agent cannot predict what it will receive from this relationship endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both `id` and `limit` documented in the schema, so the baseline of 3 applies. The description adds no syntax, format, or constraint information for either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path, restated verbatim inside parentheses. It names a GET on appEventLocalizations/{id}/relationships/appEventScreenshots, so the resource is inferable, but this is a tautological restatement of the tool name rather than an explanation of purpose. It gives no basis for choosing between this and the sibling ..._get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no statement of when an agent should fetch the relationship linkage versus the related resource, and no prerequisites such as needing the localization id. The only cue is 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.
app_event_localizations_app_event_video_clips_get_to_many_relationshipC
GET /v1/appEventLocalizations/{id}/relationships/appEventVideoClips (GET /v1/appEventLocalizations/{id}/relationships/appEventVideoClips)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses almost nothing beyond the implicit 'GET means read-only' signal. It doesn't mention pagination behavior (relevant given the limit param), whether results are unordered, or what the relationship response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single string contains a duplicated path with no added content, which is wasteful restatement rather than concise information. It is front-loaded but only because there is nothing else to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the agent lacks essential context: what the returned relationship data represents, whether it is a paginated list of identifiers or full resources, and how it differs from the sibling _related variant. The definition is not complete enough to call correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters (id, limit) already documented in the schema, so the baseline of 3 applies. The description adds nothing about parameter semantics beyond echoing the path template.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw REST path repeated verbatim, 'GET /v1/appEventLocalizations/{id}/relationships/appEventVideoClips'. It restates the tool name/path without saying in plain terms that it retrieves the app event video clips related to a specific app event localization, so an agent gains no semantic understanding beyond decoding the URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus its many siblings. An agent cannot tell from this string why it should pick this endpoint over e.g. app_event_localizations_app_event_video_clips_get_to_many_related or the _related variant; nothing is stated about context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_localizations_create_instanceC
POST /v1/appEventLocalizations (POST /v1/appEventLocalizations) Body shape: see OpenAPI components.schemas.AppEventLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppEventLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the fact that a POST is issued. It does not say what the required JSON:API envelope relationships are, whether creation is additive, what errors occur on duplicate locale, or what the call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the route is duplicated verbatim in parentheses, wasting the only non-trivial content in the sentence. The rest defers entirely to an external spec reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API envelope, no annotations, and no output schema, the description should at least sketch the envelope or required relationships. Instead it points to an OpenAPI component that the agent may not have access to, leaving the request contract effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single `body` parameter, so the baseline is 3. The description only repeats the schema's pointer to components.schemas.AppEventLocalizationCreateRequest, adding no field-level meaning beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route (POST /v1/appEventLocalizations) and the tool name; the actual purpose, creating an App Event localization, is inferred from the name and the POST verb rather than stated. No distinction from siblings such as app_event_localizations_update_instance or app_clip_default_experience_localizations_create_instance is offered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to create versus update an existing localization, what prerequisite resources (app event relationship, locale) are needed, or when a sibling tool is the better choice. The agent must infer usage purely from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_localizations_delete_instanceD
DELETE /v1/appEventLocalizations/{id} (DELETE /v1/appEventLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it adds nothing: it does not state that this is an irreversible destructive operation, whether it cascades to related screenshots/video clips, what permissions are needed, or whether the response is empty or 204. A raw method+path string is insufficient for a delete tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every character is wasted: the same method-and-path string is printed twice with no front-loaded statement of purpose. Brevity here reflects under-specification, not efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive instance-deletion tool with no annotations and no output schema, the description should convey irreversibility, side effects, and success semantics. It supplies none of these, leaving the agent without the context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, and the schema already documents it as 'the id of the requested resource'. Per the high-coverage baseline, 3 is appropriate since the description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely the HTTP verb plus the endpoint path, 'DELETE /v1/appEventLocalizations/{id}', duplicated verbatim in parentheses. It effectively restates the tool name rather than explaining what the resource is or what deleting it means, so it sits at the tautology level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as app_event_localizations_update_instance or app_event_localizations_get_instance, and no preconditions. Nothing routes the agent among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_localizations_get_instanceD
GET /v1/appEventLocalizations/{id} (GET /v1/appEventLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appEvents | No | the fields to include for returned resources of type appEvents | |
| limit_placements | No | maximum number of related placements returned (when they are included) | |
| limit_appEventVideoClips | No | maximum number of related appEventVideoClips returned (when they are included) | |
| fields_appEventVideoClips | No | the fields to include for returned resources of type appEventVideoClips | |
| limit_appEventScreenshots | No | maximum number of related appEventScreenshots returned (when they are included) | |
| fields_appEventScreenshots | No | the fields to include for returned resources of type appEventScreenshots | |
| fields_appEventLocalizations | No | the fields to include for returned resources of type appEventLocalizations | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the implied read semantics of 'GET'. It says nothing about auth requirements, rate limits, sparse-fieldset behavior, or relationship inclusion side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not in an economical way: the same path string is repeated twice in parentheses with no added information. This is under-specification masquerading as conciseness rather than front-loaded structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter endpoint with relationship-inclusion and sparse-fieldset options, raw JSON:API conventions, and no output schema in the definition, a bare duplicated path leaves the agent with almost nothing. It is completely inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all 10 parameters (id, include, fields_*, limit_*) are documented in the schema itself, so the baseline of 3 applies. The description contributes zero additional parameter meaning, but the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw REST path 'GET /v1/appEventLocalizations/{id}', duplicated verbatim in parentheses. It restates what the tool name already says (get a single app event localization instance) without adding any distinct purpose statement or sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as the collection endpoint or the *_get_to_many_relationship siblings, and no prerequisites. The agent gets no help deciding when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_localizations_placements_get_to_many_relationshipD
GET /v1/appEventLocalizations/{id}/relationships/placements (GET /v1/appEventLocalizations/{id}/relationships/placements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only/safety implication, no pagination semantics despite a limit parameter, no note about what identifiers or linkage objects come back. The bare HTTP path supplies zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is duplicated verbatim in parentheses, which is pure redundancy rather than conciseness. There is no front-loaded purpose statement to speak of, just the same string twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no explanation of the relationship resource or pagination, an agent cannot determine what it will receive or how to page. The limit parameter is left entirely to schema inference, and the relationship-vs-related distinction is unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline of 3 applies. The description adds no meaning beyond the schema — the {id} path token is the only touchpoint and it merely echoes the schema's 'id' property.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the tool name rendered as an HTTP path, duplicated word-for-word in parentheses. It restates the name/title rather than explaining what an 'appEventLocalizations placements relationship' returns or why an agent would fetch it. It also fails to distinguish itself from the near-identical sibling app_event_localizations_placements_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. In particular, nothing tells the agent when to use this 'relationships' variant versus the sibling '_get_to_many_related' variant, which is the only meaningful decision here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_localizations_update_instanceC
PATCH /v1/appEventLocalizations/{id} (PATCH /v1/appEventLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppEventLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppEventLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses almost nothing. The PATCH method implies a partial-update mutation, but there is no mention of auth requirements, which fields are patchable, side effects, or reversibility. Pointing at an external OpenAPI schema is a pointer, not disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description duplicates the same PATCH path twice in parentheses, which is pure waste, and then repeats the schema reference already present in the input schema. It is short but not efficient, and nothing is front-loaded that helps selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should explain what the update body contains and what the envelope requires. Instead it defers entirely to an external OpenAPI component, leaving the agent without the information needed to construct a correct PATCH body.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the schema already documents id and body. The description's only addition is directing the agent to components.schemas.AppEventLocalizationUpdateRequest, which the body schema already references. Baseline 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific verb and resource via the raw HTTP signature (PATCH /v1/appEventLocalizations/{id}), so an agent can infer it updates an app event localization. However, it offers no semantic framing beyond the URL and does not distinguish this from sibling tools like app_event_localizations_create_instance, get_instance, or delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or which alternative to pick (create vs. update vs. delete). The description is purely a method-and-path restatement with no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_events_create_instanceD
POST /v1/appEvents (POST /v1/appEvents) Body shape: see OpenAPI components.schemas.AppEventCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppEventCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it says nothing about this being a mutating write, required permissions, rate limits, or what the response contains. Pointing at an external OpenAPI schema is not behavioral context in the definition itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short but wasteful: 'POST /v1/appEvents (POST /v1/appEvents)' redundantly repeats the same route. Brevity here comes from under-specification rather than efficient structuring, with no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation tool with no annotations, no output schema, and a nested JSON:API envelope body, the description is grossly incomplete. It defers everything to an external OpenAPI spec and provides no information an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'body' parameter, so the baseline is 3. The description's note about the 'full JSON:API envelope' and the AppEventCreateRequest shape adds a small amount of orientation but largely duplicates the schema's own pointer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the HTTP route ('POST /v1/appEvents') and only conveys the operation through the tool name. It never translates the endpoint into a plain-language statement like 'create an App Event', leaving an agent to infer the resource from the name rather than the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as app_events_get_instance, app_events_update_instance, app_events_delete_instance, or app_events_localizations. An agent gets no context on prerequisites or conditions for creating an event.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_screenshots_create_instanceC
POST /v1/appEventScreenshots (POST /v1/appEventScreenshots) Body shape: see OpenAPI components.schemas.AppEventScreenshotCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppEventScreenshotCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full behavioral burden, yet it discloses nothing about authentication requirements, side effects, what gets created, or whether the operation is reversible. The HTTP verb POST and the resource path imply a write, but no additional behavioral context is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical repeats the path verbatim, which is pure redundancy rather than earned content. Size is appropriate for what little it says.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, and no output schema, the description is not complete enough to help an agent build a valid request. It offloads the entire payload contract to an external document without summarizing any required fields or the envelope structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the baseline is 3. The description adds a reference to the OpenAPI component (AppEventScreenshotCreateRequest) and the JSON:API envelope, which is useful signposting but not meaning beyond what the schema text already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is effectively a tautology: it repeats the tool name's meaning as an HTTP verb and path ("POST /v1/appEventScreenshots") with the parenthetical duplicated verbatim. It does not state in plain language that it creates an app event screenshot, and it does nothing to distinguish itself from siblings like app_event_screenshots_update_instance, get_instance, or delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of prerequisites, and no routing to alternatives (e.g., update vs. create). The only pointer is to the request schema, which addresses payload construction 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.
app_event_screenshots_delete_instanceD
DELETE /v1/appEventScreenshots/{id} (DELETE /v1/appEventScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing: not that the operation is destructive/irreversible, whether it requires auth or specific roles, what happens to related resources, or whether it returns content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the exact same path string with zero added information, making the sentence pure redundancy rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations and no output schema, the description is entirely inadequate: it omits irreversibility, permission requirements, and the effect on the parent resource or localizations that reference these screenshots.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'id' parameter at 100% schema description coverage, so the schema already documents it. The description adds no meaning about the id's format or source beyond restating the path template, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb and resource path (DELETE /v1/appEventScreenshots/{id}), which conveys what the tool does. However, it does nothing to differentiate this delete from the dozens of other *_delete_instance siblings and offers no semantic framing beyond the raw endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives or related tools. An agent must infer everything 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.
app_event_screenshots_get_instanceD
GET /v1/appEventScreenshots/{id} (GET /v1/appEventScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appEventScreenshots | No | the fields to include for returned resources of type appEventScreenshots | |
| fields_appEventLocalizations | No | the fields to include for returned resources of type appEventLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the read-only nature, not whether the ID is a resource ID versus an App Store ID, not auth requirements, not error behavior for missing IDs. Repeating the URL template adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical simply repeats the identical path string, so half the content is pure redundancy with zero informational value. Brevity here stems from under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a sparse description, an agent gets nothing about what a successful response contains, what include/fields affect, or how the returned app event screenshot relates to localizations. Completely inadequate for a 4-parameter retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, fields_appEventScreenshots, and fields_appEventLocalizations in reasonable detail. The description adds nothing beyond the schema, but the high coverage establishes the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP method and path duplicated verbatim: 'GET /v1/appEventScreenshots/{id} (GET /v1/appEventScreenshots/{id})'. It restates the tool name (get_instance on app_event_screenshots) without explaining what an app event screenshot resource is or what retrieving one yields. This is tautology rather than an explanation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the many siblings, such as app_event_localizations_app_event_screenshots_get_to_many_related or app_event_screenshots_update_instance. There is no mention of prerequisites, ID sourcing, or when a related/collection call is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_screenshots_update_instanceC
PATCH /v1/appEventScreenshots/{id} (PATCH /v1/appEventScreenshots/{id}) Body shape: see OpenAPI components.schemas.AppEventScreenshotUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppEventScreenshotUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral-disclosure burden. It only reveals that this is a PATCH operation and points to an external schema; it does not explain permissions, partial-update semantics, side effects, what happens to omitted fields, or the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the endpoint is duplicated in parentheses, which is wasted text. It is front-loaded with the endpoint, but the repetition and external schema pointer make it less efficient than it could be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested body object, no annotations, and no output schema, the description is incomplete. It delegates the actual body shape to an external OpenAPI schema that is not included and does not describe behavior or return values, leaving an agent with insufficient context to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters. The description adds no parameter meaning beyond repeating that the body shape is defined by an external OpenAPI schema reference, which is the baseline expected when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies an HTTP PATCH endpoint for an app event screenshot, so one can infer that it updates a screenshot. However, it reads as raw routing information rather than a clear tool purpose, and it does not differentiate the action from sibling tools such as create, delete, or get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update tool versus alternatives, no prerequisites, and no mention of when not to use it. The description provides no usage context beyond the endpoint itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_events_delete_instanceD
DELETE /v1/appEvents/{id} (DELETE /v1/appEvents/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it discloses nothing — not whether deletion is permanent or reversible, whether it cascades to related localizations/screenshots, what permissions are required, or what the response contains. For a destructive mutation endpoint this is a critical gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity reflects under-specification rather than efficiency: the same string is repeated twice in parentheses, which is pure redundancy with zero informational payoff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description should at minimum warn of irreversibility or describe side effects. It provides none of this, leaving an agent unable to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single required 'id' parameter fully documented in the schema, so the baseline is 3. The description adds nothing beyond the path template's implicit {id}, but the schema itself does the necessary work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the operation in raw HTTP form (DELETE /v1/appEvents/{id}), duplicated verbatim inside parentheses. It technically identifies the verb and resource, but adds no semantic meaning beyond what the tool name 'app_events_delete_instance' already communicates, and offers nothing to distinguish it from siblings like app_events_update_instance or app_events_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as updating or retrieving an app event. Nothing tells the agent under what circumstances deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_events_get_instanceD
GET /v1/appEvents/{id} (GET /v1/appEvents/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appEvents | No | the fields to include for returned resources of type appEvents | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_appEventLocalizations | No | the fields to include for returned resources of type appEventLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no error behavior, no note about what the include/fields expansion changes. A bare endpoint path adds zero behavioral context for a tool that mutates nothing but still requires scoping knowledge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but that brevity is under-specification rather than conciseness, and the parenthetical repetition of the exact same string is pure waste. No front-loaded semantic content for an agent to latch onto.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no output schema, a bare endpoint path is completely inadequate. There is no indication of what is returned, how relationships are expanded, or any prerequisite, so the definition is not self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters (id, include, fields_appEvents, limit_localizations, fields_appEventLocalizations). The description adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP path ("GET /v1/appEvents/{id}") duplicated in parentheses. It technically conveys a read on a single app event, but it merely restates the tool name in URL form rather than stating a purpose in prose, so it sits at the tautology threshold.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage context whatsoever: no when-to-use, no when-not-to-use, and no reference to the sibling list/relationship tools (e.g. apps_app_events_get_to_many_relationship) that an agent must choose between. Nothing is misleading, but nothing guides selection either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_events_localizations_get_to_many_relationshipC
GET /v1/appEvents/{id}/relationships/localizations (GET /v1/appEvents/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about pagination behavior, the shape of returned relationship linkage data, or that this only returns identifiers rather than full resources. The 'GET' verb implies read-only, but that is the only inferable trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is short but not concise in a useful sense: the route is duplicated verbatim inside parentheses, which is pure redundancy. Nothing is front-loaded because there is no informational content to order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain the relationship semantics (that it returns localization identifiers linked to an appEvent) and any pagination contract. It provides none of this, leaving the agent without enough context to call it confidently beyond the route itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are already documented in the schema. The description adds no parameter semantics at all, but the baseline of 3 applies when the schema fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a literal restatement of the tool name as a URL path: 'GET /v1/appEvents/{id}/relationships/localizations'. It conveys no verb beyond the HTTP method and no scope beyond what the name already encodes, so it functions as a tautology rather than an explanation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. needing an appEvent id from an existing app event), and no differentiation from the many sibling relationship endpoints such as app_events_localizations_get_to_many_related. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_events_update_instanceC
PATCH /v1/appEvents/{id} (PATCH /v1/appEvents/{id}) Body shape: see OpenAPI components.schemas.AppEventUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppEventUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and largely fails it. It does convey that this is a PATCH (a partial mutation) on an existing resource, but says nothing about required permissions, whether the update is partial or full-replace, side effects, or reversibility. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes space: the path is written twice, once bare and once in parentheses, which is pure duplication. It is also not front-loaded with any human-readable purpose, leading instead with a raw HTTP route. Brevity here reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested body object, no annotations, and no output schema, yet the description defers all substance to an external OpenAPI component that the agent may not have access to. Nothing about required permissions, the shape of the update envelope, or expected response is conveyed, leaving the definition inadequate for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and body, and the baseline is 3. The description's only parameter content is a pointer to 'components.schemas.AppEventUpdateRequest', which is the same external reference the schema's body description already gives, so it adds no new meaning about the JSON:API envelope's fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives an HTTP verb and resource path (PATCH /v1/appEvents/{id}), so an agent can infer this updates an existing app event. However it never states in human terms what an 'app event' update does or which fields it can change, and it does not distinguish itself from siblings such as app_events_create_instance or app_event_localizations_update_instance beyond the verb. Vague-but-inferable purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. There is no statement of prerequisites, no mention of when to prefer this over app_events_create_instance or app_events_delete_instance, and no indication of what conditions must hold for an update to succeed. The agent must infer everything 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.
app_event_video_clips_create_instanceD
POST /v1/appEventVideoClips (POST /v1/appEventVideoClips) Body shape: see OpenAPI components.schemas.AppEventVideoClipCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppEventVideoClipCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no indication that this is a write/mutation, no auth or permission requirements, no mention of side effects on the parent app event, no rate limits. It merely points at an external schema reference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is duplicated verbatim ('POST /v1/appEventVideoClips (POST /v1/appEventVideoClips)'), which is pure noise. The one substantive sentence is an unhelpful pointer to an external schema rather than usable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested, unstructured body object, no annotations, and no output schema, the description should explain the JSON:API envelope, required fields, and relationships to the app event. Instead it defers entirely to an OpenAPI component an agent cannot resolve, leaving the definition incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter and schema description coverage is 100% — the schema already says the body shape is components.schemas.AppEventVideoClipCreateRequest. The description repeats that same reference verbatim, adding no meaning beyond the schema. Per the high-coverage baseline, 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ('POST /v1/appEventVideoClips') rather than stating in plain language what the tool does. An agent must infer from the name that it creates an App Event video clip; no verb+resource purpose is actually articulated, and it is not distinguished from siblings like app_event_video_clips_update_instance or app_event_screenshots_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or which alternative to pick (e.g. update_instance, get_instance, delete_instance). The description contains no usage context whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_video_clips_delete_instanceD
DELETE /v1/appEventVideoClips/{id} (DELETE /v1/appEventVideoClips/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden — and it discloses nothing. For a DELETE operation the agent needs to know whether the deletion is permanent or reversible, whether it requires specific auth/roles, and what happens to dependent app event localizations; none of that appears.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness, and the parenthetical immediately duplicates the same string with zero added information. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations, no output schema, and no safety or side-effect detail, the description is completely inadequate. An agent cannot make an informed decision about invoking this tool from what is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds nothing beyond that, so the baseline of 3 for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the endpoint signature restated: 'DELETE /v1/appEventVideoClips/{id}' duplicated in parentheses. It names a verb and resource, but that information is already fully carried by the tool name, and it never explains what an app event video clip is or what deleting one means. This is tautological rather than clarifying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, or which sibling to prefer for adjacent operations. The huge sibling list includes app_event_video_clips_get_instance, app_event_video_clips_update_instance, and app_event_video_clips_create_instance, and nothing distinguishes this delete from them or states any prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_video_clips_get_instanceD
GET /v1/appEventVideoClips/{id} (GET /v1/appEventVideoClips/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appEventVideoClips | No | the fields to include for returned resources of type appEventVideoClips | |
| fields_appEventLocalizations | No | the fields to include for returned resources of type appEventLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it delivers almost nothing. The only behavioral signal is the implicit read-only nature of the 'GET' verb; nothing is said about auth scope, whether the clip must exist, or what happens on a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the length is achieved by omitting meaning rather than by being economical. The route string is duplicated verbatim inside the parentheses, which is pure waste with zero informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, an agent needs to know what an app event video clip is, what the include/fields options affect, and what the response looks like. The description supplies none of this, leaving the agent to infer everything from the schema and route alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents the id, include, and fields_* parameters adequately; the description adds no additional meaning. Baseline 3 applies when the schema does the heavy lifting and the description neither helps nor harms.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP route 'GET /v1/appEventVideoClips/{id}' repeated twice. It does imply a verb (read) and a resource (app event video clips) but is a restatement of the endpoint rather than an explanation of what the tool retrieves, and it does nothing to distinguish it from the many sibling *_get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus alternatives (e.g. app_event_video_clips_update_instance, app_event_video_clips_delete_instance, or the app_event_localizations_app_event_video_clips_get_to_many_related sibling that also returns video clips). No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_event_video_clips_update_instanceC
PATCH /v1/appEventVideoClips/{id} (PATCH /v1/appEventVideoClips/{id}) Body shape: see OpenAPI components.schemas.AppEventVideoClipUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppEventVideoClipUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys only that this is a PATCH with a request body; it says nothing about authentication/scopes, whether the update is partial or full replacement, side effects, or rate limits. Pointing at an external OpenAPI component is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the route, which is good. But the parenthetical '(PATCH /v1/appEventVideoClips/{id})' is a verbatim repeat of the preceding text, pure waste, and the remaining sentence is a pointer rather than substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested request body, no annotations, and no output schema. The description should explain what the update accepts and effects, but instead defers everything to an OpenAPI component that is not included, leaving the agent without enough information to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, body) are already documented in the schema, and this triggers the baseline of 3. The description's body note duplicates the schema's own 'Shape: components.schemas.AppEventVideoClipUpdateRequest' text rather than adding syntax, required fields, or format detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states an HTTP verb (PATCH) and a resource path (/v1/appEventVideoClips/{id}), so an agent can infer it updates an app event video clip. However, it never says in prose what the operation does, and the parenthetical merely repeats the same route, so it reads as raw route metadata rather than a stated purpose. It does not distinguish itself from sibling tools like app_event_video_clips_get_instance or app_event_video_clips_delete_instance beyond the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use guidance, and no mention of alternatives such as app_event_video_clips_create_instance or app_event_video_clips_get_instance. The agent must infer usage entirely from the tool name and HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_info_localizations_create_instanceC
POST /v1/appInfoLocalizations (POST /v1/appInfoLocalizations) Body shape: see OpenAPI components.schemas.AppInfoLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppInfoLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The only signal is the HTTP verb 'POST', which weakly implies a write, but nothing is said about authentication requirements, required parent relationships, side effects, or idempotency. For a mutation tool with zero annotation coverage this is a large gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only content: the route is duplicated verbatim inside parentheses ('POST /v1/appInfoLocalizations (POST /v1/appInfoLocalizations)'). Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation endpoint with a nested JSON:API body, no annotations, and no output schema, the description supplies almost nothing an agent needs: no parent resource, no required fields, no response behavior. Pointing at an external OpenAPI component is only marginally helpful when the schema itself is opaque (additionalProperties: {}).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'body' parameter, so the schema already documents it. The description adds only a pointer to 'components.schemas.AppInfoLocalizationCreateRequest', which names where the shape lives rather than explaining any field semantics. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP route: 'POST /v1/appInfoLocalizations'. 'Create instance' plus a POST path is a tautology rather than a statement of what resource is created or what it contains. It does not distinguish this tool from the many other *_create_instance siblings in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist (e.g. an existing appInfo), or which sibling to use instead. An agent must infer everything 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.
app_info_localizations_delete_instanceD
DELETE /v1/appInfoLocalizations/{id} (DELETE /v1/appInfoLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it discloses nothing. A DELETE operation is destructive and irreversible, yet there is no mention of permission requirements, cascading effects, confirmation semantics, or whether the deletion can be undone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only content by duplicating the same path string twice in parentheses, and it is not front-loaded with anything an agent can act on. This is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete tool with no annotations, no output schema, and no explanatory text, the definition is completely inadequate. An agent cannot determine what gets deleted, what happens on success, or what errors to expect from this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource', so the schema already does the work. The description adds no format, type, or sourcing detail for the id, which is the baseline-3 outcome when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP verb and path: 'DELETE /v1/appInfoLocalizations/{id}'. It conveys a delete operation on a localizations resource, but adds no plain-language purpose and does not distinguish this endpoint from sibling tools such as app_info_localizations_update_instance or app_info_localizations_get_instance beyond the verb embedded in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever about when to use this tool, what prerequisites exist, or what alternatives handle related operations. The agent gets no context for choosing a delete over an update or for knowing what state the resource must be in.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_info_localizations_get_instanceC
GET /v1/appInfoLocalizations/{id} (GET /v1/appInfoLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appInfos | No | the fields to include for returned resources of type appInfos | |
| fields_appInfoLocalizations | No | the fields to include for returned resources of type appInfoLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it only implicitly signals a read via the HTTP GET verb. It says nothing about authentication/permission requirements, 404 behavior for a bad id, or how the include/fields parameters alter the payload. This is minimal disclosure for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string is duplicated verbatim inside parentheses, which is pure redundancy rather than concision. There is no wasted prose, but also no front-loaded explanation of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-by-id tool with no annotations and no output schema, the description should at least identify what an appInfoLocalization represents (localized app name, subtitle, privacy policy URLs) or what the response looks like. Nothing beyond the route is given, leaving the agent to guess at the returned resource.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, fields_appInfos, fields_appInfoLocalizations) are already documented in the schema with enums. The description adds no syntax or usage nuance, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path repeated twice, with no natural-language statement of what is retrieved. An agent can infer 'fetch one appInfoLocalization by id' from the URL and the tool name, but the description adds nothing beyond restating the name. It does not clarify how this differs from app_infos_app_info_localizations_get_to_many_related or app_info_localizations_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, no prerequisites, and no mention of the sibling alternatives (the to-many relationship, create, update, or delete variants). The agent is left to 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.
app_info_localizations_update_instanceC
PATCH /v1/appInfoLocalizations/{id} (PATCH /v1/appInfoLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppInfoLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppInfoLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not whether PATCH merges or replaces fields, what happens to unspecified attributes, what permissions are required, or what is returned. It states only the route.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wastes its one line by duplicating the same endpoint twice in parentheses ('(PATCH /v1/appInfoLocalizations/{id})'), and it is not front-loaded with a purpose statement — the verb+resource are all an agent gets.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a free-form required body object, no annotations, and no output schema, the description should at minimum characterize the updatable fields or the JSON:API envelope. Instead it defers entirely to an external OpenAPI reference the agent may not have access to, leaving the definition incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are described), so the baseline of 3 applies. However, the description's body note merely repeats the schema's own pointer to components.schemas.AppInfoLocalizationUpdateRequest, adding no semantics beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('PATCH /v1/appInfoLocalizations/{id}'), which is close to a tautology of the tool name. It never says what an App Info localization actually is or what the update affects, and it does nothing to distinguish this from app_info_localizations_create_instance, _get_instance, or _delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternatives among the many localization siblings. The only implicit signal is that PATCH implies modifying an existing resource, which an agent must infer rather than being told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_age_rating_declaration_get_to_one_relationshipC
GET /v1/appInfos/{id}/relationships/ageRatingDeclaration (GET /v1/appInfos/{id}/relationships/ageRatingDeclaration)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the call is read-only, what the linkage response looks like, whether the relationship can be empty/null, or any auth requirements. The only signal is the literal 'GET' in the path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and the endpoint is front-loaded, but the entire string is duplicated inside parentheses, which is pure waste. Efficient in length, but not efficient in information per character.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a bare relationship fetch with no annotations and no output schema, the description should at least indicate what the relationship resolves to and that it returns a resource identifier linkage. None of that context is present, so an agent must infer everything from the path alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage ('the id of the requested resource'), the schema fully documents the input, so the baseline of 3 applies. The description adds no extra meaning such as the type or source of the id, but it is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path 'GET /v1/appInfos/{id}/relationships/ageRatingDeclaration' repeated verbatim in parentheses. It technically encodes a verb and a resource, but it is effectively a restatement of the tool name with no human-readable explanation of what the age rating declaration relationship is or what retrieving it yields, and it does nothing to distinguish itself from the sibling app_infos_age_rating_declaration_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this tool versus the many sibling relationship/related variants. Nothing states the prerequisite (a valid appInfo id) or the distinction between the 'relationship' and 'related' endpoints that appear side by side in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_app_info_localizations_get_to_many_relationshipD
GET /v1/appInfos/{id}/relationships/appInfoLocalizations (GET /v1/appInfos/{id}/relationships/appInfoLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only, paginated, link-returning operation, not whether it requires auth, and not the response shape (linkage objects, not full resources). The path alone conveys none of this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a duplicate of the same path string in parentheses, which is pure waste rather than useful compression. There is no front-loaded explanation of intent, only a raw route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the agent's only source of behavioral information, and it supplies none. For a paginated relationship-fetch endpoint in a large tool surface with many near-identical siblings, this leaves the agent without enough to invoke it correctly or confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'id' documented as the requested resource id and 'limit' as maximum resources per page, so the structured field already does the work. The description adds no meaning beyond that, which is the baseline-3 case for fully covered two-parameter schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw endpoint path, printed twice in parentheses. It restates the tool name rather than stating in natural language what the operation retrieves, so an agent must parse the URL to infer that this returns the appInfoLocalizations relationship for an appInfo. It also gives no basis for choosing between this tool and the sibling app_infos_app_info_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, what the 'relationship' variant means versus the near-identical 'related' sibling, or what prerequisites (an existing appInfo id) are needed. The agent is left to guess from the naming convention alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_get_instanceD
GET /v1/appInfos/{id} (GET /v1/appInfos/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_appInfos | No | the fields to include for returned resources of type appInfos | |
| fields_appCategories | No | the fields to include for returned resources of type appCategories | |
| limit_appInfoLocalizations | No | maximum number of related appInfoLocalizations returned (when they are included) | |
| fields_appInfoLocalizations | No | the fields to include for returned resources of type appInfoLocalizations | |
| fields_ageRatingDeclarations | No | the fields to include for returned resources of type ageRatingDeclarations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no safety profile, no read-only indication, no rate limits, and no note on what the endpoint returns. The parenthetical path duplication adds no behavioral context at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the length is wasted: the path is repeated verbatim inside parentheses, which is pure redundancy rather than useful concision. Nothing meaningful is front-loaded for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-instance tool with 8 parameters and no output schema, the description should at least identify the resource and its role. It says nothing about what an appInfo represents or what fields/relationships are returned, leaving a substantial gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all 8 parameters (id, include, fields_*, limits) documented in the schema, so the baseline is 3. The description contributes no additional parameter meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is 'GET /v1/appInfos/{id} (GET /v1/appInfos/{id})', which merely restates the tool name and HTTP path in tautological form. It never explains what an 'appInfo' resource actually is or what the agent gets back, and it does not distinguish this tool from the numerous sibling app_infos_* relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With siblings like app_infos_update_instance, app_infos_app_info_localizations_get_to_many_relationship, and apps_app_infos_get_to_many_related, an agent gets no signal about selection conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_primary_category_get_to_one_relationshipC
GET /v1/appInfos/{id}/relationships/primaryCategory (GET /v1/appInfos/{id}/relationships/primaryCategory)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no mention that this returns relationship linkage (data.id/type) rather than the full category resource, no auth or scope requirements, no rate limits, no error behavior. The only hint is the word 'relationships' embedded in the raw path, which is also present in the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is pure duplication: the same path is printed twice, once bare and once in parentheses. Zero information is added across two renderings of the identical string, so length here reflects redundancy rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a single input parameter, the description is the only place behavioral context could live, and it supplies none. An agent cannot tell from this text what the call returns or how it differs from the '_related' variant, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single required 'id' parameter, so the schema already documents its meaning. The description adds nothing beyond the path template, but with full schema coverage the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as an HTTP path: 'GET /v1/appInfos/{id}/relationships/primaryCategory'. It conveys the verb (GET) and the resource path, but adds no semantic explanation of what a 'primary category relationship' actually is, and it does nothing to distinguish this tool from the near-identical sibling app_infos_primary_category_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or which of the many sibling category/relationship tools is the correct alternative. The description is only a URL, so selection must be inferred 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.
app_infos_primary_subcategory_one_get_to_one_relationshipD
GET /v1/appInfos/{id}/relationships/primarySubcategoryOne (GET /v1/appInfos/{id}/relationships/primarySubcategoryOne)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the URL. It does not explain that this returns relationship linkage (id/type) rather than the full related resource, which is the key behavioral distinction from the sibling *_related tool, nor does it mention auth or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the content is a redundant duplication of the same endpoint string twice in parentheses. It is under-specified rather than concise, and there is no front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and no parameter guidance in the description, the definition is inadequate. An agent cannot determine the return shape or why this relationship endpoint differs from its *_related twin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) with 100% schema description coverage, so the schema already documents it. The description adds no meaning beyond the schema, but per the baseline rule for high coverage this lands at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path repeated twice in parentheses, restating the tool name rather than explaining what it does. It implies a GET of the appInfos resource's primarySubcategoryOne relationship, but there is no natural-language statement of purpose, and the distinction from siblings like app_infos_primary_subcategory_one_get_to_one_related is left entirely to the reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling relationship tools, no mention of prerequisites, and no exclusions. The parenthetical repeat of the path adds nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_primary_subcategory_two_get_to_one_relationshipD
GET /v1/appInfos/{id}/relationships/primarySubcategoryTwo (GET /v1/appInfos/{id}/relationships/primarySubcategoryTwo)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the literal path. The GET verb weakly implies a read-only, side-effect-free operation, but there is no statement of permissions, what the response looks like, or what happens when the relationship is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire length on a redundant duplication of the same path string in parentheses, adding zero information. Brevity here reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no explanation of the relationship resource or its payload, the definition is insufficient for an agent to know what it will get back or how to use the result. It is a bare path echo rather than a usable tool definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter (id) and the schema describes it at 100% coverage as "the id of the requested resource," so the baseline of 3 applies. The description adds no additional meaning about what kind of id is expected or how it relates to appInfos.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely echoes the HTTP verb and URL path "GET /v1/appInfos/{id}/relationships/primarySubcategoryTwo" and then repeats it verbatim in parentheses. It names a verb and a resource, but conveys no meaning about what a 'primary subcategory two' relationship is or what data is returned, so an agent can't distinguish it from the many sibling relationship endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, no prerequisites, and no reference to alternatives. Critically, the sibling app_infos_primary_subcategory_two_get_to_one_related exists and the description does nothing to explain why one would choose this endpoint over that one, leaving the agent to guess from the name suffix alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_secondary_category_get_to_one_relationshipC
GET /v1/appInfos/{id}/relationships/secondaryCategory (GET /v1/appInfos/{id}/relationships/secondaryCategory)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. The 'GET' in the path implies a read-only operation, which is the only behavioral signal offered; there is no mention of auth requirements, rate limits, what the relationship object contains, or what happens when the relationship is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasted: the identical path is printed twice, once bare and once in parentheses, with no explanation added. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-one relationship fetch with no annotations and no output schema, the description should explain the relationship semantics and return shape. It delivers only a URL, leaving the agent without enough context to interpret the response or confidently choose this tool over its sibling variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' parameter already documented in the schema as 'the id of the requested resource'. The path template does hint that the id is an appInfo id, but that is marginal value; the schema does the heavy lifting, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw REST path repeated twice in parentheses; it restates the tool name rather than explaining in plain terms what operation is performed or what a 'secondary category relationship' resource represents. An agent can infer it is a GET of a to-one relationship, but nothing distinguishes it from the near-identical sibling app_infos_secondary_category_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the many sibling relationship tools (app_infos_primary_category_get_to_one_relationship, app_infos_secondary_category_get_to_one_related, etc.). The description provides no basis for selecting this tool over its near-duplicates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_secondary_subcategory_one_get_to_one_relationshipD
GET /v1/appInfos/{id}/relationships/secondarySubcategoryOne (GET /v1/appInfos/{id}/relationships/secondarySubcategoryOne)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The only implicit signal is the GET verb suggesting a read, but there is no mention of authentication, permissions, response shape, or relationship-linkage semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is duplicated inside parentheses, so half the text is redundant waste rather than useful front-loaded information. Brevity here reflects under-specification, not effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool embedded in a huge family of near-identically named relationship tools, with no annotations and no output schema, the description should at minimum clarify the relationship target and read semantics. It provides none of that, leaving an agent unable to distinguish it from its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('id') with 100% schema description coverage, so the schema fully documents it and the description adds nothing. Per the baseline rule for high schema coverage, a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is the raw endpoint path 'GET /v1/appInfos/{id}/relationships/secondarySubcategoryOne' repeated verbatim in parentheses, which essentially restates the tool name rather than describing what the tool returns. It does not explain what a 'secondary subcategory one relationship' yields or how it differs from the adjacent app_infos_secondary_subcategory_one_get_to_one_related sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus the many sibling relationship/related tools, no prerequisites, and no conditions. The description is purely an endpoint string, so an agent gets zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_secondary_subcategory_two_get_to_one_relationshipD
GET /v1/appInfos/{id}/relationships/secondarySubcategoryTwo (GET /v1/appInfos/{id}/relationships/secondarySubcategoryTwo)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers nothing: no statement that this is a read-only linkage lookup, no note on auth/permissions, no pagination or error behavior. The bare HTTP verb is the only behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise: the same path string is printed twice, the second time pointlessly wrapped in parentheses. That duplication consumes the entire budget while conveying zero additional information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and no prose, an agent has no idea what this returns (linkage object vs full resource) or why it exists separately from the *_related sibling. For a relationship-fetch endpoint the description is entirely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'id' parameter ('the id of the requested resource'), so the schema already documents everything needed. The description adds no meaning beyond it, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the endpoint path and then repeats it verbatim inside parentheses; it never says what the resource is or what a 'secondarySubcategoryTwo relationship' actually returns. It cannot be distinguished from the many near-identical siblings (secondary_category, secondary_subcategory_one, primary_subcategory_two, and every *_get_to_one_related variant) without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Critically, it gives no hint about when to call this *_relationship endpoint versus the sibling app_infos_secondary_subcategory_two_get_to_one_related, which is the single most likely selection error an agent would make here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_territory_age_ratings_get_to_many_relationshipD
GET /v1/appInfos/{id}/relationships/territoryAgeRatings (GET /v1/appInfos/{id}/relationships/territoryAgeRatings)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination semantics despite a 'limit' parameter, no auth requirements, no indication of what a 'relationship' response contains versus a 'related' one, and no note that this is a read-only operation other than the bare GET verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire parenthetical duplicates the preceding string character-for-character, which is pure redundancy rather than concision. Nothing is front-loaded because there is no prose to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no output schema and no annotations, the description leaves everything an agent needs unstated: the relationship/related distinction from its sibling, pagination behavior, and the shape of the returned linkage data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both 'id' and 'limit' documented in the schema, so the baseline is 3 even though the description adds no parameter meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint string 'GET /v1/appInfos/{id}/relationships/territoryAgeRatings' repeated verbatim in parentheses, which effectively restates the tool name rather than explaining the purpose in plain language. It conveys the HTTP verb and resource path, but gives no statement of what the agent actually gets back or why it matters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of when not to use it. Critically, the sibling 'app_infos_territory_age_ratings_get_to_many_related' is a near-identical endpoint the agent must be able to tell apart, and the description offers nothing to disambiguate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_infos_update_instanceD
PATCH /v1/appInfos/{id} (PATCH /v1/appInfos/{id}) Body shape: see OpenAPI components.schemas.AppInfoUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppInfoUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not whether the update is partial or full, what happens to omitted fields, permission requirements, idempotency, or side effects. Pointing at an OpenAPI schema reference does not constitute behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but wasteful: the path 'PATCH /v1/appInfos/{id}' is duplicated verbatim in parentheses, and the remaining clause defers entirely to an external schema rather than conveying information. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested-object body, zero annotations, and no output schema, the description is grossly inadequate — an agent gets no idea what it can update, what the JSON:API envelope requires, or what the result looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and the JSON:API 'body'. The description only echoes the schema's own pointer to components.schemas.AppInfoUpdateRequest, adding no syntax, field list, or format detail beyond it. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'PATCH /v1/appInfos/{id}' conveys only the HTTP verb and route, which restates the tool name rather than explaining what the update accomplishes or which AppInfo fields can be changed. It gives no differentiation from the many sibling update_instance tools (apps_update_instance, app_infos_get_instance, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites (e.g., which id, what state the AppInfo must be in), and no exclusions. Nothing routes the agent among the dozens of app_infos_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_previews_create_instanceC
POST /v1/appPreviews (POST /v1/appPreviews) Body shape: see OpenAPI components.schemas.AppPreviewCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppPreviewCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. 'POST' implies a mutation, but there is no mention of auth requirements, whether a preview set relationship is mandatory, what gets created, or irreversibility — all critical for a write operation on a nested JSON:API body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the endpoint is stated twice redundantly ('POST /v1/appPreviews (POST /v1/appPreviews)'), and brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a free-form nested body object, the description should explain the JSON:API envelope requirements and required relationships. Instead it only defers to an external OpenAPI schema an agent may not have access to, leaving the definition materially incomplete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter whose schema already points to components.schemas.AppPreviewCreateRequest, so the schema does the heavy lifting. The description's pointer to the same OpenAPI schema adds no meaning beyond what the parameter definition already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ('POST /v1/appPreviews') — essentially a tautology of the tool name rather than a statement of what an app preview is or what creating one accomplishes. It gives no domain-level distinction from siblings such as app_preview_sets_create_instance or app_previews_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or how it differs from the many sibling create_instance tools in the App Store Connect surface. Nothing routes the agent between this and app_preview_sets_create_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_previews_delete_instanceC
DELETE /v1/appPreviews/{id} (DELETE /v1/appPreviews/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a destructive mutation via 'DELETE' but says nothing about irreversibility, required permissions/scopes, cascading effects on the parent preview set, or what (if anything) is returned. For a delete endpoint with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is duplicated verbatim in parentheses — pure waste — and it is under-specified rather than concise. The verb is front-loaded, which is the only structural merit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive endpoint with no annotations and no output schema, the description should at minimum state the target resource and the destructive consequence. It provides only a route string, leaving an agent without the context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it. The '{id}' path placeholder in the description adds nothing beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: 'DELETE /v1/appPreviews/{id}'. It does convey a verb (DELETE) and a resource (appPreviews), but it adds no scope, no resource description, and nothing to distinguish it from app_previews_get_instance, app_previews_update_instance, or app_previews_create_instance. That is tautology rather than clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling create/get/update app preview tools, nor any prerequisites, nor any warning about consequences. The agent is left to infer everything 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.
app_preview_sets_app_previews_get_to_many_relationshipD
GET /v1/appPreviewSets/{id}/relationships/appPreviews (GET /v1/appPreviewSets/{id}/relationships/appPreviews)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no pagination behavior (despite a limit param), no indication whether it returns resource identifiers or full related objects, and no auth requirements. A bare path is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, but the entire second half is a redundant parenthetical repetition of the first half, so the sentence does not fully earn its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that is only an endpoint path, an agent cannot tell what the call returns (identifiers vs. app preview resources), how pagination behaves, or how it differs from the 'related' sibling. Inadequate for a relationship endpoint in a large API surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema, but the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint path, 'GET /v1/appPreviewSets/{id}/relationships/appPreviews', duplicated inside parentheses. It does name a resource and method, but adds nothing an agent could not already infer from the tool name, and it does not distinguish this relationship endpoint from the sibling 'app_preview_sets_app_previews_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling relationship/related endpoints, no prerequisites, and no exclusions. The agent is left to 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.
app_preview_sets_app_previews_replace_to_many_relationshipC
PATCH /v1/appPreviewSets/{id}/relationships/appPreviews (PATCH /v1/appPreviewSets/{id}/relationships/appPreviews) Body shape: see OpenAPI components.schemas.AppPreviewSetAppPreviewsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppPreviewSetAppPreviewsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only discloses the HTTP verb. It does not state that PATCH on a to-many relationship replaces the entire linkage list (potentially removing existing previews), nor whether auth, required scopes, or irreversibility apply. The bare endpoint reference is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short, but the PATCH path is duplicated verbatim in parentheses, which is pure waste. The remaining sentence is a useful pointer to the JSON:API envelope, but the entry is not front-loaded with any statement of what the tool accomplishes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive-ish relationship mutation with no annotations, no output schema, and a nested body object needs the description to explain replacement semantics and consequences. Pointing at an OpenAPI schema name does not give the agent enough to invoke it correctly, especially distinguishing it from the get/create/delete relationship siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id and body) are already documented, including the body shape reference to components.schemas.AppPreviewSetAppPreviewsLinkagesRequest. The description merely repeats that same schema pointer, adding no new syntax or example detail. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP method and path (PATCH /v1/appPreviewSets/{id}/relationships/appPreviews), which with the name implies replacing the set of app previews linked to an app preview set. However, it never states the domain-level purpose in words, and it does not explain what 'replace to-many relationship' means (full substitution vs. merge) or how it differs from create/delete/get relationship siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this replace operation versus the sibling create_to_many, delete_to_many, or get_to_many relationship tools. The only signal is the tool name itself, so the agent must infer the condition for use entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_preview_sets_create_instanceC
POST /v1/appPreviewSets (POST /v1/appPreviewSets) Body shape: see OpenAPI components.schemas.AppPreviewSetCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppPreviewSetCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. All it discloses is the HTTP method, which merely implies a mutation; it says nothing about required permissions, whether creation is idempotent, side effects, or error behavior for a write endpoint with an opaque nested body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical repeats the identical path verbatim with zero added information, and the sentence ends in a reference to external documentation that is already present in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a nested, opaque request body, no output schema and no annotations, the description omits nearly everything an agent needs: the shape/required fields of AppPreviewSetCreateRequest, what resource relationships must be supplied, and what a successful response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the only parameter is a free-form body whose schema entry already points to components.schemas.AppPreviewSetCreateRequest. The description repeats that same pointer and adds no field-level meaning, so it neither compensates for nor improves on the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP call: 'POST /v1/appPreviewSets'. It conveys 'create an app preview set' but says nothing about what a preview set is, what it belongs to, or how it differs from siblings like app_previews_create_instance or app_screenshot_sets_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many neighboring create_instance tools, nor any prerequisite or context (e.g. that a preview set must be attached to a localization or version). Usage has to be inferred 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.
app_preview_sets_delete_instanceC
DELETE /v1/appPreviewSets/{id} (DELETE /v1/appPreviewSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does not disclose any behavioral traits. 'DELETE' implies an irreversible mutation, but there is no statement about required permissions, cascading effects on child app previews, or whether the deletion is reversible or recoverable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is duplicated verbatim in the parentheses, which is pure redundancy rather than conciseness. Front-loading is fine, but a third of the text earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations, no output schema, and no behavioral disclosure, the description is inadequate. An agent cannot tell whether the deletion is safe, what it requires, or what side effects it has, so it is not complete enough to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter ('id') is fully documented in the schema, so the baseline is 3. The description adds no syntax, format, or meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name: 'DELETE /v1/appPreviewSets/{id}', and the parenthetical duplicates the same path verbatim. It does convey the verb (delete) and resource (app preview set), but it adds nothing an agent couldn't infer from the name and offers no differentiation from the many sibling delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, prerequisites, or alternatives (e.g., app_previews_delete_instance vs. app_preview_sets_delete_instance). The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_preview_sets_get_instanceD
GET /v1/appPreviewSets/{id} (GET /v1/appPreviewSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_appPreviews | No | maximum number of related appPreviews returned (when they are included) | |
| fields_appPreviews | No | the fields to include for returned resources of type appPreviews | |
| fields_appPreviewSets | No | the fields to include for returned resources of type appPreviewSets | |
| fields_appStoreVersionLocalizations | No | the fields to include for returned resources of type appStoreVersionLocalizations | |
| fields_appCustomProductPageLocalizations | No | the fields to include for returned resources of type appCustomProductPageLocalizations | |
| fields_appStoreVersionExperimentTreatmentLocalizations | No | the fields to include for returned resources of type appStoreVersionExperimentTreatmentLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no authentication or scope requirements, no note that this is a safe read, no pagination/limit behavior, no indication of what happens when the id does not exist. The single token 'GET' is already implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short by omission rather than by efficiency. The parenthetical re-states the identical route string, which is pure redundancy, and no sentence in the description earns its place by adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter sparse-fieldset endpoint with no output schema and no annotations, the description provides none of the context an agent needs: it does not explain that include/fields_* control response shape, nor what resource is returned. This is inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 8 documented parameters (id, include, limit_appPreviews, and five fields_* sparse-fieldset selectors), so the baseline is 3. The description adds no additional meaning about how to combine include with fields_* or what the enum values yield, but the schema itself does the documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the route and duplicates itself verbatim in parentheses: 'GET /v1/appPreviewSets/{id} (GET /v1/appPreviewSets/{id})'. It only conveys the HTTP verb and resource path, which the tool name already encodes, so it is effectively a tautology rather than an explanation of what the tool returns or why an agent would call it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of the many sibling tools that retrieve the same or related preview data (e.g. app_preview_sets_app_previews_get_to_many_related, app_previews_get_instance, app_store_version_localizations_app_preview_sets_get_to_many_related). An agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_previews_get_instanceD
GET /v1/appPreviews/{id} (GET /v1/appPreviews/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appPreviews | No | the fields to include for returned resources of type appPreviews | |
| fields_appPreviewSets | No | the fields to include for returned resources of type appPreviewSets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and fails: it discloses nothing about authentication requirements, error behavior, whether the returned resource is scoped to a set, or any side effects. A bare URL string adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness, and the identical route is printed twice in immediate succession, which is pure waste. There is no front-loaded purpose statement for an agent to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter read tool with no annotations, no output schema, and no sibling differentiation, the description should at minimum explain what is returned and how include/fields shape the response. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all four parameters (id, include, fields_appPreviews, fields_appPreviewSets) documented in the schema itself. The description adds nothing about the id format or the sparse-fieldset/include semantics, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP route 'GET /v1/appPreviews/{id}' duplicated in parentheses, which merely restates the tool name and title with no added meaning. It does imply a single-resource retrieval of an app preview, but gives no verb-and-resource framing that distinguishes it from siblings like app_preview_sets_get_instance or app_previews_create_instance beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as app_preview_sets_app_previews_get_to_many_related or app_previews_update_instance. The GET path weakly implies a read-by-id operation, but no context, 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.
app_previews_update_instanceC
PATCH /v1/appPreviews/{id} (PATCH /v1/appPreviews/{id}) Body shape: see OpenAPI components.schemas.AppPreviewUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppPreviewUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects, required permissions, partial-update semantics, or whether unspecified fields are cleared. The only substantive content is a pointer to the OpenAPI components.schemas.AppPreviewUpdateRequest, which is a schema reference, not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its entire budget: the path is printed twice in adjacent parentheses, and the only other sentence defers to an external schema. No sentence adds usable information, so brevity here reflects under-specification rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with nested body objects, no annotations, and no output schema, the description is far too thin. It neither explains what an AppPreview update can change nor describes the JSON:API envelope it defers to, leaving the agent dependent on out-of-band OpenAPI knowledge to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented in the schema), so the baseline is 3. The description's reference to the OpenAPI schema for the body envelope is a useful cross-reference but largely repeats what the body parameter's schema description already states, adding no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ("PATCH /v1/appPreviews/{id}"), which duplicates the tool name rather than describing the action in plain language. An agent can infer 'update an app preview' from the path, but the text adds no verb+resource statement and does nothing to distinguish it from sibling update_instance tools like app_previews_get_instance or app_previews_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance at all. With app_previews_create_instance, app_previews_get_instance, and app_previews_delete_instance among the siblings, the description offers no signal about when an update is the right operation versus reading or deleting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_price_points_v3_equalizations_get_to_many_relationshipD
GET /v3/appPricePoints/{id}/relationships/equalizations (GET /v3/appPricePoints/{id}/relationships/equalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses nothing: not pagination behavior, not response shape (linkage vs. included resources), not auth requirements, not whether 'equalizations' are computed or stored. The path string alone is not disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same path is printed twice, once bare and once in parentheses, which is pure redundancy rather than concision. No front-loaded statement of purpose, so the brief text earns little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what the relationship endpoint returns (a list of equalization resource identifiers plus pagination links). It does none of that, leaving an agent unable to predict the response for this two-parameter relationship fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('id' and 'limit'), so the schema already documents them fully. Per the baseline rule, a 3 is appropriate; the description adds no extra meaning such as id format or limit bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint path ("GET /v3/appPricePoints/{id}/relationships/equalizations") repeated twice, with no prose explaining what 'equalizations' are or what this relation returns. It technically conveys verb+resource, but adds nothing beyond the tool name itself and gives no basis to distinguish it from the near-identical sibling app_price_points_v3_equalizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this tool, prerequisites, or how it differs from the many sibling relationship endpoints. No alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_price_points_v3_get_instanceD
GET /v3/appPricePoints/{id} (GET /v3/appPricePoints/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| fields_appPricePoints | No | the fields to include for returned resources of type appPricePoints |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing — no mention of auth requirements, rate limits, whether include/fields affect payload size, or error behavior for a missing id. A bare URL path is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it wastes its one sentence by repeating the identical endpoint string twice in parentheses. The duplicate conveys no additional information and leaves the definition under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a five-parameter endpoint with relationship-inclusion and sparse-fieldset options, no output schema, and no annotations. The description explains none of the resource, the include mechanics, or the response shape, so it is wholly inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all five parameters (id, include, fields_apps, fields_territories, fields_appPricePoints) are documented directly in the schema with enums and descriptions. The description adds nothing beyond the schema, which is the baseline 3 when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path 'GET /v3/appPricePoints/{id}', duplicated in parentheses. It implies a single-resource fetch of an app price point, but adds no explanation of what an app price point is or how the v3 price point differs from sibling resources like app_price_points_v3_equalizations_get_to_many_related or subscriptions_price_points_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool versus alternatives such as the equalizations relationship tools or apps_app_price_points_get_to_many_relationship. The agent is left to infer everything 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.
app_price_schedules_automatic_prices_get_to_many_relationshipD
GET /v1/appPriceSchedules/{id}/relationships/automaticPrices (GET /v1/appPriceSchedules/{id}/relationships/automaticPrices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not pagination behavior (despite a 'limit' param), not auth requirements, not what the relationship payload contains, not rate limits. A bare endpoint URL tells the agent nothing about behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint string is duplicated verbatim in parentheses, which is pure redundancy rather than concision. No sentence earns its place because the content is a single repeated URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a to-many relationship endpoint, the description should explain what the relationship returns and how pagination works. It supplies none of this, leaving the agent unable to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% ('id' = 'the id of the requested resource', 'limit' = 'maximum resources per page'), so the schema already documents both parameters. The description contributes no additional meaning, which is the baseline 3 case when the schema does that work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the HTTP endpoint restated twice ('GET /v1/appPriceSchedules/{id}/relationships/automaticPrices (GET /v1/appPriceSchedules/{id}/relationships/automaticPrices)'). It conveys a verb and a resource path, but it is a tautological restatement of the tool name rather than a statement of what the tool does or returns. It does not help an agent distinguish this from the many sibling get_to_many_relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Notably, a sibling 'app_price_schedules_automatic_prices_get_to_many_related' exists, and the description gives no basis for choosing between the 'relationship' and 'related' variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_price_schedules_base_territory_get_to_one_relationshipD
GET /v1/appPriceSchedules/{id}/relationships/baseTerritory (GET /v1/appPriceSchedules/{id}/relationships/baseTerritory)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The embedded 'GET' is the only behavioral signal, implying a read-only, non-destructive fetch; there is no mention of permissions, error behavior, or whether the relationship may be null/empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but consists of the same URL stated twice in a row inside parentheses, which is pure redundancy rather than conciseness. Nothing is front-loaded as a purpose statement an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no annotations and no output schema, the description should explain what a base territory is and roughly what is returned. It provides neither, so an agent must reverse-engineer everything from the path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single id parameter already documented at 100% schema coverage ('the id of the requested resource'), and the description adds no meaning about it. The path does clarify that this id is the app price schedule id rather than a territory id, which is marginal added value, but nothing about format or source of that id is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path repeated verbatim in parentheses, which does identify the resource (appPriceSchedules/{id}/relationships/baseTerritory) but reads as a restatement of the tool name rather than a stated purpose. An agent can infer it fetches the base territory for a price schedule, but nothing is explained in plain language and no distinction from the near-identical sibling app_price_schedules_base_territory_get_to_one_related is given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no preconditions, and no mention of any alternative. With siblings like app_price_schedules_get_instance and the duplicate *_get_to_one_related variant in the same family, the description offers no way to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_price_schedules_create_instanceC
POST /v1/appPriceSchedules (POST /v1/appPriceSchedules) Body shape: see OpenAPI components.schemas.AppPriceScheduleCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppPriceScheduleCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about auth requirements, whether an existing schedule is replaced, or what the response looks like. The only substance is a pointer to the OpenAPI schema for the body envelope, which is thin for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the endpoint, but the 'POST /v1/appPriceSchedules' phrase is duplicated verbatim, wasting the limited space and adding no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation mutation with no annotations and no output schema, the description is inadequate. An agent still lacks the required attributes/relationships for the AppPriceScheduleCreateRequest envelope and any behavioral notes, so it cannot reliably invoke the tool from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single body parameter is already documented in the schema. The description's note that the body is a JSON:API envelope conforming to AppPriceScheduleCreateRequest adds marginal meaning, but largely repeats what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (app price schedules) and the operation via the HTTP verb POST, which does distinguish it from siblings like app_price_schedules_get_instance. However, it is a mechanical restatement of the endpoint path rather than a natural-language statement of intent, so the purpose is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Nothing tells the agent the prerequisites for creating a price schedule, whether it belongs to an app or IAP, or what to do if a schedule already exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_price_schedules_get_instanceD
GET /v1/appPriceSchedules/{id} (GET /v1/appPriceSchedules/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_appPrices | No | the fields to include for returned resources of type appPrices | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| limit_manualPrices | No | maximum number of related manualPrices returned (when they are included) | |
| limit_automaticPrices | No | maximum number of related automaticPrices returned (when they are included) | |
| fields_appPriceSchedules | No | the fields to include for returned resources of type appPriceSchedules |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not state that the call is read-only, that it returns a single resource, or how sparse fieldsets/includes affect the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is two words duplicated in parentheses, which is under-specification rather than conciseness. It is short but wastes the entire budget repeating the same path twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and eight parameters, the description should explain the resource fetched and include behavior. Instead it gives only a URL path, leaving the agent with no usable context beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters (id, include, fields_*, limit_*) are already documented in the schema. The description adds no semantic meaning beyond the schema, which merits the baseline 3 under the rubric.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare endpoint path, 'GET /v1/appPriceSchedules/{id}', repeated verbatim in parentheses. It restates the tool name rather than describing in natural language what the operation returns or why an agent would call it, which is the definition of taperantology-level clarity. An agent can infer 'fetch one price schedule by id' only by decoding the URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as app_price_schedules_manual_prices_get_to_many_related or app_price_schedules_create_instance. Nothing indicates prerequisites, authentication needs, or the distinction from relationship endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_price_schedules_manual_prices_get_to_many_relationshipC
GET /v1/appPriceSchedules/{id}/relationships/manualPrices (GET /v1/appPriceSchedules/{id}/relationships/manualPrices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The 'GET' verb weakly implies a read-only, paginated collection fetch, but there is no mention of pagination behavior, the relationship-vs-resource distinction, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but the brevity comes from duplication rather than economy: the identical path is written twice in parentheses. There is no front-loaded purpose, so the single sentence earns no place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description would need to carry the entire behavioral load for a two-parameter relationship endpoint. It instead supplies only the endpoint path, leaving an agent unable to tell what the call returns or how it differs from its many near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented inline), so the baseline is 3. The description adds no meaning beyond the schema, but it is not required to compensate for any coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw HTTP path duplicated twice: 'GET /v1/appPriceSchedules/{id}/relationships/manualPrices (GET /v1/appPriceSchedules/{id}/relationships/manualPrices)'. It restates the tool name rather than explaining what a manual price relationship is or what the agent will receive, so it lands at the tautology level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus the sibling app_price_schedules_automatic_prices_get_to_many_relationship or app_price_schedules_get_instance. No prerequisites, no exclusions, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_accessibility_declarations_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/accessibilityDeclarations (GET /v1/apps/{id}/relationships/accessibilityDeclarations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the implied safety of the GET verb. It says nothing about pagination behavior (the limit parameter hints at paging but is not explained), permission requirements, or whether the response is identifiers-only versus full resources — all facts an agent needs for a relationship-fetch endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is short but wastefully so: the same URL string is printed twice with no new information, and there is no front-loaded statement of what the call returns. Brevity without content is under-specification rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that only echoes the path, an agent cannot tell what this endpoint returns or how it differs from its 'related' twin. For a paginated relationship-fetch tool in a namespace full of look-alike siblings, this is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id: 'the id of the requested resource'; limit: 'maximum resources per page'), so the schema already documents both parameters. The description contributes no additional syntax, format, or constraint detail, which makes the baseline 3 appropriate here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name rendered as a URL path and then repeated verbatim in parentheses: 'GET /v1/apps/{id}/relationships/accessibilityDeclarations (GET /v1/apps/{id}/relationships/accessibilityDeclarations)'. It technically names a verb and resource, but adds nothing an agent could not derive from the identifier itself, and it makes no attempt to distinguish this from the near-identical sibling apps_accessibility_declarations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the closely overlapping sibling apps_accessibility_declarations_get_to_many_related, which an agent would have to disambiguate by name alone. Nothing in the text tells the agent under what circumstances this relationship endpoint should be called instead of the related endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_alternative_distribution_key_get_to_one_relationshipC
GET /v1/apps/{id}/relationships/alternativeDistributionKey (GET /v1/apps/{id}/relationships/alternativeDistributionKey)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The 'GET' prefix weakly implies a read-only fetch, but nothing is said about authentication, whether the relationship is nullable, what happens when no key is set, or shaping of the response. For a zero-annotation tool this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is short but not concise in any useful sense: the endpoint path is duplicated verbatim inside parentheses, which is pure waste with zero informational gain, and there is no plain-language lead sentence to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description would need to explain what a 'to-one relationship' response contains, but it does not. Against a very large sibling set of near-identically named relationship tools, a bare path leaves the agent without enough information to call this correctly and confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter ('id') exists and schema description coverage is 100%, with the schema stating it is 'the id of the requested resource'. Per calibration, high schema coverage puts the baseline at 3 even though the description adds no parameter meaning of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path 'GET /v1/apps/{id}/relationships/alternativeDistributionKey', repeated twice in parentheses. It encodes a verb (GET) and a resource (alternativeDistributionKey) but restates the tool name rather than explaining what the tool does in plain language, and it does not distinguish itself from siblings such as apps_alternative_distribution_key_get_to_one_related or alternative_distribution_keys_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, what prerequisite identifiers are needed, or when to use a sibling instead. Notably, the closely related apps_alternative_distribution_key_get_to_one_related tool is never mentioned, so an agent has no basis for choosing between the relationship endpoint and the related-resource endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_analytics_report_requests_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/analyticsReportRequests (GET /v1/apps/{id}/relationships/analyticsReportRequests)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it says nothing about read-only safety, authentication, pagination behavior, or the shape of the relationship response. Duplicating the URL discloses no behavioral traits at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a redundant repetition of the same route inside parentheses, so the second half earns nothing. There is no front-loaded purpose statement, just a raw path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing tool with no annotations and no output schema, the description omits everything an agent needs: what a relationship endpoint returns, pagination via limit, and how this differs from the sibling _related and reports endpoints. Completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two simple parameters (id, limit), so the schema already documents them adequately and the baseline of 3 applies. The description adds no meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the HTTP route restated twice, 'GET /v1/apps/{id}/relationships/analyticsReportRequests (GET /v1/apps/{id}/relationships/analyticsReportRequests)', which largely duplicates the tool name. It conveys only that this reads a to-many relationship for an app, adding no plain-language statement of what an analytics report request is or what the caller gets back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling relationship endpoints (e.g. apps_analytics_report_requests_get_to_many_related, analytics_report_requests_reports_get_to_many_relationship). No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_android_to_ios_app_mapping_details_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/androidToIosAppMappingDetails (GET /v1/apps/{id}/relationships/androidToIosAppMappingDetails)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire burden of behavioral disclosure, and it discloses nothing. It does not state that this is a non-destructive read, that results are paginated (despite the 'limit' parameter), what authorization is needed, or what shape the relationship data takes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is pure redundancy: the identical route string appears twice, once bare and once parenthesized. Nothing an agent can act on is front-loaded because there is no prose content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read endpoint with no annotations and no output schema, the description should at minimum clarify that this fetches Android-to-iOS app mapping relationship records for an app and note pagination behavior. None of that is present, leaving the agent to infer everything from the path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' (the id of the requested resource) and 'limit' (maximum resources per page) are documented in the schema. The description adds no syntax, format, or constraint detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name and HTTP route re-stated in path form ('GET /v1/apps/{id}/relationships/androidToIosAppMappingDetails'), with the same string duplicated inside parentheses. It conveys the verb and resource implicitly but never explains in plain language what the endpoint returns, and it does nothing to distinguish this from the near-identical sibling 'apps_android_to_ios_app_mapping_details_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, what prerequisite state must exist, or how it differs from other relationship-fetching tools on the same resource. Only the most generic inference ('this is a GET so it reads data') is possible.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_availability_v2_get_to_one_relationshipC
GET /v1/apps/{id}/relationships/appAvailabilityV2 (GET /v1/apps/{id}/relationships/appAvailabilityV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The embedded 'GET' implies a safe read, which is the only behavioral signal offered; nothing is said about authentication requirements, caching, error behavior, or the shape/format of the returned relationship data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but degenerates into verbatim duplication of the same route string twice, so half its content is wasted. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description should at least say what resource is returned and how it relates to the parent app. Neither is provided, leaving the agent to infer everything from the URL slug.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 100% schema description coverage, the schema already documents 'id' as the requested resource. The description adds no format, ID-type, or source information beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the HTTP route, which does convey the verb (GET) and the resource (the appAvailabilityV2 relationship of a specific app). It is minimally informative but adds nothing beyond the tool name, and it does not distinguish this from the sibling apps_app_availability_v2_get_to_one_related beyond the 'relationship' vs 'related' wording.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this tool, when not to, or which sibling to prefer. The only content is the URL, which the agent could already derive from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_clips_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/appClips (GET /v1/apps/{id}/relationships/appClips)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not say the call is read-only, whether results are paginated (despite a limit parameter), or what the response contains; the GET prefix is inferable only from the path string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only sentence by printing the same endpoint twice inside parentheses. This is under-specification disguised as conciseness, not efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only a bare path, the definition leaves an agent without the information needed to call the tool confidently or interpret its result. Only the fact that it targets an app's appClips relationship is recoverable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id and limit) are already documented in the schema and the baseline is 3. The description adds no format, default, or usage nuance beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path, repeated verbatim inside parentheses. It conveys the resource (an app's appClips relationship) via the URL, but it is effectively a restatement of the tool name rather than a stated purpose, and it does nothing to distinguish this tool from the many sibling relationship retrievers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool versus alternatives. The sibling set contains near-identical relationship tools (apps_app_clips_get_to_many_related, app_clips_app_clip_advanced_experiences_get_to_many_relationship, etc.), and nothing here helps an agent choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_custom_product_pages_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/appCustomProductPages (GET /v1/apps/{id}/relationships/appCustomProductPages)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior, no auth/permission requirements, no note that this returns linkage identifiers rather than full resources. The only content is the path string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from omission rather than efficiency, and the path is redundantly repeated in parentheses with zero added information. Structure is not front-loaded with any purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no annotations and no output schema, the description should at minimum say what related resources it returns and how pagination works. None of that is present; an agent has only the raw path to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'id' documented as 'the id of the requested resource' and 'limit' as 'maximum resources per page', so the baseline of 3 applies. The description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP path, duplicated verbatim inside parentheses. It conveys the verb (GET) and the resource (appCustomProductPages relationship for an app), but adds no human-readable statement of what the tool does, and does nothing to distinguish it from the many sibling relationship GETs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. No mention of when to call this relationship endpoint versus apps_app_custom_product_pages_get_to_many_related, or versus the app_custom_product_pages_get_instance tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_encryption_declarations_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/appEncryptionDeclarations (GET /v1/apps/{id}/relationships/appEncryptionDeclarations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior for a to-many list, no rate limits, no auth requirements, and no explanation of how relationship objects differ from related resources. Nothing beyond the bare route is communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short by necessity, not by craftsmanship: the parenthetical repeats the identical path verbatim, adding zero information and consuming half the text. There is no front-loaded explanation because there is no explanation at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship endpoint with no annotations and no output schema, the description should at minimum identify what the returned linkages represent and how paging works. It supplies none of this, so an agent cannot know what it will get back or how to page through it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the schema already documents 'id' and 'limit'. The description adds nothing on top of that, but per the high-coverage baseline a 3 is warranted rather than a penalty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route, restating in URL form what the tool name already encodes (GET the appEncryptionDeclarations relationship for an app). It names no resource concept in prose and gives no hint of what a 'relationship' listing returns, leaving it distinguishable from apps_app_encryption_declarations_get_to_many_related only by the agent's prior knowledge of the API convention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool. The near-identical sibling apps_app_encryption_declarations_get_to_many_related is never mentioned, nor is there any exclusion, prerequisite, or context for choosing between the relationship and related variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_events_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/appEvents (GET /v1/apps/{id}/relationships/appEvents)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing: not whether this is read-only, whether pagination beyond the 'limit' param applies, what permissions are needed, or what the response shape is. For a GET relationship endpoint with zero structured behavioral hints, this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short, but wasteful rather than concise: the same endpoint string is duplicated inside parentheses, adding no information. There is no front-loaded statement of what the tool returns or why to use it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship read endpoint with no output schema and no annotations, the description should at minimum explain what the call returns and how the relationship listing behaves (pagination, ordering). Instead it provides only the URL, leaving the agent with nothing about the operation's semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – both 'id' and 'limit' are documented in the schema itself. Per the baseline rule, a fully documented schema earns a 3 even when the description adds no parameter detail, which is the case here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path restated verbatim, twice: 'GET /v1/apps/{id}/relationships/appEvents'. It encodes a verb and resource path, but conveys nothing beyond what the tool name already implies and gives zero differentiation from the many sibling relationship tools (e.g. apps_app_events_get_to_many_related). It is effectively a restatement of the identifier, not an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus alternatives. With ~800 siblings, including the near-identical apps_app_events_get_to_many_related, there is nothing telling the agent which to pick. The description provides no context, no exclusions, no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_infos_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/appInfos (GET /v1/apps/{id}/relationships/appInfos)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about authentication requirements, pagination behavior (despite a limit parameter), what the 'relationship' variant returns, or whether results are cached/eventually consistent. The path string adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but entirely wasted: the path appears twice in immediate parentheses, which is duplication rather than concision. There is no front-loaded statement of purpose to earn the space the text takes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain the return shape (relationship linkage objects vs. full resources) and paging semantics, but it explains neither. It is marginally better than the worst case only because the schema is fully documented and simple.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both id ('the id of the requested resource') and limit ('maximum resources per page') documented in the schema. The description adds nothing beyond that, so the baseline 3 for high-coverage schemas is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path echoed twice, with no plain-language statement of purpose. It restates information already implied by the tool name (apps_app_infos_get_to_many_relationship), so an agent learning nothing new about what the tool returns or how it differs from the sibling apps_app_infos_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the near-identical sibling apps_app_infos_get_to_many_related (relationship vs related). The only signal is the endpoint path, from which an experienced agent could infer this returns linkage identifiers only, but that is inference, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_price_points_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/appPricePoints (GET /v1/apps/{id}/relationships/appPricePoints)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior, pagination, auth, or response shape. It is a bare endpoint string with no behavioral content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is a verbatim duplicate of the path with no front-loaded explanation of what the tool actually does. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-collection endpoint whose schema is fully documented, the description still omits what the relationship returns and how pagination works. Given no output schema and no annotations, it is too thin to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, limit) are fully documented in the schema. The description adds no parameter meaning, which is acceptable at the baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description just echoes the HTTP verb and path, which restates the tool name rather than explaining purpose. It hints at 'app price points relationship' but offers no differentiation from close siblings like apps_app_price_points_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling relationship/related tools. Nothing indicates the context in which this endpoint is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_price_schedule_get_to_one_relationshipC
GET /v1/apps/{id}/relationships/appPriceSchedule (GET /v1/apps/{id}/relationships/appPriceSchedule)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it only implies read-only via the literal 'GET' token. It says nothing about authentication, pagination, error behavior, or what the relationship linkage contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, but the same path is printed twice (once bare, once in parentheses), which is pure redundancy rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description should explain what the appPriceSchedule relationship returns and how it differs from the related-resource variant. Instead it leaves the agent with only a URL and a required id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it fully and the baseline is 3. The description's '{id}' placeholder mirrors the schema without adding format or meaning beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path echoed twice, with no prose explaining what the resource is. It identifies a GET verb and a target path, but 'relationships/appPriceSchedule' is opaque and the sibling apps_app_price_schedule_get_to_one_related is not distinguished from this 'relationship' variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the many sibling tools that fetch app price schedule data (e.g. apps_app_price_schedule_get_to_one_related, app_price_schedules_get_instance). An agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_store_version_experiments_v2_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/appStoreVersionExperimentsV2 (GET /v1/apps/{id}/relationships/appStoreVersionExperimentsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only paginated listing, not pagination limits, not auth/permission requirements, not the shape or emptiness of the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is the problem: two identical copies of the endpoint path consume the entire description with zero informational payload, and nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a description that only echoes the URL, an agent has no idea what a successful call returns or how results are paged. For a two-parameter relationship-collection endpoint in a crowded namespace, this is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('id' as the requested resource id, 'limit' as max resources per page) are documented in the schema itself. The description adds no format, syntax, or semantics beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path 'GET /v1/apps/{id}/relationships/appStoreVersionExperimentsV2' repeated verbatim in parentheses. It never states in plain language that it lists the app store version experiments (v2) associated with an app, so it is effectively a tautological restatement of the tool name rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, and critically no differentiation from near-identical siblings such as app_store_versions_app_store_version_experiments_v2_get_to_many_relationship, app_store_version_experiments_v2_treatments_get_to_many_relationship, or the corresponding ..._get_to_many_related variant. An agent is left to infer selection 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.
apps_app_store_versions_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/appStoreVersions (GET /v1/apps/{id}/relationships/appStoreVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not whether this is a safe read, not pagination behavior despite a limit parameter, not the linkage/relationship shape, and not permissions or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the entire parenthetical is a verbatim duplicate of the preceding path, so the only content present is wasted. Not under-specification alone but redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint in a massive API surface with many near-identical siblings, the description should at minimum explain what a 'relationship' response contains and how it differs from the corresponding 'related' endpoint. With no annotations, no output schema, and only a URL, an agent lacks what it needs to choose and call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id = 'the id of the requested resource', limit = 'maximum resources per page'), so the schema does the heavy lifting and the baseline is 3. The description adds nothing over the schema — the {id} in the path merely echoes the documented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path repeated twice, with the second copy in parentheses adding nothing. An agent can infer 'GET the appStoreVersions relationship for an app', but this is essentially a restatement of the tool name with no natural-language verb+resource statement and no differentiation from the near-identical sibling apps_app_store_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this endpoint versus the 'related' variant, versus app_store_versions_get_collection, or what ids are valid. The description provides no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_app_tags_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/appTags (GET /v1/apps/{id}/relationships/appTags)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and discloses almost nothing. The 'GET' verb implies a read-only fetch, but there is no statement about auth requirements, pagination behavior, or result size limits beyond the limit parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short out of under-specification, not concision, and the duplicated parenthetical endpoint is pure redundancy with zero informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship read with no annotations and no output schema, the description should at least indicate what is returned (a list of app tag relationships). It provides none of that, leaving the agent to infer the response shape and pagination entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and limit are both documented), so the schema already does the explanatory work. The description adds no additional detail about parameter semantics, which meets the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint string 'GET /v1/apps/{id}/relationships/appTags', repeated twice in parentheses. It identifies the resource path but adds no plain-language statement of purpose, and it is effectively a restatement of the tool name rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the near-identical sibling apps_app_tags_get_to_many_related, nor any prerequisite, pagination, or scoping notes. The agent must infer everything from the URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_asset_library_get_to_one_relationshipD
GET /v1/apps/{id}/relationships/assetLibrary (GET /v1/apps/{id}/relationships/assetLibrary)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the call requires auth, what a 'to-one relationship' response contains (linkage only vs. included resource), or error behavior for a missing/unauthorized app. A bare URL is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the path repeated verbatim inside parentheses, which is pure duplication with no informational value. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of context, and it provides none. An agent cannot tell what this returns (a relationship linkage, likely with related-resource linkage URLs) or how it differs from the '_get_to_one_related' sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter whose schema description ('the id of the requested resource') has 100% coverage, so the baseline is 3. The description adds nothing beyond the schema, but nothing is missing either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP path (GET /v1/apps/{id}/relationships/assetLibrary), which maps almost one-to-one onto the tool name 'apps_asset_library_get_to_one_relationship'. It conveys no semantics an agent couldn't infer from the name itself, and it does nothing to distinguish this from the near-identical sibling 'apps_asset_library_get_to_one_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the related/relationship variant split, and no preconditions (e.g., that 'id' must be an app resource id). The agent is left to guess between this tool and the many sibling relationship endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_background_assets_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/backgroundAssets (GET /v1/apps/{id}/relationships/backgroundAssets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses nothing: not whether this is a safe read, whether results are paginated (the schema exposes a limit parameter), what the response contains, or what authorization scope is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single line simply repeats the same path twice, so half the text is pure redundancy rather than information. Brief but not economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no output schema and no annotations, the description should at least clarify that it returns relationship linkage (resource identifiers) rather than full related resources, and note pagination. None of that is present, leaving the agent dependent on the raw path alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline of 3 applies. The description contributes no additional meaning about the id format or the limit semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as a raw HTTP path, duplicated verbatim in parentheses. It conveys that the resource is the backgroundAssets relationship of an app, but adds no plain-language explanation of what the operation returns or how it differs from the sibling apps_background_assets_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the closely named alternatives (apps_background_assets_get_to_many_related, background_assets_versions_get_to_many_relationship) that an agent must choose between.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_beta_app_localizations_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/betaAppLocalizations (GET /v1/apps/{id}/relationships/betaAppLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing about pagination (despite a limit parameter), response shape, permissions, or whether the relationship is read-only. Duplicating the path adds no behavioral context whatsoever.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is the same path printed twice with no front-loaded purpose statement. The duplication is pure waste rather than useful concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description should at least state what is retrieved and any scoping/pagination behavior. It provides none of that, leaving the agent with only the endpoint string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: 'id' (the requested resource) and 'limit' (maximum resources per page) are fully documented in the schema. The description adds nothing on top, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP path repeated verbatim in parentheses, with no plain-language statement of what the tool returns. It restates the tool name/endpoint rather than explaining that it fetches the beta app localizations linked to an app, and it does nothing to distinguish this from the sibling apps_beta_app_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from the closely named 'related' variant. The agent is left to infer everything from the endpoint string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_beta_app_review_detail_get_to_one_relationshipD
GET /v1/apps/{id}/relationships/betaAppReviewDetail (GET /v1/apps/{id}/relationships/betaAppReviewDetail)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing. It does not state auth requirements, pagination, whether the relationship is empty vs. 404, or any behavioral trait beyond the implicit GET.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplication of the same path is pure redundancy that earns no place. Brevity here reflects under-specification, not efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only source of behavioral context, and it supplies none. For a relationship GET endpoint it should at minimum explain that it returns the linkage/identifier object rather than the related resource itself, which is the key distinction from its sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single required 'id' parameter at 100% schema description coverage, the schema fully documents the input. The description adds no parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the endpoint path 'GET /v1/apps/{id}/relationships/betaAppReviewDetail' repeated twice. An agent can infer it retrieves the betaAppReviewDetail relationship for an app, but this is a restatement of the tool name rather than an explanation of purpose, and it does nothing to distinguish it from the near-identical sibling apps_beta_app_review_detail_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the 'related' variant sibling that would be chosen instead when the full resource (not just the relationship linkage) is wanted. The agent is left to infer usage entirely from the URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_beta_feedback_crash_submissions_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/betaFeedbackCrashSubmissions (GET /v1/apps/{id}/relationships/betaFeedbackCrashSubmissions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The GET verb implies a read, but there is no mention of pagination semantics (the limit parameter), what a relationship endpoint returns versus a related endpoint, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the identical path verbatim, so half the text is pure redundancy. No information is front-loaded because there is no information beyond the URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a relationship-listing tool that returns a collection of resource identifier objects, the description should explain what is returned and how it differs from the 'related' sibling. It leaves an agent to infer everything from the naming convention alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself, so the baseline of 3 applies. The description adds no meaning beyond the schema — it doesn't clarify that the id is the app id or what limit counts against.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path, restated twice in the parenthetical, which effectively duplicates the tool name. It identifies a GET on the betaFeedbackCrashSubmissions relationship but adds no plain-language statement of what the resource is or what the call accomplishes. This is tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the neighboring alternatives such as apps_beta_feedback_crash_submissions_get_to_many_related or apps_beta_feedback_crash_submissions_get_to_many_related/beta_feedback_crash_submissions_get_instance. An agent gets nothing to decide among the many sibling relationship/related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_beta_feedback_screenshot_submissions_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/betaFeedbackScreenshotSubmissions (GET /v1/apps/{id}/relationships/betaFeedbackScreenshotSubmissions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden, and it does not. The literal 'GET' implies a read-only operation and the 'relationships' path segment hints at identifier-only linkage data, but there is no mention of pagination behavior (despite the limit param), auth requirements, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is pure duplication: the same endpoint string appears twice with no added information. Brevity here reflects under-specification rather than efficient, front-loaded communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that only echoes the route, an agent has almost nothing to work with — notably no way to tell this apart from the *_get_to_many_related twin or to know what payload to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and limit are already documented in the schema, and the baseline is 3. The description adds nothing about parameter syntax or the relationship of limit to paging, so it earns no credit above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and route (the URL is even printed twice, once bare and once in parentheses). It conveys no purpose beyond what the name already encodes, and gives no indication of what a 'relationship' endpoint returns versus the sibling apps_beta_feedback_screenshot_submissions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint instead of the near-identical *_get_to_many_related sibling, nor on prerequisites such as needing a valid app id or the beta-feedback feature being enabled. Usage can only be inferred 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.
apps_beta_groups_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/betaGroups (GET /v1/apps/{id}/relationships/betaGroups)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and delivers almost none of it. It does not state that this is a paginated read, what linkage data is returned versus included resources, or whether it requires app-level credentials; the path alone implies read-only but nothing is confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence duplicates the identical URL string twice with no added information, so the one line present earns no place. Brevity here comes from under-specification, not from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list endpoint with no annotations and no output schema, the description should at least explain the relationship resource and pagination via limit. It explains neither, leaving the agent to rely wholly on the schema and the endpoint string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with two simple parameters (id, limit), so the schema already documents both. The description adds no meaning beyond the schema, which is the expected baseline for a fully-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path (repeated verbatim), so the only signal is 'GET betaGroups under an app'. It restates the operation implied by the tool name without saying what a beta group relationship is or what the call returns, making it a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to prefer this over the near-identical sibling apps_beta_groups_get_to_many_related, nor any prerequisite or context. The agent must infer the relationship-vs-related distinction 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.
apps_beta_license_agreement_get_to_one_relationshipD
GET /v1/apps/{id}/relationships/betaLicenseAgreement (GET /v1/apps/{id}/relationships/betaLicenseAgreement)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: it doesn't state that this is a read-only fetch, that it returns linkage/identifier data rather than the full agreement resource (the _relationship vs _related distinction), or any auth/error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is degenerate: the same path string appears twice with zero added information, so neither copy earns its place. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a subtler purpose than its name implies (relationship linkage retrieval), the description should at minimum explain the return shape and the _relationship/_related distinction. It provides nothing an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (id) and schema description coverage is 100%, so the schema already documents it; per the baseline rule this floors at 3. The description adds no meaning about what id refers to (it's the app id, not the agreement id), which is a missed opportunity but not a deficit against the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated, with the identical string duplicated in parentheses. It restates what the tool name already encodes (apps/{id}/relationships/betaLicenseAgreement) without explaining what a 'relationship' fetch returns. No distinguishing information versus the many sibling *_get_to_one_relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all, despite a near-identical sibling (apps_beta_license_agreement_get_to_one_related) whose difference from the '_relationship' variant an agent must know. There is no mention of prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_beta_testers_delete_to_many_relationshipC
DELETE /v1/apps/{id}/relationships/betaTesters (DELETE /v1/apps/{id}/relationships/betaTesters) Body shape: see OpenAPI components.schemas.AppBetaTestersLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppBetaTestersLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states only the HTTP verb and a pointer to a body schema; it does not say what is destroyed (relationship memberships removed from the app), whether the operation is reversible, what permissions are required, or how errors/empty lists are handled. For a destructive relationship mutation this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint is printed verbatim twice in consecutive parentheses, which is pure waste, and the body-shape note repeats what the schema already states. It is short, but what length exists is redundant rather than front-loaded helpful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive to-many relationship delete with no annotations and no output schema, the description omits the behavior an agent actually needs: what the DELETE removes, precondition/permission requirements, and expected response semantics. It only restates the endpoint and defers body shape to the OpenAPI schema, which the input schema already covers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body'. The description's only parameter-related content ('see OpenAPI components.schemas.AppBetaTestersLinkagesRequest') duplicates the schema's own body description and adds no new semantics. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the endpoint path 'DELETE /v1/apps/{id}/relationships/betaTesters' printed twice, which is essentially the tool name re-notated rather than an explanation of what the tool does. While it does encode verb+resource (delete the betaTesters to-many relationship on an app), it adds no prose meaning and only implicitly distinguishes it from siblings like beta_groups_beta_testers_delete_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, and no sibling is named even though many overlapping relationship-delete tools exist (beta_groups_beta_testers_delete_to_many_relationship, beta_testers_apps_delete_to_many_relationship). Usage context must be entirely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_beta_tester_usages_get_metricsD
GET /v1/apps/{id}/metrics/betaTesterUsages (GET /v1/apps/{id}/metrics/betaTesterUsages)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum number of groups to return per page | |
| period | No | the duration of the reporting period | |
| groupBy | No | the dimension by which to group the results | |
| filter_betaTesters | No | filter by 'betaTesters' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not that this is a read-only report, not pagination behavior despite a 'limit' param, not whether results are aggregated or time-series, not any rate limit or auth scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness — the same path is repeated in a redundant parenthetical, and no informative sentence exists to be front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metrics endpoint with five parameters, no output schema, and no annotations, the description should explain what the metrics represent and how the grouping/period params shape the result. It supplies none of that, leaving an agent unable to interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (id, limit, period, groupBy, filter_betaTesters) are already documented in the schema. The description adds zero parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint path, printed twice, with no explanation of what 'betaTesterUsages metrics' actually reports (counts of testers? sessions? installs?). It parrots the tool name rather than stating a purpose in prose, which is the definition of tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The sibling list contains closely related metrics tools such as beta_groups_beta_tester_usages_get_metrics, beta_testers_beta_tester_usages_get_metrics, and builds_beta_build_usages_get_metrics, and nothing here helps an agent choose among them or understand that this variant is scoped to an app.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_builds_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/builds (GET /v1/apps/{id}/relationships/builds)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discharges none of it. It does not say that JSON:API relationship endpoints return linkage objects (type/id pairs) rather than full build attributes, does not mention pagination despite the 'limit' parameter, and gives no auth or rate-limit context. The only implicit information, that this is a read, is already encoded in the HTTP verb in the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but length is not the same as conciseness here: the single sentence duplicates the identical path string parenthetically and conveys no information at all. Every character is redundant with the tool name and the following schema, so nothing earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no sibling differentiation, the description is completely inadequate for a tool that sits among dozens of nearly indistinguishable '*_get_to_many_relationship' endpoints. An agent cannot tell from this text whether it receives build IDs or build objects, how results are paged, or why it should prefer this over apps_builds_get_to_many_related.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: 'id' is documented as 'the id of the requested resource' and 'limit' as 'maximum resources per page'. With the schema doing all the work, the baseline of 3 applies; the description contributes zero additional meaning about parameter format or interaction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw HTTP path, duplicated verbatim in parentheses: 'GET /v1/apps/{id}/relationships/builds (GET /v1/apps/{id}/relationships/builds)'. An agent can infer 'fetch the builds relationship for an app' from the path, but the text adds no verb-plus-resource statement of its own and never distinguishes this relationship endpoint from the near-identical sibling apps_builds_get_to_many_related. This is effectively a restatement of the tool name rather than an explanation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever: no prerequisites, no mention of pagination behavior, and no signal about when to choose this relationship endpoint over apps_builds_get_to_many_related (which returns full build resources) or apps_build_uploads_get_to_many_relationship. Nothing is implied beyond the fact that it is a GET.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_build_uploads_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/buildUploads (GET /v1/apps/{id}/relationships/buildUploads)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and no description text, so the full behavioral burden is unmet. There is no mention that this is a paginated read, what a 'relationship' endpoint returns (identifiers/links rather than attributes), or any auth expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but the content is a verbatim duplicate of the same path in both halves of the string, so the second half earns nothing. Being brief is not the same as being concise when no meaning is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description supplies zero of the context needed: not what is returned, not the pagination behavior implied by 'limit', and not how it differs from the many sibling relationship/related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are documented in the schema itself. The description adds nothing beyond that, which lands at the baseline of 3 for a fully covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated twice in parentheses, with no verb or resource phrasing an agent can reason over. It implicitly points at 'buildUploads' under an app, but it is essentially a tautology of the tool name rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus siblings like apps_builds_get_to_many_relationship or apps_build_uploads_get_to_many_related (the non-relationship variant, which appears as a sibling). Nothing tells the agent that this returns relationship linkage rather than full resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_ci_product_get_to_one_relationshipD
GET /v1/apps/{id}/relationships/ciProduct (GET /v1/apps/{id}/relationships/ciProduct)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state the return shape, whether the relationship may be null/absent, pagination, error behavior, or authentication requirements. The only hint is the 'GET' verb embedded in the path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in a useful sense: the same endpoint string appears twice, once bare and once parenthesized, which is pure duplication. There is no front-loaded statement of purpose to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no prose description, an agent gets essentially nothing beyond the URL. For a relationship-fetch tool the description should at minimum explain what is returned; it is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage, the schema already documents 'id' fully, so baseline 3 applies. The description adds no meaning beyond the schema — it does not even mention the id or clarify that it is the app identifier rather than the CI product identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path 'GET /v1/apps/{id}/relationships/ciProduct' repeated verbatim in parentheses. It restates the tool name in URL form rather than explaining in plain language that it retrieves the CI product associated with an app. An agent can infer the resource from the path, but nothing distinguishes this from the ~200 sibling get_to_one_relationship tools beyond the literal route string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what preconditions apply, or which sibling to prefer. The path alone does not tell an agent when this relationship fetch is appropriate versus apps_ci_product_get_to_one_related or ci_products_app_get_to_one_relationship.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshots_create_instanceD
POST /v1/appScreenshots (POST /v1/appScreenshots) Body shape: see OpenAPI components.schemas.AppScreenshotCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppScreenshotCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not that this is a mutation, not the asset-upload/reservation flow typical for screenshots, not auth requirements, and not whether the call is idempotent or reversible. It is effectively a bare endpoint pointer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical '(POST /v1/appScreenshots)' duplicates the sentence opening verbatim, so the text is wasteful rather than concise. Front-loading a redundant verb+path leaves no room for actual information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a write/create tool with no annotations, no output schema, and only a free-form envelope body, so the description must carry the load; instead it says almost nothing. An agent cannot know the required relationship (screenshot set), the envelope structure, or side effects from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage the baseline is 3, but the description adds zero incremental meaning over the schema, which already states 'Shape: components.schemas.AppScreenshotCreateRequest.' It merely parrots the same schema reference without clarifying the unconstrained body object (additionalProperties: {}) or the required JSON:API envelope fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('POST /v1/appScreenshots'), repeating it twice. It never explains what an app screenshot is in this API's domain, nor how this create differs from siblings like app_screenshots_update_instance or app_screenshot_sets_create_instance. An agent must infer meaning entirely from the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g., needing an existing AppScreenshotSet to attach to), and no mention of alternatives or the upload flow. Nothing routes the agent between this tool and its many sibling create tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshots_delete_instanceC
DELETE /v1/appScreenshots/{id} (DELETE /v1/appScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The DELETE verb implies a destructive, conventionally idempotent operation, but the description never states that removal is permanent, whether it requires a specific role/scope, whether the parent screenshot set is affected, or what happens on a non-existent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief and front-loaded, but the parenthetical duplicates the exact same path string already stated, which is pure waste rather than concision. The brevity stems from under-specification, not from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, unannotated mutation tool with no output schema, an agent needs to know about irreversibility and permission requirements before invoking it, and none of that is present. The only thing fully covered elsewhere is the single input parameter, leaving the definition inadequate for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single required parameter and 100% schema description coverage, the schema already documents 'id' as 'the id of the requested resource'. The description adds no syntax, format, or sourcing detail (e.g. where to obtain the screenshot id) beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and title in HTTP form ('DELETE /v1/appScreenshots/{id}'), with the parenthetical merely duplicating the same string. It conveys the resource (app screenshots) and verb (delete) only as a tautology, and does nothing to distinguish this tool from the many sibling delete endpoints such as app_screenshot_sets_delete_instance or app_event_screenshots_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is present. Nothing tells the agent whether this is the correct call versus app_screenshots_update_instance (to modify instead of remove), or when a screenshot must be deleted from its parent set first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshot_sets_app_screenshots_get_to_many_relationshipD
GET /v1/appScreenshotSets/{id}/relationships/appScreenshots (GET /v1/appScreenshotSets/{id}/relationships/appScreenshots)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only fetch, not pagination/limit behavior, not auth requirements, not what the relationship payload contains. The raw path is all that is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it wastes its entire length duplicating the same string twice with no additional information, and it is not front-loaded with any useful intent. Brevity here reflects under-specification rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A GET to-many relationship endpoint with no annotations, no output schema, and no return-shape or pagination explanation leaves the agent with nothing beyond a URL template. The description is completely inadequate for correct invocation in this large tool surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 2 parameters (id, limit) both documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema, but the schema itself does document both params adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP path repeated verbatim inside parentheses, which essentially restates the tool name. It hints at the resource (appScreenshotSets' appScreenshots relationship) but gives no plain-language statement of what the tool does, and does nothing to distinguish it from siblings like app_screenshot_sets_app_screenshots_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no indication of how this relationship endpoint differs from the 'related' sibling or the 'replace' variant. An agent gets nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshot_sets_app_screenshots_replace_to_many_relationshipC
PATCH /v1/appScreenshotSets/{id}/relationships/appScreenshots (PATCH /v1/appScreenshotSets/{id}/relationships/appScreenshots) Body shape: see OpenAPI components.schemas.AppScreenshotSetAppScreenshotsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppScreenshotSetAppScreenshotsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose that this is a full-replacement (destructive) operation on the relationship list, what permissions or auth are required, how ordering is handled, or whether omitted screenshots are detached — only the bare PATCH verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim inside the parentheses and the remaining text is a schema cross-reference rather than useful prose. No wasted bulk, but little value per sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested JSON:API body, no annotations, and no output schema. The description should explain the replacement semantics and required envelope, but instead defers entirely to an external OpenAPI document an agent may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two parameters, so the schema already documents id and body. The description only adds a pointer to components.schemas.AppScreenshotSetAppScreenshotsLinkagesRequest, which the body schema field already states; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific HTTP verb and resource path (PATCH /v1/appScreenshotSets/{id}/relationships/appScreenshots), so the target resource is identifiable. However it never states in plain terms that it replaces the full set of screenshot linkages, and it does not distinguish itself from sibling app_screenshot_sets_app_screenshots_get_to_many_relationship or the get_to_many_related variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when not to use it, and no reference to the sibling GET/related tools that read the same relationship. The agent must infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshot_sets_create_instanceC
POST /v1/appScreenshotSets (POST /v1/appScreenshotSets) Body shape: see OpenAPI components.schemas.AppScreenshotSetCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppScreenshotSetCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only implies mutation via 'POST' and says nothing about authentication, rate limits, idempotency, side effects, or what happens on success. It adds no behavioral context beyond the operation verb already embedded in the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wastes space on a duplicated endpoint string, 'POST /v1/appScreenshotSets (POST /v1/appScreenshotSets)', which conveys nothing the first occurrence did not. Structure is front-loaded but the content is redundant rather than earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a free-form nested body, the description is too thin: it does not describe the response, the created resource, or the parent context required. The external schema reference is the only useful element, and it is not enough on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single free-form body parameter, so the schema baseline of 3 applies. The description only points at components.schemas.AppScreenshotSetCreateRequest without explaining any field meaning, adding a pointer rather than semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb and resource path (POST /v1/appScreenshotSets), so an agent can infer it creates an app screenshot set. However, it never states the purpose in natural language and offers no differentiation from the many sibling create tools (app_preview_sets_create_instance, app_screenshots_create_instance, etc.). It is essentially a mechanical restatement of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling it supersedes. Prerequisites such as the parent localization/version needed to attach a screenshot set are entirely absent, leaving the agent to infer context from the endpoint alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshot_sets_delete_instanceD
DELETE /v1/appScreenshotSets/{id} (DELETE /v1/appScreenshotSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about the destructive nature, whether deletion cascades to contained screenshots, required auth/roles, or reversibility. An agent cannot tell what the side effects are.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but the parenthetical repeats the exact same path verbatim, wasting the only words present. Brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive delete operation with no annotations, no output schema, and a one-parameter schema needs the description to explain consequences; it explains nothing. The definition is completely inadequate for an agent to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already documents 'id' fully. Per the baseline rule for high schema coverage, a 3 is appropriate even with zero parameter information in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates the HTTP verb and path (DELETE /v1/appScreenshotSets/{id}) which duplicates the tool name's own verb+resource, adding no information an agent doesn't already have. It is not misleading, but it is a tautological restatement rather than a description of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings such as app_screenshot_sets_delete_instance's neighbors app_screenshots_delete_instance or app_preview_sets_delete_instance. No preconditions, no exclusions, nothing that routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshot_sets_get_instanceC
GET /v1/appScreenshotSets/{id} (GET /v1/appScreenshotSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_appScreenshots | No | maximum number of related appScreenshots returned (when they are included) | |
| fields_appScreenshots | No | the fields to include for returned resources of type appScreenshots | |
| fields_appScreenshotSets | No | the fields to include for returned resources of type appScreenshotSets | |
| fields_appStoreVersionLocalizations | No | the fields to include for returned resources of type appStoreVersionLocalizations | |
| fields_appCustomProductPageLocalizations | No | the fields to include for returned resources of type appCustomProductPageLocalizations | |
| fields_appStoreVersionExperimentTreatmentLocalizations | No | the fields to include for returned resources of type appStoreVersionExperimentTreatmentLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the raw path. The GET prefix implies a read, but there is no mention of authentication requirements, pagination of included relationships, rate limits, or what happens for a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but that brevity reflects under-specification rather than efficiency. The same endpoint string is duplicated parenthetically, which is wasted tokens and not front-loaded with any useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET tool with 8 parameters, relationship includes, and no annotations or output schema, the description is inadequate. It leaves behavioral context such as auth, pagination, and error behavior entirely unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters including the include and fields_* relationship options. The description adds no additional parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the endpoint path repeated twice: 'GET /v1/appScreenshotSets/{id}'. It technically identifies a verb (GET) and a resource (appScreenshotSets), but it restates the tool name and gives no plain-language explanation of what the call returns. It also fails to distinguish this from sibling tools like app_screenshot_sets_app_screenshots_get_to_many_relationship or app_screenshot_sets_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of prerequisites, and no reference to alternative tools. An agent must infer entirely from the name that this fetches a single app screenshot set by id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshots_get_instanceD
GET /v1/appScreenshots/{id} (GET /v1/appScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appScreenshots | No | the fields to include for returned resources of type appScreenshots | |
| fields_appScreenshotSets | No | the fields to include for returned resources of type appScreenshotSets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about authentication, error behavior, or the fact that 'include' and 'fields_*' alter the response shape. The only hint of read semantics comes from the word GET, which is already implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the identical route is pure waste with zero informational content, and there is nothing front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no explanation of sparse-fieldset or relationship-inclusion behavior, the description is far too thin for a four-parameter resource-fetch tool. An agent cannot determine what it gets back or how to shape the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, fields_appScreenshots, fields_appScreenshotSets) are documented in the schema itself. The description adds no parameter meaning, which meets the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the tool name rendered as an HTTP route, repeated twice in parentheses. It restates the identifier rather than explaining that this retrieves a single app screenshot resource, and it draws no distinction from siblings such as app_screenshot_sets_get_instance or app_screenshots_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives, no prerequisites, and no mention of the sibling set/collection or relationship tools that also expose screenshots.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_screenshots_update_instanceC
PATCH /v1/appScreenshots/{id} (PATCH /v1/appScreenshots/{id}) Body shape: see OpenAPI components.schemas.AppScreenshotUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppScreenshotUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that this is a PATCH operation and points at AppScreenshotUpdateRequest, but it does not state what is mutable, whether changes are partial, what permissions are required, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it wastes space by repeating the endpoint in parentheses and then outsourcing the payload details to an external OpenAPI reference. It is concise in length but not optimally structured for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body object, the description is not complete enough. It leaves the updatable fields, permissions, and response behavior undisclosed and relies on an external schema reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters at 100% coverage, so the baseline is 3. The description repeats the body schema reference but adds no additional meaning about the id or the update payload beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the endpoint being called (PATCH /v1/appScreenshots/{id}), which implies updating an app screenshot instance, but it does not explain what aspect of the screenshot is updated. It is more an HTTP route than a plain-language statement of purpose, and sibling differentiation depends mostly on the tool name and method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus app_screenshots_create_instance, app_screenshots_get_instance, app_screenshots_delete_instance, or screenshot-set operations. The endpoint alone does not tell the agent what conditions call for an update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_customer_reviews_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/customerReviews (GET /v1/apps/{id}/relationships/customerReviews)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing. The GET verb implies a read, but pagination behavior, page size limits, auth/permission requirements, and whether `limit` is honored are all unstated and must be guessed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the identical path is pure waste with zero informational value. Every character should earn its place; here half the text is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list endpoint with no annotations and no output schema, the description should at least clarify what is returned and how paging works. Nothing beyond the raw HTTP path is provided, so an agent cannot confidently tell this apart from the near-identical `related` sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and limit), so the schema already documents them. The description adds no syntax, format, or constraint details beyond that, which is the baseline 3 when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the operation path (GET /v1/apps/{id}/relationships/customerReviews), duplicated twice with no added explanation. It does not say what a 'relationship' endpoint returns or how it differs from the many look-alike `..._get_to_many_relationship` siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites or alternatives. The agent is left to infer that this is the way to list customer reviews for an app versus using `apps_customer_reviews_get_to_many_related` or `customer_reviews_get_instance`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_end_user_license_agreement_get_to_one_relationshipD
GET /v1/apps/{id}/relationships/endUserLicenseAgreement (GET /v1/apps/{id}/relationships/endUserLicenseAgreement)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no indication of what the relationship lookup returns (identifiers vs. full resource), whether it 404s when no EULA is linked, or auth requirements. With zero annotation coverage and a description that only echoes the method and path, the agent learns nothing beyond the HTTP verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is not concise in a useful sense: the identical URL is duplicated inside parentheses, which is pure redundancy rather than front-loaded information. There is no content to structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter relationship GET with no output schema and no annotations, the description still omits everything an agent would need to distinguish this call from the sibling *_get_to_one_related variant and to know what shape of data comes back. The structured fields carry the whole definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100% ('the id of the requested resource'), so the schema fully documents it. Per the baseline rule for high coverage, a 3 is appropriate; the description adds no meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP path, restated twice ('GET /v1/apps/{id}/relationships/endUserLicenseAgreement (GET /v1/apps/{id}/relationships/endUserLicenseAgreement)'). It is effectively a tautology that repeats the name rather than stating in prose what the tool returns — the app's end user license agreement relationship. A careful reader can infer the resource from the URL, but no verb+resource purpose is articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus its many siblings, including the near-identical apps_end_user_license_agreement_get_to_one_related and the get_instance/update_instance variants for end user license agreements. Nothing is stated or implied about context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_game_center_detail_get_to_one_relationshipD
GET /v1/apps/{id}/relationships/gameCenterDetail (GET /v1/apps/{id}/relationships/gameCenterDetail)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. 'GET' loosely implies a read, but there is no statement about what the relationship returns, whether it can be empty, pagination, permissions, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplication of the identical path is pure waste and the whole string is a single unparsed URL. Brevity here comes from under-specification rather than efficient phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no annotations and no output schema, the description must at least say what resource is being linked and what the response represents. It says none of that, leaving an agent with only a URL template.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the single 'id' parameter is fully documented as 'the id of the requested resource'. Per the high-coverage baseline this scores 3 even though the description adds no parameter meaning, since the schema already does that work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path repeated twice, so it technically names a verb (GET) and a resource, but conveys no semantic purpose — nothing explains what a 'gameCenterDetail relationship' actually is or returns. It is a restatement of the endpoint rather than a description, which is the definition of tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. The sibling set contains near-identical entries such as apps_game_center_detail_get_to_one_related and game_center_groups_game_center_details_get_to_many_related, and the description does nothing to indicate when this relationship endpoint should be chosen over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_game_center_enabled_versions_get_to_many_relationshipC
[DEPRECATED] GET /v1/apps/{id}/relationships/gameCenterEnabledVersions (GET /v1/apps/{id}/relationships/gameCenterEnabledVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses deprecation status, which is genuinely useful, but says nothing about pagination behavior, permissions, or what a deprecated endpoint returns. For a tool with zero annotation coverage, this leaves the agent with a nearly empty behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not efficient: the identical path is written twice with no added information in the repetition. The deprecation flag is front-loaded, which is the one structural merit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated relationship-listing endpoint with no annotations, the description should at minimum point to the replacement and confirm the returned resource type. It provides neither, so an agent has no guidance on how to proceed after learning the tool is deprecated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are already documented in the schema. The description adds no extra meaning about what resource 'id' identifies or how pagination behaves, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP path (twice), which is a tautology rather than an explanation. The only added information is the [DEPRECATED] marker; it never says in prose that this retrieves the Game Center enabled versions relationship for an app, nor does it distinguish it from siblings like apps_game_center_enabled_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag hints that the tool should be avoided, which is a weak usage signal, but there is no statement of when to use it, when not to, or which sibling (e.g. apps_game_center_enabled_versions_get_to_many_related) supersedes it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_get_collectionD
GET /v1/apps (GET /v1/apps)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| filter_sku | No | filter by attribute 'sku' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| filter_name | No | filter by attribute 'name' | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| limit_appClips | No | maximum number of related appClips returned (when they are included) | |
| limit_appInfos | No | maximum number of related appInfos returned (when they are included) | |
| fields_appClips | No | the fields to include for returned resources of type appClips | |
| fields_appInfos | No | the fields to include for returned resources of type appInfos | |
| filter_bundleId | No | filter by attribute 'bundleId' | |
| limit_appEvents | No | maximum number of related appEvents returned (when they are included) | |
| fields_appEvents | No | the fields to include for returned resources of type appEvents | |
| limit_betaGroups | No | maximum number of related betaGroups returned (when they are included) | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| fields_buildIcons | No | the fields to include for returned resources of type buildIcons | |
| fields_ciProducts | No | the fields to include for returned resources of type ciProducts | |
| limit_inAppPurchases | No | maximum number of related inAppPurchases returned (when they are included) | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| limit_appStoreVersions | No | maximum number of related appStoreVersions returned (when they are included) | |
| limit_inAppPurchasesV2 | No | maximum number of related inAppPurchasesV2 returned (when they are included) | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| filter_appStoreVersions | No | filter by id(s) of related 'appStoreVersions' | |
| limit_promotedPurchases | No | maximum number of related promotedPurchases returned (when they are included) | |
| limit_reviewSubmissions | No | maximum number of related reviewSubmissions returned (when they are included) | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_promotedPurchases | No | the fields to include for returned resources of type promotedPurchases | |
| fields_reviewSubmissions | No | the fields to include for returned resources of type reviewSubmissions | |
| limit_preReleaseVersions | No | maximum number of related preReleaseVersions returned (when they are included) | |
| limit_subscriptionGroups | No | maximum number of related subscriptionGroups returned (when they are included) | |
| fields_preReleaseVersions | No | the fields to include for returned resources of type preReleaseVersions | |
| fields_subscriptionGroups | No | the fields to include for returned resources of type subscriptionGroups | |
| limit_betaAppLocalizations | No | maximum number of related betaAppLocalizations returned (when they are included) | |
| fields_betaAppLocalizations | No | the fields to include for returned resources of type betaAppLocalizations | |
| fields_betaAppReviewDetails | No | the fields to include for returned resources of type betaAppReviewDetails | |
| limit_appCustomProductPages | No | maximum number of related appCustomProductPages returned (when they are included) | |
| fields_appCustomProductPages | No | the fields to include for returned resources of type appCustomProductPages | |
| fields_betaLicenseAgreements | No | the fields to include for returned resources of type betaLicenseAgreements | |
| filter_reviewSubmissions_state | No | filter by attribute 'reviewSubmissions.state' | |
| fields_endUserLicenseAgreements | No | the fields to include for returned resources of type endUserLicenseAgreements | |
| fields_subscriptionGracePeriods | No | the fields to include for returned resources of type subscriptionGracePeriods | |
| limit_appEncryptionDeclarations | No | maximum number of related appEncryptionDeclarations returned (when they are included) | |
| limit_gameCenterEnabledVersions | No | maximum number of related gameCenterEnabledVersions returned (when they are included) | |
| exists_gameCenterEnabledVersions | No | filter by existence or non-existence of related 'gameCenterEnabledVersions' | |
| fields_appEncryptionDeclarations | No | the fields to include for returned resources of type appEncryptionDeclarations | |
| fields_gameCenterEnabledVersions | No | the fields to include for returned resources of type gameCenterEnabledVersions | |
| filter_appStoreVersions_platform | No | filter by attribute 'appStoreVersions.platform' | |
| fields_appStoreVersionExperiments | No | the fields to include for returned resources of type appStoreVersionExperiments | |
| filter_reviewSubmissions_platform | No | filter by attribute 'reviewSubmissions.platform' | |
| limit_appStoreVersionExperimentsV2 | No | maximum number of related appStoreVersionExperimentsV2 returned (when they are included) | |
| limit_androidToIosAppMappingDetails | No | maximum number of related androidToIosAppMappingDetails returned (when they are included) | |
| fields_androidToIosAppMappingDetails | No | the fields to include for returned resources of type androidToIosAppMappingDetails | |
| filter_appStoreVersions_appStoreState | No | filter by attribute 'appStoreVersions.appStoreState' | |
| filter_appStoreVersions_appVersionState | No | filter by attribute 'appStoreVersions.appVersionState' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing: no auth requirements, no pagination behavior, no note that includes/fields expand response size or cost, no statement about what is returned. A bare route string leaves the agent guessing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — a duplicated URL fragment that conveys almost nothing and is not front-loaded with intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 57-parameter collection endpoint with no annotations and no output schema, the description is completely inadequate. An agent cannot determine scope, expansion cost, or pagination without inferring everything from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all 57 parameters are individually documented in the schema (sort, limit, include, filter_*, fields_*, limit_*), so the baseline of 3 applies. The description adds nothing beyond the schema, but the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route repeated twice: 'GET /v1/apps (GET /v1/apps)'. It implies a collection fetch of apps but states no verb or resource in natural language and does nothing to distinguish it from siblings like apps_get_instance or the many apps_*_get_to_many_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives. It doesn't say it lists all apps, doesn't mention filtering/pagination strategy, and doesn't point to apps_get_instance for single-app retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_get_instanceD
GET /v1/apps/{id} (GET /v1/apps/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| limit_appClips | No | maximum number of related appClips returned (when they are included) | |
| limit_appInfos | No | maximum number of related appInfos returned (when they are included) | |
| fields_appClips | No | the fields to include for returned resources of type appClips | |
| fields_appInfos | No | the fields to include for returned resources of type appInfos | |
| limit_appEvents | No | maximum number of related appEvents returned (when they are included) | |
| fields_appEvents | No | the fields to include for returned resources of type appEvents | |
| limit_betaGroups | No | maximum number of related betaGroups returned (when they are included) | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| fields_buildIcons | No | the fields to include for returned resources of type buildIcons | |
| fields_ciProducts | No | the fields to include for returned resources of type ciProducts | |
| limit_inAppPurchases | No | maximum number of related inAppPurchases returned (when they are included) | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| limit_appStoreVersions | No | maximum number of related appStoreVersions returned (when they are included) | |
| limit_inAppPurchasesV2 | No | maximum number of related inAppPurchasesV2 returned (when they are included) | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| limit_promotedPurchases | No | maximum number of related promotedPurchases returned (when they are included) | |
| limit_reviewSubmissions | No | maximum number of related reviewSubmissions returned (when they are included) | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_promotedPurchases | No | the fields to include for returned resources of type promotedPurchases | |
| fields_reviewSubmissions | No | the fields to include for returned resources of type reviewSubmissions | |
| limit_preReleaseVersions | No | maximum number of related preReleaseVersions returned (when they are included) | |
| limit_subscriptionGroups | No | maximum number of related subscriptionGroups returned (when they are included) | |
| fields_preReleaseVersions | No | the fields to include for returned resources of type preReleaseVersions | |
| fields_subscriptionGroups | No | the fields to include for returned resources of type subscriptionGroups | |
| limit_betaAppLocalizations | No | maximum number of related betaAppLocalizations returned (when they are included) | |
| fields_betaAppLocalizations | No | the fields to include for returned resources of type betaAppLocalizations | |
| fields_betaAppReviewDetails | No | the fields to include for returned resources of type betaAppReviewDetails | |
| limit_appCustomProductPages | No | maximum number of related appCustomProductPages returned (when they are included) | |
| fields_appCustomProductPages | No | the fields to include for returned resources of type appCustomProductPages | |
| fields_betaLicenseAgreements | No | the fields to include for returned resources of type betaLicenseAgreements | |
| fields_endUserLicenseAgreements | No | the fields to include for returned resources of type endUserLicenseAgreements | |
| fields_subscriptionGracePeriods | No | the fields to include for returned resources of type subscriptionGracePeriods | |
| limit_appEncryptionDeclarations | No | maximum number of related appEncryptionDeclarations returned (when they are included) | |
| limit_gameCenterEnabledVersions | No | maximum number of related gameCenterEnabledVersions returned (when they are included) | |
| fields_appEncryptionDeclarations | No | the fields to include for returned resources of type appEncryptionDeclarations | |
| fields_gameCenterEnabledVersions | No | the fields to include for returned resources of type gameCenterEnabledVersions | |
| fields_appStoreVersionExperiments | No | the fields to include for returned resources of type appStoreVersionExperiments | |
| limit_appStoreVersionExperimentsV2 | No | maximum number of related appStoreVersionExperimentsV2 returned (when they are included) | |
| limit_androidToIosAppMappingDetails | No | maximum number of related androidToIosAppMappingDetails returned (when they are included) | |
| fields_androidToIosAppMappingDetails | No | the fields to include for returned resources of type androidToIosAppMappingDetails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing beyond the endpoint string. The implicit GET/read semantics are the only hint, and there is no mention of auth requirements, rate limits, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundant, repeating the same endpoint string twice with zero informational value. This is under-specification rather than genuine conciseness; no sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 45-parameter tool with no annotations and no output schema, the description is completely inadequate. An agent gets no context on the resource, its relationships, or the meaning of the include/fields/limit filters beyond what the raw schema names imply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 45 parameters (id, include, and the many fields_*/limit_* filters), so the schema already documents every parameter. The description adds no parameter meaning at all, which is baseline-3 territory when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP endpoint "GET /v1/apps/{id}" repeated twice in parentheses. It restates the tool name rather than explaining what an 'app' resource is or how this differs from the sibling apps_get_collection. It is essentially a tautology with a verb+resource form bolted on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus apps_get_collection (which retrieves the app list) or apps_update_instance. No prerequisites, no alternatives, no context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_in_app_purchases_get_to_many_relationshipC
[DEPRECATED] GET /v1/apps/{id}/relationships/inAppPurchases (GET /v1/apps/{id}/relationships/inAppPurchases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The deprecation notice is a genuine behavioral signal not available in structured fields, but there is no mention of pagination behavior (despite a limit param), auth requirements, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loads the deprecation flag, which is good. However, the URL is repeated verbatim inside parentheses, adding zero information, so the structure is wasteful rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated to-many relationship endpoint with no output schema and no annotations, the description should at least point to the successor tool and note any paging semantics. As written, an agent knows only the route and that it is deprecated, which is insufficient to decide whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id, limit), so the schema already documents their meaning. The description adds nothing about the id's expected format or how limit interacts with paging, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and the HTTP path (GET /v1/apps/{id}/relationships/inAppPurchases), duplicated in parentheses. The only added signal is the [DEPRECATED] tag, which is useful but does not describe what the relationship fetch returns or how it differs from siblings like apps_in_app_purchases_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Marking the tool deprecated implies 'prefer something else,' but the description never names the replacement (e.g., the v2 in-app-purchases relationship tool) or states any condition for use. No when-to-use or when-not-to-use guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_in_app_purchases_v2_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/inAppPurchasesV2 (GET /v1/apps/{id}/relationships/inAppPurchasesV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The 'GET' verb implies a read-only retrieval, and the relationship path implies linkage data, but there is no mention of pagination behavior (despite a limit parameter), authentication requirements, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in any useful sense: the parenthetical repeat of the same path is pure redundancy with zero informational value, and no value-bearing content is front-loaded because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should at least explain that it returns a paginated list of in-app purchase resource identifiers for the parent app. Instead it is a raw endpoint string, leaving the agent unable to call it correctly beyond the schema's own field names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself. The description adds no parameter meaning whatsoever, so the baseline of 3 for schema-carried semantics applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare endpoint string duplicated verbatim inside parentheses, effectively restating the tool name rather than explaining purpose. It conveys a GET of the inAppPurchasesV2 relationship collection for an app, but nothing distinguishes it from its near-identical sibling apps_in_app_purchases_v2_get_to_many_related or the v1 apps_in_app_purchases_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives such as the v1 relationship tool or the *_get_to_many_related variant. The agent is left to infer everything from the raw path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_marketplace_search_detail_get_to_one_relationshipC
GET /v1/apps/{id}/relationships/marketplaceSearchDetail (GET /v1/apps/{id}/relationships/marketplaceSearchDetail)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it only echoes 'GET'. It does not state what is returned (a relationship linkage vs a full resource), whether the relationship may be empty, or any auth/scope requirements. The bare HTTP verb is the only behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the verbatim duplication of the endpoint in parentheses is pure noise that earns no place. There is no front-loaded plain-language summary; the only content is the raw path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no output schema and no annotations, an agent needs at least a hint about what the relationship represents and what comes back. None of that is present, so the definition is not sufficient on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter is fully documented in the schema (100% coverage, described as 'the id of the requested resource'), so the schema does the heavy lifting. The description adds nothing about parameter semantics, which is the baseline expectation at this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw REST path 'GET /v1/apps/{id}/relationships/marketplaceSearchDetail' duplicated in parentheses. It technically conveys method and resource, but only via an endpoint string rather than a plain-language statement of what is retrieved. It reads as a restatement of the tool's own name rather than a description of its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint versus the many sibling 'get_to_one_related', 'get_collection', or 'get_instance' tools, and no mention of its counterpart apps_marketplace_search_detail_get_to_one_related. An agent is left to infer usage entirely from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_pre_release_versions_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/preReleaseVersions (GET /v1/apps/{id}/relationships/preReleaseVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it only reveals that this is a GET. It says nothing about authentication scopes, pagination behavior implied by the limit parameter, what the relationship payload looks like, or whether it returns resource identifiers versus full objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from having almost no content. The path is duplicated identically inside parentheses, which is pure waste and pushes no useful information to the front of the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description must supply context about the response shape and pagination for a relationship endpoint; it supplies none. For a two-parameter relationship fetch in a large sibling set, this leaves the agent with insufficient information to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two parameters, so the schema already documents both 'id' and 'limit'. The description adds no syntax, format, or filtering semantics beyond that, so the baseline of 3 applies rather than a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw REST path repeated verbatim inside parentheses, with no prose explaining what it does. An agent can reverse-engineer that it fetches the preReleaseVersions relationship for an app, but that information is already fully contained in the tool name, making this a restatement rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the closely related sibling apps_pre_release_versions_get_to_many_related or pre_release_versions_get_collection that an agent would need to distinguish between. Nothing indicates when this relationship endpoint should be chosen over the related-resource variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_promoted_purchases_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/promotedPurchases (GET /v1/apps/{id}/relationships/promotedPurchases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the HTTP verb. It doesn't confirm this is a read-only list operation, say what pagination behavior the 'limit' enables, or note auth requirements; the GET token is the only behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is a duplicated route string with no front-loaded prose statement of purpose. The parenthetical repetition of the identical endpoint is pure waste rather than structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list-relationship tool with no annotations, no output schema, and no explanatory text, an agent cannot tell what the response contains (promoted purchase resource identifiers vs. full objects) or how paging works. Too much is left to inference from the URL alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema — it doesn't even hint that 'limit' paginates the promoted-purchases relationship listing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name/HTTP route verbatim, twice, in parentheses. It conveys 'GET the promotedPurchases relationship for an app' only through the URL path rather than through prose, so an agent must decode the route to infer purpose and gets no differentiation from the many sibling relationship tools (e.g. apps_promoted_purchases_get_to_many_related, apps_promoted_purchases_replace_to_many_relationship).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use statement, no mention of alternatives such as apps_promoted_purchases_get_to_many_related or promoted_purchases_get_instance, and no indication of prerequisites. Usage is only implied by the fact that it is a GET relationship route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_promoted_purchases_replace_to_many_relationshipC
PATCH /v1/apps/{id}/relationships/promotedPurchases (PATCH /v1/apps/{id}/relationships/promotedPurchases) Body shape: see OpenAPI components.schemas.AppPromotedPurchasesLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppPromotedPurchasesLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It never states that 'replace' semantics overwrite the entire existing relationship set (destroying prior linkages), nor anything about permissions, idempotency, or the response. The only added value is pointing at the OpenAPI schema for the body envelope, which is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path string is duplicated in parentheses and the single sentence is devoted to an OpenAPI pointer rather than front-loading the tool's semantics. No wasted length, but poor information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive replace-to-many mutation with no annotations and no output schema, the description should at minimum state the overwrite semantics and any required scope. Instead it leaves the agent guessing about the most consequential behavior of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline is 3. The description only echoes the schema's own reference to components.schemas.AppPromotedPurchasesLinkagesRequest without adding format or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description renders the operation name as a REST path ("PATCH /v1/apps/{id}/relationships/promotedPurchases") and then repeats it verbatim in parentheses. It conveys the resource and that PATCH is a write, but adds no plain-language statement of what the tool actually does (replace the app's promoted-purchase relationship set), so it is effectively a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or sibling routing guidance. The agent is not told how this differs from apps_promoted_purchases_get_to_many_relationship or apps_promoted_purchases_get_to_many_related, nor what preconditions exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_review_submissions_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/reviewSubmissions (GET /v1/apps/{id}/relationships/reviewSubmissions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that this is a read-only linkage fetch, how pagination works (despite the 'limit' parameter), whether it returns resource identifiers rather than full objects, or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it wastes its only sentence duplicating the identical path inside parentheses. This is redundancy rather than conciseness, and the front-loaded content carries no information an agent didn't already have.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description should at minimum explain that it returns linked review-submission identifiers/links rather than full submissions. Nothing about the payload, pagination, or the relationship semantics is provided, leaving the definition completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are documented in the schema itself. The description adds nothing beyond that, which lands at the baseline of 3 when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name/path: 'GET /v1/apps/{id}/relationships/reviewSubmissions (GET /v1/apps/{id}/relationships/reviewSubmissions)'. It conveys the HTTP verb and resource path but adds no explanation of what the relationship endpoint actually returns, and does nothing to distinguish it from siblings like apps_review_submissions_get_to_many_related or review_submissions_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no prerequisites. The agent is left to infer everything 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.
apps_search_keywords_get_to_many_relationshipC
GET /v1/apps/{id}/relationships/searchKeywords (GET /v1/apps/{id}/relationships/searchKeywords)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The embedded 'GET' implies a read-only fetch, but nothing is said about return format, pagination via 'limit', permissions, or the linkage-vs-resource semantics of a 'relationships' endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is short but entirely redundant — the same path is printed twice inside the parentheses, which is wasted space rather than conciseness. There is no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description should explain what is returned (resource identifier linkages) and how paging works. It supplies none of this, leaving the agent to infer everything from the URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds no syntax or format meaning beyond the schema, but it is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim duplicate of the endpoint path with no prose explanation of what it does. The path does imply fetching the searchKeywords relationship for an app, but the text itself is a tautological restatement of the tool name rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool. Critically, the sibling apps_search_keywords_get_to_many_related exists, and the relationship-vs-related distinction (linkage IDs vs full resources) is exactly what an agent needs here, yet the description offers nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_subscription_grace_period_get_to_one_relationshipD
GET /v1/apps/{id}/relationships/subscriptionGracePeriod (GET /v1/apps/{id}/relationships/subscriptionGracePeriod)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no return shape (linkage object vs. full resource), no auth/permission requirements, no error behavior when no grace period exists. Repeating the endpoint URL twice adds no behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in any useful sense: the identical path is printed twice inside parentheses, which is pure redundancy with zero informational content and no front-loaded explanation of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless-style GET relationship tool with no annotations and no output schema, the description should at minimum state what the call returns and when the relationship may be absent. It provides none of that, leaving the agent with only a URL to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' property already documented as 'the id of the requested resource'. The description adds only the implicit hint that {id} is an app id, so per the high-coverage baseline a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name's HTTP method and path, duplicated in parentheses with no added wording. It reveals 'GET the subscriptionGracePeriod relationship' only implicitly through the URL, and it does not distinguish this tool from its close sibling apps_subscription_grace_period_get_to_one_related, which differs only by relationship-vs-related semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g., needing an existing app id with a grace period configured), and no routing to the alternative sibling variants. The agent is left to infer everything from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_subscription_groups_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/subscriptionGroups (GET /v1/apps/{id}/relationships/subscriptionGroups)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not that this returns a paginated list of related-resource identifiers, not how 'limit' pagination behaves, not the read-only nature, not what is returned. An agent learns only the HTTP verb and path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in the useful sense: the same path is written twice, so half the content is pure duplication, and there is no front-loaded human-readable statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-list endpoint with pagination and no output schema, the description should at minimum explain that it returns the collection of related subscription-group resource identifiers. It explains none of this, leaving the agent with only a raw URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 2 documented params, so the schema already defines 'id' and 'limit'. The description adds no syntax, format, or meaning beyond that, giving the baseline 3 for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw endpoint path repeated verbatim, including the redundant parenthetical duplicate. The path does hint at the resource (an app's subscriptionGroups relationship), but it restates the name/route rather than explaining in prose what the tool does, and gives no differentiation from the many sibling relationship-fetch tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g., apps_subscription_groups_get_to_many_related, or subscription_groups_get_instance). No prerequisites, no exclusions, nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_review_attachments_create_instanceD
POST /v1/appStoreReviewAttachments (POST /v1/appStoreReviewAttachments) Body shape: see OpenAPI components.schemas.AppStoreReviewAttachmentCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreReviewAttachmentCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for a write (POST) operation. It discloses nothing about side effects, required authentication/scope, whether the attachment requires prior upload of asset data, or what the operation returns — only where to find the body schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wasteful: the endpoint is repeated verbatim in parentheses, and the one useful pointer (the OpenAPI schema name) is buried in a run-on sentence. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body object referencing an external component, the description is far too thin. An agent cannot determine prerequisites, the meaning of the JSON:API envelope, or success behavior from this text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents the body. The description merely points to the same components.schemas.AppStoreReviewAttachmentCreateRequest reference the schema already cites, adding no new meaning. Per the high-coverage baseline, 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the HTTP method and path already implied by the tool name, with the parenthetical duplication '(POST /v1/appStoreReviewAttachments)' adding nothing. It never states in domain terms what the tool does (create an App Store review attachment) or how it differs from the sibling update/get/delete attachment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling app_store_review_attachments_update_instance, get_instance, or delete_instance, nor any prerequisite (e.g., needing a parent review detail ID). The agent is left to 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.
app_store_review_attachments_delete_instanceC
DELETE /v1/appStoreReviewAttachments/{id} (DELETE /v1/appStoreReviewAttachments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it says nothing about irreversibility, required permissions, side effects, or the fact that this is a destructive mutation. The single word DELETE is the only signal, which is already in the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a redundant duplicate of the same path string rather than a front-loaded statement of purpose. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete tool with no annotations and no output schema, the description should at minimum state that the attachment is permanently removed. Nothing beyond the raw route is provided, leaving the agent without the context needed to call it responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter, so the schema fully documents 'id' as the requested resource id. The description adds no format, provenance, or example beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a bare restatement of the tool name and its HTTP route (DELETE /v1/appStoreReviewAttachments/{id}), duplicated verbatim in parentheses. It conveys that a resource is deleted but adds no scope, effect, or differentiation from sibling delete tools such as app_store_review_attachments_delete_instance's counterparts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative guidance is given. There is no indication of what must exist first or what an agent should call instead when it wants to update or read the attachment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_review_attachments_get_instanceC
GET /v1/appStoreReviewAttachments/{id} (GET /v1/appStoreReviewAttachments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appStoreReviewDetails | No | the fields to include for returned resources of type appStoreReviewDetails | |
| fields_appStoreReviewAttachments | No | the fields to include for returned resources of type appStoreReviewAttachments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the fact that it is a GET. It does not state authentication/scope requirements, error behavior for a missing or unauthorized id, or whether relationship data requires the include parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is a parenthetical duplicate of the same path with zero additional information, so half the text is pure waste. Being brief is not the same as being concise when nothing informative is conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource fetch with four parameters, no annotations, and no output schema, the description should at minimum characterize the returned resource or note that include/fields_* control related data. None of that is present, leaving the agent without the context needed to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and both fields_* parameters; the description adds no syntax or format detail beyond that. Baseline 3 applies when the schema does the heavy lifting and the description contributes nothing extra.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path restated twice verbatim, so it names a verb (GET) and a resource path but never explains what an app store review attachment is or what retrieving one returns. It offers no differentiation from siblings such as app_store_review_attachments_create_instance or app_store_review_details_app_store_review_attachments_get_to_many_related, which the tool name alone does not resolve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool. An agent must guess whether this is the correct call versus the collection or relationship endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_review_attachments_update_instanceC
PATCH /v1/appStoreReviewAttachments/{id} (PATCH /v1/appStoreReviewAttachments/{id}) Body shape: see OpenAPI components.schemas.AppStoreReviewAttachmentUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreReviewAttachmentUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing about what the PATCH mutates, whether changes are reversible, what permissions/scopes are required, or what happens to fields left out of the body. The only sliver of value is naming the request envelope (JSON:API), which is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the PATCH route string is duplicated verbatim in parentheses, wasting the one line of content, and it is front-loaded with a route rather than a purpose statement. Efficient in length but not in substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested JSON:API body, no annotations, and no output schema, so the description must do more work. Beyond pointing at an external OpenAPI schema it explains nothing about the update operation or its body, leaving the agent without enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (id and body), establishing a baseline of 3. The description adds a pointer to components.schemas.AppStoreReviewAttachmentUpdateRequest for the full envelope, which is mildly useful but does not clarify any individual field's meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as a REST route ('PATCH /v1/appStoreReviewAttachments/{id}'), which is essentially a tautology of the identifier app_store_review_attachments_update_instance. It never states in plain language what an update to this resource actually changes, and it does nothing to separate itself from the sibling create/get/delete attachment tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus app_store_review_attachments_create_instance, _get_instance, or _delete_instance, nor any prerequisites or preconditions. The agent is left to infer usage entirely from the method name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_review_details_app_store_review_attachments_get_to_many_relationshipC
GET /v1/appStoreReviewDetails/{id}/relationships/appStoreReviewAttachments (GET /v1/appStoreReviewDetails/{id}/relationships/appStoreReviewAttachments)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no mention of pagination semantics, no indication that a 'relationships' endpoint returns linkage objects rather than full resources, no auth or rate-limit context. It is merely the endpoint string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is the same string printed twice, once bare and once in parentheses, which is pure duplication rather than concision. No sentence earns its place because no explanatory sentence exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with 2 parameters and no output schema, the description omits the one thing an agent most needs: how this differs from the 'related' sibling in return shape. Nothing about the endpoint's behavior or output is conveyed beyond the raw path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented inline, so the baseline is 3. The description contributes no additional parameter meaning (e.g. that limit paginates the linkage collection), neither compensating nor detracting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the HTTP method and path – it adds no phrasing beyond the tool name itself. While the path does encode 'GET the to-many relationship from appStoreReviewDetails to appStoreReviewAttachments', an agent gains nothing from the description that the name did not already carry, which is the definition of a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Critically, the sibling list contains app_store_review_details_app_store_review_attachments_get_to_many_related, the 'related' counterpart, and the description never explains whether to call this relationship endpoint (returning linkage identifiers) or the related endpoint (returning full resources).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_review_details_create_instanceD
POST /v1/appStoreReviewDetails (POST /v1/appStoreReviewDetails) Body shape: see OpenAPI components.schemas.AppStoreReviewDetailCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreReviewDetailCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no authentication requirements, no statement of side effects (what a create does to existing review details), no idempotency or error behavior. It only points at an external OpenAPI component, leaving behavior entirely undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its opening on a literal duplication of the route in parentheses ('POST /v1/appStoreReviewDetails (POST /v1/appStoreReviewDetails)'), which adds no information. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with no annotations, no output schema, and a nested request body fully delegated to an external document, the description should at minimum say what an App Store review detail is and what the body must contain (e.g., required relationships). Identifying the endpoint and the request schema is the bare minimum and leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, so the baseline is 3. The description does add a pointer to components.schemas.AppStoreReviewDetailCreateRequest and names the JSON:API envelope, but this duplicates what the schema's own body description already says, so no additional semantic value is delivered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP route restated: 'POST /v1/appStoreReviewDetails'. It conveys that something is created under the appStoreReviewDetails resource, but that is a tautology of the tool name, and it does nothing to distinguish this from siblings such as app_clip_app_store_review_details_create_instance or app_store_review_details_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus the update/get/delete variants or the app_clip-scoped sibling. The only usage signal is the verb 'POST', which is already encoded in the tool name, so nothing here helps an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_review_details_get_instanceD
GET /v1/appStoreReviewDetails/{id} (GET /v1/appStoreReviewDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_appStoreReviewDetails | No | the fields to include for returned resources of type appStoreReviewDetails | |
| limit_appStoreReviewAttachments | No | maximum number of related appStoreReviewAttachments returned (when they are included) | |
| fields_appStoreReviewAttachments | No | the fields to include for returned resources of type appStoreReviewAttachments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no error semantics for an invalid/unknown id, no note that this is a non-mutating read. For a zero-annotation tool this is a complete transparency failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in the useful sense: the identical endpoint string appears twice, so half the content is redundant repetition rather than front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter read tool with no annotations and no output schema, the agent still does not know what shape the response takes (a JSON:API resource with optional included relationships) or how include/fields interact. Only the endpoint path hints at the resource, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all six query parameters (id, include, fields_*, limit_appStoreReviewAttachments) documented inline, so the baseline of 3 applies. The description adds nothing about sparse-fieldset or include semantics, but the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: 'GET /v1/appStoreReviewDetails/{id}', duplicated verbatim in parentheses. It conveys only that some resource is fetched by id, with no plain-language statement of what an App Store review detail is or how it differs from siblings like app_store_review_details_update_instance or app_clip_app_store_review_details_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives or of the related collection/relationship endpoints (e.g. app_store_versions_app_store_review_detail_get_to_one_relationship). The agent must infer everything 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.
app_store_review_details_update_instanceC
PATCH /v1/appStoreReviewDetails/{id} (PATCH /v1/appStoreReviewDetails/{id}) Body shape: see OpenAPI components.schemas.AppStoreReviewDetailUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreReviewDetailUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden, yet it only notes the HTTP method and that the body follows the JSON:API envelope. It says nothing about partial vs full replacement semantics, permission requirements, or side effects of the mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim inside parentheses ('PATCH /v1/appStoreReviewDetails/{id} (PATCH /v1/appStoreReviewDetails/{id})'), which is pure noise, and the only substantive content is an external-spec pointer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested-object body parameter, the description is inadequate. It defers the body shape to an external OpenAPI document the agent cannot read from this definition, leaving the update semantics effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body'. The description's only contribution is a pointer to an external OpenAPI schema reference, which adds no meaning beyond the structured fields, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP endpoint restated: 'PATCH /v1/appStoreReviewDetails/{id}'. It names a verb (PATCH) and a resource, but the resource name mirrors the tool name and the description never explains what an 'app store review detail' is or which fields can be updated, leaving it near-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as app_store_review_details_get_instance or the sibling app_clip/beta review-detail update tools. The agent gets no signal about when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_create_instanceC
[DEPRECATED] POST /v1/appStoreVersionExperiments (POST /v1/appStoreVersionExperiments) Body shape: see OpenAPI components.schemas.AppStoreVersionExperimentCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionExperimentCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only the deprecation status; it says nothing about what the call creates, whether it needs a specific App Store version context, side effects, or error behavior for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the front-loaded deprecation is followed by the redundant string 'POST /v1/appStoreVersionExperiments (POST /v1/appStoreVersionExperiments)' repeated twice, which wastes the one sentence of real estate available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, and no output schema, the description is far too thin: it does not summarize the required envelope fields, the deprecation migration path, or the effect of the call. Only the schema reference keeps it partly usable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (body) with 100% schema description coverage, so the baseline is 3. The description's pointer to 'components.schemas.AppStoreVersionExperimentCreateRequest' duplicates text already present in the schema's own body description, adding no new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states in words what the tool does; the verb+resource must be inferred from the HTTP mapping 'POST /v1/appStoreVersionExperiments' and the tool name. It does at least pin the resource and operation and marks the tool [DEPRECATED], which the name alone does not convey, but a reader gets no plain-language statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag is the only usage signal, and it is not followed by guidance: the description never names app_store_version_experiments_v2_create_instance as the replacement, nor says when this call is still acceptable. No prerequisites or migration path are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_delete_instanceC
[DEPRECATED] DELETE /v1/appStoreVersionExperiments/{id} (DELETE /v1/appStoreVersionExperiments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only offers the [DEPRECATED] marker. It does not state whether deletion is permanent, whether it requires special permissions, or what happens to associated treatments/localizations, so an agent cannot assess risk beyond inferring destructiveness from 'DELETE'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the same DELETE route is written twice in parentheses, which is pure redundancy. Every word should earn its place and the duplicated path does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, deprecated endpoint with no annotations and no output schema, the description is too thin. It never explains the deprecation (sunset date, migration path) or the consequences of the delete, so an agent lacks the context needed to call it safely or to choose between it and its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single id parameter already documented as 'the id of the requested resource'. The description adds nothing beyond repeating the {id} path placeholder, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (DELETE) and resource (appStoreVersionExperiments) plus the path parameter, so the operation is identifiable. But it essentially restates the tool name as a REST route, with the same string duplicated in parentheses, and offers nothing to distinguish it from the many sibling delete_instance tools beyond the route text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given. The [DEPRECATED] tag implies an alternative should be preferred, but the description never names the replacement (e.g., the v2 experiments endpoint that exists among siblings), leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_get_instanceC
[DEPRECATED] GET /v1/appStoreVersionExperiments/{id} (GET /v1/appStoreVersionExperiments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_appStoreVersionExperiments | No | the fields to include for returned resources of type appStoreVersionExperiments | |
| limit_appStoreVersionExperimentTreatments | No | maximum number of related appStoreVersionExperimentTreatments returned (when they are included) | |
| fields_appStoreVersionExperimentTreatments | No | the fields to include for returned resources of type appStoreVersionExperimentTreatments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses only that the operation is a GET and is deprecated. It says nothing about what is returned, whether includes/field selection are safe, auth requirements, or why deprecation matters. The deprecation notice is the sole piece of behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, which is good, but the content is redundantly duplicated inside the parentheses ('(GET /v1/appStoreVersionExperiments/{id})'), adding characters without adding meaning. Front-loading the deprecation notice is a plus, but the whole line is essentially filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter instance-fetch tool with no output schema and no annotations, the description is far too thin. It never explains the resource, the effect of the include/fields parameters, or where to go instead given the deprecation. An agent could call it, but has no real understanding of what it gets back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters (id, include, three fields_* filters, and the limit). The description adds no syntax, defaults, or interaction detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name as a REST path ('GET /v1/appStoreVersionExperiments/{id}'), which is essentially tautological rather than an explanation of what an app store version experiment is or what the call returns. The '[DEPRECATED]' tag adds a small amount of signal, but there is no plain-language statement of purpose. It does at least convey read (GET) semantics for a single resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is '[DEPRECATED]', which implies the agent should avoid it, but the description never names the replacement (e.g. app_store_version_experiments_v2_get_instance) despite that sibling existing. No when-to-use or when-not-to-use guidance, and no routing between v1 and v2.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_treatments_get_to_many_relationshipC
[DEPRECATED] GET /v1/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments (GET /v1/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it only adds the DEPRECATED flag. It does not describe pagination behavior for the to-many relationship, the shape of the returned linkage data, or any auth/permission requirements beyond what 'GET' implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loads the deprecation marker, which is good. However, the parenthetical repeats the same path verbatim, adding zero information and wasting half the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship endpoint with no output schema and no annotations, the description should explain what linkage/identifier data comes back and point to a replacement given the deprecation. Neither is present, leaving the agent with little beyond the raw path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: 'id' and 'limit' are both documented in the schema, so the schema does the heavy lifting. The description adds nothing about how the id identifies the experiment or how limit interacts with pagination, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name in URL form ('GET /v1/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments'), which is essentially a tautology rather than an explanation of what the call returns. It does convey the verb+resource shape, but it does not distinguish this tool from close siblings such as app_store_version_experiments_app_store_version_experiment_treatments_get_to_many_related or app_store_version_experiments_v2_treatments_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance offered is the [DEPRECATED] marker, which signals the tool should generally be avoided but names no replacement. There is no statement of when to use this relationship endpoint versus the related/v2 variants that appear in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_update_instanceC
[DEPRECATED] PATCH /v1/appStoreVersionExperiments/{id} (PATCH /v1/appStoreVersionExperiments/{id}) Body shape: see OpenAPI components.schemas.AppStoreVersionExperimentUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionExperimentUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it delivers almost nothing beyond the HTTP verb and path. It discloses deprecation status (useful lifecycle context) but says nothing about required permissions, whether changes are reversible, or side effects of updating an experiment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the deprecation flag and the endpoint. The parenthetical repeats the same PATCH path verbatim, which is mild redundancy, but there is no padding otherwise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating tool with no annotations, no output schema, and a free-form body object (additionalProperties: {}). The description defers body construction entirely to an external OpenAPI document that the agent likely cannot resolve, leaving the request shape effectively unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' and 'body' are documented in the schema. The description's only added value is pointing at components.schemas.AppStoreVersionExperimentUpdateRequest, which merely repeats the schema's own body description, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (appStoreVersionExperiments) and the operation (PATCH .../{id}), so an agent can tell this updates an existing experiment instance. It does not explicitly distinguish itself from the sibling app_store_version_experiments_v2_update_instance or note that a v2 successor exists, but the verb+resource pairing is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the '[DEPRECATED]' tag, which hints the tool should be avoided but never names the recommended alternative (e.g., the v2 update tool) or states conditions under which this legacy endpoint is still required. No when-to-use or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_v2_create_instanceD
POST /v2/appStoreVersionExperiments (POST /v2/appStoreVersionExperiments) Body shape: see OpenAPI components.schemas.AppStoreVersionExperimentV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionExperimentV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no side effects, no note on what the JSON:API envelope must contain or what happens on conflicts. For a create/mutation endpoint with zero annotation coverage this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim inside parentheses, which is pure waste, and the remaining content is a bare pointer. Roughly half the text fails the 'every sentence earns its place' test.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is far too thin: it explains nothing about the experiment resource, the envelope contract, or the result. Pointing at an external OpenAPI component is not enough to call it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single body parameter is documented as components.schemas.AppStoreVersionExperimentV2CreateRequest), so the structured field does the heavy lifting and the baseline is 3. The description merely echoes the same schema pointer without adding syntax, required-field or envelope-shape detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path (POST /v2/appStoreVersionExperiments), which is a tautology of the tool name app_store_version_experiments_v2_create_instance. It identifies a verb and resource in the most literal, mechanical way and gives no sense of what an app store version experiment actually is or what creating one accomplishes. Nothing here distinguishes it from its v1 sibling app_store_version_experiments_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the v1 vs v2 alternative that exists in the sibling list. The agent is left to infer 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.
app_store_version_experiments_v2_delete_instanceD
DELETE /v2/appStoreVersionExperiments/{id} (DELETE /v2/appStoreVersionExperiments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that deletion is irreversible, not what happens to child treatments/localizations, not permission requirements, not whether the experiment must be stopped first. For a destructive operation this is a severe gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure duplication of the route and title, so nothing earns its place. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a destructive action, the description should at minimum warn about irreversibility and side effects on related experiment entities. None of that is present, leaving an agent unable to call this responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single `id` parameter with 100% schema description coverage, so the schema fully documents it; per the baseline rule this lands at 3. The description adds no additional meaning (no explanation of which id, or how to obtain it) beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP route already encoded in the tool name, with the parenthetical duplicating it verbatim. An agent learns only that this deletes an appStoreVersionExperiment resource, with no differentiation from the sibling app_store_version_experiments_delete_instance (v1) or any statement of scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the near-identical v1 sibling delete_instance or the v2 update/create siblings. The agent must infer everything 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.
app_store_version_experiments_v2_get_instanceD
GET /v2/appStoreVersionExperiments/{id} (GET /v2/appStoreVersionExperiments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_controlVersions | No | maximum number of related controlVersions returned (when they are included) | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_appStoreVersionExperiments | No | the fields to include for returned resources of type appStoreVersionExperiments | |
| limit_appStoreVersionExperimentTreatments | No | maximum number of related appStoreVersionExperimentTreatments returned (when they are included) | |
| fields_appStoreVersionExperimentTreatments | No | the fields to include for returned resources of type appStoreVersionExperimentTreatments |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It says nothing about the operation being a read, what relationships are returned by default, whether the experiment must be in a particular state, or what permissions are needed. A bare HTTP route provides zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same route is printed twice in parentheses, which is redundancy rather than information. There is no front-loaded statement of purpose; the only content is the endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool exposing 8 parameters (relationship inclusion, sparse fields, limits) with no output schema and no annotations, the description is completely inadequate. An agent cannot determine what the response contains or when inclusion parameters are worthwhile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: all 8 parameters, including 'id', include/topic-sparse fields and limit params, are documented in the schema itself. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is the HTTP route duplicated verbatim: 'GET /v2/appStoreVersionExperiments/{id}'. It conveys that this is a read of a single app store version experiment and nothing more – there is no statement of what the tool actually does or returns. This is close to tautology, restating the tool name in path form.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling retrieval tools (e.g., app_store_version_experiments_get_instance, app_store_version_experiments_v2_treatments_get_to_many_relationship). No prerequisites, no caveats, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_v2_treatments_get_to_many_relationshipD
GET /v2/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments (GET /v2/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not the pagination behavior implied by 'limit', not the relationship-linkage semantics ('relationships' returns identifiers/links, not full resources), and not the return shape. The name suffix 'get_to_many_relationship' is the only hint, and it is left unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but entirely redundant: the same endpoint string appears twice, once bare and once in parentheses. There is no front-loaded plain-language purpose, so the brevity reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain the operation and its return semantics, and it does not. An agent cannot tell whether this returns relationship identifiers or full treatment resources, nor how paging behaves — material gaps for a GET-relationship endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both 'id' ('the id of the requested resource') and 'limit' ('maximum resources per page') are documented in the schema. The description adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name/path (GET /v2/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments), repeated twice. It adds no plain-language explanation of what the resource is and does not distinguish this 'relationship' variant from sibling tools such as app_store_version_experiments_v2_app_store_version_experiment_treatments_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the closely-named siblings (relationship vs related variants, v2 vs v1 experiment tools). The agent must infer usage purely from the URL path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiments_v2_update_instanceC
PATCH /v2/appStoreVersionExperiments/{id} (PATCH /v2/appStoreVersionExperiments/{id}) Body shape: see OpenAPI components.schemas.AppStoreVersionExperimentV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionExperimentV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. PATCH implies a partial update, but the description does not say which fields are mutable, whether omitted fields are preserved, whether changes are reversible, what permissions are required, or what happens to a running experiment. Only the body shape is hinted at via an OpenAPI schema reference the agent may not be able to resolve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wasteful: the path '(PATCH /v2/appStoreVersionExperiments/{id})' is duplicated verbatim, and the opening line is not front-loaded with a human-readable purpose. The space is spent on redundant path text rather than useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is inadequate. It defers the entire body contract to an external OpenAPI components reference rather than summarizing the updatable fields, and gives no indication of the response or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline is 3. The description adds only that the body follows the JSON:API envelope for AppStoreVersionExperimentV2UpdateRequest, which is marginally useful but does not go beyond the schema's own reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP path: 'PATCH /v2/appStoreVersionExperiments/{id}'. It conveys the verb (PATCH/update) and resource, but only in raw endpoint form and with no natural-language statement of what an update actually changes, and no differentiation from the v1 sibling app_store_version_experiments_update_instance. This is close to tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention the v1 experiment update tool, nor any preconditions such as the experiment being in a draft/editable state, nor when a PATCH is appropriate over a create/delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatment_localizations_create_instanceC
POST /v1/appStoreVersionExperimentTreatmentLocalizations (POST /v1/appStoreVersionExperimentTreatmentLocalizations) Body shape: see OpenAPI components.schemas.AppStoreVersionExperimentTreatmentLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionExperimentTreatmentLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about authentication requirements, side effects, whether creation is idempotent, or what happens on conflict. The only useful signal is a pointer to the OpenAPI request schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the redundant parenthetical repetition of the same path wastes a third of the text. Nothing is over-explained, but nothing extra is contributed either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a JSON:API create endpoint in a very large API family with a nested request object and no output schema or annotations, the definition omits the relationship linkage needed to build the body and gives no behavioral context. Pointing at an external OpenAPI schema is insufficient for an agent to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and schema description coverage is 100%, so the baseline is 3. However, the description merely repeats the schema's own pointer to components.schemas.AppStoreVersionExperimentTreatmentLocalizationCreateRequest and adds no field-level or envelope detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and endpoint path ('POST /v1/appStoreVersionExperimentTreatmentLocalizations') which duplicates the tool name's 'create_instance' suffix rather than explaining what creating a treatment localization accomplishes. It gives no indication of what the resource is or what the operation produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling create/update/delete tools (e.g., app_store_version_experiment_treatment_localizations_get_instance or _delete_instance). No prerequisites, no mention of the parent treatment resource that must exist first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatment_localizations_delete_instanceC
DELETE /v1/appStoreVersionExperimentTreatmentLocalizations/{id} (DELETE /v1/appStoreVersionExperimentTreatmentLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The verb DELETE implies a destructive, likely irreversible operation, but the description says nothing about permanence, cascade effects on child resources (preview sets, screenshot sets, placements), or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical repeats the exact path already stated, which is pure redundancy rather than added information. Brevity here reflects under-specification as much as conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description should at minimum note irreversibility or side effects. It provides none of that, leaving the agent without the context needed to invoke a delete safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is fully documented in the schema itself. The description adds no format, constraint, or origin information beyond what the schema already supplies, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and the exact resource path, so a reader can infer 'delete an app store version experiment treatment localization by id'. However, it is essentially a restatement of the tool name rendered as a URL, with the parenthetical duplicating the same string verbatim, and it offers no scope or differentiation from the many sibling delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of alternatives or related operations. The agent gets nothing about the conditions under which this delete is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatment_localizations_get_instanceD
GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id} (GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_placements | No | maximum number of related placements returned (when they are included) | |
| limit_appPreviewSets | No | maximum number of related appPreviewSets returned (when they are included) | |
| fields_appPreviewSets | No | the fields to include for returned resources of type appPreviewSets | |
| limit_appScreenshotSets | No | maximum number of related appScreenshotSets returned (when they are included) | |
| fields_appScreenshotSets | No | the fields to include for returned resources of type appScreenshotSets | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements | |
| fields_appStoreVersionExperimentTreatments | No | the fields to include for returned resources of type appStoreVersionExperimentTreatments | |
| fields_appStoreVersionExperimentTreatmentLocalizations | No | the fields to include for returned resources of type appStoreVersionExperimentTreatmentLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no pagination or caching behavior, no note on how include/limit/fields affect the response, and no statement that this is a read-only operation. A bare URL is effectively zero behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains nothing but the path — and the path is printed twice (bare and again in parentheses), adding zero information. Brevity born of redundancy and omission is not the same as efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 10-parameter fetch-by-id tool with no output schema and no annotations, so the description should explain the resource, the relationships exposed via 'include', and the sparse-fieldset/sparse-relationship parameters. Instead it supplies only a URL, leaving the agent with no context beyond the schema itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 10 parameters (id, include, limit_*, fields_*), so the schema itself documents every field's meaning. The description adds no parameter meaning beyond that, which lands exactly at the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the endpoint path 'GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}' — the same information already encoded in the snake_case tool name. It names a resource (app store version experiment treatment localization) via the URL, but never states in prose what that resource is or what retrieving it means, so it reads as a tautological restatement rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the many sibling read tools (e.g. app_store_version_experiment_treatment_localizations_get...relationship/related variants), and no indication of when a single-instance fetch is preferred over the collection tools. The raw path implies 'fetch one by id' but nothing more is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatment_localizations_placements_get_to_many_relationshipD
GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/placements (GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/placements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing about pagination behavior, what a 'to many relationship' response contains (identifiers vs. full resources), or any auth requirements. The only behavioral hint is the bare GET verb embedded in the path string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is entirely duplicated: the path appears twice, once as the description and once inside the parentheses. Nothing is front-loaded or organized because there is no prose at all; it is restatement rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship GET with no annotations and no output schema, the description should at least clarify what is returned (a list of placement identifiers/links) and how pagination interacts with the limit parameter. Neither is present, leaving an agent with only the raw endpoint string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself, so the baseline is 3. The description adds nothing about parameter meaning or the relationship between id and pagination, but the schema already handles this adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and HTTP path ('GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/placements'), including a redundant parenthetical duplicate of the same path. It does convey the raw operation (fetch the placements relationship for a treatment localization) but adds no explanatory content beyond the identifier itself, which is the definition of a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling tools that fetch the same placements via the 'related' variant, and no condition under which this relationship endpoint is preferred over them. An agent receives no routing help whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatment_localizations_preview_sets_get_to_many_relationshipC
GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appPreviewSets (GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appPreviewSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the URL. It does not mention pagination behavior, the shape of the returned relationship identifiers, or whether the operation is safe/read-only, all of which the agent must infer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in substance: the entire second half is a verbatim duplicate of the path already shown. That parenthetical repetition consumes space without adding information, so not every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no output schema and no annotations, the description should at minimum clarify the resource being returned and pagination. It leaves the agent to reconstruct intent entirely from the URL, which is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself. The description adds no meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and URL path, then repeats the identical path in parentheses. It never explains in prose that this retrieves the app preview sets related to an experiment treatment localization, so it functions as a tautology of the tool name rather than a description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint versus the many siblings, including the near-identical app_store_version_experiment_treatment_localizations_app_preview_sets_get_to_many_related tool. The agent gets no signal about the relationship-vs-related distinction or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatment_localizations_screenshot_sets_get_to_many_relationshipC
GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appScreenshotSets (GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appScreenshotSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It signals a read-only GET by virtue of the method, but says nothing about pagination behavior, whether linkage identifiers or full resources are returned, or any auth/permission requirements for reading an experiment treatment localization's screenshot sets.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only sentence by duplicating the identical URL string in both positions, providing no front-loaded purpose statement. It is under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain the return shape (relationship linkage vs. related resources), pagination, and the distinction from the parallel '..._get_to_many_related' sibling. None of that is present, leaving an agent unable to distinguish this from dozens of similar endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and limit are both documented in the schema), so the baseline of 3 applies. The description adds nothing beyond the schema, but the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP path restated twice: 'GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appScreenshotSets'. The method and resource are technically present, but this is essentially a tautological echo of the tool name with no explanation of what the relationship returns or how it differs from the sibling '..._app_screenshot_sets_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the many near-identical relationship endpoints in the sibling list (e.g. get_to_many_related, preview_sets, placements). The agent is left to 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.
app_store_version_experiment_treatments_create_instanceC
POST /v1/appStoreVersionExperimentTreatments (POST /v1/appStoreVersionExperimentTreatments) Body shape: see OpenAPI components.schemas.AppStoreVersionExperimentTreatmentCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionExperimentTreatmentCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It implies a write via POST, but says nothing about auth/permission requirements, required parent relationships, idempotency, or side effects. For a mutation tool with zero annotation coverage this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wasteful: the endpoint path is duplicated verbatim in parentheses, and the only remaining content is a schema pointer. Nothing is front-loaded that helps selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should at minimum explain the resource, the required parent linkage, and the body shape. Instead it defers to a components.schemas reference that is not included, leaving the agent unable to construct a valid request from the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter that the schema documents, so baseline 3 applies. The description adds nothing beyond a circular pointer to an external OpenAPI component reference, which the agent cannot resolve from the tool definition alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path of the underlying endpoint rather than stating what the tool does in domain terms. An agent gets more signal from the tool name ('create_instance' for app store version experiment treatments) than from the description itself. It does not distinguish this from sibling tools like app_store_version_experiment_treatments_update_instance or delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, what prerequisites exist (e.g., an existing parent experiment), or how it relates to the update/delete/get siblings. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatments_delete_instanceD
DELETE /v1/appStoreVersionExperimentTreatments/{id} (DELETE /v1/appStoreVersionExperimentTreatments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it discloses nothing: not that the operation is destructive and irreversible, not what happens to dependent treatment localizations, not authorization requirements, and not the response semantics. An agent learns only the HTTP method already implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the identical endpoint is pure waste with zero added information. Brevity here reflects under-specification rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive single-resource delete with no annotations, no output schema, and a 100%-documented but trivial schema. The description supplies none of the missing context — irreversibility, side effects, or auth scoping — so it is wholly inadequate for the operation's risk profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the single 'id' parameter is documented as 'the id of the requested resource' in the schema itself. The description adds no format, sourcing, or path-binding detail, so baseline 3 applies per the high-coverage rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare REST endpoint ("DELETE /v1/appStoreVersionExperimentTreatments/{id}") duplicated verbatim in parentheses. It restates what the tool name already encodes (delete_instance on app store version experiment treatments) without adding any prose explanation of the resource or intent. It identifies the verb and resource, but as a tautology of the name rather than a distinct clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this deletion versus alternatives such as app_store_version_experiment_treatments_update_instance or deleting the parent experiment. No prerequisites, no mention of ordering relative to sibling tools. Nothing beyond the raw endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatments_get_instanceC
GET /v1/appStoreVersionExperimentTreatments/{id} (GET /v1/appStoreVersionExperimentTreatments/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appStoreVersionExperiments | No | the fields to include for returned resources of type appStoreVersionExperiments | |
| fields_appStoreVersionExperimentTreatments | No | the fields to include for returned resources of type appStoreVersionExperimentTreatments | |
| limit_appStoreVersionExperimentTreatmentLocalizations | No | maximum number of related appStoreVersionExperimentTreatmentLocalizations returned (when they are included) | |
| fields_appStoreVersionExperimentTreatmentLocalizations | No | the fields to include for returned resources of type appStoreVersionExperimentTreatmentLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix implies a read-only fetch, which is the only behavioral signal, but nothing is said about authentication requirements, pagination of related resources, or the include/fields query semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the content is a verbatim duplication of the path with the parenthetical repeat adding zero information. Brevity here reflects under-specification rather than efficient, front-loaded communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource-fetch tool with six parameters, no annotations, and no output schema, the description provides nothing an agent needs beyond the raw path. It does not explain what the returned resource represents or how the include/fields options affect the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 6 well-documented parameters (id, include, several fields_* and limit_* filters), so the schema already does the heavy lifting. The description adds nothing beyond the schema, which yields the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only repeats the REST endpoint path verbatim (and does so twice), which is a tautological restatement of the tool name 'app_store_version_experiment_treatments_get_instance'. It conveys that this retrieves a single experiment-treatment resource by id but adds no distinguishing detail versus the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this versus alternatives such as app_store_version_experiment_treatments_localizations_get_to_many_related or the create/update/delete siblings. No prerequisites, context, 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.
app_store_version_experiment_treatments_localizations_get_to_many_relationshipD
GET /v1/appStoreVersionExperimentTreatments/{id}/relationships/appStoreVersionExperimentTreatmentLocalizations (GET /v1/appStoreVersionExperimentTreatments/{id}/relationships/appStoreVersionExperimentTreatmentLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing about pagination behavior despite the limit parameter, authorization requirements, response shape, or what a 'relationship' endpoint returns versus a 'related' one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is pure duplication: the same path appears twice with the second instance adding zero information. That is waste, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only relationship endpoint with full schema coverage and no output schema, an agent still needs to know what the relationship resolves to and how pagination behaves. Neither is covered, leaving the definition incomplete despite the low tool complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema, but it also does not obscure anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as a URL path, duplicated a second time inside parentheses. It does technically identify a GET against the appStoreVersionExperimentTreatmentLocalizations relationship, but conveys no more information than the name itself, so it reads as a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. With hundreds of near-identical sibling relationship endpoints (e.g. app_store_version_experiment_treatments_localizations_get_to_many_related), an agent gets no help deciding between this relationship endpoint and the related-resource variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_experiment_treatments_update_instanceC
PATCH /v1/appStoreVersionExperimentTreatments/{id} (PATCH /v1/appStoreVersionExperimentTreatments/{id}) Body shape: see OpenAPI components.schemas.AppStoreVersionExperimentTreatmentUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionExperimentTreatmentUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, yet it only says this is a PATCH and points at the OpenAPI schema for the body envelope. It does not state whether the update is partial or full, whether it requires specific permissions, whether it is reversible, or what happens to fields not included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence front-loads the route, which is good, but the parenthetical repeats the identical PATCH path verbatim, adding zero information. The remaining content is a schema pointer rather than a description, so the text is short without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body object, no annotations, and no output schema, the description is far too thin. An agent is left without the identity of the updatable fields, permission requirements, or the effect of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented in the schema. The description only adds a pointer to components.schemas.AppStoreVersionExperimentTreatmentUpdateRequest for the body shape, which is a marginal addition beyond the schema's own note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb (PATCH) and the exact resource path (appStoreVersionExperimentTreatments/{id}), which implies updating a specific experiment treatment. That is enough to distinguish it from the create/get/delete siblings, but it is a raw route string rather than a plain-language statement of what the operation accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no reference to alternatives such as the create/get/delete siblings or how an update differs from re-creating a treatment. The agent must infer all usage context from the HTTP method alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_app_preview_sets_get_to_many_relationshipC
GET /v1/appStoreVersionLocalizations/{id}/relationships/appPreviewSets (GET /v1/appStoreVersionLocalizations/{id}/relationships/appPreviewSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it only reveals the HTTP verb GET. It says nothing about pagination behavior via limit, whether results are linkages only versus full resources, auth requirements, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise: the same endpoint string appears twice inside a parenthetical, which wastes tokens without adding information, and there is no front-loaded plain-language statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a relationship endpoint whose semantics (linkage IDs vs. full preview set objects) genuinely matter, the description is far too thin. An agent could not determine from this text what the call returns or how it differs from the '_related' sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both id (the requested resource id) and limit (maximum resources per page) are documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path repeated verbatim, including a redundant parenthetical duplicate. It does technically name the resource (appStoreVersionLocalizations) and the relationship (appPreviewSets), but it never explains in plain language what operation is performed or what an app preview set is, so an agent must decode the URL to infer purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of siblings such as app_store_version_localizations_app_preview_sets_get_to_many_related or the app_store_version_localizations_app_screenshot_sets variants. The relationship-vs-related distinction, which is the only meaningful choice here, is left entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_app_screenshot_sets_get_to_many_relationshipC
GET /v1/appStoreVersionLocalizations/{id}/relationships/appScreenshotSets (GET /v1/appStoreVersionLocalizations/{id}/relationships/appScreenshotSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. The GET path implies a read operation, but the description does not state pagination behavior, what linkage identifiers are returned, required auth, or how this relationship response differs from the related-resource response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but the endpoint path is duplicated in parentheses, which is pure redundancy rather than useful elaboration. The most agent-relevant information is not front-loaded in plain language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no annotations and no output schema, the description should clarify what the relationship returns and how pagination works. It only repeats the REST path, leaving the agent without enough context to confidently distinguish it from related-resource siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the 'id' and 'limit' parameters are already documented in the schema. The description adds no additional meaning about the id's role or the pagination behavior of limit beyond restating the endpoint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific HTTP verb and resource path, indicating a GET of app screenshot set relationships for an app store version localization. However, it reads as a literal endpoint restatement and does not explain in plain terms how this differs from the sibling 'get_to_many_related' version or other localization relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint versus the related endpoint, nor when to prefer it over the localization-level screenshot set retrieval. The agent is left to infer usage from the endpoint path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_create_instanceC
POST /v1/appStoreVersionLocalizations (POST /v1/appStoreVersionLocalizations) Body shape: see OpenAPI components.schemas.AppStoreVersionLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, yet it discloses nothing beyond the HTTP verb: no auth/permission requirements, no side effects of creation, no uniqueness or locale constraints, no error behavior. It only points at an external OpenAPI schema for the body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the path is repeated verbatim within parentheses, which is pure redundancy. Two of the three clauses restate information an agent already has from the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-object create tool with no annotations and no output schema, the description is under-specified: it defers the entire body contract to an external OpenAPI reference the agent may not possess, and says nothing about the returned resource or post-creation state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the schema already documents it; the description adds only the note that the body follows the JSON:API envelope via components.schemas.AppStoreVersionLocalizationCreateRequest. That is a reference, not added semantic detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP path restated twice ("POST /v1/appStoreVersionLocalizations (POST /v1/appStoreVersionLocalizations)"), which is a tautology rather than a statement of purpose. The actual meaning (create a localization for an app store version) is only inferable from the tool name and the endpoint constant, not from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Nothing tells the agent when to use this create tool versus the sibling app_store_version_localizations_get_instance, _update_instance, _delete_instance, or the app_store_versions_app_store_version_localizations relationship tool. The only signal is the implied "create" from the name and POST verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_delete_instanceD
DELETE /v1/appStoreVersionLocalizations/{id} (DELETE /v1/appStoreVersionLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It says nothing about whether the deletion is permanent, whether it cascades to child resources (screenshot sets, preview sets, search keywords), what permissions are required, or what a successful response returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the same endpoint string repeated twice, which is pure filler rather than front-loaded substance. No sentence earns its place beyond identifying the route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no explanatory text, an agent gets no behavioral context for a destructive operation. For a one-parameter delete tool it is minimally callable from the name and schema alone, but the description itself is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it. The description adds no syntax, format, or sourcing guidance, but with full coverage the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw REST route 'DELETE /v1/appStoreVersionLocalizations/{id}' duplicated in parentheses. It does convey a delete on that resource, but it adds nothing beyond what the tool name already says and does not distinguish this from any other *_delete_instance sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are given. Nothing tells the agent when deleting a version localization is appropriate versus updating it or deleting the parent app store version.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_get_instanceC
GET /v1/appStoreVersionLocalizations/{id} (GET /v1/appStoreVersionLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_placements | No | maximum number of related placements returned (when they are included) | |
| limit_appPreviewSets | No | maximum number of related appPreviewSets returned (when they are included) | |
| limit_searchKeywords | No | maximum number of related searchKeywords returned (when they are included) | |
| fields_appPreviewSets | No | the fields to include for returned resources of type appPreviewSets | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| limit_appScreenshotSets | No | maximum number of related appScreenshotSets returned (when they are included) | |
| fields_appScreenshotSets | No | the fields to include for returned resources of type appScreenshotSets | |
| fields_appAssetLibraryPlacements | No | the fields to include for returned resources of type appAssetLibraryPlacements | |
| fields_appStoreVersionLocalizations | No | the fields to include for returned resources of type appStoreVersionLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not mention authentication requirements, pagination, how the include/limit/fields parameters affect the response, or that this is a read-only operation. It is purely an endpoint echo.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it wastes what little space it has by duplicating the same path twice in parentheses. It is front-loaded only in the trivial sense that there is nothing else. No bloat, but also no value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-instance tool with a rich 11-parameter schema and no output schema, the description should clarify what the resource represents and how include/limit/fields shape the response. Instead it provides only the raw path, leaving the agent with no context beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 11 parameters (id, include, limit_* and fields_*), so the schema fully documents each parameter's meaning. The description adds no parameter information, but per the baseline for high coverage, a 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as a URL template: 'GET /v1/appStoreVersionLocalizations/{id}'. It conveys only that it's a GET on a single resource by id, without explaining what an appStoreVersionLocalization is or how it differs from siblings like app_store_version_localizations_update_instance or the get_to_many_related variants. This is tautological rather than a meaningful purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The single required 'id' parameter implies it fetches one specific resource, but nothing states when to reach for this versus a collection or relationship endpoint. No exclusions or context are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_placements_get_to_many_relationshipC
GET /v1/appStoreVersionLocalizations/{id}/relationships/placements (GET /v1/appStoreVersionLocalizations/{id}/relationships/placements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses only that this is an HTTP GET. It says nothing about pagination, required scopes/permissions, whether it returns identifiers versus full resources, or how it differs from the '_related' variant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single line, but it is pure redundancy: the path is written twice with no additional information, so nothing is front-loaded or earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a relationship endpoint whose return values are entirely undocumented, the description leaves an agent unable to predict what the call yields. It is inadequate for even this simple two-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the 'id' and 'limit' parameters are already documented in the schema. The description adds no extra parameter meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path, 'GET /v1/appStoreVersionLocalizations/{id}/relationships/placements', duplicated in parentheses. It restates the tool name rather than defining in plain language what the call returns or why an agent would use it, so it sits at tautology level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling relationship tools (e.g. app_store_version_localizations_placements_get_to_many_related). The only implied usage comes from the 'GET ... relationships' shape of the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_search_keywords_create_to_many_relationshipC
POST /v1/appStoreVersionLocalizations/{id}/relationships/searchKeywords (POST /v1/appStoreVersionLocalizations/{id}/relationships/searchKeywords) Body shape: see OpenAPI components.schemas.AppStoreVersionLocalizationSearchKeywordsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionLocalizationSearchKeywordsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses only the HTTP method. It does not say whether existing search keywords are appended or replaced, what permissions/auth are required, whether the call is idempotent, or what side effects it has on the localization.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint string is duplicated verbatim in parentheses, which is pure waste, and the only remaining content is a schema pointer. Nothing meaningful is front-loaded to orient the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no annotations and no output schema needs the description to explain the semantic effect of 'create to-many relationship' (e.g., linking search keywords to a localization and what the response contains). The description supplies none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are documented in the schema, giving a baseline of 3. The description adds nothing beyond repeating the body schema reference already present in the schema, so no credit above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The endpoint echo 'POST /v1/appStoreVersionLocalizations/{id}/relationships/searchKeywords' encodes a specific verb and resource, so an agent can infer this adds search-keyword linkages to a localization. However, it never states the operation in plain language, which matters here because siblings like ..._search_keywords_get_to_many_relationship and ..._search_keywords_delete_to_many_relationship share the same resource and differ only by verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the get/delete siblings that operate on the same relationship. The agent must infer selection purely 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.
app_store_version_localizations_search_keywords_delete_to_many_relationshipC
DELETE /v1/appStoreVersionLocalizations/{id}/relationships/searchKeywords (DELETE /v1/appStoreVersionLocalizations/{id}/relationships/searchKeywords) Body shape: see OpenAPI components.schemas.AppStoreVersionLocalizationSearchKeywordsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionLocalizationSearchKeywordsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It implies a mutation via 'DELETE' and points at a linkages request schema, but never states that this removes relationship linkages (not the keyword resources themselves), whether the removal is partial or wholesale, or any permission/idempotency behavior. The linkage semantics are the single most important thing an agent needs and they are not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The URL is duplicated parenthetically for no benefit, wasting the single sentence's payload on redundant text. The body-shape note is tacked on rather than front-loaded, and no useful constraint is stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested body object, the definition should explain what the linkages request envelope means and the effect of the delete. Instead it defers entirely to an OpenAPI component name an agent cannot resolve from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two required parameters, so the schema already documents id and body. The description adds only a schema reference for the body shape, which is already stated in the schema itself. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and URL path verbatim, which effectively repeats the tool name rather than explaining the operation in agent-friendly terms. It does identify the resource (appStoreVersionLocalizations searchKeywords relationship), but there is no sibling differentiation against the get/create search_keywords variants that share the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the sibling alternatives (get_to_many_relationship, create_to_many_relationship). An agent gets nothing about when this DELETE should be chosen over a create or full-reference replacement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_search_keywords_get_to_many_relationshipD
GET /v1/appStoreVersionLocalizations/{id}/relationships/searchKeywords (GET /v1/appStoreVersionLocalizations/{id}/relationships/searchKeywords)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and delivers none of it. It does not say this is a read-only JSON:API linkage fetch, that it returns resource identifier objects rather than full keyword resources, or that 'limit' controls page size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the same path string is repeated verbatim inside the parentheses, which is pure duplication rather than useful information. The path is front-loaded but conveys no actionable directive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with no output schema and no annotations, the description should at minimum clarify the relationship-vs-related semantics and the return shape; it does neither. The only signal an agent gets is the URL template itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both params ('id' and 'limit'), so the schema already documents them fully; the description adds nothing beyond the path. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw endpoint path echoed twice, which restates the tool name rather than stating a purpose in plain language. It does encode the resource (appStoreVersionLocalizations) and the 'searchKeywords' relationship, but it never explains what the tool actually returns or how it differs from the sibling 'app_store_version_localizations_search_keywords_get_to_many_related', which is the distinction that matters most here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this relationship endpoint versus the 'related', 'create_to_many_relationship', or 'delete_to_many_relationship' siblings. No prerequisites, no context, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_localizations_update_instanceC
PATCH /v1/appStoreVersionLocalizations/{id} (PATCH /v1/appStoreVersionLocalizations/{id}) Body shape: see OpenAPI components.schemas.AppStoreVersionLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It conveys only that this is a PATCH (a mutation) and points at an OpenAPI schema for the body; it says nothing about required permissions, which fields are mutable, partial-vs-full update semantics, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but by under-specification rather than economy. The path is needlessly duplicated in parentheses, and the OpenAPI reference sends the agent to external documentation instead of front-loading what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations, no output schema, and an opaque free-form body, the agent is left unable to tell which localization fields it may update. Deferring entirely to an OpenAPI schema the agent may not have access to leaves the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters, making 3 the baseline. The description's pointer to components.schemas.AppStoreVersionLocalizationUpdateRequest merely repeats the body property's own schema description, adding no syntax or field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw endpoint restatement, "PATCH /v1/appStoreVersionLocalizations/{id}", duplicated verbatim in parentheses. It implies an update on a localization resource but adds no human-readable statement of purpose and does not distinguish this from the create/get/delete siblings beyond the operation identifier embedded in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Nothing tells the agent when to call update versus app_store_version_localizations_create_instance or _delete_instance, and no prerequisites or preconditions are given for a mutation endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_phased_releases_create_instanceD
POST /v1/appStoreVersionPhasedReleases (POST /v1/appStoreVersionPhasedReleases) Body shape: see OpenAPI components.schemas.AppStoreVersionPhasedReleaseCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionPhasedReleaseCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but discloses nothing about permissions, side effects, idempotency, rate limits, or what fields the body must contain beyond a schema reference. It only indicates an HTTP method and path, which is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes a redundant duplication of the same endpoint in parentheses. It is not front-loaded with a useful purpose statement, and the repetition wastes space rather than clarifying.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with nested body objects, no annotations, and no output schema, the description is severely lacking. It does not explain what a phased release is, what fields the body requires, what happens on success or failure, or any behavioral context needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for the single body parameter, already documenting the JSON shape reference. The description merely repeats the schema reference, adding no additional semantic meaning. Baseline 3 applies when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP route 'POST /v1/appStoreVersionPhasedReleases' repeated twice. It does not state in plain language what a phased release is or what creating one entails, and it fails to differentiate this tool from its siblings like app_store_version_phased_releases_update_instance or delete_instance. It restates the name rather than adding clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, what preconditions exist (e.g., an app store version must exist), or what the effect of creation is. The description is silent on usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_phased_releases_delete_instanceC
DELETE /v1/appStoreVersionPhasedReleases/{id} (DELETE /v1/appStoreVersionPhasedReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing about irreversibility, permission requirements, or what state change results from removing the phased release. The only signal is the literal 'DELETE' token, which merely repeats the operation type already implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but structurally wasteful: the identical path string is repeated twice in parentheses, adding zero information. Front-loading is fine, but the duplication is pure noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description should at minimum state that the phased release record is permanently removed and note any required role or precondition. None of that is present, leaving the agent without enough context to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'id' property documented as 'the id of the requested resource'. The description adds no syntax, format, or lookup guidance beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the tool name as an HTTP path, duplicated verbatim in parentheses. It does not explain in plain language what a phased release is or what deleting one accomplishes, so it is effectively a tautology of the name rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., that the phased release must exist or be inactive), and no routing to alternatives such as app_store_version_phased_releases_update_instance. The 'DELETE' verb implies usage minimally, but nothing is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_phased_releases_update_instanceC
PATCH /v1/appStoreVersionPhasedReleases/{id} (PATCH /v1/appStoreVersionPhasedReleases/{id}) Body shape: see OpenAPI components.schemas.AppStoreVersionPhasedReleaseUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionPhasedReleaseUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no note on required permissions, reversibility, what happens to unspecified fields under PATCH semantics, or side effects on App Store release rollout. Only 'PATCH' hints that this is a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short (one sentence), which is appropriate, but the endpoint is duplicated verbatim in the parenthetical '(PATCH /v1/appStoreVersionPhasedReleases/{id})', which is pure noise. Front-loading is fine but the duplication costs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested, opaque body object (additionalProperties with no field detail), no annotations, and no output schema. The description does not fill any of these gaps, leaving the agent without enough context to safely invoke the update.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description points to components.schemas.AppStoreVersionPhasedReleaseUpdateRequest for the JSON:API envelope, but the input schema already states the same schema name for 'body', so this is largely repeated rather than added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description maps the tool to 'PATCH /v1/appStoreVersionPhasedReleases/{id}', so an agent can infer an update operation on a phased release resource. However, it adds essentially nothing beyond what the tool name already encodes and does not distinguish the operation from the sibling create/delete phased-release tools. Purpose is identifiable but bare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives (e.g., create/delete phased releases, or get the phased release), no prerequisites (the phased release must presumably exist and be in an updatable state), and no conditions. Only the endpoint is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_promotions_create_instanceC
POST /v1/appStoreVersionPromotions (POST /v1/appStoreVersionPromotions) Body shape: see OpenAPI components.schemas.AppStoreVersionPromotionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionPromotionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it delivers almost none. It implies a mutation via 'POST' but says nothing about required permissions, side effects, whether the promotion is immediately active, or what a successful response contains. For a write tool with zero annotation coverage this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is stated twice in immediate succession ('POST /v1/appStoreVersionPromotions (POST /v1/appStoreVersionPromotions)'), which is wasted space in an already thin description. The remaining sentence is functional but the duplication undermines front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should explain what is being created and what to expect. Instead it offers only an endpoint and a schema reference, leaving the agent unable to call it correctly with confidence about the payload's intent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single body parameter is already documented with its JSON:API envelope shape. The description's pointer to components.schemas.AppStoreVersionPromotionCreateRequest repeats what the schema already says, adding no new meaning. Baseline 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path (POST /v1/appStoreVersionPromotions), duplicating itself in parentheses. It never explains what an app store version promotion is or what creating one accomplishes, so the agent learns nothing beyond the endpoint name. It reads as a tautology of the tool name rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling create_instance tools. The agent is given no basis for choosing this tool over, say, app_store_version_phased_releases_create_instance or other promotion-adjacent endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_release_requests_create_instanceC
POST /v1/appStoreVersionReleaseRequests (POST /v1/appStoreVersionReleaseRequests) Body shape: see OpenAPI components.schemas.AppStoreVersionReleaseRequestCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionReleaseRequestCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only the HTTP verb and that a JSON:API body is expected; it says nothing about side effects (this initiates an app release), required permissions, idempotency, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The path is repeated verbatim inside parentheses ('POST /v1/appStoreVersionReleaseRequests (POST /v1/appStoreVersionReleaseRequests)'), which is pure redundancy in a two-sentence description. It is short but not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations, no output schema, and an opaque body schema (additionalProperties: {}), the description omits what an agent most needs: what the call accomplishes, what it requires, and what happens as a result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the schema already documents it and the baseline is 3. The description's pointer to components.schemas.AppStoreVersionReleaseRequestCreateRequest duplicates what the schema already says and adds no new semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and path: 'POST /v1/appStoreVersionReleaseRequests'. It never explains in domain terms what a version release request does (e.g., request that an approved App Store version go live), so an agent gets no more than it could infer from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative sibling (e.g., phased releases or submissions). The agent is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_alternative_distribution_package_get_to_one_relationshipC
GET /v1/appStoreVersions/{id}/relationships/alternativeDistributionPackage (GET /v1/appStoreVersions/{id}/relationships/alternativeDistributionPackage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the HTTP verb. It does not state that this returns a relationship/linkage object rather than the related resource, nor how it differs from the related endpoint, which is the key behavioral distinction in this API family.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, so it is not verbose, but the single sentence is a verbatim duplication of the endpoint path and the tool name, so it does not earn its place by conveying new information. Adequate in size, zero in added signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral context for a relationship endpoint, and it omits whether the result is linkage data or a full resource, whether pagination applies, and how to choose the 'related' sibling. For a one-parameter, no-annotation tool the description leaves the agent substantially under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter ('id') and the schema documents it at 100% coverage as 'the id of the requested resource'. The description adds no meaning about what the id identifies (an appStoreVersion id) or any format expectations. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is simply the raw HTTP path repeated twice, which restates the tool name rather than explaining what the tool does. An agent can infer it performs a GET on the alternativeDistributionPackage relationship of an appStoreVersion, but gets no plain-language statement of purpose and nothing that distinguishes it from app_store_versions_alternative_distribution_package_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the near-identical sibling _get_to_one_related, which is the natural alternative an agent must choose between. The path alone hints at a read operation, but nothing tells the agent when this relationship endpoint is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_clip_default_experience_get_to_one_relationshipC
GET /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience (GET /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The 'GET' prefix implies a read, but there is no statement about auth requirements, what the linkage payload contains, or how it differs from the related-resource endpoint. For a zero-annotation tool this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely wasted: the same endpoint string appears twice, once in prose and once parenthetically. There is no front-loaded statement of purpose, so the brevity reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 1-parameter tool with no annotations and no output schema, the description should at minimum say what the relationship endpoint returns (linkage identifiers versus related resources) and that the id belongs to an appStoreVersion. None of that is present, leaving the agent unable to distinguish this tool from its 'related' and 'update_to_one_relationship' siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage ('the id of the requested resource'), the schema already does the work, so the baseline of 3 applies. The description's '{id}' path template adds only marginal confirmation that id is a path segment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint identifier already encoded in the tool name: 'GET /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience' duplicated in parentheses. It technically names a verb and resource, but adds no semantic explanation of what the relationship linkage is or what the caller gets back. An agent learns nothing it could not parse from the tool name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the obvious alternative. Siblings such as app_store_versions_app_clip_default_experience_get_to_one_related and app_store_versions_app_clip_default_experience_update_to_one_relationship exist, and the description never explains how 'relationships' differs from 'related' or when the read (rather than update) variant applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_clip_default_experience_update_to_one_relationshipC
PATCH /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience (PATCH /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience) Body shape: see OpenAPI components.schemas.AppStoreVersionAppClipDefaultExperienceLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionAppClipDefaultExperienceLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a mutation via PATCH but never states what a relationship PATCH actually does (likely replaces the to-one linkage), nor whether it is idempotent, requires auth/permissions, or what happens to the prior value. Pointing at the OpenAPI component name for the body is the sole behavioral hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint string is duplicated parenthetically with zero added information, which is pure waste in an already very short description. What remains is a single pointer to a schema name, with no front-loaded explanation of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is inadequate: it never explains what the operation semantically accomplishes (replacing a linkage) or its side effects. With nested-object params and a JSON:API envelope, an agent needs more than a raw endpoint and a schema pointer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters. The description adds nothing beyond what the schema states, merely repeating the body schema reference that already appears in the body property description. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP endpoint restated verbatim twice (PATCH /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience). The path does encode a specific verb+resource (update the appClipDefaultExperience to-one relationship on an appStoreVersion), so an agent can distinguish it from the sibling get_to_one_relationship variant, but no plain-language purpose is ever stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The only routing signal is the endpoint itself, which the agent must decode on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_store_review_detail_get_to_one_relationshipC
GET /v1/appStoreVersions/{id}/relationships/appStoreReviewDetail (GET /v1/appStoreVersions/{id}/relationships/appStoreReviewDetail)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The only behavioral signal is the embedded 'GET', implying a read-only fetch. Nothing is said about what is returned (a resource-identifier object rather than the review detail fields), whether pagination applies, or failure modes such as 404 when no review detail exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but only because it contains no information. The endpoint path is needlessly duplicated inside parentheses, which is pure waste, and there is no front-loaded statement of what the tool accomplishes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain the return value and semantics on its own, and it does not. An agent cannot tell from this text what a 'relationships' fetch yields versus the 'related' sibling, making the definition insufficient for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage, the schema already documents 'id' as the requested resource id. The description adds nothing beyond that, so the baseline of 3 applies. It does not clarify whether the id refers to the App Store version (the parent) or the review detail itself, which is a real ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw endpoint path, which is a restatement of the tool name in URL form rather than an explanation of purpose. It never says in plain language that it returns the linkage (relationship data) for the App Store review detail of a given App Store version, nor does it distinguish itself from the sibling app_store_versions_app_store_review_detail_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The critical distinction between the 'relationship' variant (returns identifiers/linkage) and the 'related' variant (returns the full resource) is entirely absent, leaving the agent to guess between near-identical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_store_version_experiments_get_to_many_relationshipC
[DEPRECATED] GET /v1/appStoreVersions/{id}/relationships/appStoreVersionExperiments (GET /v1/appStoreVersions/{id}/relationships/appStoreVersionExperiments)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The GET prefix plus [DEPRECATED] does convey that this is a read and should be avoided, but it says nothing about pagination behavior, the shape of the relationship response, whether the parent version must belong to a specific app, or which replacement endpoint to migrate to. For a deprecated relationship endpoint with zero annotation coverage that is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The deprecation flag is correctly front-loaded, which is the right priority. However, the tool name and the identical URL are then repeated, with the route printed twice in the parenthetical, so a meaningful share of the text is pure duplication rather than added information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description is the only place an agent could learn what the response contains and how the deprecation should be handled. Neither is covered: it never names the successor endpoint or explains that the returned data are resource identifiers/links rather than full experiment objects, which is the key distinction from the get_to_many_related sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two parameters, both documented in the schema ('id' of the requested resource, 'limit' as maximum resources per page), so a baseline of 3 applies. The description adds no meaning beyond that – it does not clarify whether 'id' is an appStoreVersion id or how limit interacts with pagination links.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource path (appStoreVersions/{id}/relationships/appStoreVersionExperiments), so an agent can infer it lists the experiment relationships for one app store version. But it only restates the HTTP route rather than stating the verb+resource in prose, and it gives no sense of what a 'relationship' returns versus the related-resource variants. The [DEPRECATED] marker is the only genuinely informative element.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and no alternative is named even though sibling tools such as app_store_versions_app_store_version_experiments_v2_get_to_many_relationship and app_store_versions_app_store_version_experiments_get_to_many_related obviously overlap. The deprecation tag implies 'prefer something else' but never says what, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_store_version_experiments_v2_get_to_many_relationshipC
GET /v1/appStoreVersions/{id}/relationships/appStoreVersionExperimentsV2 (GET /v1/appStoreVersions/{id}/relationships/appStoreVersionExperimentsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read via 'GET', but says nothing about pagination behavior, what the relationship identifiers represent, whether the data is sparse vs full, or auth requirements. For a tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is stated twice with no added content, so half the text is pure redundancy rather than a front-loaded, human-readable summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated relationship endpoint with no output schema, the description should at least clarify that it returns related experiment resource identifiers and how 'limit' paginates. None of that context is present; only the URL is echoed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' and 'limit' are already documented in the schema, so the description adds nothing about parameters. Per the high-coverage baseline, a 3 is appropriate — the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path, repeated identically inside parentheses — 'GET /v1/appStoreVersions/{id}/relationships/appStoreVersionExperimentsV2 (...same...)'. It restates the tool name rather than explaining in plain language that it fetches the to-many relationship listing of V2 experiments for a given app store version. It is essentially a tautology with a duplicated fragment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this relationship endpoint versus the dozens of sibling to-many relationship tools, nor when to prefer the 'related' variant or app_store_version_experiments_v2_get_instance. Only the implicit GET semantics convey any usage cue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_store_version_localizations_get_to_many_relationshipD
GET /v1/appStoreVersions/{id}/relationships/appStoreVersionLocalizations (GET /v1/appStoreVersions/{id}/relationships/appStoreVersionLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The only behavioral signal is the implicit 'GET', which suggests a read-only operation. Nothing is said about pagination (despite a 'limit' parameter), return shape, or the fact that a relationship endpoint returns linkage identifiers rather than full resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but contains zero information density: the same endpoint path is printed twice, once bare and once in parentheses. That redundancy wastes the only sentence the description has, so brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description should at minimum explain that it returns resource linkage (identifiers) for the localizations of a version, and how it differs from the 'related' sibling that returns full resources. None of that is present, leaving the agent unable to call this correctly among hundreds of similar endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds no meaning beyond the schema, not even clarifying that '{id}' refers to the app store version ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name/endpoint restated: 'GET /v1/appStoreVersions/{id}/relationships/appStoreVersionLocalizations' followed by the same path in parentheses. It contains a verb and a resource path, but it adds no plain-language explanation of what the operation returns or why an agent would call it. It also fails to distinguish it from the near-identical sibling app_store_versions_app_store_version_localizations_get_to_many_related (relationship vs related).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this endpoint versus the many sibling endpoints, nor any prerequisites, filters, or exclusions. The agent is left to infer usage entirely from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_store_version_phased_release_get_to_one_relationshipD
GET /v1/appStoreVersions/{id}/relationships/appStoreVersionPhasedRelease (GET /v1/appStoreVersions/{id}/relationships/appStoreVersionPhasedRelease)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The 'GET' verb implies a read-only operation, but there is no mention of auth requirements, what the response contains (a linkage object vs. full resource), or any error/edge behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string is printed twice with no added information, and nothing meaningful is front-loaded. The space is wasted on duplication rather than explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the only place an agent could learn what this relationship fetch returns and how it differs from the 'related' sibling, and it provides none of that. For a tool in a large family of near-identical relationship endpoints, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single 'id' parameter (100% coverage), so the baseline is 3. The description adds no meaning beyond the schema, such as which resource type the id must reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path, duplicated in parentheses. The GET verb and path do identify the resource being read (the phased-release relationship on an appStoreVersion), but this restates the tool name rather than explaining what a phased release relationship is or how it differs from the sibling '..._get_to_one_related' variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to call this tool, what id to supply, or why an agent would choose it over app_store_versions_app_store_version_phased_release_get_to_one_related or app_store_versions_app_store_version_phased_release_get_to_one_relationship alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_app_store_version_submission_get_to_one_relationshipC
[DEPRECATED] GET /v1/appStoreVersions/{id}/relationships/appStoreVersionSubmission (GET /v1/appStoreVersions/{id}/relationships/appStoreVersionSubmission)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that the operation is a GET (read) and that it is deprecated; it says nothing about required auth/roles, that a relationship endpoint returns linkage rather than full resource attributes, or what happens if no submission exists. For a tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the content is wasted: the same path is printed twice, once as the endpoint and again in parentheses, which is pure redundancy. It is front-loaded only in the trivial sense of being one line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated single-parameter relationship GET with no output schema and no annotations, the description should at minimum clarify the relationship-vs-related distinction and point to a replacement for the deprecated endpoint. Neither is present, leaving the agent unable to call this correctly or choose an alternative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter and schema description coverage is 100%, so the schema already documents 'id' as 'the id of the requested resource'. The description adds no further meaning, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name rendered as an HTTP path ('GET /v1/appStoreVersions/{id}/relationships/appStoreVersionSubmission'), duplicated twice in parentheses. It conveys only that this is a read of the appStoreVersionSubmission relationship, with no plain-language statement of what the tool actually returns or how it differs from the near-identical sibling app_store_versions_app_store_version_submission_get_to_one_related. The '[DEPRECATED]' tag is the only added information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the 'related' variant or the delete_instance submission tool. The '[DEPRECATED]' prefix is a weak usage signal (don't use), but it names no replacement, so an agent still has no routing instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_build_get_to_one_relationshipC
GET /v1/appStoreVersions/{id}/relationships/build (GET /v1/appStoreVersions/{id}/relationships/build)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing behavioral: not whether it returns id-only linkage versus full resource data, not authentication or rate-limit expectations, not pagination. It does not even state that this is a read-only operation beyond the implicit 'GET' in the path echo.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is the same string repeated twice, once bare and once in parentheses, so half the content is pure duplication. There is no front-loaded explanation of purpose or behavior; the only content is a path echo.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description is the sole source of context, yet it explains nothing about what the call returns or how to interpret the result. For a relationship endpoint with a near-identical sibling, that is inadequate, though the single required parameter is simple enough that the tool is not unusable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter ('id') exists and schema description coverage is 100%, so the schema already documents it fully. The description adds no meaning beyond the schema, which lands at the baseline of 3 for a fully-covered single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description echoes the REST path 'GET /v1/appStoreVersions/{id}/relationships/build', which does convey a verb and a resource, so the agent can infer it fetches the build linkage for an app store version. However, it never explains what a 'relationship' fetch returns or why it differs from the sibling 'app_store_versions_build_get_to_one_related', which is the key disambiguation an agent needs. It is closer to a raw endpoint echo than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus 'app_store_versions_build_get_to_one_related' or 'app_store_versions_build_update_to_one_relationship'. The agent gets no context, prerequisites, or exclusions, only the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_build_update_to_one_relationshipC
PATCH /v1/appStoreVersions/{id}/relationships/build (PATCH /v1/appStoreVersions/{id}/relationships/build) Body shape: see OpenAPI components.schemas.AppStoreVersionBuildLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionBuildLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It only restates the HTTP method and points at a schema name; it does not disclose that this is a mutation replacing a to-one linkage, what state constraints or permissions apply, or whether the change is reversible. The body-shape pointer is the only added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence, but the PATCH path is duplicated verbatim in parentheses, wasting space, and the substantive information (body envelope) is a bare schema reference rather than an explanation. Front-loading is present but the content is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a relationship-mutation tool with a nested JSON:API body, no annotations, and no output schema, so the description should clarify what the operation does and what the envelope requires. Instead it defers everything to an external schema reference, leaving the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and body parameters are already documented in the schema. The description adds nothing beyond naming the AppStoreVersionBuildLinkageRequest schema for the body, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a verb and resource only through the raw HTTP path (PATCH .../relationships/build), which an agent must parse to infer 'update the build linkage of an app store version.' It never states the purpose in plain language and does not differentiate itself from the sibling app_store_versions_build_get_to_one_relationship, which describes the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool, what precondition (e.g. a version in an editable state) is required, or how it differs from the related get/related endpoints. The agent is left to infer usage entirely from the URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_create_instanceC
POST /v1/appStoreVersions (POST /v1/appStoreVersions) Body shape: see OpenAPI components.schemas.AppStoreVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about permissions, side effects, required auth, or what state changes result. The only signal is the implicit 'POST = create' mutation, which is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but not efficient: it repeats 'POST /v1/appStoreVersions' twice in immediate succession and provides no actual content. Redundancy rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation taking a nested JSON:API envelope body, with no annotations and no output schema, this is inadequate. It doesn't describe required body fields, the JSON:API structure, or success behavior, leaving the agent dependent on an external, unresolvable schema reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 100% schema description coverage, the schema already documents the body, so the baseline is 3. The description merely points to the same OpenAPI schema reference the schema field already cites, adding no syntax or field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path for what the tool name already conveys, and it repeats the path verbatim in parentheses. It never explains what an App Store version is or what creating one accomplishes in the domain, and with hundreds of sibling create tools it offers no differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites (e.g., an existing app, build, or platform). The agent gets no routing information at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_customer_reviews_get_to_many_relationshipC
GET /v1/appStoreVersions/{id}/relationships/customerReviews (GET /v1/appStoreVersions/{id}/relationships/customerReviews)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the path: no pagination behavior, no return shape, no auth requirements. It is a pure endpoint restatement with zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Sized very small, but the single sentence is pure duplication of the name/path repeated twice, so no sentence earns its place. Brevity here reflects emptiness rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param GET with no output schema and no annotations, the description still omits the one thing that matters: how this relationship endpoint differs from the related sibling. An agent has no basis to pick correctly between them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only 2 parameters (id, limit), so the schema already documents both. The description adds no syntax or format detail, which is the expected baseline of 3 when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as a URL path, duplicated verbatim inside parentheses. It conveys the HTTP verb and resource but adds nothing an agent couldn't infer from the name, and it does not distinguish this 'relationship' endpoint from the sibling app_store_versions_customer_reviews_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. There is no hint about whether to prefer this 'relationship' variant or the sibling 'related' variant for the same customerReviews data, leaving selection entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_delete_instanceD
DELETE /v1/appStoreVersions/{id} (DELETE /v1/appStoreVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it supplies nothing beyond the word DELETE. It does not state that the operation is irreversible, that related resources (localizations, screenshot sets, review details) may be affected, what permissions are required, or what a successful/error response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but roughly half the text is a pointless parenthetical duplicate of the first half. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive DELETE endpoint with no annotations and no output schema, the description omits every operational detail an agent needs: destructiveness, reversibility, side effects on child resources, and error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' parameter already documented as 'the id of the requested resource'. The description adds nothing about the parameter, so the baseline 3 applies since the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP route 'DELETE /v1/appStoreVersions/{id}', duplicated verbatim in parentheses. It restates the tool name (app_store_versions_delete_instance) rather than explaining the operation, and gives no differentiation from the many sibling delete tools (pass_type_ids_delete_instance, app_preview_sets_delete_instance, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to delete an app store version versus alternatives, no prerequisites (e.g. version must not be attached to a release or submission), and no named sibling. The agent is left to infer everything from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_game_center_app_version_get_to_one_relationshipD
GET /v1/appStoreVersions/{id}/relationships/gameCenterAppVersion (GET /v1/appStoreVersions/{id}/relationships/gameCenterAppVersion)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing about the operation's behavior: whether it is a safe read, what the relationship object contains, whether pagination or sparse fieldsets apply, or what happens if the id is unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from saying nothing rather than from efficiency. The same URL string is duplicated inside its own parentheses, which is pure noise rather than front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no prose, an agent learns nothing about what this relationship endpoint returns or how to use the result. For a tool in a dense family of near-identical relationship endpoints, this is entirely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it as 'the id of the requested resource'. Per the rubric this sets a baseline of 3; the description adds no additional parameter meaning beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP route repeated verbatim in parentheses: 'GET /v1/appStoreVersions/{id}/relationships/gameCenterAppVersion'. It conveys a verb and a resource path, but adds no meaning beyond the tool name itself, and it does nothing to distinguish this tool from the sibling 'app_store_versions_game_center_app_version_get_to_one_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of the closely named sibling that would be the obvious alternative. An agent has no basis for choosing between this and the _get_to_one_related variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_get_instanceD
GET /v1/appStoreVersions/{id} (GET /v1/appStoreVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_routingAppCoverages | No | the fields to include for returned resources of type routingAppCoverages | |
| fields_appStoreReviewDetails | No | the fields to include for returned resources of type appStoreReviewDetails | |
| fields_gameCenterAppVersions | No | the fields to include for returned resources of type gameCenterAppVersions | |
| fields_appClipDefaultExperiences | No | the fields to include for returned resources of type appClipDefaultExperiences | |
| limit_appStoreVersionExperiments | No | maximum number of related appStoreVersionExperiments returned (when they are included) | |
| fields_appStoreVersionExperiments | No | the fields to include for returned resources of type appStoreVersionExperiments | |
| fields_appStoreVersionSubmissions | No | the fields to include for returned resources of type appStoreVersionSubmissions | |
| limit_appStoreVersionExperimentsV2 | No | maximum number of related appStoreVersionExperimentsV2 returned (when they are included) | |
| limit_appStoreVersionLocalizations | No | maximum number of related appStoreVersionLocalizations returned (when they are included) | |
| fields_appStoreVersionLocalizations | No | the fields to include for returned resources of type appStoreVersionLocalizations | |
| fields_appStoreVersionPhasedReleases | No | the fields to include for returned resources of type appStoreVersionPhasedReleases | |
| fields_alternativeDistributionPackages | No | the fields to include for returned resources of type alternativeDistributionPackages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no auth/scope requirements, no note that this is a safe read, no hint that include/fields parameters expand or trim the payload. A bare HTTP verb and path is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the string 'GET /v1/appStoreVersions/{id}' is printed twice in a redundant parenthetical, which is pure noise rather than useful brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource with 17 parameters covering relationship inclusion and sparse fieldsets, no output schema, and no annotations, the description should at minimum explain the include/fields semantics and the read-only nature. It explains none of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 17 parameters, so the schema already documents id, include, and the many fields_* / limit_* options. With coverage this high and no parameter commentary in the description, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name restated in REST form: 'GET /v1/appStoreVersions/{id}'. It conveys only that a single appStoreVersion is fetched by id, adding nothing beyond the name, and does nothing to separate it from siblings like app_store_versions_update_instance or app_store_versions_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot tell from the description why it would call this rather than app_store_versions_alternative_distribution_package_get_to_one_related or a list endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_routing_app_coverage_get_to_one_relationshipD
GET /v1/appStoreVersions/{id}/relationships/routingAppCoverage (GET /v1/appStoreVersions/{id}/relationships/routingAppCoverage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not say whether the response is a relationship linkage object versus a full resource, whether the coverage may be null/absent, or anything about pagination or auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in any useful sense: it is the same URL printed twice, once bare and once in parentheses, with zero informational content. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations, no output schema, and a many-sibling namespace that includes both '_relationship' and '_related' variants, the description explains none of the distinctions an agent needs. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it ('the id of the requested resource'). The description adds no meaning beyond that, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path duplicated verbatim inside parentheses, which merely restates the tool name. It reveals the HTTP verb and resource path but adds no plain-language statement of what the tool returns, and it does not distinguish this relationship endpoint from the sibling app_store_versions_routing_app_coverage_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this tool, what state or IDs are needed, or why an agent would choose it over the near-identical '_related' sibling. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_version_submissions_delete_instanceC
[DEPRECATED] DELETE /v1/appStoreVersionSubmissions/{id} (DELETE /v1/appStoreVersionSubmissions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. Apart from flagging deprecation, it says nothing about reversibility, required permissions, side effects on the related app store version, or error behavior — significant gaps for a destructive delete operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation marker, which is good. But the route is duplicated verbatim in parentheses, which is pure redundancy and the only real content the description carries.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated destructive endpoint with no annotations and no output schema, an agent still needs to know the replacement path, side effects, and permission requirements. None of that is present, leaving the definition inadequate for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, so the schema already documents it. The description adds nothing beyond echoing the {id} path placeholder, matching the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb (DELETE) and the resource path (appStoreVersionSubmissions/{id}), so the operation is identifiable. However, it is essentially the tool name and route restated, with no plain-language statement of what a submission is or what deleting it accomplishes, and no differentiation from the many other delete_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag hints that the tool should be avoided, but the description never says what to use instead, nor under what conditions deletion is appropriate or permitted. No when-to-use or when-not-to-use guidance is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_store_versions_update_instanceC
PATCH /v1/appStoreVersions/{id} (PATCH /v1/appStoreVersions/{id}) Body shape: see OpenAPI components.schemas.AppStoreVersionUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppStoreVersionUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discharges none of it. It does not state whether this is a partial or full update, what permissions are required, which states permit modification (e.g., only versions in editable state), or what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wasteful: the same route string is repeated verbatim in parentheses, providing zero additional information. Two of the three clauses are redundant, leaving a single useful pointer to the request schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, and no output schema, the description is inadequate. The actual updateable field set is deferred entirely to an external OpenAPI document, so an agent cannot construct a correct body from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented in the schema), so the baseline is 3. The description only points at components.schemas.AppStoreVersionUpdateRequest for the body shape rather than explaining any field meaning, adding little beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and its HTTP route: 'PATCH /v1/appStoreVersions/{id}'. It does not say in semantic terms what an App Store version is or which attributes can be changed (e.g., release type, version string, build attachment). An agent learns only what the name already implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives are named despite siblings like app_store_versions_create_instance, app_store_versions_get_instance and app_store_versions_delete_instance existing. The endpoint verb is the only contextual signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_update_instanceC
PATCH /v1/apps/{id} (PATCH /v1/apps/{id}) Body shape: see OpenAPI components.schemas.AppUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. The PATCH verb implies a partial mutation, and pointing to components.schemas.AppUpdateRequest is a mild aid, but it says nothing about permissions required, which fields are mutable, reversibility, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the HTTP method, but the parenthetical repeats the same route verbatim, which is wasted text, and brevity comes at the cost of real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with nested body objects, no annotations, and no output schema, the description is far too thin. It defers all substantive meaning to an external OpenAPI document that the agent may not have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and body parameters are already documented in the schema (including the AppUpdateRequest reference). The description adds no syntax or format detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restated HTTP route ("PATCH /v1/apps/{id}") rather than a statement of what the tool does. An agent can infer an app-record update from the verb-in-path, but no human-readable purpose, scope, or affected resource is given, and it is not differentiated from the many sibling *_update_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as apps_get_instance (read), apps_get_collection, or other update tools. The agent is left to guess entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apps_webhooks_get_to_many_relationshipD
GET /v1/apps/{id}/relationships/webhooks (GET /v1/apps/{id}/relationships/webhooks)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the request path — no auth requirements, no pagination behavior, no note that it returns related-resource linkage rather than full webhook objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string is repeated verbatim inside parentheses, which is pure redundancy rather than useful conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no annotations and no output schema, the description should at minimum explain what a 'relationships/webhooks' response contains. Nothing is explained, though the schema does cover the inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and limit parameters. The description adds nothing for either, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name as a raw HTTP URL, duplicated in parentheses. It names no verb and gives no natural-language statement of what is retrieved, and it does not distinguish this tool from the sibling apps_webhooks_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance of any kind about when to call this tool, what it returns, or how it differs from the near-identical apps_webhooks_get_to_many_related sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_tags_territories_get_to_many_relationshipD
GET /v1/appTags/{id}/relationships/territories (GET /v1/appTags/{id}/relationships/territories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The only behavioral signal is the embedded 'GET', which weakly implies a safe read, but there is nothing about pagination behavior, auth requirements, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the identical route verbatim, so the second half earns nothing. Brevity here comes from under-specification, not from efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and only a raw route string, an agent has no information about what is returned or how the relationship resolves. For a relationship-fetch tool this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline is 3. The description adds no additional meaning about the id path segment or the limit semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP route, effectively duplicating the tool name and conveying nothing beyond 'GET on the appTags territories relationship'. It is a tautology rather than a statement of what the tool does or returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives, and no exclusions. Given the huge number of sibling *_get_to_many_relationship tools, the absence of any routing help is a serious gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
app_tags_update_instanceC
PATCH /v1/appTags/{id} (PATCH /v1/appTags/{id}) Body shape: see OpenAPI components.schemas.AppTagUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.AppTagUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discharges almost none of it. PATCH implies a partial mutation, and the reference to components.schemas.AppTagUpdateRequest hints at the payload, but there is no mention of permissions, side effects, reversibility, or whether unspecified fields are preserved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is written twice in the parenthetical duplication ('PATCH /v1/appTags/{id} (PATCH /v1/appTags/{id})'), which is pure waste. The body-shape pointer is the only substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with nested objects, no annotations, and no output schema, this is too thin. An agent gets no notion of what an AppTag is, which fields are updatable, or what a successful update returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and body are already documented in the schema, which sets the baseline at 3. The description adds only the phrase 'JSON:API envelope' and a pointer to the request schema, which is marginal value over what structured data already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP route (PATCH /v1/appTags/{id}), essentially a tautology. It identifies a verb and resource but never explains in plain language what an app tag is or what updating one accomplishes, and it does nothing to distinguish this mutation from the many other *_update_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as app_tags_territories_get_to_many_relationship or a create/delete counterpart. No prerequisites, no when-not-to-use, nothing an agent could act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
asset_upload_fileA
Upload a local binary file to App Store Connect, following the 3-step asset protocol (screenshots, previews, review attachments, IAP review screenshots, app clip header images, game center images, etc.). This is step 2 (PUTting the chunks); afterwards call the resource's 'update' endpoint with { uploaded: true } to finalise (step 3). PREFERRED usage: pass assetType + assetId (the just-created asset) and the tool fetches the pre-signed uploadOperations server-side — the S3 upload signature never transits MCP output, so it can't be corrupted by secret redaction. Passing uploadOperations directly still works but is fragile: a signature relayed through MCP output may have been redacted.
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | No | ||
| filePath | Yes | Absolute path to the file on the local disk. | |
| assetType | No | ||
| uploadOperations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses that this is the PUT/chunk step of a multi-step mutation, that finalization happens elsewhere, and the subtle secret-redaction failure mode for signatures. That is meaningful behavioral context beyond any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and protocol position before the parameter advice, and every sentence adds value. The parentheses listing asset types and the redaction rationale are dense but justified; slightly verbose but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description explains the workflow, the required finalization step, and parameter pitfalls. It could say more about error/partial-upload behavior, but it is complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (only filePath documented), but the description compensates by explaining assetType+assetId as a preferred pairing and characterizing uploadOperations as a fragile fallback. It doesn't detail offset/length/entityTag mechanics for the raw uploadOperations route, but overall it restores most parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (upload) and resource (local binary file to App Store Connect) and enumerates the concrete asset types it serves. It also positions itself within a 3-step protocol, so an agent immediately knows its role versus sibling asset tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends the assetType+assetId route and warns that the uploadOperations route is fragile due to secret redaction. It also names the required follow-up ('update' endpoint with uploaded:true), leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_revoke_cacheA
Drop the in-memory JWT cache so the next API call re-signs. Useful after rotating the .p8.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that only the in-memory cache is dropped (not persisted credentials), that the effect is deferred to the next API call, and that a re-sign will occur. It does not say whether it errors when no cache exists or what it returns, which are the remaining gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, action front-loaded ahead of the rationale. Every clause earns its place by conveying effect and timing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, no-output-schema, no-annotation tool, the description covers what the agent needs: no inputs, local scope, and the observable consequence. It could add whether any return value or error is produced, but nothing essential to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameters and additionalProperties is false, so there is nothing to document; the baseline for a 0-param tool is 4. The description correctly implies no arguments are needed via its global 'drop the cache' framing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Drop'), a specific resource ('the in-memory JWT cache'), and the resulting behavior ('so the next API call re-signs'). This is unmistakably a local auth-cache operation and shares no ambiguity with the App Store Connect resource siblings (e.g., accounts_switch, auth_status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete trigger context: 'Useful after rotating the `.p8`.' That tells the agent when the tool matters. It stops short of naming the sibling to prefer in other cases (e.g., auth_status for checking auth state) or any when-not condition, so it is clear context without explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_statusA
Verify that the active account can acquire an App Store Connect JWT. Returns identifiers and a boolean readiness flag. Never returns the JWT itself or the .p8 contents.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral context: it discloses the return shape (identifiers plus a boolean readiness flag) and, importantly, a negative guarantee that the JWT itself and the `.p8` contents are never returned. That is genuinely useful for an agent reasoning about secret handling. It is silent on whether the check performs any caching or token generation side effect, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the purpose front-loaded, followed by return shape and then the safety disclaimer. No filler, no repetition, and the most decision-relevant fact (what it verifies) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must describe the return, and it does ('identifiers and a boolean readiness flag'). Combined with the explicit statement of what is not returned, an agent has enough to call this zero-argument tool correctly. Only the exact identity of the returned 'identifiers' and any failure semantics are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. The description correctly avoids inventing parameter detail that does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: 'Verify that the active account can acquire an App Store Connect JWT.' That is far more precise than a tautology and tells the agent this is a credential/readiness probe, not a data fetch. It does not, however, name or differentiate itself from nearby auth siblings such as accounts_current or auth_revoke_cache, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: a caller can infer this is a preflight/health check to run before operations that need a JWT. There is no explicit when-to-use, no when-not-to-use, and no named alternative (e.g. accounts_current for identity data). Minimum-viable but with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_assets_create_instanceC
POST /v1/backgroundAssets (POST /v1/backgroundAssets) Body shape: see OpenAPI components.schemas.BackgroundAssetCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BackgroundAssetCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for what is clearly a mutating POST. It states the endpoint and body envelope but discloses nothing about auth/permissions, idempotency, side effects, or rate limits. The JSON:API envelope reference is the only behavioral hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it wastes its only sentence by repeating the same endpoint twice ('POST /v1/backgroundAssets (POST /v1/backgroundAssets)'). The parenthetical duplication is pure noise and the sentence is not front-loaded with anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create tool with no annotations and no output schema, the description is far too thin. The sole parameter is a black-box object that defers to an external OpenAPI schema, and no return behavior or creation semantics are given, leaving the agent unable to call this correctly without outside knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single body parameter, so the baseline is 3 even though the description adds nothing beyond what the schema says. Both the description and the schema merely point outward to components.schemas.BackgroundAssetCreateRequest, so no field-level meaning is conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and HTTP verb: 'POST /v1/backgroundAssets' adds the endpoint path but nothing about what a background asset is or what creating one accomplishes. It does not distinguish this create operation from siblings like background_assets_update_instance or background_asset_versions_create_instance beyond the implied verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the update/get siblings, no prerequisites, and no mention of what state must exist first. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_assets_get_instanceC
GET /v1/backgroundAssets/{id} (GET /v1/backgroundAssets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_backgroundAssets | No | the fields to include for returned resources of type backgroundAssets | |
| fields_backgroundAssetVersions | No | the fields to include for returned resources of type backgroundAssetVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no error/404 behavior, no statement about sparse fieldsets or relation expansion semantics. It effectively conveys only that a GET occurs, which the name already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical '(GET /v1/backgroundAssets/{id})' is a literal duplicate of the preceding text and earns no place. What remains after removing the redundancy is a bare endpoint string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A five-parameter retrieval tool with no annotations and no output schema should at least say what is returned or how 'include'/'fields_*' shape the response. The description is silent on all of this, leaving the agent to infer everything from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents id, include, and the three fields_* parameters with their enum values. The description adds zero parameter meaning beyond the schema, which meets the baseline 3 for high-coverage schemas but no more.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text 'GET /v1/backgroundAssets/{id}' does identify a specific verb (GET) and resource path with an id placeholder, so an agent can infer this fetches a single background asset. However, the parenthetical repeats the exact same string verbatim, adding no distinguishing detail against siblings like background_assets_versions_get_instance or background_assets_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as the relationship endpoints (background_assets_versions_get_to_many_relationship). The REST path implies a single-resource fetch but nothing states the conditions under which this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_assets_update_instanceC
PATCH /v1/backgroundAssets/{id} (PATCH /v1/backgroundAssets/{id}) Body shape: see OpenAPI components.schemas.BackgroundAssetUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BackgroundAssetUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. PATCH implies a partial mutation, which is the only behavioral signal present. Nothing is said about required auth/roles, whether fields are merged or replaced, side effects, or destructive scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim in parentheses and the only remaining content is a pointer to an external OpenAPI schema. Every sentence defers rather than informing, so brevity here reflects under-specification rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested-object body, no annotations, and no output schema, the description should at minimum explain what the JSON:API envelope requires. Instead it punts entirely to components.schemas.BackgroundAssetUpdateRequest, leaving the agent with no actionable body guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, body) are already documented in the schema, and the body schema itself points at BackgroundAssetUpdateRequest. The description repeats that same pointer without adding format, required-field, or envelope detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names an HTTP verb and resource path (PATCH /v1/backgroundAssets/{id}), which at least identifies an update operation on a background asset. However it never says in plain language what is being updated or what a background asset is, and it does not distinguish this from siblings like background_assets_create_instance, background_asset_upload_files_update_instance, or background_assets_get_instance. It is a raw endpoint reference rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance of any kind. With dozens of background asset and update-instance siblings, an agent gets zero help deciding when this tool applies instead of the create, upload-file, or version variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_assets_versions_get_to_many_relationshipD
GET /v1/backgroundAssets/{id}/relationships/versions (GET /v1/backgroundAssets/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses only the implicit fact that this is a GET (read) operation. It says nothing about pagination, permissions, or the relationship nature of the response. The verb 'GET' is the sole piece of behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire length on a duplicated parenthetical repetition of the same path. There is no front-loaded purpose statement, so the brevity reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no annotations and no output schema, the description provides nothing an agent needs to call it correctly: no explanation of what a background asset version is, no pagination guidance, and no relationship semantics. It is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, limit) are already documented in the schema. The description adds no parameter meaning beyond what the schema provides, which makes the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely the HTTP verb and path (GET /v1/backgroundAssets/{id}/relationships/versions) repeated twice, which is a tautological restatement of the tool name rather than an explanation of what it does. An agent can infer it fetches the versions relationship for a background asset, but there is no human-readable statement of purpose and no differentiation from the many similar *_get_to_many_relationship siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which alternatives (e.g. background_assets_versions_get_to_many_related, background_asset_versions_get_instance) to prefer. The agent is left entirely to infer usage from the name and path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_asset_upload_files_create_instanceC
POST /v1/backgroundAssetUploadFiles (POST /v1/backgroundAssetUploadFiles) Body shape: see OpenAPI components.schemas.BackgroundAssetUploadFileCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BackgroundAssetUploadFileCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals only that this is a POST with a JSON:API body, but says nothing about auth scopes, whether the returned upload file must subsequently be used to push bytes, whether the operation is idempotent, or what happens on failure. For a mutation endpoint with zero annotation coverage this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The route is stated twice in parentheses, which is pure duplication, and the one substantive instruction (consult the OpenAPI schema) is buried after it. It is short, but the space it occupies is not spent on the agent's actual questions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a nested JSON:API request body, the description is the only place behavioural context could live — and it provides none. The pointer to the schema name is marginally useful, but the definition is not sufficient for an agent to invoke this correctly without external API docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is reported at 100% and there is only one parameter, so the baseline is 3. However, neither the schema nor the description enumerates any real fields of the body — both merely point at 'components.schemas.BackgroundAssetUploadFileCreateRequest', so the description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is effectively a restatement of the tool name as an HTTP route: 'POST /v1/backgroundAssetUploadFiles'. It never says what a background asset upload file is, why one would create it, or how it relates to background_asset_versions or an actual file upload. An agent cannot distinguish this from siblings like background_asset_versions_create_instance or build_upload_files_create_instance based on the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no alternatives. In a sibling set containing dozens of create_instance tools, the description offers nothing that routes the agent to this one over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_asset_upload_files_get_instanceD
GET /v1/backgroundAssetUploadFiles/{id} (GET /v1/backgroundAssetUploadFiles/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_backgroundAssetUploadFiles | No | the fields to include for returned resources of type backgroundAssetUploadFiles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no note that this is a non-mutating read, no pagination or sparse-fieldset behavior. The duplicated endpoint string adds zero behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the same path printed twice in parentheses, which is pure redundancy rather than concision. Nothing is front-loaded in natural language and no information earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource GET with full schema coverage and no output schema, the definition is technically enough to construct a call, but it omits what the resource represents, the id source, and any behavioral caveats. Given the very large sibling surface of similarly named tools, that omission leaves the agent under-equipped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'fields_backgroundAssetUploadFiles' are documented in the schema), so the baseline of 3 applies even though the description says nothing about parameters. The description adds no extra meaning such as id format or how the sparse fieldset interacts with the response.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint string repeated twice, so the 'purpose' is inferred purely from the HTTP verb and path rather than stated. It does convey 'fetch one background asset upload file by id', which is marginally more than a bare tautology, but there is no plain-language statement of what the resource is or how it differs from background_asset_upload_files_create_instance / update_instance / the related-list tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions, no alternatives named. The sibling set contains create, update, and a to-many relationship variant of the same resource, and nothing in the description tells the agent which to pick or when this single-instance read is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_asset_upload_files_update_instanceD
PATCH /v1/backgroundAssetUploadFiles/{id} (PATCH /v1/backgroundAssetUploadFiles/{id}) Body shape: see OpenAPI components.schemas.BackgroundAssetUploadFileUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BackgroundAssetUploadFileUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about the mutation: which fields are updatable, required permissions, whether the change is reversible, or idempotency. For a PATCH operation with a nested JSON:API body, this is a severe gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short but wasteful: the endpoint path is literally duplicated inside parentheses, which adds zero information. The single useful clause is the pointer to the body schema, buried after the redundant repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested object body, yet the description explains none of the update semantics or permissions and simply defers to an external OpenAPI document. Pointing at the schema is the only thing that keeps this from a 1.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline is 3. The description's reference to the BackgroundAssetUploadFileUpdateRequest schema and 'JSON:API envelope' slightly reinforces the body shape but largely repeats what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a machine-generated restatement of the tool name as an HTTP endpoint: 'PATCH /v1/backgroundAssetUploadFiles/{id}'. The verb (update) and resource (background asset upload files) are already encoded in the name, and the text adds no natural-language statement of what updating an upload file actually accomplishes. It is close to a tautology with a doc pointer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives or sibling tools. The pointer to the OpenAPI schema is documentation routing, not usage guidance, so the agent gets nothing to help it decide whether to call this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_asset_version_app_store_releases_get_instanceC
GET /v1/backgroundAssetVersionAppStoreReleases/{id} (GET /v1/backgroundAssetVersionAppStoreReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_backgroundAssetVersions | No | the fields to include for returned resources of type backgroundAssetVersions | |
| fields_backgroundAssetVersionAppStoreReleases | No | the fields to include for returned resources of type backgroundAssetVersionAppStoreReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The only behavioral signal is the implied read-only nature of the 'GET' verb; nothing is said about authorization requirements, whether the id must reference an existing app store release, or how the resource relates to beta releases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but the second half is a verbatim duplicate of the first, so no sentence earns its place. It is under-specified rather than concise, front-loading a raw endpoint path instead of a purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description would need to explain what the app store release resource is and what the returned instance contains. It does neither, and it gives no hint about how this endpoint relates to the sibling backgroundAssetVersion*Release tools. Incomplete for a 4-parameter instance-fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — every parameter, including id, include, and both fields_* filters, is documented in the schema itself. The description adds no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name as an HTTP endpoint path, duplicated verbatim in parentheses. It conveys only that this is a GET (retrieve-by-id) operation on a backgroundAssetVersionAppStoreReleases resource, without saying in natural language what the resource represents or what the caller gets back. This is essentially tautological rather than a clear verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any sibling alternative (e.g. the collection listing tool or the internal/external beta release equivalents). The agent must infer usage 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.
background_asset_version_external_beta_releases_get_instanceC
GET /v1/backgroundAssetVersionExternalBetaReleases/{id} (GET /v1/backgroundAssetVersionExternalBetaReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_backgroundAssetVersions | No | the fields to include for returned resources of type backgroundAssetVersions | |
| fields_backgroundAssetVersionExternalBetaReleases | No | the fields to include for returned resources of type backgroundAssetVersionExternalBetaReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals only the HTTP verb, from which read-only/safe semantics can be weakly inferred, and says nothing about authentication, error behavior when the id is unknown, or whether include/fields expansion changes the payload. For a zero-annotation tool this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its entire length by printing the same endpoint twice, once bare and once in parentheses. There is no front-loaded purpose statement to benefit from the brevity, so the concision is accidental rather than earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter instance-fetch tool with no output schema and no annotations, an agent needs at least a statement of what a backgroundAssetVersionExternalBetaRelease is and what the sparse-fieldset and include options return. None of that is present; the description only names the route.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters including the required id, the include relationship list, and the two sparse-fieldset options. The description adds nothing beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP route 'GET /v1/backgroundAssetVersionExternalBetaReleases/{id}', duplicated verbatim in parentheses. It conveys no plain-language statement of what the resource is or what retrieving it yields, and gives no differentiation from near-identical siblings such as background_asset_version_internal_beta_releases_get_instance or background_asset_version_app_store_releases_get_instance. This is effectively a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives. The description never mentions the closely related external-beta-release siblings or explains when an agent should fetch a single external beta release instead of the internal beta or app store release variants. No guidance is better characterized as absent than misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_asset_version_internal_beta_releases_get_instanceD
GET /v1/backgroundAssetVersionInternalBetaReleases/{id} (GET /v1/backgroundAssetVersionInternalBetaReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_backgroundAssetVersions | No | the fields to include for returned resources of type backgroundAssetVersions | |
| fields_backgroundAssetVersionInternalBetaReleases | No | the fields to include for returned resources of type backgroundAssetVersionInternalBetaReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. The only signal is the 'GET' verb implying a read, but there is no mention of auth requirements, error behavior, whether the resource is beta-only, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a redundant parenthetical repetition of the same path with zero informational payload. Brevity here reflects emptiness rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with four parameters, no output schema, and no annotations, the description explains nothing about the returned resource, its relationship to background asset versions, or how the include/fields parameters shape the response. It is not sufficient for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the four parameters (id, include, and two fields_* filters) documented in the schema itself, so the baseline of 3 applies. The description adds no additional meaning about parameter usage or formatting beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path repeated twice, with no natural-language statement of what the tool does. It implies a GET-by-id retrieval of a 'backgroundAssetVersionInternalBetaRelease' resource, but it is essentially a restatement of the name/URL rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus any of the many sibling GET-instance tools (e.g. background_asset_versions_get_instance, background_asset_version_external_beta_releases_get_instance, background_asset_version_app_store_releases_get_instance). No conditions, prerequisites, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_asset_versions_background_asset_upload_files_get_to_many_relationshipC
GET /v1/backgroundAssetVersions/{id}/relationships/backgroundAssetUploadFiles (GET /v1/backgroundAssetVersions/{id}/relationships/backgroundAssetUploadFiles)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it only implicitly signals a read operation via the 'GET' verb. It says nothing about pagination behavior (despite a limit parameter), auth requirements, or what the relationship endpoint returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is a path repeated verbatim in parentheses, which is pure redundancy rather than economical communication. Nothing is front-loaded because there is no informational content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no annotations and no output schema, the description should at minimum explain that it returns the related upload files and how the id relates to them. Instead it supplies only the endpoint string, leaving the agent to guess at return shape and relationship semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and limit parameters are already documented in the schema; the baseline for a fully covered schema is 3. The description adds no parameter meaning beyond the schema, so it neither helps nor hurts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP path duplicated in parentheses, effectively restating the tool name rather than stating a purpose in plain language. An agent can infer 'list upload files for a background asset version' from the path structure, but no verb+resource is articulated and nothing distinguishes it from the sibling ..._get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the near-identical sibling background_asset_versions_background_asset_upload_files_get_to_many_related that competes for the same task. The agent is left to infer everything from the URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
background_asset_versions_create_instanceC
POST /v1/backgroundAssetVersions (POST /v1/backgroundAssetVersions) Body shape: see OpenAPI components.schemas.BackgroundAssetVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BackgroundAssetVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about auth requirements, what gets created, side effects, or the response. Its only substantive content is a pointer to the request envelope schema, which is a payload hint rather than behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wasteful: the 'POST /v1/backgroundAssetVersions' string is printed twice, and the remaining text is a schema cross-reference with no front-loaded explanation of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. It omits required JSON:API envelope structure, auth expectations, and any expectation about the created resource, leaving the agent to open an external OpenAPI spec.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single body parameter is documented in the schema. The description only echoes that the body follows the BackgroundAssetVersionCreateRequest JSON:API envelope, adding no parameter meaning beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a route restatement: 'POST /v1/backgroundAssetVersions'. The HTTP verb implies creation of a background asset version, but there is no plain-language statement of what the tool does, no scope, and no differentiation from the many sibling create_instance tools. It borders on tautology with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the large set of sibling create tools. The agent is given no basis for choosing 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.
background_asset_versions_get_instanceD
GET /v1/backgroundAssetVersions/{id} (GET /v1/backgroundAssetVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_backgroundAssets | No | the fields to include for returned resources of type backgroundAssets | |
| fields_backgroundAssetVersions | No | the fields to include for returned resources of type backgroundAssetVersions | |
| fields_backgroundAssetUploadFiles | No | the fields to include for returned resources of type backgroundAssetUploadFiles | |
| fields_backgroundAssetVersionAppStoreReleases | No | the fields to include for returned resources of type backgroundAssetVersionAppStoreReleases | |
| fields_backgroundAssetVersionExternalBetaReleases | No | the fields to include for returned resources of type backgroundAssetVersionExternalBetaReleases | |
| fields_backgroundAssetVersionInternalBetaReleases | No | the fields to include for returned resources of type backgroundAssetVersionInternalBetaReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not authentication requirements, not pagination or rate limits, not what the include/fields_* parameters actually expand, and not whether the id must exist. The endpoint path alone is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the same endpoint string repeated twice in parentheses, which is pure redundancy rather than front-loaded purpose. It is under-specified, not concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter GET with no annotations and no output schema, the description supplies nothing an agent needs: no resource semantics, no note on sparse fieldsets or relationship expansion, and no return-value context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every one of the 8 parameters documented in the schema (including the include and fields_* sparse-fieldset options), so the baseline of 3 applies. The description adds no additional meaning about id format or how relationship inclusion interacts with the returned payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path 'GET /v1/backgroundAssetVersions/{id}', duplicated verbatim in parentheses. It restates what the tool name already encodes (get a background asset version by id) without adding any distinguishing detail versus siblings like background_assets_get_instance or background_asset_version_app_store_releases_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when to prefer a sibling such as background_assets_versions_get_to_many_relationship, or what prerequisites (auth, existing id) apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_clip_invocation_localizations_create_instanceC
POST /v1/betaAppClipInvocationLocalizations (POST /v1/betaAppClipInvocationLocalizations) Body shape: see OpenAPI components.schemas.BetaAppClipInvocationLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaAppClipInvocationLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication, side effects, whether the created localization is immediately live, or error behavior. It only hints that the body must be a JSON:API envelope, which is a marginal addition over the schema's own pointer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical repeats the identical POST path verbatim, which is pure waste. The remaining sentence adds little value, so it is compact but not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested opaque object body, the definition is far from complete: it never explains what a beta app clip invocation localization is, what it attaches to, or what the caller should expect. It effectively defers entirely to an external OpenAPI document the agent may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single nested 'body' parameter whose shape is already documented by the referenced schema component. The description's note about the 'full JSON:API envelope' adds a small amount of framing but no field-level semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives an HTTP verb and resource path (POST /v1/betaAppClipInvocationLocalizations), from which an agent can infer 'create a beta app clip invocation localization'. However, it never states the purpose in prose and does not distinguish itself from the sibling update_instance/delete_instance beyond the HTTP method, so an agent must infer intent from naming conventions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as beta_app_clip_invocation_localizations_update_instance or delete_instance. The agent is given no criteria for choosing this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_clip_invocation_localizations_delete_instanceC
DELETE /v1/betaAppClipInvocationLocalizations/{id} (DELETE /v1/betaAppClipInvocationLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discharges almost none of it. The 'DELETE' verb implies a destructive, likely irreversible mutation, but there is no statement about permission requirements, cascading effects on the parent invocation, or confirmation semantics. Only the HTTP method is conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, which is appropriate, but the entire content is duplicated inside parentheses, wasting the only sentence available. It is brief rather than concise — nothing extra was written because nothing was written at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description should at minimum identify what is being deleted and any irreversibility or authorization context. None of that is present, leaving the agent to guess at consequences of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' parameter whose meaning ('the id of the requested resource') is already documented in the schema. The description's '{id}' path token adds no syntax, format, or source information beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name in HTTP form: 'DELETE /v1/betaAppClipInvocationLocalizations/{id}', duplicated verbatim in parentheses. It conveys the verb and resource path but never says what a betaAppClipInvocationLocalization is or what deleting one accomplishes, so it adds nothing an agent couldn't infer from the name. It does not differentiate itself from sibling tools beyond the raw path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling delete tools (e.g., beta_app_clip_invocations_delete_instance, beta_app_localizations_delete_instance). An agent gets no help deciding whether this is the right deletion endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_clip_invocation_localizations_update_instanceC
PATCH /v1/betaAppClipInvocationLocalizations/{id} (PATCH /v1/betaAppClipInvocationLocalizations/{id}) Body shape: see OpenAPI components.schemas.BetaAppClipInvocationLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaAppClipInvocationLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only implies mutation via the PATCH verb (partial-update semantics) and otherwise says nothing about permissions, reversibility, partial-vs-full update behavior, or which fields are mutable, deferring everything to an external OpenAPI document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The route is duplicated verbatim in parentheses with no added information, which is pure waste. The one substantive clause (body shape reference) could have been stated once and front-loaded, but instead the definition leads with redundant boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested free-form body object. The description should clarify the JSON:API envelope, updatable fields, or auth requirements, but instead it points to an external document an agent cannot read, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description repeats the body schema pointer that the schema itself already provides, adding no new syntax, constraints, or field-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the HTTP method and full route (PATCH /v1/betaAppClipInvocationLocalizations/{id}), so an agent can infer this updates a beta app clip invocation localization resource. However, it never states the purpose in plain language or distinguishes it from the sibling create/delete instance tools; it is essentially a mechanical endpoint restatement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus beta_app_clip_invocation_localizations_create_instance or delete_instance, no prerequisites, and no mention of required scopes or IDs. The agent must infer usage entirely from the name and route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_clip_invocations_create_instanceC
POST /v1/betaAppClipInvocations (POST /v1/betaAppClipInvocations) Body shape: see OpenAPI components.schemas.BetaAppClipInvocationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaAppClipInvocationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it largely fails: it does not state permissions/scopes required, idempotency, side effects on related build bundles, or what the response contains. The single useful disclosure is that the request body follows the JSON:API envelope, which is a small hint but not a behavioral profile for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but it wastes characters by repeating the route twice ('POST /v1/betaAppClipInvocations (POST /v1/betaAppClipInvocations)') while omitting anything substantive. Efficient in length, not in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation tool with no annotations, no output schema, and a nested JSON:API body, the description should at minimum characterize the resource and the mutation's effect. Instead it provides only a schema pointer, leaving an agent unable to judge when or why to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body) with 100% schema description coverage, so the baseline is 3. The description merely repeats the schema's pointer to components.schemas.BetaAppClipInvocationCreateRequest, adding no field-level meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP route: 'POST /v1/betaAppClipInvocations'. The POST verb and path imply creation of a beta app clip invocation, but nothing explains what a BetaAppClipInvocation actually is or how it differs from its sibling beta_app_clip_invocations_get_instance/update_instance/delete_instance. This sits at the tautology end of the scale.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no naming of alternatives. The only usage signal is the implicit 'POST means create' semantics carried by the route string — no explicit context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_clip_invocations_delete_instanceC
DELETE /v1/betaAppClipInvocations/{id} (DELETE /v1/betaAppClipInvocations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys only the DELETE verb, which implies a destructive mutation, but says nothing about irreversibility, required permissions, side effects, or cascade behavior. For a destructive operation with zero annotation coverage, this is a major gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The value is extremely short but not concise in a useful sense: the parenthetical duplicates the endpoint string verbatim, which is pure waste, while essential context is omitted. Structure is not front-loaded with meaning because there is no meaning beyond the path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete tool with no annotations and no output schema, the description should at minimum explain what is removed, whether the operation is reversible, and any permission requirements. It provides none of this, leaving the definition inadequate for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'id' parameter with 100% schema description coverage, so the schema already documents it and the description adds nothing. Baseline 3 applies when the schema does the heavy lifting, and the description does not compensate by clarifying which ID this endpoint expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name in HTTP path form: 'DELETE /v1/betaAppClipInvocations/{id}'. It does name a verb and resource, but adds no distinguishing information beyond what the tool name already conveys, and gives no sibling differentiation among the many *_delete_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no alternatives named. An agent cannot tell from the text under what circumstances this delete should be preferred or avoided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_clip_invocations_get_instanceD
GET /v1/betaAppClipInvocations/{id} (GET /v1/betaAppClipInvocations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_betaAppClipInvocations | No | the fields to include for returned resources of type betaAppClipInvocations | |
| limit_betaAppClipInvocationLocalizations | No | maximum number of related betaAppClipInvocationLocalizations returned (when they are included) | |
| fields_betaAppClipInvocationLocalizations | No | the fields to include for returned resources of type betaAppClipInvocationLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about auth requirements, error behavior, or what a successful response contains. For a read of a single resource it is silent on every behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the exact same endpoint string, which is pure redundancy rather than conciseness. The brevity comes from under-specification, not from efficient front-loading of useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A five-parameter, zero-annotation, no-output-schema tool needs the description to explain returns and usage context, and it supplies none. An agent cannot call this confidently beyond guessing the endpoint semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all five parameters (id, include, sparse fieldsets, and limit) documented in the schema itself. Per the baseline rule, the schema does the heavy lifting, so a 3 is appropriate even though the description contributes nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP path: "GET /v1/betaAppClipInvocations/{id}". It does reveal the verb and resource, so it is not entirely opaque, but it adds nothing beyond the name and offers no differentiation from the many sibling get-instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as the collection or relationship endpoints. The agent is left to infer everything from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_clip_invocations_update_instanceD
PATCH /v1/betaAppClipInvocations/{id} (PATCH /v1/betaAppClipInvocations/{id}) Body shape: see OpenAPI components.schemas.BetaAppClipInvocationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaAppClipInvocationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses nothing about permissions, side effects, reversibility, idempotency, or what happens to unspecified fields; 'PATCH' is the only signal, and it is already implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the endpoint is printed twice in parentheses ('(PATCH /v1/betaAppClipInvocations/{id})'), which is pure noise, and the single remaining sentence delegates everything to an external spec.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, and no output schema, the description should say more about effects and requirements. Pointing at the OpenAPI component is the only useful content, and it duplicates the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there, so the baseline is 3. The description's reference to components.schemas.BetaAppClipInvocationUpdateRequest merely repeats the body parameter's own schema description rather than adding new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP method and path restated, and the tool name already encodes 'update_instance' for beta app clip invocations. It adds no domain meaning about what is actually being updated or why, making it close to a tautology rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance at all. With dozens of sibling *_update_instance and *_create_instance tools, the agent gets nothing to distinguish this call from the other beta-app-clip endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_localizations_app_get_to_one_relationshipC
GET /v1/betaAppLocalizations/{id}/relationships/app (GET /v1/betaAppLocalizations/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full disclosure burden, and it discloses almost nothing. The embedded 'GET' implies a read-only linkage fetch, but there is no mention of what the relationship object contains, whether it differs from the 'related' endpoint, or any auth/rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same path string is printed twice in immediate succession, which is pure redundancy rather than economy. Length is fine; information density is close to zero.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must carry the whole load for a tool in a very dense family of relationship/related pairs, and it does not. An agent cannot tell from this text why it would call this endpoint instead of the *_related twin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter ('the id of the requested resource'), so the schema already documents everything. The description adds no format, type, or sourcing detail beyond the schema, which meets the baseline 3 for fully covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path repeated twice in parentheses, which effectively restates the tool name and title rather than explaining what it does. An agent can infer it fetches the 'app' relationship of a betaAppLocalization, but only by decoding the identifier, not from any plain-language statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the sibling beta_app_localizations_app_get_to_one_related, or versus beta_app_localizations_get_instance. The relationship-vs-related distinction, which is the only meaningful choice here, is left entirely unexplained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_localizations_create_instanceC
POST /v1/betaAppLocalizations (POST /v1/betaAppLocalizations) Body shape: see OpenAPI components.schemas.BetaAppLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaAppLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It reveals only that this is a POST, and says nothing about required permissions, whether the record can be deleted later, what happens on duplicate locale, or what the response contains — it only redirects to an external OpenAPI schema that the agent may not have access to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short with no padding, but it is not self-contained — it replaces explanation with a pointer to external documentation, which is a structural shortcut rather than genuine front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested JSON:API body, no annotations, and no output schema, the description should at minimum explain what fields the request envelope needs. Instead it defers entirely to an OpenAPI component reference, leaving the agent without actionable detail for a write call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, so the baseline is 3. The description's reference to components.schemas.BetaAppLocalizationCreateRequest merely restates the schema's own description string and adds no detail about required fields (locale, name, app relationship) inside the JSON:API envelope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (betaAppLocalizations) and the HTTP verb (POST), and the tool name's '_create_instance' suffix pins it to a create operation. However, it never states in plain language what a 'beta app localization' is or that this creates a new one — the agent must infer that from the endpoint string and naming convention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus beta_app_localizations_update_instance, beta_app_localizations_get_instance, or apps_beta_app_localizations_get_to_many_relationship. There is no stated prerequisite (e.g., an app must already exist) and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_localizations_delete_instanceC
DELETE /v1/betaAppLocalizations/{id} (DELETE /v1/betaAppLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states only the HTTP verb and path; it does not disclose irreversibility, permission/auth requirements, whether related resources are affected, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the same string verbatim, which is pure waste. Front-loading is fine given its size, but the duplication costs it structure points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description should at minimum disclose the safety/impact profile. It does neither, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, which the schema already documents as 'the id of the requested resource'. The description adds no syntax or format detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP call: 'DELETE /v1/betaAppLocalizations/{id}'. It conveys a delete verb on the betaAppLocalizations resource, but adds no information beyond what the name already encodes and does not distinguish it from siblings like beta_app_localizations_get_instance or update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what state the localization must be in, or how it differs from the create/get/update siblings in the same family. Nothing beyond the mechanical HTTP verb is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_localizations_get_collectionD
GET /v1/betaAppLocalizations (GET /v1/betaAppLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| filter_locale | No | filter by attribute 'locale' | |
| fields_betaAppLocalizations | No | the fields to include for returned resources of type betaAppLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no auth requirements, no pagination behavior (despite a 'limit' param), no rate limits, no indication the result is a paginated collection. Repeating the URL adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the parenthetical simply duplicates the path verbatim, so the single sentence earns nothing. There is no front-loaded purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter collection endpoint with no annotations and no output schema, the description is essentially empty and leaves the agent to reconstruct intent from the tool name and schema alone. The rich schema partially compensates, but nothing about the resource or return shape is explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (limit, include, filter_app, fields_apps, filter_locale, fields_betaAppLocalizations) are documented in the schema itself. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the request path repeated twice: 'GET /v1/betaAppLocalizations (GET /v1/betaAppLocalizations)'. It restates the tool name and URL rather than stating in the description what the resource is or what the operation returns, which is the definition of a tautological purpose. An agent can only infer from the name that it lists beta app localizations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this collection endpoint versus siblings like beta_app_localizations_get_instance, beta_app_localizations_create_instance, or apps_beta_app_localizations_get_to_many_relationship. No conditions, prerequisites, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_localizations_get_instanceC
GET /v1/betaAppLocalizations/{id} (GET /v1/betaAppLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_betaAppLocalizations | No | the fields to include for returned resources of type betaAppLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies a read via 'GET' but says nothing about permissions, error behavior, whether related resources are included by default, or what the response contains. This is a significant gap for an unannotated retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundantly repeats the same endpoint twice, with the second copy in parentheses adding no information. It is front-loaded with the endpoint but wastes half its length on duplication rather than useful context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, and the description does not explain return values, relationship inclusion, or field selection behavior. For a get-instance tool with four parameters and rich relationship choices, the description is far too thin to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters including id, include, fields_apps, and fields_betaAppLocalizations. The description adds no additional semantics beyond the path template, so the baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the endpoint path duplicated in parentheses: 'GET /v1/betaAppLocalizations/{id}' twice. It restates the tool name and URL rather than explaining what a beta app localization is or what retrieving one entails, so it does not distinguish this tool meaningfully from siblings like beta_app_localizations_get_collection or beta_app_localizations_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are many sibling tools for beta app localizations (get_collection, create_instance, update_instance, delete_instance, app_get_to_one_related), and the description does not say to use this one when you have an ID and need the single resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_localizations_update_instanceC
PATCH /v1/betaAppLocalizations/{id} (PATCH /v1/betaAppLocalizations/{id}) Body shape: see OpenAPI components.schemas.BetaAppLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaAppLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no auth/permission requirements, no note on partial-update semantics beyond the bare PATCH method, and no indication of what the operation mutates or returns. Pointing at the OpenAPI schema for the body envelope is the only added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path string is needlessly duplicated inside parentheses and the sentence is essentially filler. There is no wasted prose beyond the redundancy, but nothing is front-loaded with task-relevant meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested-object body, zero annotations, and no output schema, the description is far too thin. It never states which localization fields can be changed or what the PATCH affects, leaving the agent dependent on an external OpenAPI document that is not included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (id and body). The description's reference to components.schemas.BetaAppLocalizationUpdateRequest merely duplicates what the body property description already says, adding no format or field-level meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a tautology: it restates the HTTP method and path (PATCH /v1/betaAppLocalizations/{id}) rather than explaining in plain language what the tool does. An agent gets no business-level statement like 'updates a beta app localization's locale-facing fields' beyond what the tool name already conveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as beta_app_localizations_create_instance, beta_app_localizations_get_instance, beta_app_localizations_delete_instance, or beta_app_localizations_get_collection. The agent must infer everything from the name and the PATCH verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_review_details_app_get_to_one_relationshipC
GET /v1/betaAppReviewDetails/{id}/relationships/app (GET /v1/betaAppReviewDetails/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: only that this is a GET. It does not state that this returns relationship linkage data (type/id) rather than the full resource, nor mention auth/permission requirements or error behavior for a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The line is short but entirely redundant, repeating the identical route twice with no additional information. Brevity without substance does not earn a good conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter relationship-fetch tool with no output schema, the description should at minimum explain what the call returns (linkage vs. related resource). Nothing an agent needs beyond the raw route is supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'id' parameter already documented as 'the id of the requested resource'. Per the baseline rule for high coverage, 3 is appropriate even though the description adds no parameter meaning, such as which resource the id refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name as an HTTP route ('GET /v1/betaAppReviewDetails/{id}/relationships/app'), duplicated inside parentheses. While the route implies a GET of a relationship linkage, it doesn't say what is returned or how it differs from the very similar sibling beta_app_review_details_app_get_to_one_related, which returns the related resource rather than the linkage object.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no distinction from the 'related' variant sibling. The only implicit cue is the HTTP verb GET in the restated path, which is not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_review_details_get_collectionD
GET /v1/betaAppReviewDetails (GET /v1/betaAppReviewDetails)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_betaAppReviewDetails | No | the fields to include for returned resources of type betaAppReviewDetails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior, no auth/permission requirements, no rate limits, no indication that this is a read-only list operation. A bare endpoint path is not a behavior description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but its brevity reflects under-specification rather than conciseness. The parenthetical duplicate of the same path is pure noise, and no useful information is front-loaded because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A five-parameter collection endpoint with no annotations and no output schema needs the description to explain filtering, inclusion, pagination, and what a beta app review detail represents. The description supplies none of this, leaving the tool effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (limit, include, filter_app, fields_apps, fields_betaAppReviewDetails) are already documented in the schema. Per the baseline rule for high coverage, a 3 is appropriate; the description adds nothing on top of the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path restated twice: "GET /v1/betaAppReviewDetails (GET /v1/betaAppReviewDetails)". It echoes the tool name without adding any semantic meaning about what a beta app review detail is or what the collection returns. An agent learns nothing beyond what the identifier already conveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this collection endpoint versus the closely named sibling beta_app_review_details_get_instance, nor when to use filter_app or include. No prerequisites, no exclusions, no alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_review_details_get_instanceD
GET /v1/betaAppReviewDetails/{id} (GET /v1/betaAppReviewDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_betaAppReviewDetails | No | the fields to include for returned resources of type betaAppReviewDetails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the raw endpoint. It does not state that this is a read-only retrieval, whether it returns 404 for unknown ids, or what authentication/scope is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is not concise in a useful sense – it duplicates the same path string twice and front-loads no purpose. Nothing in it earns its place beyond the schema's own information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET tool with relationship-inclusion and sparse-fieldset parameters, no output schema, and no annotations, the description is completely inadequate. It omits the resource's meaning, the effect of include/fields_* parameters, and any return-shape context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each of the four parameters (id, include, fields_apps, fields_betaAppReviewDetails) is documented in the schema itself. The description adds no meaning beyond that, so the baseline of 3 applies for high coverage with no description-level parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP method and path repeated twice ('GET /v1/betaAppReviewDetails/{id}'), which is effectively a restatement of the tool name rather than an explanation of what a beta app review detail resource is or what fetching it yields. An agent can infer it retrieves a single resource by id, but gets no domain meaning and no differentiation from siblings like beta_app_review_details_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as beta_app_review_details_get_collection or beta_app_review_details_app_get_to_one_related. No prerequisites, no conditions, 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.
beta_app_review_details_update_instanceC
PATCH /v1/betaAppReviewDetails/{id} (PATCH /v1/betaAppReviewDetails/{id}) Body shape: see OpenAPI components.schemas.BetaAppReviewDetailUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaAppReviewDetailUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing behavioral: not whether this is a partial or full replacement, what permissions are required, what fields are mutable, or whether changes are reversible. Pointing to an external OpenAPI schema is not behavioral disclosure within the definition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, which is good, but the entire content is a raw endpoint restated twice in parentheses, which is pure waste, and it defers substantive content to an external schema reference. Front-loaded but not informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the definition should explain what the update affects and any prerequisites, but it only supplies an endpoint and an external schema pointer that the agent cannot necessarily resolve. Critical context for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters (id, body) are already documented in the schema, and the baseline for a well-covered schema is 3. The description only names the external request schema type for the body, adding no field-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The HTTP method (PATCH) plus the resource path identify this as an update to a beta app review detail resource, and the tool name corroborates that. However, the purpose is never stated in plain language and the endpoint is written twice redundantly, so an agent gets the verb+resource only by decoding the path. No differentiation from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update tool versus the many sibling update tools (app_store_review_details_update_instance, in_app_purchase_versions_*, etc.), no prerequisites, and no mention of the beta app review detail lifecycle. 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.
beta_app_review_submissions_build_get_to_one_relationshipD
GET /v1/betaAppReviewSubmissions/{id}/relationships/build (GET /v1/betaAppReviewSubmissions/{id}/relationships/build)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing: not whether the call is a safe read, not what the relationship payload contains (linkage object vs. full resource), not error behavior for an invalid id. The path string is the only signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its entire length by repeating the same URL twice in parentheses, giving no front-loaded explanation. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a relationship fetch with no output schema and no annotations, so the description needed to explain what the relationship returns and how it differs from get_to_one_related. Instead it supplies only the raw path, leaving an agent unable to confidently call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one required parameter, id, which is documented in the schema as "the id of the requested resource". The description adds no meaning beyond that, so the schema-only baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route that is already embedded in the tool name: "GET /v1/betaAppReviewSubmissions/{id}/relationships/build". It does not explain what the build relationship of a beta app review submission is or what is returned, so an agent learns nothing beyond the verb GET and the path nouns. It is effectively a tautology rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The near-identical sibling beta_app_review_submissions_build_get_to_one_related and builds_beta_app_review_submission_get_to_one_relationship are not mentioned, so the agent cannot tell which relationship endpoint to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_review_submissions_create_instanceC
POST /v1/betaAppReviewSubmissions (POST /v1/betaAppReviewSubmissions) Body shape: see OpenAPI components.schemas.BetaAppReviewSubmissionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaAppReviewSubmissionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'POST' correctly implies a mutation, which is the only real behavioral signal, but there is no mention of authentication scopes, side effects, idempotency, or what the request must reference. The pointer to the OpenAPI component is a shape hint, not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but wastes space on a redundant self-repetition ('POST /v1/betaAppReviewSubmissions (POST /v1/betaAppReviewSubmissions)') and an awkward sentence fragment. No information is front-loaded because there is almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested JSON:API envelope body, no output schema, and no annotations, deferring entirely to an external OpenAPI document the agent may not hold leaves the definition incomplete. It never states required relationships, the JSON:API 'type' value, or what a successful call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the schema already documents the payload. The description adds nothing about the body beyond re-pointing at components.schemas.BetaAppReviewSubmissionCreateRequest, which is the same reference the schema already contains; baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and method: 'POST /v1/betaAppReviewSubmissions' tells the agent nothing beyond the operation verb already encoded in 'create_instance'. It never explains what a beta app review submission is or how this differs from siblings such as beta_app_review_submissions_get_collection or beta_app_review_submissions_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. a build must exist first), and no mention of alternatives or related tools. The agent must infer everything from the HTTP method alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_app_review_submissions_get_collectionD
GET /v1/betaAppReviewSubmissions (GET /v1/betaAppReviewSubmissions)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_build | No | filter by id(s) of related 'build' | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| filter_betaReviewState | No | filter by attribute 'betaReviewState' | |
| fields_betaAppReviewSubmissions | No | the fields to include for returned resources of type betaAppReviewSubmissions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only confirmation beyond the HTTP verb, no pagination or limit behavior, no rate-limit or auth context, no indication of the default/max page size. A single REST path is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is under-specified rather than concise, and the parenthetical '(GET /v1/betaAppReviewSubmissions)' duplicates the leading text verbatim with zero information gain. Every token is wasted; nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter collection endpoint with no annotations and no output schema, the description contributes essentially nothing. The rich inline schema does cover parameter meaning, which prevents a 1, but the agent gets no statement of what a response looks like, how paging works, or how the filters interact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all six parameters (limit, include, filter_build, fields_builds, filter_betaReviewState, fields_betaAppReviewSubmissions) documented inline. Per the rubric this sets a baseline of 3, and the description adds nothing on top of that, such as comma-separated syntax or filter-combination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name's REST path, offering no verb, scope, or resource explanation beyond what the identifier already encodes. It does hint that this is a GET collection of beta app review submissions, but it does not distinguish it from siblings such as beta_app_review_submissions_get_instance or builds_beta_app_review_submission_get_to_one_related. This is a tautology rather than a description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this collection endpoint versus the single-instance sibling, nor any mention of filtering use cases, prerequisites, or pagination expectations. The agent is left to 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.
beta_app_review_submissions_get_instanceD
GET /v1/betaAppReviewSubmissions/{id} (GET /v1/betaAppReviewSubmissions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_betaAppReviewSubmissions | No | the fields to include for returned resources of type betaAppReviewSubmissions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not state that this is a read-only lookup, that it requires an existing submission id, what authentication is needed, or what happens on an invalid id. The bare HTTP path is the only signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is wasted effort: the same path string appears twice in a row with no added information. It is short but structurally redundant rather than concise — nothing is front-loaded because nothing substantive is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description would need to characterize the returned resource, and it does not. Combined with zero annotations and no explanation of the include/fields query parameters, the definition is materially incomplete for an agent trying to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all four parameters (id, include, fields_builds, fields_betaAppReviewSubmissions) documented in the schema itself, so the baseline of 3 applies. The description adds no additional meaning — it does not explain the sparse-fieldset or relationship-inclusion semantics, but it is not required to when the schema is this complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path 'GET /v1/betaAppReviewSubmissions/{id}' repeated verbatim in parentheses. It conveys the verb and resource by accident of naming convention, not by explanation — an agent learns nothing about what a beta app review submission actually is or what fetching one returns. This is close to tautology, though the path does at least disambiguate it from the sibling create/collection tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool versus the many siblings such as beta_app_review_submissions_get_collection, beta_app_review_submissions_create_instance, or builds_beta_app_review_submission_get_to_one_related. No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_build_localizations_build_get_to_one_relationshipD
GET /v1/betaBuildLocalizations/{id}/relationships/build (GET /v1/betaBuildLocalizations/{id}/relationships/build)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it says nothing about the operation being a read, what linkage/resource data is returned, or whether the relationship may be empty. It only echoes the URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same path string is repeated verbatim twice with no informational payoff; nothing is front-loaded because nothing substantive is stated. This is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of semantics, and it supplies none: it does not explain what the build relationship represents or what a caller should expect back. Completely inadequate for the task of selecting and calling this endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single id parameter ('the id of the requested resource'), so the schema already does all the work. The description's {id} placeholder adds no syntax, format, or meaning beyond what the schema documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name and HTTP path (GET /v1/betaBuildLocalizations/{id}/relationships/build), wrapped in redundant parentheses. It contains no verb-resource phrasing beyond the endpoint template, and does not distinguish this to-one relationship fetch from the sibling beta_build_localizations_build_get_to_one_related or builds_beta_build_localizations_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this relationship route, what prerequisite data (a valid betaBuildLocalization id) is required, or how it differs from the nearly identical '/related' sibling. The agent gets zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_build_localizations_create_instanceC
POST /v1/betaBuildLocalizations (POST /v1/betaBuildLocalizations) Body shape: see OpenAPI components.schemas.BetaBuildLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaBuildLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication/scopes, side effects, idempotency, or what is created. Only the bare fact of a POST operation is conveyed via the route, which is minimal transparency for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the endpoint, which is good. However, the parenthetical '(POST /v1/betaBuildLocalizations)' is a redundant duplication of the leading text, so the sentence does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create/mutation tool with no annotations, no output schema, and an opaque nested body object with no enumerated properties. The description should compensate with auth requirements, expected request envelope shape, or return behavior, but it provides none of these.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the baseline is 3. The description points to components.schemas.BetaBuildLocalizationCreateRequest, but this duplicates the schema's own body description and adds no field-level meaning beyond the opaque free-form object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP method and endpoint path ('POST /v1/betaBuildLocalizations'), which restates the tool name rather than stating in prose what the tool does. An agent must infer from the name that this creates a beta build localization, and no sibling differentiation is offered despite dozens of near-identical *_create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, prerequisite, or alternative guidance. It does not tell the agent how this differs from beta_build_localizations_update_instance or the other create_instance siblings, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_build_localizations_delete_instanceC
DELETE /v1/betaBuildLocalizations/{id} (DELETE /v1/betaBuildLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The DELETE verb implies a destructive mutation, but nothing is said about irreversibility, cascading effects, required permissions, or error behavior for a missing id. For a destructive operation with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line and the verb/path is front-loaded, but the path is needlessly duplicated in parentheses, adding characters without adding information. Brief, yet the brevity reflects under-specification rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description omits the consequences of deletion, auth/permission requirements, and confirmation behavior. Schema coverage is complete for the single parameter, but the behavioral envelope an agent needs before calling a delete is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'id' parameter documented as 'the id of the requested resource'. The description adds no format, sourcing, or constraint detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific HTTP verb and resource path (DELETE /v1/betaBuildLocalizations/{id}), so the operation and target are identifiable. However, it is essentially a REST-ified restatement of the tool name 'beta_build_localizations_delete_instance' and does not differentiate the tool from the many sibling delete_instance tools beyond what the name already conveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternative tools (e.g. beta_build_localizations_update_instance). The agent gets no signal about when deletion is appropriate versus updating or fetching the localization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_build_localizations_get_collectionD
GET /v1/betaBuildLocalizations (GET /v1/betaBuildLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_build | No | filter by id(s) of related 'build' | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| filter_locale | No | filter by attribute 'locale' | |
| fields_betaBuildLocalizations | No | the fields to include for returned resources of type betaBuildLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not authentication requirements, not pagination semantics despite a 'limit' parameter, not the default result set, and not that this is a read-only listing. The only text present simply repeats the endpoint path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is not concise in a useful sense — it is under-specified. Repeating the route twice in parentheses is pure redundancy with zero informational payload, so brevity here reflects absent content rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter collection endpoint with no annotations and no output schema, the description should at minimum explain the resource being listed and the interaction of the filter/include/fields options. It supplies none of this, leaving the agent to infer everything from the path string alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all six parameters (limit, include, filter_build, fields_builds, filter_locale, fields_betaBuildLocalizations), so the schema itself documents each parameter's meaning. The description adds nothing beyond that, but per the high-coverage rule the schema-driven baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP route 'GET /v1/betaBuildLocalizations', duplicated verbatim. It conveys only what the tool name already conveys (a GET collection for beta build localizations) and does not describe what a beta build localization is or how this collection is scoped. No sibling differentiation is possible from this text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance of any kind. Nothing indicates how this collection relates to beta_build_localizations_get_instance or builds_beta_build_localizations_get_to_many_related, or under what circumstances an agent should list localizations directly versus traversing from a build.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_build_localizations_get_instanceD
GET /v1/betaBuildLocalizations/{id} (GET /v1/betaBuildLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_betaBuildLocalizations | No | the fields to include for returned resources of type betaBuildLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no rate-limit notes, no statement of what is returned, and no indication that this is a safe read. The route string implies GET, but that is the only behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the parenthetical repetition of the same route is pure redundancy that earns no place. It is under-specified rather than concise: there is no front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with four parameters, no annotations, and no output schema, the description provides nothing about the resource being fetched or the shape of the response. An agent cannot tell what a betaBuildLocalization contains (locale, whatsNew, build) or when including relationships matters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, fields_builds, fields_betaBuildLocalizations) are fully documented in the schema, including the enum values for includable relationships. The description adds nothing, which is the baseline 3 case when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route repeated twice: 'GET /v1/betaBuildLocalizations/{id}'. It conveys that this is a single-resource read keyed by id, but it never says what a betaBuildLocalization actually is, nor distinguishes it from siblings like beta_build_localizations_get_collection or beta_build_localizations_build_get_to_one_related. This is effectively a restatement of the name/route rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., needing the localization id from a build), and no routing to alternative tools. With many near-identical beta_build_localizations siblings, an agent gets no help choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_build_localizations_update_instanceC
PATCH /v1/betaBuildLocalizations/{id} (PATCH /v1/betaBuildLocalizations/{id}) Body shape: see OpenAPI components.schemas.BetaBuildLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaBuildLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing beyond the PATCH verb. It does not state that this is a partial update, what fields are mutable, what permissions are required, or any side effects, deferring entirely to an external OpenAPI schema reference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its only sentence duplicating the identical path twice in parentheses. It is front-loaded with a URL rather than a statement of purpose, so brevity here reflects under-specification rather than efficient concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API request body, the description is inadequate; it outsources all substantive information to an external schema document the agent may not have. Nothing about the update's scope or effect is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline of 3 applies. The description adds no parameter meaning beyond pointing to the same components.schemas reference already cited in the body parameter's schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP endpoint (PATCH /v1/betaBuildLocalizations/{id}) with no semantic explanation of what a beta build localization is or what updating one accomplishes. It is essentially the tool name rendered as a REST path, offering no differentiation from the many sibling update_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as beta_build_localizations_create_instance or beta_build_localizations_delete_instance, nor any stated prerequisites. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_crash_logs_get_instanceD
GET /v1/betaCrashLogs/{id} (GET /v1/betaCrashLogs/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_betaCrashLogs | No | the fields to include for returned resources of type betaCrashLogs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only echoes an HTTP GET path and discloses nothing about permissions, errors, read-only status, rate limits, or what data is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only content by repeating the identical REST path inside parentheses. It is concise without being useful, and no meaningful information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description needed to explain what a beta crash log instance contains and how retrieval behaves. Instead it merely restates the endpoint, leaving the agent without enough context to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the required id and the fields_betaCrashLogs selector are fully documented in the schema. The description adds no parameter meaning, which is acceptable at the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the REST path repeated verbatim, 'GET /v1/betaCrashLogs/{id} (GET /v1/betaCrashLogs/{id})'. It implies retrieving a beta crash log but never states in plain language what the resource is or what operation is performed, making it close to tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or what sibling tools might be alternatives. An agent gets no help distinguishing this from the many other *_get_instance tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_feedback_crash_submissions_crash_log_get_to_one_relationshipD
GET /v1/betaFeedbackCrashSubmissions/{id}/relationships/crashLog (GET /v1/betaFeedbackCrashSubmissions/{id}/relationships/crashLog)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers nothing. It does not state that this is a read-only relationship fetch, whether the linked resource may be absent, what authorization is needed, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same route string is duplicated in parentheses with zero added information, which is pure redundancy rather than front-loaded substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a path-only description, an agent cannot know what this call returns or when it applies. For a relationship-fetch tool in a large sibling set, this is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single required 'id' parameter, so the schema already documents it. The description adds no meaning (e.g., that the id is the crash submission id), so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route repeated verbatim, 'GET /v1/betaFeedbackCrashSubmissions/{id}/relationships/crashLog'. It restates the tool name and path rather than explaining in human terms that it fetches the crash log linked to a beta feedback crash submission, so an agent gains nothing beyond decoding the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Siblings such as beta_feedback_crash_submissions_crash_log_get_to_one_related and beta_crash_logs_get_instance exist, and the description gives no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_feedback_crash_submissions_delete_instanceD
DELETE /v1/betaFeedbackCrashSubmissions/{id} (DELETE /v1/betaFeedbackCrashSubmissions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and delivers nothing. For a destructive delete it fails to disclose irreversibility, required auth/roles, whether the parent submission is affected, or what is returned. It only repeats the route.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the same route string written twice, which is pure redundancy rather than concision. Nothing is front-loaded because there is no informational content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete-by-id endpoint with no annotations and no output schema, the description should at minimum convey that this is a destructive removal of a beta crash feedback submission. That context is entirely absent, leaving only the mechanical route.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) with 100% schema description coverage, so the schema already documents it ('the id of the requested resource'). Per the baseline rule for high coverage, 3 is appropriate; the description adds no meaning beyond the schema, but nothing is missing either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP route "DELETE /v1/betaFeedbackCrashSubmissions/{id}", duplicated inside parentheses. It does encode a verb (DELETE) and a resource (betaFeedbackCrashSubmissions), which is marginally more than a pure name restatement, but it never states in plain language what the resource is or what deleting it means for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus siblings like beta_feedback_crash_submissions_get_instance or beta_feedback_screenshot_submissions_delete_instance, nor any prerequisites (permissions, ownership, confirmation). None is implied either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_feedback_crash_submissions_get_instanceD
GET /v1/betaFeedbackCrashSubmissions/{id} (GET /v1/betaFeedbackCrashSubmissions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters | |
| fields_betaFeedbackCrashSubmissions | No | the fields to include for returned resources of type betaFeedbackCrashSubmissions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The GET verb weakly implies a read-only fetch, but there is no mention of authentication needs, pagination, error behavior for missing ids, or what the response contains. For a tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the parenthetical repetition of the identical path string is pure waste. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A five-parameter read tool with no annotations, no output schema, and no plain-language description leaves the agent with almost nothing. The description should at minimum explain what the resource is and how the sparse-fieldset and include parameters shape the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter (id, include, fields_builds, fields_betaTesters, fields_betaFeedbackCrashSubmissions) is documented in the schema itself. The description adds nothing beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the operation identifier restated verbatim, including a redundant duplicate in parentheses. The HTTP path does weakly signal 'fetch one beta feedback crash submission by id', but there is no plain-language statement of purpose and no differentiation from siblings like beta_feedback_crash_submissions_delete_instance or the crash_log relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives. Nothing tells the agent that this fetches a single submission rather than the collection (apps_beta_feedback_crash_submissions_get_to_many_related) or the crash log sub-resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_feedback_screenshot_submissions_delete_instanceC
DELETE /v1/betaFeedbackScreenshotSubmissions/{id} (DELETE /v1/betaFeedbackScreenshotSubmissions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the implicit destructiveness of DELETE. It does not say whether deletion is permanent or reversible, what related data (screenshots, feedback context) is removed, what permissions are required, or whether the call is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but the same HTTP path is duplicated inside parentheses, adding zero information. Brevity here reflects under-specification rather than economy of expression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unannotated destructive operation with no output schema, an agent needs to know at minimum that this permanently removes a beta feedback screenshot submission and what authorization/app-scoping it requires. None of that is present, leaving the definition inadequate for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required path parameter documented as "the id of the requested resource", so the schema already does the work. The description adds nothing about the id — no format, no source guidance (e.g. how to obtain it) — so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is an HTTP method plus path ("DELETE /v1/betaFeedbackScreenshotSubmissions/{id}"), which is a verbatim restatement of the tool name rather than an explanation of what the tool does in domain terms. It conveys no information an agent couldn't already derive from the identifier, and it does not distinguish this delete from the many sibling delete operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no mention of the sibling delete tools (e.g. beta_feedback_crash_submissions_delete_instance) or of alternatives such as leaving the submission intact. The agent is given nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_feedback_screenshot_submissions_get_instanceD
GET /v1/betaFeedbackScreenshotSubmissions/{id} (GET /v1/betaFeedbackScreenshotSubmissions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters | |
| fields_betaFeedbackScreenshotSubmissions | No | the fields to include for returned resources of type betaFeedbackScreenshotSubmissions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden and delivers none of it. It says nothing about authentication requirements, whether the resource is scoped to the caller's team, error behavior for unknown ids, or what the response body contains, for a tool with five parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in the useful sense: the same endpoint string is duplicated back-to-back, which is pure redundancy rather than economy. There is no front-loaded purpose statement because there is no purpose statement at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter retrieval tool with no annotations and no output schema, the description supplies zero of the context an agent needs: not the resource's meaning, not the sparse-fieldset/include semantics, not the return shape. It is completely inadequate beyond identifying the HTTP route.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and the three sparse-fieldset parameters in detail. The description adds no parameter meaning whatsoever, but the baseline of 3 applies when the structured schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP method and URL path repeated verbatim, once inside the text and once in parentheses. It conveys only what the tool name 'get_instance' plus the resource name already imply, adding no explanation of what a beta feedback screenshot submission is or what retrieving one yields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to fetch a single submission versus the sibling list tool apps_beta_feedback_screenshot_submissions_get_to_many_relationship, and no mention of prerequisites such as needing a valid submission id from that listing. Nothing is misleading, but nothing is offered either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_app_get_to_one_relationshipD
GET /v1/betaGroups/{id}/relationships/app (GET /v1/betaGroups/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discharges none of it. The only implicit signal is 'GET' (read-only), with no mention of auth requirements, response shape, pagination, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure duplication — the same endpoint string appears twice with no additional information. Brevity here comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should describe the returned relationship resource, yet it says nothing about what the beta group's app relationship contains. For a relationship-fetch endpoint in a large API surface, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one required parameter ('id', documented as 'the id of the requested resource'), which already conveys the semantics. The description adds nothing, so the baseline of 3 applies for a well-covered single-param schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and endpoint path ('GET /v1/betaGroups/{id}/relationships/app') duplicated in parentheses. It signals an HTTP GET on a beta-group/app relationship, but adds no plain-language statement of what is actually retrieved or how it differs from sibling tools like beta_groups_app_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the near-identical sibling beta_groups_app_get_to_one_related or beta_groups_get_instance. The agent is left to infer entirely from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_beta_recruitment_criteria_get_to_one_relationshipD
GET /v1/betaGroups/{id}/relationships/betaRecruitmentCriteria (GET /v1/betaGroups/{id}/relationships/betaRecruitmentCriteria)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no return-shape or pagination notes, no statement that the criterion may be absent. It is a bare path restatement duplicated in parentheses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is pure redundancy: the same URL path is stated twice, once outside and once inside parentheses, with zero informational payload. Brevity here reflects under-specification rather than efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-one relationship fetch with no annotations and no output schema, the description should at minimum say what is returned (a betaRecruitmentCriteria resource related to a beta group) and how to obtain the id. None of that is present, leaving the agent unable to call it correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) with 100% schema description coverage ('the id of the requested resource'), so the schema already does the documenting. Baseline 3 applies since the description adds no further parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name and URL path verbatim ('GET /v1/betaGroups/{id}/relationships/betaRecruitmentCriteria'), which conveys the resource and read verb but adds no explanatory content. It does not distinguish this tool from siblings such as beta_groups_beta_recruitment_criteria_get_to_one_related or the compatible-build-check relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, what prerequisites apply, or which sibling handles related queries (e.g. get_to_one_related or the criterion compatible_build_check variants). The agent must infer everything from the URL slug.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_beta_recruitment_criterion_compatible_build_check_get_to_one_relationshipD
GET /v1/betaGroups/{id}/relationships/betaRecruitmentCriterionCompatibleBuildCheck (GET /v1/betaGroups/{id}/relationships/betaRecruitmentCriterionCompatibleBuildCheck)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the path. It does not say whether this is a read-only relationship fetch, what it returns, auth requirements, or pagination/side effects. For a zero-annotation tool, this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant: the same path string appears twice, with the second occurrence parenthetically duplicating the first. It is not under-specified due to brevity but wastes its single statement on repetition rather than front-loading useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only a bare path in the description, an agent cannot determine what the relationship represents or what it returns. Given the complexity implied by the name and the sibling set, the definition is far too thin to support correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter 'id' with 100% schema description coverage ('the id of the requested resource'), so the schema already documents everything needed. The description adds no syntax or semantic detail beyond the schema, which yields the baseline 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the tool name repeated: a raw REST path 'GET /v1/betaGroups/{id}/relationships/betaRecruitmentCriterionCompatibleBuildCheck' duplicated in parentheses. It states the HTTP verb and resource path but explains nothing about what a 'betaRecruitmentCriterionCompatibleBuildCheck' relationship is or returns. This is a tautology of the name with no added meaning, so an agent gains no real understanding of the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling 'beta_groups_beta_recruitment_criterion_compatible_build_check_get_to_one_related' or any other alternative. The agent is given nothing to distinguish this from the dozens of get_to_one_relationship tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_beta_testers_create_to_many_relationshipC
POST /v1/betaGroups/{id}/relationships/betaTesters (POST /v1/betaGroups/{id}/relationships/betaTesters) Body shape: see OpenAPI components.schemas.BetaGroupBetaTestersLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaGroupBetaTestersLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, yet it discloses nothing beyond the path: no mutation semantics, no auth/permission requirements, no idempotency or error behavior, no statement that this modifies the beta group's tester list. The only content is a pointer to the OpenAPI request-body schema, which is a parameter aid rather than behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short only because it says almost nothing, and the first clause duplicates itself verbatim inside parentheses (the same POST path appears twice). That redundancy is pure waste and the one real piece of information (body schema reference) is not front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating relationship endpoint with no annotations, no output schema, and a nested request body, so the description should explain the append semantics and any constraints. Instead it provides only a URL and a schema pointer, leaving the agent without enough context to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and body, giving a baseline of 3. The description adds a useful pointer to components.schemas.BetaGroupBetaTestersLinkagesRequest, which helps the caller build the JSON:API linkage envelope, but adds no field-level detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name in URL form: it repeats the endpoint path twice with no plain-language statement of what the operation does (add beta testers to a beta group's relationship). It never distinguishes itself from sibling endpoints such as beta_groups_beta_testers_get_to_many_relationship or beta_groups_beta_testers_delete_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this endpoint versus the get/delete/replace relationship variants, no prerequisites, and no note that this is additive (it appends linkages rather than replacing the set). An agent must infer the semantics entirely from the path suffix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_beta_testers_delete_to_many_relationshipC
DELETE /v1/betaGroups/{id}/relationships/betaTesters (DELETE /v1/betaGroups/{id}/relationships/betaTesters) Body shape: see OpenAPI components.schemas.BetaGroupBetaTestersLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaGroupBetaTestersLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only repeats the HTTP DELETE endpoint. It does not state that this removes beta tester linkages from a beta group, whether the operation is idempotent, what permissions are required, or what happens to the relationship payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint is repeated twice in the same sentence, which is wasted space. The description is short, but it is not front-loaded with a plain-language action statement and instead leads with raw HTTP syntax.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unannotated mutation relationship tool with a nested JSON:API body, the description is incomplete: it does not explain the semantic effect of the DELETE, required permissions, response behavior, or what the body linkage request should contain beyond pointing to an OpenAPI component.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters. The description adds only a reference to components.schemas.BetaGroupBetaTestersLinkagesRequest, which duplicates information already present in the body schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact DELETE endpoint for the betaGroups-to-betaTesters relationship, so the verb and resource are clear. It does not explain in plain language that this removes beta testers from a beta group, but the endpoint path is specific enough to distinguish it from sibling get/create relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides no guidance on when to use this delete-relationship tool versus creating or reading the relationship. There are no prerequisites, exclusions, or references to sibling alternatives such as beta_groups_beta_testers_create_to_many_relationship.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_beta_testers_get_to_many_relationshipD
GET /v1/betaGroups/{id}/relationships/betaTesters (GET /v1/betaGroups/{id}/relationships/betaTesters)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not say that relationship endpoints return resource identifier linkage rather than full tester objects (the key differentiator from the *_related sibling), nor anything about pagination via limit, auth requirements, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is only one short string, but the parenthesis duplicates the path verbatim, adding zero information. It is under-specified rather than concise, and nothing is front-loaded beyond the URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no prose, an agent has no idea what a successful response contains or how this differs from beta_groups_beta_testers_get_to_many_related. For a relationship endpoint where that distinction is the entire point, the description is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — 'id' is documented as 'the id of the requested resource' and 'limit' as 'maximum resources per page'. With the schema doing the heavy lifting, the baseline of 3 applies; the description adds no additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw endpoint path repeated verbatim in parentheses: 'GET /v1/betaGroups/{id}/relationships/betaTesters (. . .)'. It effectively restates the tool name in URL form rather than stating in plain language what the tool returns, and it never distinguishes this relationship endpoint from the sibling beta_groups_beta_testers_get_to_many_related or beta_groups_beta_testers_create/delete_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus the many sibling relationship tools. The path implies reading the betaTesters linkage of a beta group, but nothing tells the agent when this is the right choice over the *_related variant or the create/delete relationship variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_beta_tester_usages_get_metricsD
GET /v1/betaGroups/{id}/metrics/betaTesterUsages (GET /v1/betaGroups/{id}/metrics/betaTesterUsages)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum number of groups to return per page | |
| period | No | the duration of the reporting period | |
| groupBy | No | the dimension by which to group the results | |
| filter_betaTesters | No | filter by 'betaTesters' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the bare 'GET'. It does not say whether the endpoint is read-only in effect, what the metric aggregation means, permission requirements, or any pagination behavior for the limit parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant: the same path string appears twice with no added information, so the single sentence does not earn its place and there is no front-loaded purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 5-parameter metrics endpoint with no output schema and no annotations, so the description must explain what is measured and returned. Instead it is a path echo, leaving an agent unable to determine what calling it produces or how results are grouped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with each parameter documented (id, limit, period enum, groupBy, filter_betaTesters), so the schema already does the heavy lifting. The description adds no parameter meaning whatsoever, which is the baseline-3 case when structured fields cover the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP path repeated twice in parentheses. It names a resource (betaGroups betaTesterUsages metrics) but provides no verb, scope, or explanation of what the metric actually represents, so an agent learns only what the tool name already told it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the many sibling metric tools (e.g. beta_groups_public_link_usages_get_metrics, builds_beta_build_usages_get_metrics, beta_testers_beta_tester_usages_get_metrics), nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_builds_create_to_many_relationshipC
POST /v1/betaGroups/{id}/relationships/builds (POST /v1/betaGroups/{id}/relationships/builds) Body shape: see OpenAPI components.schemas.BetaGroupBuildsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaGroupBuildsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states nothing about what the mutation does to existing build relationships (additive vs. replace), permission/auth requirements, or reversibility. Only the body schema reference hints at the payload shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loads the endpoint, but it redundantly repeats the identical path twice in parentheses, which earns no place. Otherwise it is terse without excessive padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the description is far too thin. It omits any explanation of the operation's effect, side effects, or how the body maps to builds, leaving significant gaps an agent would need filled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented in the schema. The description's pointer to components.schemas.BetaGroupBuildsLinkagesRequest merely repeats the schema's own description, adding no new meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and endpoint path (POST /v1/betaGroups/{id}/relationships/builds), which implies adding builds to a beta group's builds relationship. However, it never states the operation in plain language and simply mirrors the tool name and URL. It offers no differentiation from the sibling get/delete variants (beta_groups_builds_get/delete_to_many_relationship).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the get or delete relationship siblings, nor any prerequisites or context. The description only restates the endpoint, leaving the agent to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_builds_delete_to_many_relationshipC
DELETE /v1/betaGroups/{id}/relationships/builds (DELETE /v1/betaGroups/{id}/relationships/builds) Body shape: see OpenAPI components.schemas.BetaGroupBuildsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaGroupBuildsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It names the DELETE verb but does not disclose that this removes the relationship (not the builds themselves), whether it is irreversible, what permissions are required, or what happens to the underlying build resources. For a mutation tool with zero annotation coverage this is a significant gap; the only behavioral hint is the body schema reference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The operation is front-loaded, but the endpoint path is repeated twice in immediate succession with no added information, which is wasted space. The body-shape pointer is useful but the definition is neither efficiently compact nor complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations, no output schema, and a nested JSON:API body, the description should explain the effect and the envelope semantics. Instead it defers entirely to an external OpenAPI schema the agent may not have, leaving the actual behavior of the delete linkage underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (id, body) are already documented in the schema, which sets the baseline at 3. The description adds only a pointer to components.schemas.BetaGroupBuildsLinkagesRequest for the JSON:API envelope, which mirrors what the schema's body description already says, adding little new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the operation and resource via the raw path (DELETE /v1/betaGroups/{id}/relationships/builds), so an agent can infer it removes the to-many builds linkage from a beta group. However, it never states the effect in plain language and duplicates the same path verbatim in parentheses, so the purpose is implied rather than stated. It also does not distinguish itself from its siblings beta_groups_builds_create_to_many_relationship or beta_groups_builds_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the create/get/related siblings that operate on the same betaGroups-builds relationship. No prerequisites, no note about when deletion of the linkage is appropriate. The agent must infer usage entirely from the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_builds_get_to_many_relationshipD
GET /v1/betaGroups/{id}/relationships/builds (GET /v1/betaGroups/{id}/relationships/builds)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no pagination behavior (despite a limit parameter), no read-only confirmation, no response shape. It is a bare route echo and leaves every behavioral question open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but not concise in the meaningful sense: it wastes its single sentence by repeating the same endpoint string twice with no added information, so no part of it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a description that is only the raw route, an agent lacks everything needed to use this tool confidently: what the relationship payload contains, whether it is paginated, and how it differs from the plethora of sibling relationship endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters ('id' and 'limit') documented in the schema, so the description needs to add little. It adds nothing, which is the baseline case for a fully documented two-parameter schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route and duplicates it in parentheses, so it identifies the endpoint (betaGroups → builds relationship) without stating in words what the tool does. An agent must decode the path and the name suffix to guess 'list builds associated with a beta group', and it gets no help distinguishing this from siblings like beta_groups_builds_get_to_many_related or builds_beta_groups_create_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the many sibling relationship endpoints (related vs relationship variants, create/delete variants). The route path at best implies 'fetch the relationship linkage', but no exclusion or alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_create_instanceC
POST /v1/betaGroups (POST /v1/betaGroups) Body shape: see OpenAPI components.schemas.BetaGroupCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaGroupCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects, required auth/scopes, idempotency, or what happens on success. Pointing at an external OpenAPI component for the body shape is structural, not behavioral, leaving the agent with zero behavioral context for a mutating call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but wastes words by repeating 'POST /v1/betaGroups' twice in the same sentence. It is brief because it is under-specified rather than because it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with a nested JSON:API envelope body, no annotations, and no output schema, the description is far too thin. It offloads the only substantive content to an external OpenAPI document the agent may not have, leaving the request shape and behavior effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 100% schema description coverage, the schema already documents the body and names components.schemas.BetaGroupCreateRequest. The description repeats that same reference verbatim, adding no syntax, field-level, or envelope guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives only the HTTP verb and path (POST /v1/betaGroups), which lets an agent infer 'create a beta group' but never states the purpose in plain language or explains what a beta group is. It is essentially a restatement of the endpoint rather than a description, and it does nothing to separate this tool from sibling create tools like beta_recruitment_criteria_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or how it relates to alternatives such as beta_groups_update_instance or beta_groups_get_collection. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_delete_instanceD
DELETE /v1/betaGroups/{id} (DELETE /v1/betaGroups/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and delivers none of it. It does not state that the operation is destructive and irreversible, whether it cascades to related beta testers/builds, what permissions are required, or whether the group must be empty first.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical '(DELETE /v1/betaGroups/{id})' is a pure duplication of the preceding text and earns nothing. Brevity here comes from omission, not from efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive delete with no annotations, no output schema, and no error semantics should explain consequences, permissions, and failure modes. The description supplies none of this, leaving an agent unable to judge whether the call is safe or what happens on success or failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter 'id' is documented in the schema as 'the id of the requested resource'. The description adds nothing beyond echoing '{id}' in the path, so the baseline 3 applies when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP route signature, 'DELETE /v1/betaGroups/{id}', duplicated verbatim in parentheses. It technically conveys the verb and resource, but it merely restates the tool name (beta_groups_delete_instance) rather than stating the purpose in plain language, and it does nothing to distinguish this from the dozens of other *_delete_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as beta_groups_get_instance or beta_groups_update_instance. The only usage signal is the implicit 'this deletes' from the endpoint verb, which the agent could infer 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.
beta_groups_get_collectionD
GET /v1/betaGroups (GET /v1/betaGroups)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| filter_name | No | filter by attribute 'name' | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| filter_builds | No | filter by id(s) of related 'builds' | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| filter_publicLink | No | filter by attribute 'publicLink' | |
| limit_betaTesters | No | maximum number of related betaTesters returned (when they are included) | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters | |
| filter_isInternalGroup | No | filter by attribute 'isInternalGroup' | |
| filter_publicLinkEnabled | No | filter by attribute 'publicLinkEnabled' | |
| filter_publicLinkLimitEnabled | No | filter by attribute 'publicLinkLimitEnabled' | |
| fields_betaRecruitmentCriteria | No | the fields to include for returned resources of type betaRecruitmentCriteria |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination semantics, no default limits, no auth requirements, no indication of what the response contains. A bare endpoint string is the minimum possible disclosure for a mutation-free but 18-parameter listing call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness; the parenthetical repeats the same endpoint verbatim, so even the single line contains redundant content with zero informational payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a collection endpoint with 18 optional parameters, no output schema, and no annotations, the description should at minimum explain that it returns a paginated list of beta groups and how filtering/inclusion works. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — every one of the 18 parameters (sort, limit, include, filter_*, fields_*) is documented in the schema itself, including enum values for sort and field sets. The description adds nothing beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: 'GET /v1/betaGroups (GET /v1/betaGroups)'. It conveys only that this reads the betaGroups collection, with no elaboration of scope, filters, or relationship to siblings like beta_groups_get_instance or apps_beta_groups_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., an app context or token scopes), and no routing to the many sibling collection/instance/relationship tools. The agent must infer everything 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.
beta_groups_get_instanceC
GET /v1/betaGroups/{id} (GET /v1/betaGroups/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| limit_betaTesters | No | maximum number of related betaTesters returned (when they are included) | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters | |
| fields_betaRecruitmentCriteria | No | the fields to include for returned resources of type betaRecruitmentCriteria |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only implies a read operation via 'GET' and does not describe authentication requirements, error behavior, response format, or anything about the 9 include/fields/limit parameters that materially affect behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but wastes most of its space duplicating the same raw endpoint in parentheses. It is under-specified rather than concise, offering no front-loaded explanatory information that would help an agent select or invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters, sparse relationships, and no output schema or annotations, the description says nothing beyond the HTTP path. It is completely inadequate as a standalone explanation of what this operation returns or how to use its include/fields/limit options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 9 parameters are documented in the schema, including the required id, include relationships, field selections, and limits. The description adds no parameter meaning beyond what the schema already provides, which is the baseline expectation when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb (GET) and resource path (betaGroups/{id}), so an agent can infer it fetches a single beta group. However, it is a raw endpoint string with no explanation of what a beta group is or how it differs from the sibling beta_groups_get_collection, leaving sibling differentiation implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus alternatives such as beta_groups_get_collection or beta_groups_beta_testers_get_to_many_relationship. There are no conditions, prerequisites, or exclusions stated; the agent must infer usage from the endpoint path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_public_link_usages_get_metricsD
GET /v1/betaGroups/{id}/metrics/publicLinkUsages (GET /v1/betaGroups/{id}/metrics/publicLinkUsages)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum number of groups to return per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it supplies none. It does not say whether the endpoint is read-only, whether metrics are aggregated over a window, what latency or pagination behavior to expect, or what auth is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every character is redundant: the same endpoint string is printed twice with no added information. Being brief here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a metrics endpoint with no output schema and no annotations, so the description was the only place to explain what the metrics contain and how to interpret them. It explains nothing, leaving the agent unable to use the result meaningfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' ('the id of the requested resource') and 'limit' ('maximum number of groups per page') are already documented by the schema. The description adds nothing on top, but baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does nothing but restate the tool name as a raw HTTP path, repeating it twice inside parentheses. It never explains in prose what 'publicLinkUsages metrics' measure (clicks? installs? unique visitors?) or how this differs from sibling metrics tools like beta_groups_beta_tester_usages_get_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. needing a beta group id from beta_groups_get_collection), and no distinction from the many other *_get_metrics siblings. An agent gets no help choosing this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_groups_update_instanceC
PATCH /v1/betaGroups/{id} (PATCH /v1/betaGroups/{id}) Body shape: see OpenAPI components.schemas.BetaGroupUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaGroupUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only implies a partial mutation via 'PATCH'. It says nothing about permissions, whether omitted fields are preserved, reversibility, or side effects. The only added value is pointing at the request body schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the endpoint, but the duplicated '(PATCH /v1/betaGroups/{id})' parenthetical and the redundant body-shape reference waste the few tokens present without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is inadequate: it does not describe updatable fields, auth requirements, or result behavior. Delegating everything to an external OpenAPI reference leaves the agent without enough to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both id and body are already documented in the input schema. The description merely repeats the body-shape reference already present in the schema description, adding no new parameter meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the operation as 'PATCH /v1/betaGroups/{id}', which is essentially the tool name (beta_groups_update_instance) rendered as an HTTP path. It confirms the resource and method but adds no semantic explanation of what beta group update entails. This is close to tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives such as beta_groups_get_instance, beta_groups_create_instance, or beta_groups_delete_instance. The agent is left to infer the operation's place among siblings entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_license_agreements_app_get_to_one_relationshipD
GET /v1/betaLicenseAgreements/{id}/relationships/app (GET /v1/betaLicenseAgreements/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the return shape (a to-one linkage to an app resource), auth requirements, or any error behavior. Restating the URL path adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but structurally redundant, duplicating the same route twice in parentheses with no added information. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple relationship-fetch endpoint with no output schema and no annotations, the description still omits the essential fact of what is returned (the related app linkage) and how it differs from sibling relationship tools. It is not complete enough to guide correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. Per the high-coverage baseline this lands at 3, since the description adds no format or constraint detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP route, 'GET /v1/betaLicenseAgreements/{id}/relationships/app', which restates the tool name rather than explaining in plain language what the tool does. It never says what the 'app' relationship is or why an agent would fetch it, so it is tautological rather than clarifying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, despite the sibling set containing the near-identical 'beta_license_agreements_app_get_to_one_related' and 'apps_beta_license_agreement_get_to_one_relationship'. Nothing tells the agent how to pick among these overlapping tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_license_agreements_get_collectionD
GET /v1/betaLicenseAgreements (GET /v1/betaLicenseAgreements)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_betaLicenseAgreements | No | the fields to include for returned resources of type betaLicenseAgreements |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing about pagination (despite a limit param), authentication, return format, or that it returns a list. The endpoint string alone conveys no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in a useful sense; the single line is redundant (path repeated twice) and omits everything an agent needs. This is under-specification masquerading as brevity rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter collection tool with no output schema and no annotations, the description should at minimum explain that it lists beta license agreements and how filtering/pagination work. Nothing beyond the raw endpoint is provided, so it is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents limit, include, filter_app, fields_apps, and fields_betaLicenseAgreements. The description adds nothing, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the endpoint ('GET /v1/betaLicenseAgreements') duplicated twice, adding no verb or scope information beyond what the tool name already implies. It is effectively a tautology of the name rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this collection endpoint versus siblings like beta_license_agreements_get_instance or apps_beta_license_agreement_get_to_one_related. No context or exclusions are provided at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_license_agreements_get_instanceC
GET /v1/betaLicenseAgreements/{id} (GET /v1/betaLicenseAgreements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_betaLicenseAgreements | No | the fields to include for returned resources of type betaLicenseAgreements |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It discloses nothing about authentication requirements, error behavior, what happens if the id is invalid, or what the response contains. The only signal is the HTTP method GET, which is already implied by the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but not helpful; it merely repeats the endpoint path with no front-loaded useful information. This is under-specification rather than concise clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there are no annotations and no output schema, the description should explain the tool's behavior, return structure, and usage context. It does none of this, leaving the agent to rely entirely on the schema and name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters (id, include, fields_apps, fields_betaLicenseAgreements). The description adds no meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely the HTTP endpoint path repeated twice: 'GET /v1/betaLicenseAgreements/{id} (GET /v1/betaLicenseAgreements/{id})'. It restates the tool name in URL form without explaining what a beta license agreement is or that it retrieves a single instance. No differentiation from the sibling collection endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as beta_license_agreements_get_collection or beta_license_agreements_update_instance. The agent is left to infer usage 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.
beta_license_agreements_update_instanceC
PATCH /v1/betaLicenseAgreements/{id} (PATCH /v1/betaLicenseAgreements/{id}) Body shape: see OpenAPI components.schemas.BetaLicenseAgreementUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaLicenseAgreementUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses almost nothing. PATCH hints at a partial update, but there is no statement about permissions, whether unspecified fields are preserved, or what the mutation affects; it only defers the request shape to an external OpenAPI component.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim in parentheses, which is pure waste, and the substantive content is a reference to an external document rather than inline information. Front-loading the route is fine, but the sentence does not earn its space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested, free-form body object, no annotations, and no output schema, the description is inadequate: it neither summarizes the updatable fields nor confirms success/return behavior, delegating everything to a spec the agent may not be able to open.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented, including the pointer to BetaLicenseAgreementUpdateRequest), so the schema already does the work. The description repeats the same pointer without adding syntax, format, or field-level meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name spelled out as an HTTP route: 'PATCH /v1/betaLicenseAgreements/{id}'. There is no natural-language statement of what updating a beta license agreement accomplishes, and nothing distinguishes it from the sibling beta_license_agreements_get_instance / get_collection beyond the verb baked into the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no preconditions, and no mention of alternatives or prerequisites (e.g., which agreement fields are editable, whether the agreement must be in a particular state). The agent is left to infer everything from the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_recruitment_criteria_create_instanceC
POST /v1/betaRecruitmentCriteria (POST /v1/betaRecruitmentCriteria) Body shape: see OpenAPI components.schemas.BetaRecruitmentCriterionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaRecruitmentCriterionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only gives the endpoint and a schema reference; it says nothing about authentication requirements, side effects, idempotency, validation behavior, or what happens on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the endpoint. However, it redundantly repeats the same endpoint in parentheses and adds little useful structure beyond the bare path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested JSON:API body and no output schema or annotations, the description is incomplete. Pointing to an external OpenAPI component may not be actionable for the agent, and no behavior or response context is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage and already documents the single body parameter, including the referenced shape. The description repeats the schema reference but adds no additional semantic meaning about the body contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP method and endpoint path for creating a beta recruitment criterion, which is enough to infer the basic purpose. However, it does not describe what a beta recruitment criterion is or differentiate this tool from sibling update/delete operations beyond the raw endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as beta_recruitment_criteria_update_instance or related beta-group operations. The only usage signal is the POST endpoint, which is implicit rather than explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_recruitment_criteria_delete_instanceD
DELETE /v1/betaRecruitmentCriteria/{id} (DELETE /v1/betaRecruitmentCriteria/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden — and it discloses nothing. For a destructive DELETE it never states that the operation is irreversible, whether it requires specific roles/permissions, whether it cascades to beta group associations, or what happens if the id does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but that brevity is under-specification rather than conciseness. The route string is also duplicated inside parentheses with zero added information, which is wasted content rather than a meaningful front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-resource delete with no annotations, no output schema, and no natural-language text, the description is completely inadequate — an agent gets no safety context, no confirmation behavior, and no indication of side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single id parameter is documented in the schema, so the baseline of 3 applies. The description's {id} path template confirms it is a path parameter but adds no format, sourcing, or lookup guidance beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP route (DELETE /v1/betaRecruitmentCriteria/{id}) repeated verbatim in parentheses. It does name a verb and resource, so it is not entirely opaque, but it restates the tool name's own 'delete_instance' semantics rather than explaining what a recruitment criterion is or what deleting one accomplishes — a tautology rather than a description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus siblings such as beta_recruitment_criteria_update_instance or beta_groups_beta_recruitment_criteria_get_to_one_relationship. No prerequisites, no mention of what state the criterion must be in to be deletable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_recruitment_criteria_update_instanceC
PATCH /v1/betaRecruitmentCriteria/{id} (PATCH /v1/betaRecruitmentCriteria/{id}) Body shape: see OpenAPI components.schemas.BetaRecruitmentCriterionUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaRecruitmentCriterionUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only implies a partial update via 'PATCH'. It says nothing about required permissions, whether the update is reversible, what happens to unmentioned fields, or what the response contains. For a mutation tool this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the path is repeated parenthetically ('PATCH /v1/betaRecruitmentCriteria/{id} (PATCH /v1/betaRecruitmentCriteria/{id})'), which is pure duplication that earns no place. Brevity keeps it from being worse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested body object, no annotations, and no output schema, the description is inadequate: it never explains what the update does, does not inline the body shape, and omits auth or response context. An agent must go outside the definition to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and body are documented in the schema, giving a baseline of 3. The description adds only a pointer to the OpenAPI component schema for the body envelope, without clarifying any parameter semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the HTTP verb (PATCH) and the resource path (/v1/betaRecruitmentCriteria/{id}), which lets an agent infer this updates a beta recruitment criterion and distinguishes it from the create/delete siblings by method. However it is a raw endpoint reference rather than a purpose statement, and the path is duplicated redundantly without prose explanation of what is being updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling beta_recruitment_criteria_create_instance or beta_recruitment_criteria_delete_instance, nor any prerequisite or lifecycle context. The HTTP method is the only implied selector.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_recruitment_criterion_options_get_collectionD
GET /v1/betaRecruitmentCriterionOptions (GET /v1/betaRecruitmentCriterionOptions)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| fields_betaRecruitmentCriterionOptions | No | the fields to include for returned resources of type betaRecruitmentCriterionOptions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the HTTP method. There is no mention of pagination behavior despite a limit parameter, no auth/scope requirements, and no statement about the read-only nature beyond the implicit 'GET'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: the single line is a redundant duplication of the endpoint and earns no place in the definition. No useful information is front-loaded because none is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a collection endpoint with no annotations and no output schema, the description should at minimum identify the resource and its scope; it does neither. An agent cannot determine from this text what data it will receive or when it is appropriate to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'limit' and 'fields_betaRecruitmentCriterionOptions' documented in the schema itself, so the baseline of 3 applies. The description adds no format hints, defaults, or meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP route 'GET /v1/betaRecruitmentCriterionOptions' repeated twice, which merely restates the tool name rather than explaining what a recruitment criterion option is or what the collection represents. No verb+resource semantics beyond the endpoint string, and nothing distinguishes it from sibling collection tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this endpoint, no mention of prerequisites, and no reference to any alternative such as beta_recruitment_criteria_create_instance or the betaGroups recruitment criterion relationships. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_tester_invitations_create_instanceD
POST /v1/betaTesterInvitations (POST /v1/betaTesterInvitations) Body shape: see OpenAPI components.schemas.BetaTesterInvitationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaTesterInvitationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no idempotency or rate-limit behavior, no note about what is created or what side effects occur. Pointing to an external OpenAPI schema reference is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the identical route text ("POST /v1/betaTesterInvitations (POST /v1/betaTesterInvitations)"), which is pure waste. The remaining sentence is compact but adds little, so it is brief without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested, free-form body object, no output schema, and no annotations, the description defers everything to an external OpenAPI schema the agent may not have. It does not explain what an invitation is or what the body must contain, leaving the definition incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter and schema description coverage is 100%, so the baseline is 3. The description merely repeats the schema's own pointer ("components.schemas.BetaTesterInvitationCreateRequest") without adding any semantics about the JSON:API envelope's fields or required contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route: "POST /v1/betaTesterInvitations (POST /v1/betaTesterInvitations)". It never states in plain language that it creates a beta tester invitation or what an invitation represents, so the agent must infer the verb+resource entirely from the tool name. This is close to a tautological echo of the endpoint rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With dozens of sibling create tools (beta_testers_create_instance, beta_groups_create_instance, user_invitations_create_instance, etc.), the description offers no selection criteria, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_apps_delete_to_many_relationshipC
DELETE /v1/betaTesters/{id}/relationships/apps (DELETE /v1/betaTesters/{id}/relationships/apps) Body shape: see OpenAPI components.schemas.BetaTesterAppsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaTesterAppsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It signals a DELETE mutation and points to the request envelope schema, but never states what is actually removed (only the relationship links, not the apps themselves), whether it is reversible, or what authentication/scope is required. This is a meaningful gap for a destructive relationship operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the endpoint is printed twice in immediate succession (the parenthetical repetition is pure waste) and the body guidance is a bare reference rather than a useful statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive relationship-delete tool with a nested JSON:API body, no output schema, and no annotations, the description does not supply the behavioral or usage context an agent needs. Pointing at an external schema leaves the agent to guess at semantics, safety, and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both 'id' and 'body'. The description adds only a pointer to the OpenAPI components.schemas.BetaTesterAppsLinkagesRequest, which is essentially redundant with the schema's own body description. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name and HTTP path ('DELETE /v1/betaTesters/{id}/relationships/apps') without explaining in plain terms that it removes app linkages from a beta tester. It does convey verb+resource via the endpoint, so it isn't fully tautological, but it offers no differentiation from siblings like beta_testers_apps_get_to_many_relationship beyond the HTTP method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no mention of alternatives (e.g. get_to_many_relationship or create_to_many_relationship), and no prerequisites such as required permissions. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_apps_get_to_many_relationshipD
GET /v1/betaTesters/{id}/relationships/apps (GET /v1/betaTesters/{id}/relationships/apps)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not whether results are paginated (despite a limit parameter), not whether the relationship object differs from the related resources, not the auth scope required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the same endpoint string is repeated twice in parentheses, wasting the only two lines of content available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a parameter set that the description never mentions, this definition is far too thin for an agent to call the tool with confidence about what it returns or how pagination works.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline of 3 applies. The description adds nothing beyond the schema but does not contradict it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP path and verb, duplicating the tool name's information. It does not say what a 'relationship' endpoint returns in contrast to the sibling 'get_to_many_related' variant, so an agent gets no added discrimination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer beta_testers_apps_get_to_many_related or beta_testers_apps_delete_to_many_relationship, or what prerequisites exist. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_beta_groups_create_to_many_relationshipC
POST /v1/betaTesters/{id}/relationships/betaGroups (POST /v1/betaTesters/{id}/relationships/betaGroups) Body shape: see OpenAPI components.schemas.BetaTesterBetaGroupsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaTesterBetaGroupsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does imply a write via the POST verb and points at a body schema, but it says nothing about required permissions, whether the linkage is additive vs replacing, error behavior, or rate limits — significant gaps for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence duplicates the endpoint path twice with no added meaning, so a meaningful fraction of the text is pure redundancy. It is short, but not because it is efficient — it is short because it says almost nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should explain the JSON:API linkage envelope, cardinality, and side effects. Instead it defers entirely to an external OpenAPI schema reference an agent may not be able to resolve, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the schema already documents 'id' and the JSON body shape. The description merely repeats the schema's own pointer to components.schemas.BetaTesterBetaGroupsLinkagesRequest without adding format, cardinality, or envelope detail beyond what the structured fields supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP path, duplicated verbatim in parentheses ('POST /v1/betaTesters/{id}/relationships/betaGroups'). It never states in plain language that this adds beta groups to a beta tester, and it does not distinguish itself from siblings like beta_testers_beta_groups_delete_to_many_relationship or beta_testers_beta_groups_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever, no mention of the delete/get sibling variants, and no prerequisites or conditions. An agent cannot tell from this text when this tool is the right choice over the closely-named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_beta_groups_delete_to_many_relationshipC
DELETE /v1/betaTesters/{id}/relationships/betaGroups (DELETE /v1/betaTesters/{id}/relationships/betaGroups) Body shape: see OpenAPI components.schemas.BetaTesterBetaGroupsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaTesterBetaGroupsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The 'DELETE' verb implies a destructive mutation, but it never states that this only severs the relationship (not deletes the tester or group), whether it is idempotent, or what permissions are required. The pointer to the OpenAPI request schema is the only behavioral context offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeat of the exact same endpoint '(DELETE /v1/betaTesters/{id}/relationships/betaGroups)' is pure redundancy, and the body-shape sentence is awkwardly phrased. Removing the duplication would leave a tighter, front-loaded definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter relationship-delete with no annotations and no output schema, the definition is thin: it does not explain what the JSON:API linkages body should contain, what the effect on existing relationships is, or what a caller should expect. Only an external OpenAPI reference is given, which the agent cannot necessarily resolve.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters (id, body) are already documented in the schema. The description names the body schema (BetaTesterBetaGroupsLinkagesRequest) but adds no meaning beyond what the schema field already says, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description embeds the operation in the raw URL (DELETE /v1/betaTesters/{id}/relationships/betaGroups), which does convey verb and resource, but there is no plain-language statement like 'removes beta groups from a beta tester.' It does not distinguish itself from the sibling create/get/related variants of the same relationship beyond the 'DELETE' token.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as beta_testers_beta_groups_get_to_many_relationship or beta_groups_beta_testers_delete_to_many_relationship. The agent must infer all routing from the URL path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_beta_groups_get_to_many_relationshipD
GET /v1/betaTesters/{id}/relationships/betaGroups (GET /v1/betaTesters/{id}/relationships/betaGroups)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no auth/permission requirements, no pagination semantics for the 'limit' parameter, no indication of whether the relationship linkage data differs from the 'related' variant. The duplicated path adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness, and the parenthetical repeats the identical string verbatim, which is pure waste with zero added information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain the operation, its relationship semantics, and pagination behavior; it explains none of them. For a relationship-fetch endpoint in a large family of near-identical siblings, this is completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema — it never mentions the id scoping or page size at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated twice in parentheses: 'GET /v1/betaTesters/{id}/relationships/betaGroups'. It restates the tool name in URL form rather than explaining in plain language what is returned, and it does nothing to distinguish this 'relationship' variant from the sibling 'beta_testers_beta_groups_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when not to, or which sibling (e.g. the *_get_to_many_related variant, or beta_groups_beta_testers_get_to_many_relationship) is the right alternative. The agent is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_beta_tester_usages_get_metricsD
GET /v1/betaTesters/{id}/metrics/betaTesterUsages (GET /v1/betaTesters/{id}/metrics/betaTesterUsages)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum number of groups to return per page | |
| period | No | the duration of the reporting period | |
| filter_apps | No | filter by 'apps' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only confirmation, no note on pagination, no rate-limit or permission context, no indication of what a metrics response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is a duplicated route string in parentheses, which is pure redundancy rather than front-loaded information. There is no useful sentence to be concise about.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description should explain what a 'beta tester usages' metrics report is (e.g., usage counts per app over the reporting period). For a metrics endpoint with four parameters, the description leaves the agent guessing about semantics and return content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id, limit, period enum, filter_apps are all documented in the schema), so the baseline of 3 applies. The description adds no parameter meaning at all, but the schema already covers it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route repeated twice, so it restates the name rather than describing the operation. An agent can infer it retrieves usage metrics for a beta tester, but nothing states what the metrics represent or what the tool returns beyond the URL shape.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, no mention of alternatives such as build_beta_usages_get_metrics or beta_groups_beta_tester_usages_get_metrics, and no prerequisites or scoping conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_builds_create_to_many_relationshipC
POST /v1/betaTesters/{id}/relationships/builds (POST /v1/betaTesters/{id}/relationships/builds) Body shape: see OpenAPI components.schemas.BetaTesterBuildsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaTesterBuildsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It implies a mutation via POST but does not disclose whether it appends to or replaces the existing builds relationship, what permissions are required, whether it is idempotent, or what happens on conflicting ids. The pointer to an external OpenAPI schema is a reference, not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it wastes space by repeating the identical path twice in parentheses and then defers the body shape to an external schema. It is efficient in length yet redundant in content, with no wasted-but-earned elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested JSON:API body, no annotations, and no output schema. The description should therefore explain the relationship semantics and envelope expectations, but instead points the agent to an external OpenAPI component that may not be available at call time. For a nested-body write operation this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the 'id' and 'body' parameters are already documented in the schema, and the description adds nothing beyond naming the external request schema (BetaTesterBuildsLinkagesRequest). Baseline 3 applies when the schema does the heavy lifting; the description offers no format or syntax detail for the nested body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a raw HTTP method + path (POST /v1/betaTesters/{id}/relationships/builds), which does convey a specific resource and an additive relationship operation. However, it never states in prose what the tool does (e.g. 'add builds to a beta tester's build relationship'), and it does nothing to distinguish itself from sibling create-to-many tools like beta_groups_builds_create_to_many_relationship. The purpose is inferable from the URL but not articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the get_to_many_relationship or delete_to_many_relationship siblings that share the same path. No prerequisites, no mention of needing an existing beta tester id, no context about the relationship semantics. Usage is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_builds_delete_to_many_relationshipD
DELETE /v1/betaTesters/{id}/relationships/builds (DELETE /v1/betaTesters/{id}/relationships/builds) Body shape: see OpenAPI components.schemas.BetaTesterBuildsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BetaTesterBuildsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a destructive unlinking operation, not whether it is reversible or idempotent, not what happens to builds not in the payload, and not whether the whole relationship is replaced. The only hint at behavior is an external schema pointer that the agent may not be able to resolve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the length comes from redundancy rather than economy: the path is printed twice in the first sentence and again implicitly in the name. There is no front-loaded purpose statement, so the structure wastes its opening on mechanical boilerplate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive relationship-mutation tool with a nested JSON:API body, zero annotations, and no output schema, the description should at minimum explain what is removed and what the envelope requires. Pointing at an external OpenAPI component is insufficient when that document is not guaranteed to be available to the caller.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, body) are already documented, and the description adds only a restatement of the same external body schema reference found in the schema itself. Baseline 3 applies when the schema does the heavy lifting; nothing extra is contributed here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a verbatim echo of the HTTP method and path already encoded in the tool name, with no plain-language statement such as 'remove builds from a beta tester'. An agent learns nothing about the resource semantics beyond what the name already conveys, and the parenthetical repeats the same path a second time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., the tester and builds must exist, permissions required), and no routing to alternatives. Siblings like beta_testers_builds_create_to_many_relationship, beta_testers_builds_get_to_many_relationship, and beta_groups_builds_delete_to_many_relationship are never referenced, so the agent must guess which delete variant applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_builds_get_to_many_relationshipC
GET /v1/betaTesters/{id}/relationships/builds (GET /v1/betaTesters/{id}/relationships/builds)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does little beyond restating the endpoint. It implies a read via GET but does not explicitly describe safety, pagination behavior, auth requirements, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single URL with a redundant parenthetical repeat of the same URL. It is terse but under-specified rather than efficiently concise, and it is not front-loaded with purpose or usage information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated relationship-listing endpoint with no annotations and no output schema, the description should explain that it returns builds associated with a beta tester and how limit affects results. It leaves the agent to infer relationship semantics entirely from the path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both id and limit are documented in the schema. The description adds no additional meaning about parameter usage, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The URL path identifies a GET on betaTesters/{id}/relationships/builds, so an agent can infer it retrieves builds related to a beta tester. However, the description never states that in natural language and does not distinguish this relationship endpoint from sibling create/delete or related-build endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint instead of beta_testers_builds_get_to_many_related or the create/delete relationship variants. The agent must infer usage purely from the HTTP path and tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_create_instanceC
POST /v1/betaTesters (POST /v1/betaTesters) Body shape: see OpenAPI components.schemas.BetaTesterCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BetaTesterCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects, authentication, idempotency, or what the JSON:API envelope must contain. The only useful trace is a pointer to the OpenAPI component for the body shape, which is invocation-related rather than behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief and front-loaded with the route, but the path is duplicated inside parentheses for no reason and the whole entry is under-specifying rather than tightly written. Every clause is terse, but one is pure redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested, undocumented JSON:API body and no annotations or output schema, the description supplies only an endpoint and a documentation pointer. An agent still lacks the behavioral and contextual framing needed to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is nominally 100%, but the single 'body' property is a free-form object (additionalProperties: {}) with no real structure. The description compensates by naming the exact OpenAPI schema (components.schemas.BetaTesterCreateRequest) the agent must consult, which is genuine added value over the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route (POST /v1/betaTesters) already implied by the tool name, and the parenthetical repeats the identical path verbatim. It never states in words that this creates a beta tester or what one is. This is closer to a tautology of the name than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, no prerequisite, and no differentiation from siblings such as beta_testers_get_collection, beta_testers_get_instance, beta_testers_delete_instance, or beta_tester_invitations_create_instance. The agent must infer the appropriate context entirely from the name and route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_delete_instanceD
DELETE /v1/betaTesters/{id} (DELETE /v1/betaTesters/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is an irreversible destructive operation, not what related data is affected, not what authorization is required. A bare HTTP route string is inadequate for a delete tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity reflects under-specification rather than efficiency, and the parenthetical repeats the same route string verbatim, wasting the only content it has.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive endpoint with no annotations and no output schema, the description should at minimum confirm the delete semantics and any required scope. It supplies none of this, leaving the agent with nothing beyond the raw route.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema coverage is 100%, with the schema documenting id as 'the id of the requested resource', so the baseline of 3 applies. The description's {id} placeholder adds no meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path (DELETE /v1/betaTesters/{id}), which is a tautology of the tool name beta_testers_delete_instance. It conveys the verb and resource only by mirroring the identifier, and it does nothing to distinguish this delete from the many sibling *_delete_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no mention of prerequisites, permissions, or alternatives such as the bulk relationship deletes (beta_testers_apps_delete_to_many_relationship). The agent must infer everything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_get_collectionD
GET /v1/betaTesters (GET /v1/betaTesters)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| limit_apps | No | maximum number of related apps returned (when they are included) | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| filter_apps | No | filter by id(s) of related 'apps' | |
| filter_email | No | filter by attribute 'email' | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| filter_builds | No | filter by id(s) of related 'builds' | |
| filter_lastName | No | filter by attribute 'lastName' | |
| filter_firstName | No | filter by attribute 'firstName' | |
| limit_betaGroups | No | maximum number of related betaGroups returned (when they are included) | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| filter_betaGroups | No | filter by id(s) of related 'betaGroups' | |
| filter_inviteType | No | filter by attribute 'inviteType' | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing — no pagination behavior, no auth requirements, no indication that results are a filtered/sorted list. A raw endpoint echo is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — the single line repeats the same path twice and front-loads nothing useful. Every sentence should earn its place, and neither copy does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter collection endpoint with no output schema and no annotations, the description is completely inadequate. It leaves the agent to infer the resource type, the meaning of the collection semantics, and any pagination or filtering context entirely from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 18 parameters (sort, limit, include, filter_*, fields_*, limit_*), so the schema already documents each one; the description adds nothing beyond it. Per the high-coverage baseline, 3 is the correct score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP endpoint restated twice: 'GET /v1/betaTesters (GET /v1/betaTesters)'. It conveys no verb-plus-resource statement in natural language and does nothing to distinguish this collection fetch from siblings like beta_testers_get_instance or beta_groups_beta_testers_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent receives zero help deciding between this tool and the many other beta-tester retrieval tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
beta_testers_get_instanceD
GET /v1/betaTesters/{id} (GET /v1/betaTesters/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_apps | No | maximum number of related apps returned (when they are included) | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| limit_betaGroups | No | maximum number of related betaGroups returned (when they are included) | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing: no authentication requirements, no rate-limit behavior, no pagination semantics for the relationship includes, and no indication of what is returned or whether the operation is safe/read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here is under-specification rather than conciseness; the route is also needlessly repeated verbatim inside parentheses, so even the one line contains no earning content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter read tool with no annotations and no output schema, the description should at minimum characterize the resource and the include/fields behavior. A bare route string leaves the agent with essentially no usable context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (9 of 9 params documented, including include, limits, and field selectors), so the schema does the heavy lifting. The description adds nothing beyond the route, leaving baseline 3 appropriate under the high-coverage rule.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely the HTTP route 'GET /v1/betaTesters/{id}' duplicated in parentheses. It restates the tool name (beta_testers_get_instance) rather than explaining in plain language what the tool does or how it differs from sibling tools such as beta_testers_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no usage guidance at all: no statement of when to fetch a single beta tester versus the collection, no prerequisites, and no mention of alternatives. An agent must infer everything from the route string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_beta_details_build_get_to_one_relationshipD
GET /v1/buildBetaDetails/{id}/relationships/build (GET /v1/buildBetaDetails/{id}/relationships/build)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden — and it discloses nothing. It does not state that this is a read-only lookup, that it returns only relationship linkage (type/id) rather than the build object itself, or anything about auth or error behavior. 'GET' is the only hint, and it is already implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but short by omission rather than by editing: the identical path is printed twice, so the parenthetical adds zero information. Brevity here reflects under-specification, not crispness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description needed to explain what the relationship endpoint returns and how it differs from the 'related' variant. It provides none of that, so an agent cannot call it confidently or correctly choose it over its sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' parameter, so the schema already fully documents the input; baseline 3 applies. The description only echoes the id back as a path placeholder and adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP verb plus the URL path duplicated in parentheses: 'GET /v1/buildBetaDetails/{id}/relationships/build'. It restates what the tool name already encodes ('..._build_get_to_one_relationship') without saying in domain terms that this fetches the linkage record pointing to a build for a beta detail. It does not distinguish itself from the sibling build_beta_details_build_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the near-identical 'related' sibling that returns the full build resource instead of the relationship linkage. The agent is left to infer selection purely from tool naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_beta_details_get_collectionD
GET /v1/buildBetaDetails (GET /v1/buildBetaDetails)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| filter_build | No | filter by id(s) of related 'build' | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_buildBetaDetails | No | the fields to include for returned resources of type buildBetaDetails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: it is silent on pagination semantics, whether the call is read-only (inferable only from the name), result ordering, and what the response contains. This is a pure endpoint echo.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but this is under-specification rather than conciseness: a duplicated endpoint string earns no place and conveys no front-loaded purpose. Nothing useful is stated for an agent to act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter collection endpoint with no annotations, no output schema, and no explanation of the resource being fetched, the description is completely inadequate. An agent has no basis to decide when this tool is the right one to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (limit, include, filter_id, filter_build, fields_builds, fields_buildBetaDetails) are documented in the schema itself. The description adds no parameter meaning, but the high coverage makes 3 the appropriate baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only "GET /v1/buildBetaDetails (GET /v1/buildBetaDetails)", which merely restates the tool name and HTTP path. It never says what a build beta detail is or what the collection represents, so an agent cannot distinguish this semantically from siblings like builds_get_collection or beta_groups_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as build_beta_details_get_instance for a single record or builds_build_beta_detail_get_to_one_related. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_beta_details_get_instanceD
GET /v1/buildBetaDetails/{id} (GET /v1/buildBetaDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_buildBetaDetails | No | the fields to include for returned resources of type buildBetaDetails |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no indication that this is a read-only GET, no auth/scoping requirements, no notes on include/field selection behavior or pagination. The bare endpoint string adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the length is the result of under-specification rather than economy; the one 'sentence' is a verbatim duplication of the tool name with zero informational value, so nothing is front-loaded because nothing is said.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and four parameters, the description is completely inadequate — it omits purpose, usage, behavior, and return-shape context, leaving the agent with only an HTTP path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters (id, include, fields_builds, fields_buildBetaDetails) with descriptions. Per the baseline rule for high coverage, a 3 applies; the description adds nothing beyond the schema but does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the endpoint string 'GET /v1/buildBetaDetails/{id}' repeated twice, which merely restates the tool name rather than explaining what the operation retrieves. An agent can infer it fetches a build beta detail by id, but no resource meaning, scope, or distinction from siblings like build_beta_details_get_collection or builds_build_beta_detail_get_to_one_related is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling get/build_beta_detail tools, no prerequisites, and no mention of required id provenance. The duplicated endpoint string gives no usage context whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_beta_details_update_instanceC
PATCH /v1/buildBetaDetails/{id} (PATCH /v1/buildBetaDetails/{id}) Body shape: see OpenAPI components.schemas.BuildBetaDetailUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildBetaDetailUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses nothing about what the update mutates, whether it is a partial (PATCH) merge or full replace, permission/auth requirements, or reversibility, instead deferring everything to an external OpenAPI document the agent may not have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim in parentheses, which is pure waste, and the text is a REST endpoint restatement rather than a purpose statement, so nothing is front-loaded for decision-making.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should at minimum say what fields are updatable and what the effect is. Instead it outsources the entire body contract to an external schema reference, leaving an agent unable to call it correctly from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and body), so the schema already documents them. The description points at components.schemas.BuildBetaDetailUpdateRequest for the envelope, which is the same pointer the schema body already gives, so it adds no meaning beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states an HTTP method (PATCH) and resource path (/v1/buildBetaDetails/{id}), which an agent can loosely read as 'update a build beta detail'. However, it never says in plain language what is being updated or what the tool is for, and it does not differentiate itself from the sibling build_beta_details_get_instance/get_collection beyond the HTTP verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no prerequisites, and no mention of alternatives among the many build_beta_details siblings. The only implicit signal is the PATCH verb versus GET siblings, which is weak routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_beta_notifications_create_instanceD
POST /v1/buildBetaNotifications (POST /v1/buildBetaNotifications) Body shape: see OpenAPI components.schemas.BuildBetaNotificationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BuildBetaNotificationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states nothing about side effects, permissions/authentication, idempotency, rate limits, or what the create actually changes—only the verb and route.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is written twice ('POST /v1/buildBetaNotifications (POST /v1/buildBetaNotifications)'), which is pure redundancy, and the one substantive clause punts to an external OpenAPI spec that is not part of the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a required nested JSON:API body, no annotations, and no output schema, the description supplies essentially nothing. It defers all meaning to an external OpenAPI document the agent may not have, leaving it unable to construct the body or predict the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter whose shape is already documented in the schema. The description only echoes the schema reference (components.schemas.BuildBetaNotificationCreateRequest), adding no new meaning, so the baseline 3 for high coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and HTTP route ('POST /v1/buildBetaNotifications'), repeating the same endpoint token twice. It never states in plain language what a beta notification is or that this creates one for a build, and it does nothing to distinguish it from the many other *_create_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, prerequisite, or alternative guidance of any kind. Given the enormous sibling set containing dozens of create_instance tools (builds, beta_groups, beta_testers, etc.), the agent is given nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_bundles_app_clip_domain_cache_status_get_to_one_relationshipD
GET /v1/buildBundles/{id}/relationships/appClipDomainCacheStatus (GET /v1/buildBundles/{id}/relationships/appClipDomainCacheStatus)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden of behavioral disclosure, and it discloses nothing: not the read-only nature, not the required build-bundle scope, not what is returned, not any rate limit or auth requirement. The path only implies an HTTP GET.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than conciseness, and the entire parenthetical repeats the string immediately preceding it. Nothing is earned by the second copy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-getter with no output schema and no annotations, the description should explain what resource is fetched and what the response represents. It supplies none of that, leaving the agent with only a URL and one generic parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter is fully documented in the schema ('the id of the requested resource') at 100% coverage, so the baseline of 3 applies. The description adds no meaning beyond the schema — it does not clarify that the id is a buildBundle id even though the path suggests it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw REST path repeated twice in parentheses, with no natural-language statement of what the tool returns. It restates the tool name (a tautology) rather than saying 'fetch the App Clip domain cache status for a build bundle'. Only the embedded HTTP verb hints at intent, and the duplication wastes the small signal it carries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or reference to any alternative. The agent is given no way to know this is a read of a relationship resource attached to a build bundle versus the sibling build_bundles_app_clip_domain_debug_status_get_to_one_related tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_bundles_app_clip_domain_debug_status_get_to_one_relationshipC
GET /v1/buildBundles/{id}/relationships/appClipDomainDebugStatus (GET /v1/buildBundles/{id}/relationships/appClipDomainDebugStatus)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The 'GET' verb only weakly implies a read-only operation, and nothing is said about authentication requirements, rate limits, or what the response contains. This is close to zero behavioral disclosure for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, front-loaded line with no wasted sentences, which technically satisfies conciseness. However, the brevity comes from under-specification rather than economy, so it does not merit a high score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no output schema and no annotations, an agent needs to know what resource this relationship yields and how the ID is scoped. The description supplies none of that, leaving a significant gap even given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'id' parameter, and the schema already documents it as 'the id of the requested resource'. The description adds nothing beyond what the path template and schema already convey, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the URL path and HTTP verb, so it is effectively a tautology of the tool name: 'GET /v1/buildBundles/{id}/relationships/appClipDomainDebugStatus'. It never says what an app clip domain debug status actually is or what the tool returns, so an agent cannot distinguish its purpose from the sibling build_bundles_app_clip_domain_cache_status_get_to_one_relationship beyond the literal endpoint string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to call this versus the '..._get_to_one_related' sibling or the cache-status variant, and no mention of prerequisites, ID semantics, or fetch vs relationship-endpoint conventions. The agent is left to infer everything from the endpoint literal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_bundles_beta_app_clip_invocations_get_to_many_relationshipD
GET /v1/buildBundles/{id}/relationships/betaAppClipInvocations (GET /v1/buildBundles/{id}/relationships/betaAppClipInvocations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the HTTP verb. The 'GET' prefix implies a read-only operation, which is the only behavioral signal available. There is no mention of pagination behavior despite a 'limit' parameter, no auth requirements, and no description of the relationship payload semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
There is no wasted prose to trim, but the single sentence is literally duplicated verbatim inside parentheses, which is pure redundancy rather than conciseness. Nothing is front-loaded because nothing substantive is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters, no annotations, and no output schema, the description supplies no context at all. An agent cannot determine from this text what a 'betaAppClipInvocation' relationship returns, how pagination works, or how this differs from build_bundles_beta_app_clip_invocations_get_to_many_related.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – both 'id' ('the id of the requested resource') and 'limit' ('maximum resources per page') are documented in the schema. Per the baseline rule, a 3 is appropriate when the schema does the heavy lifting. The description adds no syntax, format, or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path repeated twice in parentheses: 'GET /v1/buildBundles/{id}/relationships/betaAppClipInvocations (GET /v1/buildBundles/{id}/relationships/betaAppClipInvocations)'. It conveys the resource and relationship being fetched, but provides no natural-language statement of what the tool does and gives zero differentiation from the many sibling '*_get_to_many_relationship' tools. This is essentially a restatement of the endpoint rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus the dozens of sibling relationship tools, no mention of prerequisites, and no exclusion criteria. The agent gets nothing beyond the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_bundles_build_bundle_file_sizes_get_to_many_relationshipD
GET /v1/buildBundles/{id}/relationships/buildBundleFileSizes (GET /v1/buildBundles/{id}/relationships/buildBundleFileSizes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not pagination behavior, not whether results are complete or truncated, not auth or rate-limit requirements. Repeating the URL twice conveys no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the endpoint path duplicated in a pointless parenthetical. Nothing is front-loaded because there is nothing to front-load; the redundancy makes the brevity hollow rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated to-many relationship GET with no annotations and no output schema, an agent still doesn't know what a buildBundleFileSize contains or how to page through results. The parameters are covered by schema, but the description offers no surrounding context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with two documented parameters (id, limit), so the schema already explains both. The description adds nothing about the id's resource type or how limit interacts with pagination, which is the baseline-3 outcome when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP method plus path, repeated verbatim inside parentheses. It implies a GET of buildBundleFileSizes for a build bundle, but adds no explanation of what those file sizes are or how they relate to the bundle — it essentially restates the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this instead of the near-identical sibling build_bundles_build_bundle_file_sizes_get_to_many_related, nor any prerequisites, exclusions, or context about when the relationship view is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_app_encryption_declaration_get_to_one_relationshipC
GET /v1/builds/{id}/relationships/appEncryptionDeclaration (GET /v1/builds/{id}/relationships/appEncryptionDeclaration)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not explain that a 'relationship' endpoint returns linkage/identifier data rather than the full resource, nor mentions auth requirements, response shape, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not efficient: it duplicates the identical URL string in parentheses with no added information, so a full half of the text is pure redundancy rather than front-loaded value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description should at minimum explain the relationship payload semantics and how it differs from the *_related sibling. None of that is present, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds no syntax or scoping detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP path restated twice in parentheses — it adds no prose explaining what the tool does. The name already encodes 'GET the appEncryptionDeclaration relationship of a build', so this is effectively a tautology rather than a clarification, and it does nothing to separate it from the sibling builds_app_encryption_declaration_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this endpoint versus the nearly identical siblings (the *_get_to_one_related variant, which returns the full resource, or the *_update_to_one_relationship mutation). The agent is left to infer the relationship-vs-related distinction 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.
builds_app_encryption_declaration_update_to_one_relationshipC
PATCH /v1/builds/{id}/relationships/appEncryptionDeclaration (PATCH /v1/builds/{id}/relationships/appEncryptionDeclaration) Body shape: see OpenAPI components.schemas.BuildAppEncryptionDeclarationLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildAppEncryptionDeclarationLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions PATCH and a request body schema reference, but says nothing about mutation impact, permissions, whether the relationship is replaced or linked, or what happens to prior linkage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it redundantly repeats the same PATCH path in parentheses and leads with a raw endpoint rather than a task-oriented explanation. It is not bloated, but the repetition and OpenAPI reference reduce efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation relationship tool with no annotations and no output schema, yet the description does not explain the mutation's effect or the linkage body semantics beyond pointing to an external schema. For an agent needing to call it correctly, that is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id and body. The description adds only the OpenAPI schema name for the body, which the schema also contains, so it does not meaningfully extend parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific HTTP verb and resource path: PATCH builds/{id}/relationships/appEncryptionDeclaration. That is enough to identify it as a relationship-update operation, though it does not differentiate from the sibling GET relationship tool or explain the effect in domain terms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this PATCH relationship tool versus the GET sibling or versus updating the build itself. The description is only a method-and-path restatement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_app_get_to_one_relationshipD
GET /v1/builds/{id}/relationships/app (GET /v1/builds/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it discloses nothing: not that this returns relationship linkage (type/id) rather than the full app resource, not whether auth is required, not what the response contains. A raw path string conveys no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than conciseness. The parenthetical repeats the identical path, which is pure waste rather than an earned sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and a description that never explains what a 'get to one relationship' returns versus the '_related' sibling. For an agent trying to fetch a build's app linkage in a very large sibling namespace, the most important information is missing entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented as 'the id of the requested resource', so the schema already does the work. Per the high-coverage baseline, 3 is appropriate; the description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint path ('GET /v1/builds/{id}/relationships/app'), duplicated in parentheses. It reveals the HTTP verb and resource path but never states in plain language that it retrieves the app linkage for a build, nor distinguishes the 'relationship' variant from the sibling 'builds_app_get_to_one_related'. This is essentially a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisite, or alternative is given. The sibling set contains a near-identical tool (builds_app_get_to_one_related) and the description offers zero guidance on which to pick or in what situation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_app_store_version_get_to_one_relationshipC
GET /v1/builds/{id}/relationships/appStoreVersion (GET /v1/builds/{id}/relationships/appStoreVersion)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the HTTP verb. 'GET' weakly implies a read-only retrieval, but there is no mention of authentication requirements, whether the relationship may be empty, or what form the linkage payload takes. For a relationship endpoint with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is a URL repeated twice in the same sentence, so half the text is pure redundancy. Brevity here reflects under-specification rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should at minimum explain what a 'get to one relationship' call returns (a JSON:API linkage object) and how it differs from the 'related' sibling. Neither is present, leaving an agent unable to predict the response shape or choose confidently between near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented there, so the schema does the heavy lifting. The path template does add one small signal — that the id is the build id — but the description offers no format, type, or source detail beyond that. Baseline 3 applies when the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name in URL form — 'GET /v1/builds/{id}/relationships/appStoreVersion' — with the same string duplicated in parentheses. It conveys the HTTP verb and the resource path, which is marginally more than the name alone, but it never explains in plain language what this endpoint returns or what an 'appStoreVersion relationship' is. This is essentially a tautology of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling variants, notably builds_app_store_version_get_to_one_related, app_store_versions_build_get_to_one_relationship, or builds_get_instance. No prerequisites, no conditions, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_beta_app_review_submission_get_to_one_relationshipD
GET /v1/builds/{id}/relationships/betaAppReviewSubmission (GET /v1/builds/{id}/relationships/betaAppReviewSubmission)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not the read-only nature, not what a 'relationship' response contains (linkage object vs. full resource), not whether it can be empty when no review submission exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but half of the text is a pointless verbatim repetition of the same path inside parentheses. There is no front-loaded statement of intent, so the brevity reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, yet the description never explains what the endpoint returns. For a relationship-fetch tool an agent needs to know whether it gets an identifier stub or embedded resource data, and that information is entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is a single parameter, so the schema already documents it; baseline 3 applies. The description's '{id}' within the /builds/ path marginally implies the id is a build identifier, which the vague schema text ('the id of the requested resource') does not make explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw endpoint path, duplicated verbatim in parentheses. It does not state in plain language what the tool retrieves (the beta app review submission relationship attached to a build). An agent can only infer purpose by parsing '/builds/{id}/relationships/betaAppReviewSubmission' from the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the many sibling relationship endpoints (e.g. builds_beta_app_review_submission_get_to_one_related, beta_app_review_submissions_build_get_to_one_relationship). No prerequisites or context of any kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_beta_build_localizations_get_to_many_relationshipD
GET /v1/builds/{id}/relationships/betaBuildLocalizations (GET /v1/builds/{id}/relationships/betaBuildLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and delivers almost nothing. The 'GET' verb implies a read-only operation, but pagination behavior, default page size, auth requirements, and whether linkage data or full objects are returned are all undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short, but the entire content is duplicated: the same path string is printed twice, once as the body and once in parentheses. That is pure noise rather than front-loaded information, and there is no explanatory sentence at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description must explain what comes back and how it differs from the 'related' endpoint — it does none of that. An agent cannot tell whether it receives resource identifiers, full localization objects, or a paginated envelope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two parameters (id, limit), both documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema — it does not clarify that 'id' is a build id specifically, nor that 'limit' paginates the relationship collection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw REST path 'GET /v1/builds/{id}/relationships/betaBuildLocalizations', repeated verbatim in parentheses. It encodes a resource and an id, so an agent can infer it fetches the beta build localizations relationship for a build, but there is no plain-language statement of purpose and nothing that separates it from the sibling builds_beta_build_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. The critical distinction for this endpoint family — 'relationships' (linkage ids) vs. the sibling 'related' variant (full resource objects) — is never mentioned, so an agent has no basis for choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_beta_build_usages_get_metricsD
GET /v1/builds/{id}/metrics/betaBuildUsages (GET /v1/builds/{id}/metrics/betaBuildUsages)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum number of groups to return per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no rate limits, no pagination behavior despite the presence of a limit parameter, and no indication of what metrics are returned. The raw path restatement adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in any useful sense: the endpoint path is duplicated verbatim inside parentheses, which is pure redundancy rather than economy of expression. This is under-specification masquerading as brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a metrics-retrieval endpoint with a required resource ID and a pagination parameter, no output schema, and no annotations, the description supplies none of the context an agent needs — not even which metrics are exposed. It is completely inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'limit'; the baseline for a fully covered schema is 3. The description adds no meaning beyond the schema — it does not clarify that 'id' is a build ID or what the limit counts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path repeated twice in parentheses, which is a tautological restatement of the tool name. It conveys nothing a caller couldn't derive from the name itself, and does not differentiate this metrics endpoint from the many sibling metrics endpoints (beta_groups_public_link_usages_get_metrics, beta_testers_beta_tester_usages_get_metrics, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot tell from this text why it would call this endpoint rather than fetching the build resource directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_beta_groups_create_to_many_relationshipC
POST /v1/builds/{id}/relationships/betaGroups (POST /v1/builds/{id}/relationships/betaGroups) Body shape: see OpenAPI components.schemas.BuildBetaGroupsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildBetaGroupsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does the bare minimum: it discloses only the HTTP verb (POST). It does not state that this is additive (appends linkages rather than replacing), what happens to pre-existing relationships, auth/permission requirements, rate limits, or the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short overall, but the endpoint is printed twice in immediate succession ('POST /v1/builds/{id}/relationships/betaGroups (POST /v1/builds/{id}/relationships/betaGroups)'), which is pure duplication. The useful scoping information (body shape) is present but unhurried and unstructured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating relationship tool with a nested JSON:API envelope body, no annotations, and no output schema, the description is too thin. It leaves the agent to guess the request envelope format, the add-vs-replace semantics, and the effect on existing linkages, all of which a correct invocation depends on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both required parameters (id and body), so the schema already carries the parameter documentation. The description points at components.schemas.BuildBetaGroupsLinkagesRequest, but that exact reference is already in the body property's schema description, so it adds no new semantic information. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the HTTP method and URL path (duplicated verbatim in parentheses) rather than a plain-language statement of what the tool does. An agent can infer that it links beta groups to a build, but only by decoding the App Store Connect API path convention; the description never says 'add beta groups to a build' in words.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. Siblings such as builds_beta_groups_delete_to_many_relationship (the inverse), beta_groups_builds_create_to_many_relationship (the reverse direction), and apps_beta_groups_get_to_many_relationship exist, yet the description provides nothing to route between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_beta_groups_delete_to_many_relationshipC
DELETE /v1/builds/{id}/relationships/betaGroups (DELETE /v1/builds/{id}/relationships/betaGroups) Body shape: see OpenAPI components.schemas.BuildBetaGroupsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildBetaGroupsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and does not meet it. It implies removal via the DELETE verb but says nothing about whether this is destructive, whether all listed linkages are removed at once, permission requirements, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the path is duplicated verbatim in parentheses, which is pure waste, and the 'see OpenAPI components.schemas...' pointer is not self-contained information for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-body mutation tool with no annotations and no output schema, the description omits the operation's semantic effect and consequences entirely. The schema covers the parameters, but the description leaves the agent without enough context to invoke this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents 'id' and the body. The description only points at an external OpenAPI component for the body shape, adding a reference but no meaning beyond what the schema field description already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a mechanical restatement of the tool name as a URL: 'DELETE /v1/builds/{id}/relationships/betaGroups', repeated twice. It never states in plain language that it removes beta groups from a build, nor distinguishes it from the sibling builds_beta_groups_create_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the create/replace relationship siblings, no prerequisites, no mention of what state is required for the call to succeed. The agent gets only the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_build_beta_detail_get_to_one_relationshipD
GET /v1/builds/{id}/relationships/buildBetaDetail (GET /v1/builds/{id}/relationships/buildBetaDetail)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing. It does not state the operation is a read, that it requires authentication, what it returns, or how it behaves on a missing relationship.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but the only content is the raw path repeated twice, so it is redundant rather than informative. There is no front-loaded purpose or useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no output schema and no annotations, the description must explain the returned relationship and any prerequisites, and it offers nothing. An agent cannot determine the response shape or constraints from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single 'id' parameter documented as 'the id of the requested resource', so the baseline of 3 applies. The description adds no additional meaning about the id beyond the path placeholder.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the HTTP path and duplicates it verbatim in parentheses; it never states in plain language what the tool does. An agent can infer it retrieves the 'buildBetaDetail' relationship for a build from the path segments, but the description itself is a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. Nothing distinguishes this relationship getter from the many siblings such as builds_build_beta_detail_get_to_one_related or build_beta_details_get_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_diagnostic_signatures_get_to_many_relationshipC
GET /v1/builds/{id}/relationships/diagnosticSignatures (GET /v1/builds/{id}/relationships/diagnosticSignatures)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and discloses essentially nothing. The 'GET' prefix weakly implies a read-only fetch, but there is no mention of pagination behavior (despite a limit param), permissions, or what the relationship endpoint returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single path string wrapped in a redundant duplicated parenthetical, adding no information twice over. It is short but not front-loaded with any explanation an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a bare path, the definition is not complete enough to confidently select and invoke this tool. The agent must guess what a diagnostic signature is and how the relationship fetch differs from its sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema. The description adds no extra meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP route string echoed twice, with no plain-language statement of what the tool does. An agent can infer from the path that it lists diagnosticSignatures related to a build, but there is no verb phrasing, no explanation of what a diagnostic signature is, and no differentiation from sibling builds_diagnostic_signatures_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, when not to, or how it differs from the near-identical sibling builds_diagnostic_signatures_get_to_many_related. The only signal is the literal URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_get_collectionD
GET /v1/builds (GET /v1/builds)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_icons | No | maximum number of related icons returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| filter_expired | No | filter by attribute 'expired' | |
| filter_version | No | filter by attribute 'version' | |
| limit_betaGroups | No | maximum number of related betaGroups returned (when they are included) | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| fields_buildIcons | No | the fields to include for returned resources of type buildIcons | |
| filter_betaGroups | No | filter by id(s) of related 'betaGroups' | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters | |
| limit_buildBundles | No | maximum number of related buildBundles returned (when they are included) | |
| fields_buildBundles | No | the fields to include for returned resources of type buildBundles | |
| fields_buildUploads | No | the fields to include for returned resources of type buildUploads | |
| filter_appStoreVersion | No | filter by id(s) of related 'appStoreVersion' | |
| filter_processingState | No | filter by attribute 'processingState' | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_buildBetaDetails | No | the fields to include for returned resources of type buildBetaDetails | |
| limit_individualTesters | No | maximum number of related individualTesters returned (when they are included) | |
| filter_buildAudienceType | No | filter by attribute 'buildAudienceType' | |
| filter_preReleaseVersion | No | filter by id(s) of related 'preReleaseVersion' | |
| fields_preReleaseVersions | No | the fields to include for returned resources of type preReleaseVersions | |
| limit_betaBuildLocalizations | No | maximum number of related betaBuildLocalizations returned (when they are included) | |
| fields_betaBuildLocalizations | No | the fields to include for returned resources of type betaBuildLocalizations | |
| exists_usesNonExemptEncryption | No | filter by attribute 'usesNonExemptEncryption' | |
| filter_usesNonExemptEncryption | No | filter by attribute 'usesNonExemptEncryption' | |
| fields_betaAppReviewSubmissions | No | the fields to include for returned resources of type betaAppReviewSubmissions | |
| fields_appEncryptionDeclarations | No | the fields to include for returned resources of type appEncryptionDeclarations | |
| filter_preReleaseVersion_version | No | filter by attribute 'preReleaseVersion.version' | |
| filter_preReleaseVersion_platform | No | filter by attribute 'preReleaseVersion.platform' | |
| filter_betaAppReviewSubmission_betaReviewState | No | filter by attribute 'betaAppReviewSubmission.betaReviewState' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about pagination, default ordering, returned payload shape, or permissions. A bare endpoint string gives the agent no behavioral context for a 35-parameter list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single line is pure redundant waste that duplicates the endpoint path in parentheses. Brevity here reflects under-specification rather than efficient, front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 35-parameter collection tool with no annotations and no output schema, the description is completely inadequate. It omits purpose, usage, filtering/sorting behavior, and return expectations, leaving the agent dependent solely on the name and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 35 parameters (sort, limit, include, filters, fields_*) are already documented in the schema. The description adds no parameter meaning whatsoever; baseline 3 applies since the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route 'GET /v1/builds (GET /v1/builds)', which merely restates the tool name builds_get_collection in endpoint notation. It does not state a human-readable verb+resource purpose, and it offers no differentiation from siblings like builds_get_instance or builds_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives. The agent must infer that this lists builds rather than fetching one build, 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.
builds_get_instanceD
GET /v1/builds/{id} (GET /v1/builds/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_icons | No | maximum number of related icons returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| limit_betaGroups | No | maximum number of related betaGroups returned (when they are included) | |
| fields_betaGroups | No | the fields to include for returned resources of type betaGroups | |
| fields_buildIcons | No | the fields to include for returned resources of type buildIcons | |
| fields_betaTesters | No | the fields to include for returned resources of type betaTesters | |
| limit_buildBundles | No | maximum number of related buildBundles returned (when they are included) | |
| fields_buildBundles | No | the fields to include for returned resources of type buildBundles | |
| fields_buildUploads | No | the fields to include for returned resources of type buildUploads | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_buildBetaDetails | No | the fields to include for returned resources of type buildBetaDetails | |
| limit_individualTesters | No | maximum number of related individualTesters returned (when they are included) | |
| fields_preReleaseVersions | No | the fields to include for returned resources of type preReleaseVersions | |
| limit_betaBuildLocalizations | No | maximum number of related betaBuildLocalizations returned (when they are included) | |
| fields_betaBuildLocalizations | No | the fields to include for returned resources of type betaBuildLocalizations | |
| fields_betaAppReviewSubmissions | No | the fields to include for returned resources of type betaAppReviewSubmissions | |
| fields_appEncryptionDeclarations | No | the fields to include for returned resources of type appEncryptionDeclarations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the HTTP verb. It does not state that this is a read-only operation, whether authentication/scopes are required, what happens on an invalid or expired id, or what the response contains. The 'GET' is the only behavioral signal, and it is embedded in a route string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical literally duplicates the route string with no added information, so the second half earns nothing. More importantly the brevity comes from under-specification rather than efficient phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 20-parameter tool with no annotations and no output schema, which puts maximum disclosure burden on the description. The description supplies only a route template, leaving the agent with no notion of read semantics, sparse-fieldset behavior, relationship inclusion, or response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 20 parameters (id, include, the various fields_* and limit_* filters) are already documented in the schema. The description adds nothing about them, but per the rubric the high coverage establishes a baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP route 'GET /v1/builds/{id}' repeated twice in parentheses. It restates the operation implied by the tool name without explaining what a 'build instance' is or how it differs from siblings like builds_get_collection or builds_update_instance. This is essentially a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus alternatives. No mention of prerequisites (an id must already exist), when a collection fetch is preferable, or which of the many sibling build tools to pick. The agent is left to 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.
builds_icons_get_to_many_relationshipD
GET /v1/builds/{id}/relationships/icons (GET /v1/builds/{id}/relationships/icons)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided and the description supplies none of the burden: it says nothing about pagination, whether relationship linkage vs full resources are returned, permissions required, or what the response shape is. For a list endpoint with zero structured behavioral hints, this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but what is present is pure redundancy — the same path restated twice in one line, with no front-loaded explanation of the operation. This is under-specification masquerading as brevity rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no sibling differentiation, the description should carry the entire explanatory load and instead carries none. An agent cannot tell what this endpoint returns or why it would choose it over a dozen near-identical relationship tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both 'id' and 'limit'. The description adds nothing beyond the schema, which yields the baseline 3 when structured fields do the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the URL path repeated twice in parentheses, which is a tautological restatement of what the tool name already encodes. It does not explain what an icon relationship resource is or how this differs from sibling tools like builds_icons_get_to_many_related or builds_diagnostic_signatures_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, when not to, or which of the many similar relationship-listing siblings to prefer. The agent is given no selection criteria whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_individual_testers_create_to_many_relationshipC
POST /v1/builds/{id}/relationships/individualTesters (POST /v1/builds/{id}/relationships/individualTesters) Body shape: see OpenAPI components.schemas.BuildIndividualTestersLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildIndividualTestersLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses almost nothing behavioral: no permission requirements, no statement that this mutates an existing build's tester set, no note on idempotency or limits. The only useful signal is the pointer to the request body schema, which is minimal against a mutation with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The path is printed twice in redundant parentheses ('POST /v1/... (POST /v1/...)'), which is pure waste. The single substantive sentence is a schema reference, and the whole thing is too thin to be considered appropriately sized for the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is inadequate: it never explains what the endpoint accomplishes or what an agent should expect. It offloads the only real specification to an external OpenAPI document the caller may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the two parameters (id and body) are documented in the schema itself, establishing the baseline of 3. The description adds only that the body follows components.schemas.BuildIndividualTestersLinkagesRequest, which does not enrich the parameter meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path (POST /v1/builds/{id}/relationships/individualTesters) rather than stating in plain language that it attaches individual testers to a build. It distinguishes nothing from siblings like builds_individual_testers_delete_to_many_relationship or builds_beta_groups_create_to_many_relationship beyond the raw endpoint string. This is effectively a tautology of the operation name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the sibling get/delete relationship tools or the beta-group equivalents. No prerequisites, no mention that this is additive (as opposed to a replace). The agent must infer everything from the operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_individual_testers_delete_to_many_relationshipC
DELETE /v1/builds/{id}/relationships/individualTesters (DELETE /v1/builds/{id}/relationships/individualTesters) Body shape: see OpenAPI components.schemas.BuildIndividualTestersLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildIndividualTestersLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It mentions DELETE and references the body schema, but does not explain what the deletion actually removes, whether it is reversible, what permissions are required, or what effect it has on existing tester relationships.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains a redundant duplicate of the endpoint path in parentheses. The body-shape note is useful, but the duplication is wasted space and the overall structure is not well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive relationship-removal tool with no annotations and no output schema, the description is incomplete. It does not explain the operation in plain terms, does not state when to use it, and relies entirely on external OpenAPI documentation for the body and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the id and body parameters. The description only repeats the body shape reference to components.schemas.BuildIndividualTestersLinkagesRequest, adding no meaningful parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb and exact resource path, making the operation clear: DELETE a to-many relationship for individual testers on a build. It is specific enough to distinguish from sibling GET/POST relationship tools, but the duplicated endpoint text and lack of plain-language explanation keep it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as builds_individual_testers_create_to_many_relationship or builds_individual_testers_get_to_many_relationship. No prerequisites, exclusions, or context for the deletion are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_individual_testers_get_to_many_relationshipC
GET /v1/builds/{id}/relationships/individualTesters (GET /v1/builds/{id}/relationships/individualTesters)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it barely does so. The HTTP verb 'GET' weakly implies a read-only, side-effect-free call, but pagination behavior (the 'limit' parameter), auth requirements, and the shape/scale of the returned tester list are all undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise: the identical endpoint string is repeated twice inside parentheses, which is pure noise rather than front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated relationship-listing endpoint with no annotations and no output schema, the description should explain what is returned and how pagination works. Neither is addressed, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in-schema), so the baseline of 3 applies. The description only echoes the path template and adds no extra semantics such as accepted id format or pagination defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw endpoint string duplicated verbatim ('GET /v1/builds/{id}/relationships/individualTesters (GET /v1/builds/{id}/relationships/individualTesters)'), which merely restates the tool name. It signals a GET on a builds relationship resource but never says what an 'individual tester' relationship is or what the caller obtains, and nothing distinguishes it from the dozens of sibling '..._get_to_many_relationship' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as builds_individual_testers_get_to_many_related, builds_individual_testers_create_to_many_relationship, or beta_testers_get_collection. The agent is given no condition under which this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_pre_release_version_get_to_one_relationshipC
GET /v1/builds/{id}/relationships/preReleaseVersion (GET /v1/builds/{id}/relationships/preReleaseVersion)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only implies a read via the GET verb. It doesn't state whether the relationship may be empty, what a null/absent linkage means, or any auth behavior expected for the relationship fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical merely duplicates the exact same string, so half the text is wasted rather than front-loading useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship fetch with one path param and no output schema, the description should indicate what the returned linkage represents (the build's associated pre-release version). It omits this entirely, leaving return semantics unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single documented 'id' parameter, so the schema carries the parameter semantics. The description adds nothing beyond the path template, matching the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is effectively just the endpoint URL repeated twice ('GET /v1/builds/{id}/relationships/preReleaseVersion'), which restates the tool name rather than explaining in plain terms that it fetches the pre-release version associated with a build. It conveys a verb (GET) and resource path but adds no interpretive meaning beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint versus siblings like builds_pre_release_version_get_to_one_related or pre_release_versions_get_instance. No context, prerequisites, or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
builds_update_instanceC
PATCH /v1/builds/{id} (PATCH /v1/builds/{id}) Body shape: see OpenAPI components.schemas.BuildUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and largely fails it: it never states permissions required, that PATCH is a partial mutation, what fields are mutable, or what gets overwritten. The only behavioral hint is 'the full JSON:API envelope,' which weakly signals the request structure but nothing about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical literally repeats the path/verb ('(PATCH /v1/builds/{id})'), which is pure redundancy, and the only substantive content is a pointer to an external OpenAPI schema the agent cannot retrieve. Front-loaded verb+resource is good; the wasted duplication and unactionable pointer hurt it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a JSON:API mutation with a nested request body, no annotations, and no output schema, so the description should explain the envelope structure and mutable fields. Instead it defers to 'components.schemas.BuildUpdateRequest,' an external reference not supplied to the agent, leaving the core task under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (id, body) are already documented in the schema. The description's mention of the BuildUpdateRequest body shape duplicates the schema's own description rather than adding format, required-field, or relationship details, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and path (PATCH /v1/builds/{id}), which conveys a partial-update operation on a build resource and is marginally better than restating the name alone. However, it offers no natural-language statement of what a build update affects, and it does not distinguish this from sibling mutation tools. It sits at the minimum-viable line.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-selection guidance. The PATCH verb implicitly signals 'modify an existing build,' but nothing tells the agent how this relates to builds_get_instance/builds_get_collection or which fields warrant an update versus other build sub-resource calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_upload_files_create_instanceD
POST /v1/buildUploadFiles (POST /v1/buildUploadFiles) Body shape: see OpenAPI components.schemas.BuildUploadFileCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BuildUploadFileCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only the HTTP method and path, saying nothing about authentication scope, side effects, idempotency, or what the created resource represents. A pointer to an external OpenAPI schema is not behavioral transparency for the agent at call time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, which is good, but the path is duplicated in parentheses ('POST /v1/buildUploadFiles (POST /v1/buildUploadFiles)') — pure redundancy that wastes the one sentence available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, nested-body tool with no annotations and no output schema, the description leaves almost everything unspecified: no auth context, no return shape, no relationship to build uploads, and the body shape is delegated to an external spec the agent may not have. It is too thin for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single body parameter already documents its shape via components.schemas.BuildUploadFileCreateRequest, so the baseline of 3 applies. The description merely repeats the schema pointer and adds no envelope details, required fields, or JSON:API attribute semantics of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and HTTP verb: 'POST /v1/buildUploadFiles' says only that this posts to the buildUploadFiles endpoint, with no plain-language statement of what a build upload file is or what creating one accomplishes. Against hundreds of siblings including background_asset_upload_files_create_instance and build_uploads_create_instance, the agent gets no differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative routing of any kind. The description does not mention prerequisites, ordering relative to build_uploads_create_instance, or any sibling that overlaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_upload_files_get_instanceD
GET /v1/buildUploadFiles/{id} (GET /v1/buildUploadFiles/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_buildUploadFiles | No | the fields to include for returned resources of type buildUploadFiles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing beyond the raw route. It does not state authentication requirements, whether the resource is scoped to an app, error behavior for a missing id, or anything else an agent needs to call this safely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the identical route string duplicated inside parentheses, which is pure waste rather than front-loaded information. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-by-id endpoint with no output schema and no annotations, the description leaves the agent without any framing: no indication of the resource's role in the build-upload workflow, no relationship to sibling tools, and no notes on the sparse-fieldset parameter's effect on the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only 2 parameters, so the schema already documents both 'id' and the 'fields_buildUploadFiles' sparse-fieldset selector; per the baseline rule this is a 3. The description adds no parameter meaning whatsoever beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route 'GET /v1/buildUploadFiles/{id}' repeated twice in parentheses. It names a verb and a resource path, but it is effectively a restatement of the tool name with no explanation of what a buildUploadFile is, and it does nothing to distinguish this tool from the many sibling get_instance / get_to_many_related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as build_upload_files_create_instance, build_upload_files_update_instance, or the collection-level build_uploads_build_upload_files_get_to_many_related. The agent must infer everything from the URL pattern.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_upload_files_update_instanceC
PATCH /v1/buildUploadFiles/{id} (PATCH /v1/buildUploadFiles/{id}) Body shape: see OpenAPI components.schemas.BuildUploadFileUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BuildUploadFileUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only states the HTTP verb and points to an external OpenAPI component for the body. It does not disclose which fields are mutable, whether the operation is destructive or reversible, permission requirements, or what a successful response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it wastes space duplicating the method and path in parentheses and then defers all substance to an external schema reference. Front-loading is present but the content is near-empty.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists and no annotations are provided, so the description must carry the load, but it leaves the nested JSON:API body shape entirely to an external OpenAPI component an agent may not have. For a mutation endpoint with a required nested body, this is not enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body'. The description adds nothing beyond deferring the body shape to components.schemas.BuildUploadFileUpdateRequest, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP method and path ('PATCH /v1/buildUploadFiles/{id}'), duplicated in parentheses, which just restates the tool name. It never says in domain terms what a build upload file is or what the update accomplishes, so an agent cannot distinguish its purpose from siblings like build_upload_files_create_instance or build_upload_files_get_instance without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many build-upload and update-instance siblings. The only hint is the implied PATCH-on-existing-resource semantics, which is already encoded in the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_uploads_build_upload_files_get_to_many_relationshipD
GET /v1/buildUploads/{id}/relationships/buildUploadFiles (GET /v1/buildUploads/{id}/relationships/buildUploadFiles)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no read-only confirmation, no pagination behavior for the 'limit' parameter, no auth requirements, no note on what the relationship returns. Duplicating the HTTP path adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a redundant copy of the path with the same string twice, so there is no front-loaded useful information. Brevity here reflects absent content rather than efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description should at minimum state that it returns the buildUploadFiles associated with a buildUpload and how pagination works. Nothing of the sort is present, leaving the agent without the context needed to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself, so the baseline of 3 applies. The description adds no format, range, or pagination semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw URL path repeated twice in parentheses, which restates the tool name rather than explaining the operation. An agent can infer it is a GET on the buildUploadFiles relationship of a buildUpload, but there is no articulation of what that relationship means or how it differs from the sibling 'build_uploads_build_upload_files_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as the 'related' variant or 'build_upload_files_get_instance'. The agent is left to 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.
build_uploads_create_instanceC
POST /v1/buildUploads (POST /v1/buildUploads) Body shape: see OpenAPI components.schemas.BuildUploadCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BuildUploadCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only implies a mutation via the POST verb. It says nothing about authentication requirements, side effects, idempotency, or whether the operation is reversible. Pointing at the OpenAPI schema does not disclose behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes space on a literal duplication of the endpoint ('POST /v1/buildUploads (POST /v1/buildUploads)'). The remaining content is a schema pointer rather than substantive front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested body object, the description should cover at least permissions and return behavior. It supplies none of that, leaving the definition materially incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the schema already documents the input; baseline is 3. The description's reference to 'components.schemas.BuildUploadCreateRequest' does add a useful pointer for constructing the JSON:API envelope, but no field-level semantics beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint as 'POST /v1/buildUploads', which conveys a create-style write on the buildUploads resource, but it adds no semantic meaning beyond the tool name. It never explains what a build upload is or what the operation accomplishes, so an agent gains little over reading the name. It is minimally adequate rather than tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools (e.g. build_uploads_get_instance, build_upload_files_create_instance) despite a huge sibling set. The agent is left to infer everything about selection 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.
build_uploads_delete_instanceC
DELETE /v1/buildUploads/{id} (DELETE /v1/buildUploads/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that this is an irreversible destructive operation, what happens to associated build upload files, or what authorization/permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in the useful sense: the path is duplicated verbatim in parentheses, adding zero information, and the whole string is under-specified rather than efficient. There is no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description should at minimum convey irreversibility and scope. It conveys neither, leaving the agent without the context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' parameter already documented in the schema. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete HTTP verb (DELETE) and resource path (/v1/buildUploads/{id}), which does distinguish it from sibling get/create operations on the same resource. However, it is essentially a mechanical restatement of the tool name in HTTP notation, with no explanation of what a 'build upload' is or what deleting one accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as the other delete_instance siblings. The agent is left to infer everything 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.
build_uploads_get_instanceC
GET /v1/buildUploads/{id} (GET /v1/buildUploads/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_buildUploads | No | the fields to include for returned resources of type buildUploads | |
| fields_buildUploadFiles | No | the fields to include for returned resources of type buildUploadFiles |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the HTTP GET verb (which weakly implies a read). It does not mention auth requirements, error behavior, or that it returns a single resource by id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At two tokens it is short but not concise in a useful sense: the parenthetical simply repeats the same route verbatim, so the second half is pure waste. Nothing is front-loaded because no meaningful content exists to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter GET tool with no output schema, the description provides essentially zero actionable context about what is returned or how the sparse-fieldset parameters shape the response. It is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters (including the include and fields_* sparse-fieldset options). The description adds nothing about parameters, which meets the baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP route 'GET /v1/buildUploads/{id}' repeated twice, which essentially restates the tool name without explaining in human terms what a build upload resource is or why an agent would fetch one. An agent can infer it retrieves a single build upload, but gets no semantic understanding beyond the verb+path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives. The description neither distinguishes this from the many sibling *_get_instance tools nor states any condition under which it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_id_capabilities_create_instanceD
POST /v1/bundleIdCapabilities (POST /v1/bundleIdCapabilities) Body shape: see OpenAPI components.schemas.BundleIdCapabilityCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BundleIdCapabilityCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing: not whether the call is idempotent, what permissions are required, what happens on duplicate capability, or what the response contains. Pointing at an external OpenAPI component is not disclosure of behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wasteful: 'POST /v1/bundleIdCapabilities (POST /v1/bundleIdCapabilities)' duplicates the identical path verbatim, and the remainder only redirects to an external schema. Little of the text earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create/mutation endpoint with nested object input, no annotations, and no output schema, so the description must do the heavy lifting. Instead it offers a bare endpoint reference, leaving an agent without the information needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter (body), so the schema already documents the input and a baseline of 3 applies. The description adds no syntax or field-level meaning beyond repeating the schema's own pointer to components.schemas.BundleIdCapabilityCreateRequest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ('POST /v1/bundleIdCapabilities') plus the name already conveyed by the tool name. It never states what a bundle ID capability is or what creating one accomplishes, so it is effectively a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling operations (bundle_id_capabilities_update_instance, bundle_id_capabilities_delete_instance) that an agent would need to choose between. The agent is given nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_id_capabilities_delete_instanceD
DELETE /v1/bundleIdCapabilities/{id} (DELETE /v1/bundleIdCapabilities/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the raw endpoint. It does not state that the operation is destructive, irreversible, whether it cascades to related resources, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical '(DELETE /v1/bundleIdCapabilities/{id})' is a verbatim duplicate of the text before it, which is pure waste. What remains is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations and no output schema, the description should at minimum note irreversibility and scope. It supplies none of this, leaving the agent without enough context to invoke the tool responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single required 'id' parameter, so the schema already documents it fully. The description adds no meaning beyond the schema, but with high coverage the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: the verb 'DELETE' and resource 'bundleIdCapabilities' are already encoded in the name. It provides no added explanation of what a bundle ID capability is or how this differs from the sibling update/create capabilities tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives such as bundle_id_capabilities_update_instance or bundle_ids_delete_instance. No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_id_capabilities_update_instanceC
PATCH /v1/bundleIdCapabilities/{id} (PATCH /v1/bundleIdCapabilities/{id}) Body shape: see OpenAPI components.schemas.BundleIdCapabilityUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BundleIdCapabilityUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about update semantics (replace vs. merge of capability attributes), required auth/entitlements, reversibility, or rate limits. The only behavioral hint is that the body follows a JSON:API envelope, which is thin for a mutation endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the endpoint path is printed twice in immediate succession ('PATCH /v1/bundleIdCapabilities/{id} (PATCH /v1/bundleIdCapabilities/{id})'), which is pure redundancy that a clean description would not contain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body with additionalProperties allowed, the description is inadequate. It never explains the envelope contents (type/id/attributes), which attributes are updatable, or what a successful response returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented in the schema, so the baseline is 3. The description's reference to the OpenAPI BundleIdCapabilityUpdateRequest schema is redundant with the schema's own body description, adding no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb (PATCH) and the resource path (/v1/bundleIdCapabilities/{id}), so the operation and target are identifiable. However, it largely restates the tool name ('update_instance' on 'bundle_id_capabilities') and does nothing to distinguish it from siblings like bundle_id_capabilities_create_instance or bundle_id_capabilities_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or how it differs from the create/delete siblings in the same family. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_app_get_to_one_relationshipD
GET /v1/bundleIds/{id}/relationships/app (GET /v1/bundleIds/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it only implies an HTTP GET. It says nothing about what the relationship endpoint returns, whether it requires auth scopes, or how it differs behaviorally from the 'related' variant — leaving the safety and behavior profile entirely undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the same endpoint path is printed twice in parentheses, contributing zero additional information. It is not front-loaded with any purpose statement, just a duplicated route string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter relationship lookup with full schema coverage and no output schema, an agent still needs to know this returns the linked app resource (and how it differs from the 'related' sibling). The description supplies none of that, leaving it inadequate despite the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and the schema documents it at 100% coverage ('the id of the requested resource'), so the baseline of 3 applies. The description adds no extra meaning about the id beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw endpoint path repeated twice, 'GET /v1/bundleIds/{id}/relationships/app (GET /v1/bundleIds/{id}/relationships/app)'. It restates the tool name/route without explaining in plain terms that it fetches the app resource linked to a bundle ID, so an agent gains no real understanding of the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all, and no mention of the closely related sibling bundle_ids_app_get_to_one_related, which an agent could easily confuse with this relationship endpoint. Nothing indicates when this is preferred over fetching the app directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_bundle_id_capabilities_get_to_many_relationshipC
GET /v1/bundleIds/{id}/relationships/bundleIdCapabilities (GET /v1/bundleIds/{id}/relationships/bundleIdCapabilities)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing. The HTTP verb implies a read-only, non-destructive operation, which is the only behavioral signal present, but it says nothing about pagination behavior, rate limits, auth scopes, or the shape of the relationship linkage data returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not by design: the only content is the URL echoed twice, which is pure redundancy rather than front-loaded information. No sentence earns its place because no sentence conveys anything beyond the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only relationship endpoint with no output schema and no annotations, the description should at minimum describe the resource being linked and pagination expectations. Instead it supplies only the raw path, leaving the agent without enough context to invoke it confidently over its 'related' twin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' and 'limit' are documented in the input schema. The description adds no parameter meaning at all (no note that limit controls page size for the linkage list), so the baseline of 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as a URL path (GET /v1/bundleIds/{id}/relationships/bundleIdCapabilities), duplicated in parentheses. It conveys only that this is a GET on a bundleIdCapabilities relationship, with no explanation of what bundle ID capabilities are or how this differs from the sibling bundle_ids_bundle_id_capabilities_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, no mention of prerequisites (a valid bundle ID id), and critically no distinction from the near-identical 'related' sibling that appears in the tool list. The agent is left to guess which of the two linkage endpoints to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_create_instanceD
POST /v1/bundleIds (POST /v1/bundleIds) Body shape: see OpenAPI components.schemas.BundleIdCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.BundleIdCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior: no indication that this is a mutating write, what it returns, whether it requires auth or team permissions, or whether it is idempotent or rate-limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is redundantly repeated twice ('POST /v1/bundleIds (POST /v1/bundleIds)'), which is pure waste, and the only substantive content is a pointer to an external OpenAPI component rather than a self-contained statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with no annotations and no output schema, the description should at minimum state what is being created and the shape of the required body. Instead it defers entirely to an external schema reference, leaving an agent with no usable invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (body) exists and schema coverage is 100%, so the schema already documents it. The description merely points to the same external schema (components.schemas.BundleIdCreateRequest), adding no syntax, field, or format detail beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP method and path ('POST /v1/bundleIds') rather than stating in words that it creates a bundle ID resource. The create semantics must be inferred from the tool name and the POST verb, so it is close to a tautology of the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus bundle_ids_update_instance, bundle_ids_get_collection, or the many other sibling create/update tools. No prerequisites, no conditions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_delete_instanceC
DELETE /v1/bundleIds/{id} (DELETE /v1/bundleIds/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the HTTP method: no destructive-effect warning, no confirmation that the deletion is permanent or cascading, no auth/permission requirements, no response behavior. For a deletion tool this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, but the sentence is literally duplicated in parentheses, which is pure waste rather than useful brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, unannotated delete operation with no output schema, the description should at minimum state permanence, side effects, and failure conditions. None of that is present, leaving the agent under-informed for a risky call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'id' parameter and the schema already explains it as 'the id of the requested resource'. The description adds no syntax, format, or sourcing detail beyond the route template, so the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does name a specific verb and resource (DELETE on a bundleIds resource identified by id), so the agent knows roughly what it does. However, it is essentially the REST route restated with no explanation of what a bundle ID is or how this differs from siblings like bundle_ids_update_instance or bundle_ids_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, no prerequisites, and no warning that deleting a bundle ID is a destructive operation that may affect associated profiles and capabilities. The only cue is the word DELETE in the route string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_get_collectionD
GET /v1/bundleIds (GET /v1/bundleIds)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| filter_name | No | filter by attribute 'name' | |
| filter_seedId | No | filter by attribute 'seedId' | |
| limit_profiles | No | maximum number of related profiles returned (when they are included) | |
| fields_profiles | No | the fields to include for returned resources of type profiles | |
| filter_platform | No | filter by attribute 'platform' | |
| fields_bundleIds | No | the fields to include for returned resources of type bundleIds | |
| filter_identifier | No | filter by attribute 'identifier' | |
| limit_bundleIdCapabilities | No | maximum number of related bundleIdCapabilities returned (when they are included) | |
| fields_bundleIdCapabilities | No | the fields to include for returned resources of type bundleIdCapabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not mention pagination, authentication scope, rate limits, or the fact that this is a read-only, non-mutating operation — the only hint (the 'GET' token) is already implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire budget restating the HTTP path twice in parentheses. This is under-specification rather than conciseness — brevity achieved by omitting information, not by compressing it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter collection endpoint with no output schema and no annotations, the description supplies none of the context an agent needs (what it returns, whether results are paginated, how filters combine). It is wholly inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 14 parameters (sort, limit, include, filters, sparse fieldsets) are already documented in the schema with enums and value lists. The description adds no additional parameter meaning, which places it at the baseline for fully-covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the endpoint string duplicated — 'GET /v1/bundleIds (GET /v1/bundleIds)' — which merely restates the tool name rather than stating in plain terms that it lists bundle ID resources. An agent can infer a collection read from the path, but there is no explanation of the resource or of how this differs from bundle_ids_get_instance or other collection tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling (bundle_ids_get_instance, bundle_ids_create_instance) to prefer. Nothing in the text indicates the tool retrieves a paginated/filterable list of bundle IDs versus a single one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_get_instanceD
GET /v1/bundleIds/{id} (GET /v1/bundleIds/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_profiles | No | maximum number of related profiles returned (when they are included) | |
| fields_profiles | No | the fields to include for returned resources of type profiles | |
| fields_bundleIds | No | the fields to include for returned resources of type bundleIds | |
| limit_bundleIdCapabilities | No | maximum number of related bundleIdCapabilities returned (when they are included) | |
| fields_bundleIdCapabilities | No | the fields to include for returned resources of type bundleIdCapabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no auth/permission requirements, no rate-limit notes, no indication of what the response contains or how sparse fieldsets/includes behave. Just echoing the HTTP path adds zero behavioral context for a read tool with eight parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but this is under-specification rather than conciseness: the only content is a duplicated path string, with no front-loaded plain-language statement of what the call returns. It doesn't waste many words, but it wastes the one slot it has.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an eight-parameter JSON:API-style read with relationship includes, sparse field selection, and no output schema or annotations to fall back on, the description omits everything an agent needs to call it correctly. It is wholly inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — all eight parameters (id, include, fields_*, limit_*) carry their own descriptions in the schema — so the baseline of 3 applies. The description adds no parameter meaning whatsoever, but it does not need to compensate for gaps because the schema already documents everything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP operation repeated twice — 'GET /v1/bundleIds/{id}' — which restates the tool name (bundle_ids_get_instance) rather than stating the purpose in language an agent can use. It does convey verb and resource, but it offers no distinguishing detail against siblings like bundle_ids_get_collection or bundle_ids_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when to fetch a single bundle ID versus the collection, and no prerequisites or exclusions. The endpoint-path fragment gives no routing signal for an agent choosing among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_profiles_get_to_many_relationshipD
GET /v1/bundleIds/{id}/relationships/profiles (GET /v1/bundleIds/{id}/relationships/profiles)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing about pagination (despite a limit parameter), authentication requirements, ordering, or the shape of the response. It is a bare endpoint string with zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire content by duplicating the same endpoint string verbatim in parentheses, adding zero information. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-list endpoint with no output schema, no annotations, and a vast sibling set of similar relationship tools, the description provides nothing an agent needs to invoke it correctly or interpret the result. It is wholly inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('id' and 'limit'), so the schema already documents their meaning. The description adds no semantics beyond what the schema provides, which is the baseline 3 for a fully-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route ('GET /v1/bundleIds/{id}/relationships/profiles'), which technically encodes a verb and resource but gives no plain-language statement of what the tool returns or why an agent would call it. An agent must decode the URL path to infer that it lists the profiles related to a bundle ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no differentiation from near-identical siblings such as bundle_ids_profiles_get_to_many_related or profiles_bundle_id_get_to_one_relationship. Nothing tells the agent which of the many relationship endpoints to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bundle_ids_update_instanceC
PATCH /v1/bundleIds/{id} (PATCH /v1/bundleIds/{id}) Body shape: see OpenAPI components.schemas.BundleIdUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.BundleIdUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it says nothing about permissions, reversibility, partial-update semantics, or side effects of the mutation. Pointing at an external OpenAPI schema is a pointer, not a disclosure, and may not be reachable by the agent at call time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is appropriate, but the path is needlessly duplicated inside parentheses and the remaining sentence is pure deferral. Every word that is there earns little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested free-form body object, yet the description supplies no information beyond a spec reference. For an operation whose correctness depends on a complex JSON:API envelope, that leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and body parameters are already documented by the schema, which sets the baseline at 3. The description's mention of components.schemas.BundleIdUpdateRequest merely repeats the schema's own body description and adds no format or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names an HTTP verb and resource path (PATCH /v1/bundleIds/{id}), which identifies the operation, but it is essentially a restatement of the tool name in URL form rather than a semantic explanation of what updating a bundle ID means. It does not say what fields are mutable or what a bundle ID represents, leaving the agent to infer purpose from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as bundle_ids_create_instance, bundle_ids_get_instance, or bundle_ids_delete_instance, and no preconditions or exclusions are stated. The agent must infer everything from the operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certificates_create_instanceC
POST /v1/certificates (POST /v1/certificates) Body shape: see OpenAPI components.schemas.CertificateCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.CertificateCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and it does not meet it. It does not disclose that certificate creation typically requires elevated API credentials, what kind of certificate is produced, or any side effects or limits — only that a POST occurs and where to find the body schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loads the endpoint, but the parenthetical '(POST /v1/certificates)' simply repeats the text immediately before it and earns nothing. The single useful sentence is the pointer to the request schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested request body, no annotations, and no output schema, the description is far too thin. It omits certificate type semantics (development vs distribution), required credential context, and any indication of what the call returns, leaving the agent dependent on an external OpenAPI document it may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is a single body parameter, so the baseline is 3. The description's pointer to components.schemas.CertificateCreateRequest largely duplicates what the schema description already says, adding no new syntax or field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb and resource (POST /v1/certificates), which implies certificate creation, but never states the purpose in words (e.g. 'create a signing certificate'). It gives the agent no way to distinguish this from certificates_get_collection, certificates_update_instance, or certificates_delete_instance beyond the URL string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent must infer that this is the creation counterpart to the other certificate tools purely from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certificates_delete_instanceD
DELETE /v1/certificates/{id} (DELETE /v1/certificates/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the HTTP verb. It omits that deletion is irreversible, that it may break profiles or bundle IDs that reference the certificate, and whether it requires account-holder auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, but the parenthetical restates the identical path verbatim, which is pure waste rather than useful concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations and no output schema, the description provides none of the missing context: irreversibility, side effects on dependent profiles/certificates, or expected response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema documents it at 100% coverage ('the id of the requested resource'). Baseline 3 applies; the description adds no further syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as a REST path, duplicated in parentheses. It does convey that a certificate resource is deleted by id, but gives no explanation of what a certificate is or how this differs from the many other *_delete_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this versus alternatives, no prerequisites, and no caution about certificates being referenced by profiles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certificates_get_collectionD
GET /v1/certificates (GET /v1/certificates)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| fields_passTypeIds | No | the fields to include for returned resources of type passTypeIds | |
| filter_displayName | No | filter by attribute 'displayName' | |
| fields_certificates | No | the fields to include for returned resources of type certificates | |
| filter_serialNumber | No | filter by attribute 'serialNumber' | |
| filter_certificateType | No | filter by attribute 'certificateType' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about authentication, pagination behavior (implied by limit/sort), rate limits, or what the returned collection contains. The REST path conveys only that a GET happens.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicate of the same path adds no information and the single sentence does not earn its place. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, filterable collection endpoint with no annotations and no output schema, the description provides nothing an agent needs to call it correctly or interpret results. It is completely inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 9 parameters (sort, limit, include, filters, fields), each with its own description and enums. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the HTTP verb plus path repeated twice ('GET /v1/certificates (GET /v1/certificates)'). It restates the tool name rather than describing what listing certificates accomplishes, and it does nothing to distinguish this root collection from siblings like certificates_get_instance or pass_type_ids_certificates_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this collection endpoint versus the many certificate-related siblings. There are no exclusions, no prerequisites, and no indication of scope (e.g., team-wide vs. relationship-scoped).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certificates_get_instanceD
GET /v1/certificates/{id} (GET /v1/certificates/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_passTypeIds | No | the fields to include for returned resources of type passTypeIds | |
| fields_certificates | No | the fields to include for returned resources of type certificates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no auth requirements, no error behavior (missing ID, revoked certificate), no note about what include/fields expansion does to the payload. Repeating the path twice adds no behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but not efficient: the identical endpoint string is printed twice in parentheses, which is pure redundancy. It is front-loaded only in the sense that there is nothing else to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-by-ID tool with no annotations and no output schema, the description should at minimum state what is returned (a certificate resource with its fields). Instead it is a bare route echo, leaving the agent to infer scope from the parameter names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — all four parameters (id, include, fields_passTypeIds, fields_certificates) are documented in the schema itself, so baseline 3 applies. The description contributes nothing beyond that, but nothing is lost either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint string repeated twice: "GET /v1/certificates/{id}". It implies retrieval of a single certificate by ID, but there is no verb+resource phrasing and nothing distinguishes it from the ~40 other *_get_instance sibling tools beyond the URL slug.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance at all on when to use this tool versus siblings such as certificates_get_collection or certificates_pass_type_id_get_to_one_related, and no mention of prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certificates_pass_type_id_get_to_one_relationshipC
GET /v1/certificates/{id}/relationships/passTypeId (GET /v1/certificates/{id}/relationships/passTypeId)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it only implies a read via the literal 'GET' token. It says nothing about authentication, response shape, whether the relationship may be null/empty, or what a missing relationship returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is pure duplication — the same path appears twice with no added information, so the second copy and the parentheses earn nothing. Length is fine; information density is near zero.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even for a simple to-one relationship GET, the description should at minimum indicate that it returns the related pass type identifier for a certificate. With no annotations and no output schema, that missing context leaves the agent unable to confirm intent or return semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already does the work. The description adds no syntax, format, or scoping detail beyond it, which is the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name/URL path ('GET /v1/certificates/{id}/relationships/passTypeId') duplicated in parentheses. It conveys no purpose beyond what the name already encodes and does nothing to distinguish it from the sibling 'certificates_pass_type_id_get_to_one_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this tool versus the closely-named sibling 'certificates_pass_type_id_get_to_one_related' or the inverse 'pass_type_ids_certificates_get_to_many_relationship'. The agent is left to infer everything from the endpoint path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
certificates_update_instanceD
PATCH /v1/certificates/{id} (PATCH /v1/certificates/{id}) Body shape: see OpenAPI components.schemas.CertificateUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.CertificateUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only exposes the HTTP method and path; it does not explain permissions, side effects, whether the update is partial or full replacement, or what happens to omitted fields. This is effectively no behavioral context for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains a duplicated endpoint ("(PATCH /v1/certificates/{id})") that adds no information. It lacks a clear purpose sentence and instead presents an endpoint fragment, so it is not well structured despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested request body, no annotations, and no output schema, the description is far too sparse. It does not describe the updateable fields, prerequisites, or response shape, leaving the agent unable to understand what the update actually does without external OpenAPI lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both the id and body parameters. The description adds only a pointer to components.schemas.CertificateUpdateRequest, which is the same reference already present in the body property description, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the HTTP endpoint ("PATCH /v1/certificates/{id}") rather than a natural-language purpose statement. It implies an update to a certificate from the PATCH verb and resource path, but does not say what kind of update or what fields are involved, making it largely a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as certificates_get_instance, certificates_delete_instance, or certificates_create_instance. The agent must infer from the HTTP verb that this is for updates, with no stated preconditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_artifacts_get_instanceD
GET /v1/ciArtifacts/{id} (GET /v1/ciArtifacts/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_ciArtifacts | No | the fields to include for returned resources of type ciArtifacts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing. The only hint of behavior is the HTTP verb 'GET', which is already implied by the tool name, so there is no added context about auth requirements, error behavior, or what happens with an unknown id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the exact same route string and conveys no additional information, making it pure noise rather than efficiency. There is no front-loaded explanation of purpose or scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that only echoes the route, an agent has no way to know what is returned (file metadata? download links?) or how this differs from the sibling artifact relationship tools. This is completely inadequate for a retrieval tool in a large API surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' and 'fields_ciArtifacts' (with its enum of fileType/fileName/fileSize/downloadUrl) are documented in the schema. The description adds no syntax or format meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is effectively a restatement of the tool's route: 'GET /v1/ciArtifacts/{id}'. The 'GET' verb and 'ciArtifacts' resource are visible in the name itself, so nothing new is conveyed — no statement of what a CI artifact record actually is or what the call returns. It does not distinguish this from siblings like ci_build_actions_artifacts_get_to_many_relationship or ci_artifacts_get_instance variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, what prerequisite state is required, or which alternative to choose when the artifact id is unknown. An agent must guess between this and the many other ci_* retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_actions_artifacts_get_to_many_relationshipD
GET /v1/ciBuildActions/{id}/relationships/artifacts (GET /v1/ciBuildActions/{id}/relationships/artifacts)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not that it is a read-only operation, not pagination behavior (despite a limit parameter), not what the relationship payload contains. Duplicating the URL adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string is duplicated verbatim in parentheses, which is pure redundancy rather than concise information. No front-loaded statement of what the call returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral information, and it provides none — an agent cannot tell what the artifacts relationship response looks like or whether pagination applies. Only the schema's parameter documentation saves it from a 1.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both id and limit are documented in the schema — so the baseline of 3 applies. The description contributes no additional meaning about the id format or pagination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path repeated twice, which restates the tool name rather than explaining purpose. An agent can infer it fetches the artifacts relationship of a CI build action, but nothing is stated in prose and there is no differentiation from the many sibling get_to_many_relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus alternatives such as ci_build_actions_artifacts_get_to_many_related or ci_artifacts_get_instance. The agent must infer usage purely from the path and tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_actions_build_run_get_to_one_relationshipD
GET /v1/ciBuildActions/{id}/relationships/buildRun (GET /v1/ciBuildActions/{id}/relationships/buildRun)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the HTTP verb embedded in the path. It does not state pagination, return shape, required scopes, or what the relationship lookup yields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely wasted: the same REST path is printed twice in parentheses with zero informational content and no front-loaded explanation of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should compensate for a relationship-fetch tool, but it provides only a raw path. Nothing tells the agent what it gets back or why it would call this rather than a related sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is 1 parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already documents it. The description adds no syntax or format detail beyond echoing the same path variable, warranting the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely a duplicated raw REST path (GET /v1/ciBuildActions/{id}/relationships/buildRun) with no plain-language statement of what the tool does. An agent can infer it fetches the buildRun relationship of a ciBuildAction, but the vendor-style path is not differentiated from the many near-identical siblings such as ci_build_actions_build_run_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Notably a sibling ci_build_actions_build_run_get_to_one_related exists with no stated distinction from this *_relationship variant, leaving the choice entirely unresolved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_actions_get_instanceC
GET /v1/ciBuildActions/{id} (GET /v1/ciBuildActions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_ciBuildRuns | No | the fields to include for returned resources of type ciBuildRuns | |
| fields_ciBuildActions | No | the fields to include for returned resources of type ciBuildActions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses almost nothing: no auth requirements, no pagination, no error or 404 behavior, no note on what the resource contains. Only the implicit read-only nature of 'GET' is conveyed, which is the bare minimum signal available from the route itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise: it redundantly repeats the identical route twice in parentheses with zero additional information. Brevity here reflects under-specification rather than efficient front-loading, so it fails the 'every sentence earns its place' standard.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 4-parameter tool with relationship inclusion (buildRun) and sparse fieldset options, no output schema, and no annotations. The description should at least name the resource and note the include/fields capabilities, but it explains none of them, leaving the agent without guidance on the tool's richer API behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and both fields_* sparsity filters, making the baseline 3 appropriate. The description adds no meaning at all—it never mentions relationship inclusion or field selection—so it neither helps nor harms beyond the structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the HTTP route, duplicated verbatim: "GET /v1/ciBuildActions/{id} (GET /v1/ciBuildActions/{id})". It conveys a read of a single resource only because 'GET' and '{id}' happen to be present; it does not explain what a CI build action is or what distinguishes it from siblings like ci_build_actions_build_run_get_to_one_relationship. This is effectively tautological with the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The description gives no hint about when an agent should fetch a build action instance versus a build run or a related resource. Nothing beyond the route template is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_actions_issues_get_to_many_relationshipC
GET /v1/ciBuildActions/{id}/relationships/issues (GET /v1/ciBuildActions/{id}/relationships/issues)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about read-only semantics, authentication, pagination behavior, or what the response contains. The path does at least imply a read operation, which is the only behavioral signal present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a redundant echo of the tool name and path rather than front-loaded useful content. Brevity here reflects absent information, not efficient writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter relationship GET with no output schema, the description should at least clarify relationship vs. related semantics, pagination, or the returned identifier shape, and it does none of these. The schema covers the inputs, but the agent still lacks the context needed to choose this tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('id', 'limit') are documented in the schema, so the baseline of 3 applies. The description contributes no additional parameter meaning, such as pagination semantics for 'limit'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP path ('GET /v1/ciBuildActions/{id}/relationships/issues'), which the name already encodes. It conveys that this is a read of the to-many relationship between a CI build action and its issues, but adds no distinguishing information versus the sibling 'ci_build_actions_issues_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this endpoint, when not to, or which sibling to prefer. With many near-identical '*_get_to_many_relationship' tools in the list, the agent gets no routing help at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_actions_test_results_get_to_many_relationshipC
GET /v1/ciBuildActions/{id}/relationships/testResults (GET /v1/ciBuildActions/{id}/relationships/testResults)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses almost nothing. The 'GET' verb weakly implies a read-only, non-destructive fetch, but there is no mention of pagination behavior (despite the 'limit' parameter), response shape, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a verbatim duplication of the URL in parentheses, which is pure noise rather than useful compression. Nothing is front-loaded because there is nothing of substance to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with no output schema and no annotations, the definition should at minimum say what test results are returned and how 'limit' affects paging. Neither is present, leaving the agent to guess at the semantics of a relationship endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' and 'limit' are documented in the schema. The description adds no formatting, relationship-path, or pagination semantics beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw endpoint path repeated twice, including the '{id}' placeholder. It mirrors the tool name rather than explaining in plain language that this retrieves the test-results relationship for a CI build action. An agent gains no vocabulary beyond what the name already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to call this instead of the sibling 'ci_build_actions_test_results_get_to_many_related' (or 'ci_test_results_get_instance'), nor any note about prerequisites, pagination needs, or scoping. The HTTP path offers no usage guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_runs_actions_get_to_many_relationshipC
GET /v1/ciBuildRuns/{id}/relationships/actions (GET /v1/ciBuildRuns/{id}/relationships/actions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the implicit read-only nature of 'GET'. Pagination behavior, auth requirements, and the shape/size of the returned action list are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure redundancy: the same path is printed twice with the second copy merely wrapped in parentheses. There is no front-loaded natural-language statement of purpose, so the brevity reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list-returning relationship endpoint with no output schema, the description should at minimum explain what the returned actions represent and how this differs from the *_related sibling. Neither is provided, leaving the agent unable to confidently choose or interpret this call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('id' and 'limit'), so the schema already documents them fully. The description adds no syntax, format, or usage detail beyond that, which is the expected baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path 'GET /v1/ciBuildRuns/{id}/relationships/actions' repeated verbatim in parentheses. It restates the tool name rather than explaining what a build run's 'actions' are or what the call returns. It also fails to distinguish this 'relationship' variant from the sibling ci_build_runs_actions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of any alternative. The many sibling *_get_to_many_relationship vs *_get_to_many_related tools make this omission especially costly, since nothing tells the agent which of the near-identical variants to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_runs_builds_get_to_many_relationshipD
GET /v1/ciBuildRuns/{id}/relationships/builds (GET /v1/ciBuildRuns/{id}/relationships/builds)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing. Only the literal 'GET' in the path hints at a read operation; there is no mention of pagination behavior (relevant given the limit parameter), authentication requirements, response shape, or whether the relationship returns identifiers vs full resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire length duplicating the same path string inside redundant parentheses, adding zero information. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral context, and it provides none. For a relationship-fetch endpoint in a toolset with hundreds of near-identical siblings, this is completely inadequate for correct selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with two documented parameters (id, limit), so the schema already does the heavy lifting and baseline is 3. The description adds no additional meaning about what 'id' refers to or how 'limit' interacts with pagination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated verbatim in parentheses, restating the tool name rather than describing the operation in plain language. An agent can infer it fetches the builds relationship for a CI build run, but there is no human-readable verb+resource statement and nothing to distinguish it from the sibling ci_build_runs_builds_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when not to, or how it differs from the nearly identical *_get_to_many_related sibling. The agent is left to guess from naming convention alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_runs_create_instanceC
POST /v1/ciBuildRuns (POST /v1/ciBuildRuns) Body shape: see OpenAPI components.schemas.CiBuildRunCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.CiBuildRunCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that the operation is a POST and where the request envelope is defined; it says nothing about authentication, side effects, whether the build run starts immediately, or what is returned. This is a thin disclosure for an unannotated mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise: 'POST /v1/ciBuildRuns (POST /v1/ciBuildRuns)' repeats the identical endpoint in parentheses, which is pure waste. Only the final clause about the request body schema carries any information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-body creation tool with no output schema and no annotations, the description is inadequate. It omits what a build run represents, what the caller must supply beyond 'see the schema', and any note about the asynchronous nature implied by the sibling ci_build_run_wait tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, so the schema already documents the body. The description adds marginal value by naming the exact OpenAPI component (CiBuildRunCreateRequest) and noting the JSON:API envelope, but gives no field-level meaning. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name: 'POST /v1/ciBuildRuns' mirrors ci_build_runs_create_instance. It never states in plain language what a CI build run is or that this triggers a build, so it is tautological rather than explanatory, and it does not differentiate from sibling CI tools like ci_workflows_create_instance or ci_products_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, no prerequisites, and no indication of which CI product/workflow context is required to create a build run. The only pointer is to the OpenAPI request schema, 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.
ci_build_runs_get_instanceC
GET /v1/ciBuildRuns/{id} (GET /v1/ciBuildRuns/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_ciProducts | No | the fields to include for returned resources of type ciProducts | |
| fields_ciBuildRuns | No | the fields to include for returned resources of type ciBuildRuns | |
| fields_ciWorkflows | No | the fields to include for returned resources of type ciWorkflows | |
| fields_scmPullRequests | No | the fields to include for returned resources of type scmPullRequests | |
| fields_scmGitReferences | No | the fields to include for returned resources of type scmGitReferences |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral context. It only gives the HTTP method (GET), implying a read, but does not disclose auth requirements, response shape, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wastes space by duplicating the same endpoint inside parentheses. It is under-specified rather than appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 9-parameter retrieval tool with no output schema and no annotations needs description help. None is provided about return values, included relationships, field selection, or pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all nine parameters are documented in the schema itself. The description adds no parameter meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw endpoint path repeated twice; it identifies an HTTP GET and the ciBuildRuns resource but does not state in plain language that it retrieves a single CI build run. It fails to distinguish from sibling retrieval tools beyond the URI.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are given. The description neither says when to call this instance-get versus related tools like ci_build_runs_create_instance or ci_build_run_wait.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_build_run_waitA
Poll an Xcode Cloud build run until it reaches a terminal completion status, or a timeout expires.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| timeoutMs | No | ||
| pollIntervalMs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the important blocking/polling behavior and the two exit conditions (terminal status, timeout), which is real value. However, it omits what happens on timeout (error vs. returning the last non-terminal state), what counts as terminal, and how the id is resolved to a run.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the core behavior and the two termination paths come first. Nothing in the sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter, no-output-schema, no-annotation tool the description is minimal but covers the essential mechanic. It still leaves an agent guessing about defaults, timeout semantics, and return shape, which are material for a long-running polling call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must supply parameter meaning. It only obliquely references timeout via 'timeout expires' and says nothing about pollIntervalMs, the units/defaults for timeoutMs and pollIntervalMs, or which identifier 'id' expects (a ci_build_runs id). It does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (poll), a precise resource (an Xcode Cloud build run), and the terminating condition (terminal completion status or timeout). This behaviorally distinguishes it from the single-fetch sibling ci_build_runs_get_instance and aligns with the sibling 'wait' pattern (analytics_report_instance_wait).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The polling-until-terminal framing implies the usage context (wait after kicking off a build run rather than re-fetching), but there is no explicit when-to-use statement, no contrast with ci_build_runs_get_instance, and no guidance on when to choose this over simply polling yourself. Usage is inferable but never stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_issues_get_instanceC
GET /v1/ciIssues/{id} (GET /v1/ciIssues/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_ciIssues | No | the fields to include for returned resources of type ciIssues |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, and it offers only the GET verb to imply a read. It says nothing about authentication, whether the id is a CI issue ID or build action ID, error behavior for missing ids, or the shape of the returned resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but the brevity is under-specification rather than concision, and the duplicated parenthetical path wastes the only characters present. Nothing is front-loaded because there is nothing informational to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource-retrieval endpoint with no output schema, the description should at least characterize what is returned (e.g., issueType, message, fileSource, category) and how id relates to a build action. None of that is present, leaving the agent without enough context to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the schema documents both the required id and the fields_ciIssues sparse-fieldset parameter, including its enum values. The description adds no meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and HTTP path (GET /v1/ciIssues/{id}), duplicating what the identifier already conveys. It never explains in plain language what a CI issue is or what retrieving one yields, so an agent gains nothing beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus siblings like ci_build_actions_issues_get_to_many_relationship or ci_test_results_get_instance, nor any prerequisite or context. Usage must be inferred 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.
ci_mac_os_versions_get_collectionD
GET /v1/ciMacOsVersions (GET /v1/ciMacOsVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| limit_xcodeVersions | No | maximum number of related xcodeVersions returned (when they are included) | |
| fields_ciMacOsVersions | No | the fields to include for returned resources of type ciMacOsVersions | |
| fields_ciXcodeVersions | No | the fields to include for returned resources of type ciXcodeVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing — no read-only nature, no pagination behavior, no auth/permission requirements for App Store Connect CI resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than economy — the duplicated endpoint string is pure noise and carries zero semantic content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five parameters including relationship-include semantics, the description is completely inadequate; an agent cannot tell what this resource is or how it differs from sibling CI endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all five parameters (limit, include, limit_xcodeVersions, fields_ciMacOsVersions, fields_ciXcodeVersions). The description adds nothing, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tautology 'GET /v1/ciMacOsVersions (GET /v1/ciMacOsVersions)' — it merely restates the endpoint path with no verb+resource explanation of what it retrieves or returns. An agent gains nothing beyond what the tool name already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to call this versus the many sibling collection/list tools (e.g. ci_xcode_versions_get_collection, ci_mac_os_versions_get_instance, ci_mac_os_versions_xcode_versions_get_to_many_relationship). Nothing indicates it lists available macOS versions for CI.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_mac_os_versions_get_instanceD
GET /v1/ciMacOsVersions/{id} (GET /v1/ciMacOsVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_xcodeVersions | No | maximum number of related xcodeVersions returned (when they are included) | |
| fields_ciMacOsVersions | No | the fields to include for returned resources of type ciMacOsVersions | |
| fields_ciXcodeVersions | No | the fields to include for returned resources of type ciXcodeVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the raw route: no note about read-only semantics, permissions, error behavior for a missing id, or relationship-inclusion effects. The 'GET' prefix implies a read but that is incidental to the path string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but largely wasted: the identical route string is printed twice with no additional content, so it is duplicative rather than efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 5-parameter tool with no annotations and no output schema, and the description is a bare path. An agent gets no sense of what a macOS CI version record contains, how include/fields interact, or what the response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every parameter documented (id, include, limit_xcodeVersions, fields_*). The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route 'GET /v1/ciMacOsVersions/{id}' repeated twice in parentheses. It names a resource and implies a fetch-by-id, but it restates the tool name rather than describing what is retrieved or how it differs from siblings like ci_mac_os_versions_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus ci_mac_os_versions_get_collection or ci_mac_os_versions_xcode_versions_get_to_many_relationship. The route pattern hints at single-resource retrieval, but no conditions or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_mac_os_versions_xcode_versions_get_to_many_relationshipD
GET /v1/ciMacOsVersions/{id}/relationships/xcodeVersions (GET /v1/ciMacOsVersions/{id}/relationships/xcodeVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about pagination (despite a limit parameter), the shape of a relationships response, or permission requirements. It discloses no behavior beyond the HTTP method.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire length duplicating the same path inside parentheses, which adds zero information. It is under-specified rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter relationship endpoint with no annotations and no output schema, the description supplies none of the context an agent needs: what a relationships endpoint returns, how pagination works, or how it differs from the *_related variant. Completely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and limit are already documented in the schema; the baseline of 3 applies. The description adds no parameter meaning (e.g., what a relationship 'id' must reference) beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw URL path repeated twice in parentheses. It technically conveys a GET on a relationship endpoint for xcodeVersions of a ciMacOsVersion, but it is essentially a restatement of the tool name with no plain-language statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no differentiation from the near-identical sibling ci_mac_os_versions_xcode_versions_get_to_many_related, which an agent could easily confuse with this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_additional_repositories_get_to_many_relationshipC
GET /v1/ciProducts/{id}/relationships/additionalRepositories (GET /v1/ciProducts/{id}/relationships/additionalRepositories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing beyond the HTTP verb (GET implies read-only). It says nothing about authentication requirements, pagination behavior despite a 'limit' parameter, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant: the parenthetical duplicates the preceding path verbatim, so no sentence earns its place. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no output schema and no annotations, the description should at least indicate what is returned and how pagination works; it supplies none of that. Only the parameters are covered, by the schema rather than the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('id' and 'limit') are already documented in the schema; the description adds no format, syntax, or constraint details. Baseline 3 applies when the schema does the heavy lifting and the description is silent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated twice, which restates what the tool name (ci_products_additional_repositories_get_to_many_relationship) already encodes. It does not clarify what an 'additional repository' is or how this differs from the sibling ci_products_additional_repositories_get_to_many_related, so it functions as a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of the near-identical sibling tools (e.g. the '_related' variant, or ci_products_primary_repositories_*). At most, the GET path implicitly signals this is a read of a relationship collection, but nothing is stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_app_get_to_one_relationshipC
GET /v1/ciProducts/{id}/relationships/app (GET /v1/ciProducts/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys only that the operation is a GET; it says nothing about authentication requirements, whether the relationship may be empty, error behavior (404 vs 403), or anything about the returned payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two identical parenthetical repetitions of the same path — it is short but wasted, padding rather than concise communication. There is no front-loaded explanation of what the tool returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool this might almost suffice, but with no annotations and no output schema the description should at least state what is returned (the related app resource) and how it differs from the *_related sibling. Neither is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter 'id' is documented as 'the id of the requested resource'. The description adds nothing beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only repeats the raw REST path 'GET /v1/ciProducts/{id}/relationships/app' twice without translating it into a plain-language purpose. An agent can infer it reads the app relationship of a CI product, but that is inferred from the URL, not stated, and no sibling (e.g. ci_products_app_get_to_one_related) is distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, no prerequisites (auth, CI product id source), and no mention of the near-identical sibling ci_products_app_get_to_one_related, which appears to do the same thing. Usage must be fully inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_build_runs_get_to_many_relationshipD
GET /v1/ciProducts/{id}/relationships/buildRuns (GET /v1/ciProducts/{id}/relationships/buildRuns)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no note that this is a read-only operation, no pagination behavior, no indication of what relationship data is returned versus full resources. The duplicate route string adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every word is a redundant restatement of the endpoint path, duplicated verbatim in parentheses. No useful content is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and an ambiguous relationship-style endpoint, the description should explain what is returned and how pagination works. It does none of this, leaving the agent unable to distinguish it from the sibling _get_to_many_related tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and limit), so the schema already documents them adequately. The description adds nothing beyond that, which is the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP route path repeated twice in parentheses. It implies a GET of the buildRuns relationship of a ciProduct, but it never states the operation in plain language (e.g. 'List build runs for a CI product'), so the agent must decode the URL to infer purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the near-identical sibling ci_products_build_runs_get_to_many_related, and no prerequisites or alternatives. The only cue is the route itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_delete_instanceC
DELETE /v1/ciProducts/{id} (DELETE /v1/ciProducts/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only repeats the word DELETE, disclosing nothing about destructive side effects, whether deletion is reversible, cascading impacts, or required permissions. For a destructive mutation this is a serious omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical '(DELETE /v1/ciProducts/{id})' duplicates the exact same content verbatim, which is pure waste. Otherwise appropriately sized for a one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete with no annotations and no output schema, the description should explain consequences and context. As written it is a bare endpoint string that omits what deletion entails, leaving an agent without enough context to invoke it responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents 'id'. The description's {id} path token mirrors the schema without adding format, constraints, or sourcing detail, so the baseline of 3 for high-coverage schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names an HTTP verb (DELETE) and a resource path (ciProducts/{id}), so an agent can infer it deletes a CI product. However, it is essentially a raw endpoint restated twice, adding no semantic description of what a CI product is and offering no differentiation from the many sibling ci_products_* tools. Purpose is legible but bare-bones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, no note about irreversibility, and no mention of any alternative or related tool. The description gives the agent nothing to decide whether this is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_get_collectionD
GET /v1/ciProducts (GET /v1/ciProducts)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_bundleIds | No | the fields to include for returned resources of type bundleIds | |
| fields_ciProducts | No | the fields to include for returned resources of type ciProducts | |
| filter_productType | No | filter by attribute 'productType' | |
| fields_scmRepositories | No | the fields to include for returned resources of type scmRepositories | |
| limit_primaryRepositories | No | maximum number of related primaryRepositories returned (when they are included) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, and it does almost nothing. The "GET" verb implies a safe read, but there is no mention of pagination (despite limit/limit_primaryRepositories params), filtering behavior, auth requirements, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but here brevity reflects under-specification rather than discipline. It adds no front-loaded clarifying information, so it does not earn its place as a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter collection endpoint with no annotations and no output schema, an agent needs at minimum to know what a CI product is, how paging/filtering behaves, and how it relates to sibling resources. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 9 parameters, so the schema fully documents limit, include, filter_app, the fields_* selectors and filter_productType. The description adds nothing beyond the schema, which sets the baseline at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just a verified HTTP path ("GET /v1/ciProducts (GET /v1/ciProducts)") that restates the tool name in URL form. It conveys that this is a read/list of CI products only because the name and path imply it, not through any explanatory verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as ci_products_get_instance, ci_products_workflows_get_to_many_related, or ci_products_build_runs_get_to_many_related, and no exclusions of any kind.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_get_instanceC
GET /v1/ciProducts/{id} (GET /v1/ciProducts/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_bundleIds | No | the fields to include for returned resources of type bundleIds | |
| fields_ciProducts | No | the fields to include for returned resources of type ciProducts | |
| fields_scmRepositories | No | the fields to include for returned resources of type scmRepositories | |
| limit_primaryRepositories | No | maximum number of related primaryRepositories returned (when they are included) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only conveys the HTTP GET method, implying a read, but says nothing about authentication, error behavior, whether relationships are included by default, or what happens with the include/fields parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint path is duplicated in parentheses, wasting space, and there is no front-loaded plain-language explanation. The definition is short but under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 7-parameter retrieval tool with relationship includes and no output schema; the description should explain what a CI product is and what the include/fields options return. With no annotations and no output schema, the description is far too thin for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the id, include, fields, and limit parameters. The description's '{id}' placeholder adds no meaning beyond the schema, but the high coverage baseline makes a 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a tautology: it repeats the endpoint path 'GET /v1/ciProducts/{id}' twice and adds no plain-language statement of purpose. It does not distinguish this single-resource fetch from sibling operations like ci_products_get_collection or ci_products_app_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as ci_products_get_collection, ci_products_workflows_get_to_many_related, or apps_ci_product_get_to_one_related. The description supplies no context, exclusions, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_primary_repositories_get_to_many_relationshipC
GET /v1/ciProducts/{id}/relationships/primaryRepositories (GET /v1/ciProducts/{id}/relationships/primaryRepositories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The only behavioral signal is the HTTP method 'GET' embedded in the path, implying a read operation; there is no mention of pagination behavior, authentication requirements, error cases, or what a 'relationship' response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes space by repeating the same endpoint path twice, including an unnecessary parenthetical duplicate. It is front-loaded only in the sense that the path appears immediately, but the duplication serves no purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no explanatory text beyond the endpoint path, the description is incomplete for an agent trying to understand behavior or return values. Parameter documentation is covered by the schema, but overall context for invocation decisions is largely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('id' and 'limit') are already documented in the schema. The description adds no additional semantics beyond the path template, which is the expected baseline when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the endpoint path, which duplicates the tool name in URL form. It reveals the resource ('ciProducts primaryRepositories') but adds no plain-language explanation of what the operation returns or how it differs from siblings like ci_products_primary_repositories_get_to_many_related or ci_products_additional_repositories_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternative sibling endpoints. The agent is left to infer usage entirely from the name and HTTP path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_products_workflows_get_to_many_relationshipC
GET /v1/ciProducts/{id}/relationships/workflows (GET /v1/ciProducts/{id}/relationships/workflows)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only relationship fetch, not pagination behavior, not rate limits or auth requirements. For a relationship-list endpoint with zero annotation coverage, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical simply repeats the identical path string, which is pure redundancy rather than useful brevity. There is no front-loaded plain-language statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only place behavioral and return context could live, and it supplies none. For a straightforward list-relationship GET, an agent still lacks any statement of what is returned or how results are shaped.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both 'id' and 'limit' are documented in the schema — so the baseline is 3. The description adds nothing beyond the schema, offering no syntax, format, or default-value detail for either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP method and path, duplicated verbatim in parentheses. It conveys that the tool retrieves something called 'workflows' under a ciProduct, but it never states a plain-language purpose (e.g., 'list all workflows belonging to a CI product'), so it largely restates the tool name rather than explaining it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., needing a valid ciProduct id), and no routing to siblings such as ci_products_workflows_get_to_many_related or ci_workflows_get_instance. The agent must infer everything from the path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_test_results_get_instanceC
GET /v1/ciTestResults/{id} (GET /v1/ciTestResults/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_ciTestResults | No | the fields to include for returned resources of type ciTestResults |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It implies a read-only operation via 'GET' but says nothing about authentication, error handling, or whether missing IDs return 404 versus empty results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short line, but it duplicates the same endpoint inside parentheses, which adds no value and reads as redundant. It is concise only by being nearly empty rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-by-ID tool with no annotations and no output schema, the description should at least explain the resource and read semantics. With schema coverage high but zero behavioral context, it is incomplete relative to what the agent needs to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and fields_ciTestResults are already documented in the input schema; the description adds no parameter meaning. Baseline of 3 applies because the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States only the HTTP route 'GET /v1/ciTestResults/{id}', which restates the tool name without explaining what a ciTestResult is or why an agent would fetch one. It identifies the resource but does not distinguish it from siblings such as ci_build_actions_test_results_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use, prerequisites, or alternative routing guidance. An agent cannot tell from the description whether to use this tool instead of a relationship or collection endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_workflows_build_runs_get_to_many_relationshipD
GET /v1/ciWorkflows/{id}/relationships/buildRuns (GET /v1/ciWorkflows/{id}/relationships/buildRuns)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and delivers nothing: it does not say the call is read-only, that it returns a paginated linkage list, what the relationship objects contain, or how pagination behaves given the 'limit' parameter. A bare URL path discloses no behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure redundancy — the parenthetical duplicates the path character-for-character, so nothing is front-loaded because there is nothing to front-load. This is under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A relationship GET with a pagination parameter and no annotations or output schema needs at least a statement of what is returned (a list of build run linkages) and how the id scopes it. Almost all of that is missing, leaving the agent to infer it from the URL pattern.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% ('the id of the requested resource', 'maximum resources per page'), so the schema already documents both parameters. The description adds no meaning of its own, which is the expected baseline-3 case when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP path ('GET /v1/ciWorkflows/{id}/relationships/buildRuns') and repeats it verbatim in parentheses. It identifies the resource chain but adds no verb beyond the HTTP method and does not distinguish this from the near-identical sibling ci_workflows_build_runs_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint versus the 'related' variant, versus ci_products_build_runs_get_to_many_relationship, or versus fetching ci_build_runs directly. No prerequisites, no alternatives, no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_workflows_create_instanceC
POST /v1/ciWorkflows (POST /v1/ciWorkflows) Body shape: see OpenAPI components.schemas.CiWorkflowCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.CiWorkflowCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses almost nothing: no auth/permission requirements, no side effects, no note on what resources must already exist (e.g. a CI product or SCM repository). The only signal is the implicit 'POST = create mutation' from the path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The path 'POST /v1/ciWorkflows' is printed twice verbatim, wasting the only sentence budget on redundancy. It is short but not efficient — the duplicated fragment should have been replaced with actual purpose or usage content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, an agent needs to know the prerequisites, side effects, and what the JSON:API envelope requires. The description defers entirely to an external OpenAPI component that the agent may not have, leaving it under-informed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the single body parameter is described), so the baseline is 3. The description's pointer to 'components.schemas.CiWorkflowCreateRequest' duplicates the schema's own text rather than adding meaning, but the high coverage keeps this at minimum-viable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('POST /v1/ciWorkflows'), which is already implied by the name 'ci_workflows_create_instance'. It does not explain what a CI workflow is or what creating one accomplishes, so it adds nothing beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings like ci_workflows_update_instance, ci_workflows_get_instance, or ci_products_create_instance. No prerequisites, no mention of required CI product/repository context, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_workflows_delete_instanceD
DELETE /v1/ciWorkflows/{id} (DELETE /v1/ciWorkflows/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the HTTP method. It does not state that the operation is destructive/irreversible, whether it cascades to related build runs, or what authorization is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only content on a verbatim duplication of the same route in parentheses, adding zero information. Brevity here comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations, no output schema, and no usage context, the description is completely inadequate. An agent has nothing to confirm safety profile, side effects, or success/failure behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one required parameter, so the schema already documents 'id' as the resource identifier. The route string implies the id is a path parameter, a marginal addition over the schema, which is why the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and route ('DELETE /v1/ciWorkflows/{id}'), which is essentially a tautology of the tool name ci_workflows_delete_instance. It never explains in plain language what a CI workflow is or what deleting one means, and it does nothing to distinguish this from sibling delete tools such as ci_products_delete_instance or pass_type_ids_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, what prerequisites or permissions it requires, or which alternative to reach for. The agent must infer everything from the endpoint string alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_workflows_get_instanceD
GET /v1/ciWorkflows/{id} (GET /v1/ciWorkflows/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_ciProducts | No | the fields to include for returned resources of type ciProducts | |
| fields_ciWorkflows | No | the fields to include for returned resources of type ciWorkflows | |
| fields_ciMacOsVersions | No | the fields to include for returned resources of type ciMacOsVersions | |
| fields_ciXcodeVersions | No | the fields to include for returned resources of type ciXcodeVersions | |
| fields_scmRepositories | No | the fields to include for returned resources of type scmRepositories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication, rate limits, or return behavior. The endpoint string implies a read, but there is no substantive transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes half its length duplicating the same endpoint string in parentheses. It is under-specified rather than genuinely concise, and provides no front-loaded purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-instance tool with a rich 7-parameter schema and no output schema, the description should at least say it retrieves a single CI workflow and note the include/fields expansion behavior. It supplies neither, leaving the definition near-empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 7 documented parameters (id, include, fields_*), so the schema does the heavy lifting. The description adds no parameter meaning beyond what the schema already provides, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path 'GET /v1/ciWorkflows/{id}', repeated verbatim in parentheses. It restates the tool name in URL form rather than stating in prose what the tool does, and offers no differentiation from the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as ci_workflows_build_runs_get_to_many_related, ci_workflows_repository_get_to_one_related, or ci_workflows_update_instance. No context or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_workflows_repository_get_to_one_relationshipD
GET /v1/ciWorkflows/{id}/relationships/repository (GET /v1/ciWorkflows/{id}/relationships/repository)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about permissions, error behavior, or the distinction between relationship (identifier/linkage) and related (full resource) responses. The GET path is the only behavioral signal, and it merely repeats structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every token is redundant duplication of the tool name and URL rather than content that earns its place. Conciseness without information is under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description should at minimum explain what the relationship endpoint returns and how it differs from its 'related' sibling. It provides none of that, leaving the agent unable to call it correctly in a crowded namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single parameter documented as 'the id of the requested resource', so the schema already does the work. The description adds no meaning beyond what the schema provides, which corresponds to the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and HTTP path, with no natural-language explanation of what a 'to-one relationship' endpoint returns for a CI workflow's repository. It fails to distinguish this tool from the near-identical sibling ci_workflows_repository_get_to_one_related, so an agent cannot tell the two apart from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the 'related' variant or versus ci_workflows_get_instance. Nothing indicates context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_workflows_update_instanceC
PATCH /v1/ciWorkflows/{id} (PATCH /v1/ciWorkflows/{id}) Body shape: see OpenAPI components.schemas.CiWorkflowUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.CiWorkflowUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It says nothing about what PATCH semantics mean here (partial vs full replacement), which fields are mutable, required permissions, reversibility, or side effects on builds. Only the fact that the body follows a JSON:API envelope is conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the path is duplicated verbatim inside parentheses, which is pure waste. Front-loading is fine, but the single sentence is a pointer rather than an explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested, externally-defined request body, no annotations, and no output schema. The description does not explain the JSON:API envelope contents or what a successful response looks like, so an agent would need outside documentation to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description merely repeats the schema's own reference to components.schemas.CiWorkflowUpdateRequest. It adds no meaning about the id or the body fields, so it provides nothing beyond structured data despite the nested body object being opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the HTTP verb and resource (PATCH /v1/ciWorkflows/{id}), so an agent can infer it updates a single CI workflow. But there is no plain-language statement of purpose and no differentiation from siblings like ci_workflows_create_instance or ci_workflows_delete_instance beyond the HTTP method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, no prerequisites, and never mentions alternatives. The agent must infer from the verb alone that this is the tool for modifying an existing workflow rather than creating or deleting one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_xcode_versions_get_collectionD
GET /v1/ciXcodeVersions (GET /v1/ciXcodeVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| limit_macOsVersions | No | maximum number of related macOsVersions returned (when they are included) | |
| fields_ciMacOsVersions | No | the fields to include for returned resources of type ciMacOsVersions | |
| fields_ciXcodeVersions | No | the fields to include for returned resources of type ciXcodeVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses only the implicit read-only nature of GET. It says nothing about pagination, default page size, rate limits, or how the include/fields parameters affect the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely non-load-bearing, and the parenthetical repeats the identical path string, which is pure duplication rather than conciseness. Nothing is front-loaded because there is no substantive content to order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter collection endpoint with no annotations and no output schema, the description is wholly inadequate. An agent gets no information about what the endpoint returns, how relationships (macOsVersions) are included, or how to page through results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters (limit, include, limit_macOsVersions, fields_ciMacOsVersions, fields_ciXcodeVersions). The description adds no parameter meaning whatsoever, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name as an HTTP path twice: 'GET /v1/ciXcodeVersions (GET /v1/ciXcodeVersions)'. It does imply a collection read of Xcode versions, but adds no verb-plus-resource explanation beyond what the tool name already encodes, and does nothing to distinguish it from the sibling ci_xcode_versions_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as ci_xcode_versions_get_instance for a single version, and no prerequisites or context for calling it. The agent receives only the endpoint string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_xcode_versions_get_instanceC
GET /v1/ciXcodeVersions/{id} (GET /v1/ciXcodeVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_macOsVersions | No | maximum number of related macOsVersions returned (when they are included) | |
| fields_ciMacOsVersions | No | the fields to include for returned resources of type ciMacOsVersions | |
| fields_ciXcodeVersions | No | the fields to include for returned resources of type ciXcodeVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The 'GET' verb weakly implies a read-only, non-destructive operation, but there is no mention of authentication requirements, error behavior for missing ids, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the duplicate parenthetical '(GET /v1/ciXcodeVersions/{id})' is pure waste. Minimal length here reflects under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five parameters to manage, the description does nothing to orient the agent about what a 'ciXcodeVersion' resource is or how include/fields interact. It is not complete for a tool of this surface area, though the schema covers parameter-level detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (id, include, limit_macOsVersions, fields_ciMacOsVersions, fields_ciXcodeVersions) are already documented in the schema. The description adds no parameter meaning at all, which matches the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the endpoint path already implied by the tool name (ci_xcode_versions_get_instance -> GET /v1/ciXcodeVersions/{id}), formatted as a tautology with the same string duplicated in parentheses. It does convey that a single Xcode version resource is fetched by id, but adds no verb/resource framing beyond the name and no differentiation from siblings like ci_xcode_versions_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives such as ci_xcode_versions_get_collection or ci_xcode_versions_mac_os_versions_get_to_many_relationship. The agent is left to infer entirely from the name that this is the single-instance lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ci_xcode_versions_mac_os_versions_get_to_many_relationshipD
GET /v1/ciXcodeVersions/{id}/relationships/macOsVersions (GET /v1/ciXcodeVersions/{id}/relationships/macOsVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it says nothing about pagination semantics, what the payload contains (relationship linkage objects vs. full resources), or whether it errors on invalid ids. Only the implicit 'GET means read-only' is conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short but purely redundant: the parenthetical duplicates the leading path verbatim, wasting the only sentence available for actual meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A relationship endpoint with no annotations and no output schema needs the description to explain the related-resource distinction and response shape; it supplies nothing, leaving the agent unable to distinguish this from its '_related' twin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with just two parameters (id, limit), both documented in the schema. The description adds nothing beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP path repeated twice, restating the operation name rather than explaining it. An agent can infer it fetches the macOS versions linked to an Xcode version, but the meaning of the 'relationship' endpoint (links vs. full resources) is never articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus the sibling ci_xcode_versions_mac_os_versions_get_to_many_related, which is precisely the confusion this description should resolve. No prerequisites, no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
customer_review_responses_create_instanceC
POST /v1/customerReviewResponses (POST /v1/customerReviewResponses) Body shape: see OpenAPI components.schemas.CustomerReviewResponseV1CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.CustomerReviewResponseV1CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about side effects, required permissions, whether the response becomes publicly visible on the App Store, or whether one response per review is allowed. Pointing at the OpenAPI schema for the body shape is a pointer, not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wasteful: it repeats the identical POST path twice in parentheses and spends its remaining budget on an external schema pointer rather than on information the agent needs. Redundancy without added substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body object, the description should at minimum identify the resource semantics and the required review relationship. Instead it delegates everything to an external OpenAPI component the agent may not have, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'body' parameter is documented in the schema itself, so the baseline of 3 applies. The description merely repeats the schema's own reference to components.schemas.CustomerReviewResponseV1CreateRequest and adds no extra meaning about the envelope or required relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ("POST /v1/customerReviewResponses"), which is essentially the tool name reworded. It never says in plain language that this creates a developer response to a customer review, nor does it distinguish the operation from sibling tools like customer_review_responses_get_instance or customer_review_responses_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the alternative operations on the same resource. An agent gets no signal about when this create call is appropriate versus reading or deleting a response.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
customer_review_responses_delete_instanceC
DELETE /v1/customerReviewResponses/{id} (DELETE /v1/customerReviewResponses/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, yet it discloses nothing about irreversibility, required permissions, or what happens to the parent review once its response is deleted. 'DELETE' implies mutation, but for a destructive, annotation-free tool this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is a single line, but it is literally duplicated – 'DELETE /v1/customerReviewResponses/{id} (DELETE /v1/customerReviewResponses/{id})' – which is pure waste rather than concision. Being short here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations and no output schema, the description should at minimum explain the effect and any safety context. It provides only a raw endpoint string, leaving an agent unable to reason about consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single required parameter 'id' is fully documented in the schema (100% coverage) as 'the id of the requested resource'. The description adds nothing beyond the path template, but with complete schema coverage the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb (DELETE) and the resource (customerReviewResponses) with an id path parameter, so the basic operation is identifiable. However, it merely restates the tool name and HTTP path verbatim, with the path duplicated in parentheses, adding no semantic explanation of what a 'customer review response' deletion means in this API.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as customer_review_responses_get_instance or customer_review_responses_create_instance. The agent must infer entirely from the name that this is the destructive counterpart. No prerequisites, no caveats, no alternates are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
customer_review_responses_get_instanceC
GET /v1/customerReviewResponses/{id} (GET /v1/customerReviewResponses/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_customerReviews | No | the fields to include for returned resources of type customerReviews | |
| fields_customerReviewResponses | No | the fields to include for returned resources of type customerReviewResponses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the call is safe/read-only, what it returns, how errors or missing ids behave, or what include/fields expansion does. A route string alone is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is literally duplicated in parentheses, which is pure waste. Brevity here comes from under-specification rather than disciplined editing, and there is no usable front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET-instance tool with four parameters, no output schema, and zero annotations, the agent needs at least what resource is fetched and what the response looks like. The description supplies none of that, relying entirely on the schema and tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all four parameters, including include and the two fields_* filters, are documented in-schema), so the baseline of 3 applies. The description adds no syntax or format information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a bare HTTP route, "GET /v1/customerReviewResponses/{id}", repeated verbatim in parentheses. It signals a read of a single customerReviewResponses resource, but conveys no purpose beyond the tool name and gives no sibling differentiation against the many other get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as customer_reviews_get_instance or the get_to_one_relationship variant, and no prerequisites for the id argument. The only hint is the conventional GET semantics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
customer_reviews_get_instanceD
GET /v1/customerReviews/{id} (GET /v1/customerReviews/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| fields_customerReviews | No | the fields to include for returned resources of type customerReviews | |
| fields_customerReviewResponses | No | the fields to include for returned resources of type customerReviewResponses |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about read-only semantics, authentication, pagination, or the shape of the returned review. A bare route string conveys no behavioral context at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in a useful sense: it is under-specified rather than economical, and it wastes its single line by duplicating the same route in parentheses instead of conveying information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A five-parameter tool with no annotations and no output schema needs the description to explain what is fetched and what comes back. The description provides none of that, leaving an agent with only the route string to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the five parameters (id, include, fields_*) documented inline. Per the rubric, full schema coverage sets a baseline of 3; the description adds nothing beyond that baseline but does not degrade it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP route 'GET /v1/customerReviews/{id}' duplicated twice. It restates the resource and method already embedded in the tool name (customer_reviews_get_instance) without adding any distinguishing scope or framing, making it effectively a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. There are many sibling tools touching customer reviews (apps_customer_reviews_get_to_many_relationship, customer_reviews_response_get_to_one_related), and the description does nothing to route an agent between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
customer_reviews_response_get_to_one_relationshipC
GET /v1/customerReviews/{id}/relationships/response (GET /v1/customerReviews/{id}/relationships/response)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it offers only the raw endpoint. 'GET' weakly implies a read, but there is no statement about authentication, whether the relationship can be empty, or what the endpoint returns. For a tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but redundant: the identical path string is repeated twice, once bare and once in parentheses. It is not front-loaded with any useful information and wastes its only sentence on duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema and no annotations, the description should at minimum clarify what relationship is fetched and how it differs from its sibling. It supplies none of that, leaving the agent unable to tell which of the two response-fetching tools to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter ('id') and schema description coverage is 100%, so the schema already documents it fully. The description adds nothing about the id's expected form (review id vs. response id) – notably it names the relationship 'response' but the path takes a customerReviews id – so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP path – 'GET /v1/customerReviews/{id}/relationships/response' – which is essentially a tautology of the name and title. It conveys the verb (GET) and resource path, but adds no meaning beyond what the identifier already implies, and does nothing to distinguish it from the near-identical sibling customer_reviews_response_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisite an agent must satisfy, or how it differs from the sibling get_to_one_related variant that likely returns the same response object in a different shape. An agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
devices_create_instanceC
POST /v1/devices (POST /v1/devices) Body shape: see OpenAPI components.schemas.DeviceCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.DeviceCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It notes that the operation is a POST and points to DeviceCreateRequest, but it does not describe permissions, side effects, idempotency, response behavior, or what happens on duplicate creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the endpoint, but it redundantly repeats 'POST /v1/devices' twice in the same sentence. Aside from that repetition, there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create operation with a nested body object, no annotations, and no output schema. The description relies entirely on an external OpenAPI schema reference and does not explain the device fields or creation requirements, leaving significant gaps for an agent trying to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single body parameter is already documented as using components.schemas.DeviceCreateRequest. The description repeats that pointer but adds no additional meaning about body fields or their semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives only the HTTP route 'POST /v1/devices' and never states in semantic terms that this creates a device or what a device represents. An agent can infer creation from POST and the tool name, but the description itself does not clearly differentiate the operation from devices_get_instance or devices_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling devices_get_collection, devices_get_instance, or devices_update_instance. The only usage information is the raw endpoint, which does not explain the context or prerequisites for creating a device.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
devices_get_collectionD
GET /v1/devices (GET /v1/devices)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| filter_id | No | filter by id(s) | |
| filter_name | No | filter by attribute 'name' | |
| filter_udid | No | filter by attribute 'udid' | |
| filter_status | No | filter by attribute 'status' | |
| fields_devices | No | the fields to include for returned resources of type devices | |
| filter_platform | No | filter by attribute 'platform' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not pagination behavior (despite a 'limit' param), not auth requirements, not default sort order, not result cardinality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here comes from under-specification, not conciseness. The parenthetical restatement of the same endpoint string is pure redundancy with zero informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter collection-list tool with no annotations and no output schema, the description supplies none of the context an agent needs — no indication of return shape, pagination, or filtering semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — all 8 parameters (sort, limit, filters, fields, etc.) are documented in the schema with enum values and descriptions. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the literal endpoint string 'GET /v1/devices' repeated twice in parentheses. It names a resource and HTTP verb but never says what the tool does in human terms — no mention of listing/fetching the device collection, no scope, no differentiation from siblings like devices_get_instance or profiles_devices_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, when not to, prerequisites, or which sibling to prefer for related device queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
devices_get_instanceC
GET /v1/devices/{id} (GET /v1/devices/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_devices | No | the fields to include for returned resources of type devices |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing beyond the fact that this is a GET. It says nothing about auth/permissions, whether the resource is guaranteed to exist, error behavior, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but under-specification rather than conciseness: the parenthetical merely repeats the same route string and earns no place. There is no front-loaded statement of purpose for an agent to latch onto.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a mutation-free read that returns a device resource, the description should say at minimum what is returned and any scoping. Instead it provides only the endpoint path, leaving the agent to infer the contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the required 'id' and the 'fields_devices' sparse-fieldset parameter are already documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP route 'GET /v1/devices/{id})' duplicated in parentheses. It implies fetching a device by id by REST convention, but never states in plain language what the tool does or what a 'device' represents, and offers no differentiation from the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus devices_get_collection or the relationship tools like profiles_devices_get_to_many_relationship. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
devices_update_instanceC
PATCH /v1/devices/{id} (PATCH /v1/devices/{id}) Body shape: see OpenAPI components.schemas.DeviceUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.DeviceUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing beyond the PATCH verb (which weakly implies a partial update). It does not disclose auth/permission requirements, idempotency, side effects, what happens to unspecified fields, or the response shape. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, but the operation is stated twice redundantly ('PATCH /v1/devices/{id} (PATCH /v1/devices/{id})'), which is pure waste. Its brevity reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is inadequate. Pointing the agent at an unresolvable external schema reference ('components.schemas.DeviceUpdateRequest') leaves the caller without the information needed to construct a correct request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. Both parameters (id, body) are documented in the schema, and the description adds nothing beyond restating that the body shape lives in an external OpenAPI schema, which does not enrich parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the operation only as an HTTP verb+path (PATCH /v1/devices/{id}), from which an agent can infer 'update a device resource'. However, it never states in natural language what a device is in this context or what updating it entails, so the purpose is derivable but vague. Siblings like devices_get_instance and devices_create_instance are not referenced, though the path does implicitly distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The agent is left to infer that this is the update operation from the HTTP verb alone, with nothing about when a caller should choose it over get/create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_app_availability_pre_orders_create_instanceD
POST /v1/endAppAvailabilityPreOrders (POST /v1/endAppAvailabilityPreOrders) Body shape: see OpenAPI components.schemas.EndAppAvailabilityPreOrderCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.EndAppAvailabilityPreOrderCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing about mutation side effects, required auth/scopes, idempotency, or what the operation returns — only that it is a POST. For a create/mutation endpoint this is a severe gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description wastes space by repeating the identical 'POST /v1/endAppAvailabilityPreOrders' twice in parentheses, and the useful content (deferral to the OpenAPI component schema) is a single clause. Short, but redundantly under-specified rather than tightly written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The body is a nested JSON:API envelope with no output schema and no annotations, yet the description outsources all substance to an external OpenAPI document that may not be available to the agent. For a mutation endpoint with a complex nested payload, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'body' parameter, so the schema does the heavy lifting; baseline 3 applies. The description adds no syntax, field, or format detail beyond naming the request schema, so it neither helps nor compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path (POST /v1/endAppAvailabilityPreOrders), which is a tautology of the tool name rather than a statement of what the tool does. It never explains what an 'end app availability pre-order' is or what creating one accomplishes, so an agent cannot distinguish its purpose from the many sibling *_create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives among the hundreds of sibling create/list tools. The only conditional hint is an implicit pointer to an external OpenAPI schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_user_license_agreements_create_instanceD
POST /v1/endUserLicenseAgreements (POST /v1/endUserLicenseAgreements) Body shape: see OpenAPI components.schemas.EndUserLicenseAgreementCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.EndUserLicenseAgreementCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It says nothing about this being a state-mutating create, what the side effects are, whether an existing EULA is replaced or an error is returned, or what permissions are needed. Only the HTTP verb hints at a write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical immediately duplicates the same route verbatim, and the sentence leads with a route rather than the tool's purpose. It is not wasteful in length, but the first sentence earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create/mutation tool with nested JSON:API body, no annotations, and no output schema, yet the description leaves the agent without required field guidance, relationship context (EULA belongs to an app), or confirmation of the response. The OpenAPI pointer is the only substance, and it is not self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single body parameter is already documented as pointing at components.schemas.EndUserLicenseAgreementCreateRequest, so the description adds nothing the schema does not. Per the high-coverage baseline this is a 3, though the reference is pure duplication rather than added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name as an HTTP route ('POST /v1/endUserLicenseAgreements'), which is a tautology rather than an explanation of what the tool does. It does not distinguish this create-from-scratch tool from end_user_license_agreements_get_instance or end_user_license_agreements_update_instance in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the update/get siblings, no prerequisites (e.g. an app must exist and not already have an EULA), and no mention of required auth scope. The agent is given a route and nothing else.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_user_license_agreements_delete_instanceC
DELETE /v1/endUserLicenseAgreements/{id} (DELETE /v1/endUserLicenseAgreements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. 'DELETE' implies a destructive operation, but it says nothing about permanence, cascading effects, required permissions, or whether the EULA can be recovered or recreated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the path verbatim, so the one sentence is redundant rather than informative. The content is under-specified, not concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation endpoint with no annotations and no output schema, the description is missing almost everything an agent needs: confirmation of destructive semantics, side effects, and permission requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter is fully documented in the schema ('the id of the requested resource'), so the baseline is 3. The description adds no extra meaning such as whether the id is an app's EULA relationship id or a resource id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the endpoint path, duplicating the tool name's verb and resource ('DELETE ... endUserLicenseAgreements'). It adds no scope or distinction from the many sibling delete_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus get_instance, update_instance, or other delete endpoints. No prerequisites or cautions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_user_license_agreements_get_instanceD
GET /v1/endUserLicenseAgreements/{id} (GET /v1/endUserLicenseAgreements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_territories | No | maximum number of related territories returned (when they are included) | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| fields_endUserLicenseAgreements | No | the fields to include for returned resources of type endUserLicenseAgreements |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no error behavior for a missing id, no note that this is a non-mutating read. The bare HTTP verb is the only hint, and it is already implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but not efficient: it repeats the identical endpoint string twice in a redundant parenthetical, which costs tokens without adding information. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter resource fetch with no annotations and no output schema, the description supplies essentially nothing beyond the path. The only implicit content is that the operation is a read keyed on id, leaving return shape, includable relationships, and failure modes entirely to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all 6 parameters (id, include, fields_apps, limit_territories, fields_territories, fields_endUserLicenseAgreements) documented in the input schema, so the baseline is 3. The description adds nothing about sparse fieldsets, relationship inclusion, or the territories limit, but the schema already handles that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and endpoint path ('GET /v1/endUserLicenseAgreements/{id}'), with the parenthetical duplicating the same string. It conveys only that a single end-user license agreement is fetched by id, adding no distinguishing detail versus sibling tools like end_user_license_agreements_territories_get_to_many_related or apps_end_user_license_agreement_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no prerequisites. An agent gets no signal about when this single-resource fetch is preferable to the collection or relationship variants that share the same namespace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_user_license_agreements_territories_get_to_many_relationshipC
GET /v1/endUserLicenseAgreements/{id}/relationships/territories (GET /v1/endUserLicenseAgreements/{id}/relationships/territories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The literal 'GET' conveys that this is a read operation, but nothing is said about pagination behavior despite a 'limit' parameter, nor about permissions, ordering, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but consists entirely of a duplicated path string with zero informational content. It is not bloated, but it is vacuous rather than concise, and nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should explain the return shape (a to-many relationship identifier list) and pagination, but it supplies only the endpoint path. For an agent to invoke this correctly it must infer everything from the schema and the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself, so the baseline is 3. The description adds no parameter meaning beyond the schema (no format, no pagination semantics for 'limit'), so it neither helps nor harms.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path, repeated twice verbatim, with no prose explaining what the tool does. The path does reveal the resource (the territories relationship of an end user license agreement) and the read verb, but this is a restatement of the tool name rather than an articulated purpose, and it does nothing to distinguish this tool from the many other '*_territories_get_to_many_relationship' siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives. Notably, a sibling tool 'end_user_license_agreements_territories_get_to_many_related' exists for the same relationship, and the description offers nothing to help an agent choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
end_user_license_agreements_update_instanceC
PATCH /v1/endUserLicenseAgreements/{id} (PATCH /v1/endUserLicenseAgreements/{id}) Body shape: see OpenAPI components.schemas.EndUserLicenseAgreementUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.EndUserLicenseAgreementUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It only discloses the PATCH method and references a body schema; it does not explain mutation side effects, permissions, whether the update is partial, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes space by duplicating the same PATCH URL in parentheses. It is front-loaded with technical route notation but does not structure any useful semantic information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, a nested generic body object, and no output schema, the description is insufficient. Pointing to an external OpenAPI schema does not make the definition self-contained enough for an agent to know the updateable fields or envelope requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even without parameter detail in the description. The description adds only a reference to the OpenAPI body schema, which the input schema already names, and does not clarify the path id or body envelope meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP method and resource path for a PATCH operation, so an agent can infer this updates an end user license agreement. However, it never states the domain purpose in plain language or what an update affects, leaving it as a vague endpoint restatement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling create, get, delete, or relationship tools. The description provides no prerequisites, alternatives, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_reports_downloadB
Download a financial report and return its parsed TSV contents. Wraps GET /v1/financeReports, decodes the gzip, and optionally parses the TSV into rows.
| Name | Required | Description | Default |
|---|---|---|---|
| parse | No | ||
| filter_regionCode | Yes | ||
| filter_reportDate | Yes | ||
| filter_reportType | Yes | ||
| filter_vendorNumber | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does reveal the implementation pipeline (wraps GET /v1/financeReports, decodes gzip, optionally parses TSV). However it omits auth/permission requirements, error or size behavior, and output shape details beyond 'rows'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and no filler. Efficient, though it leaves little room to cover the required filters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema, so the description is the only behavioral source; it covers the return medium (TSV) and processing, but the four required filter parameters are entirely unexplained, leaving a meaningful gap for a 5-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the four required filter parameters (regionCode, reportDate, reportType, vendorNumber) are undocumented in both schema and description. Only the optional 'parse' flag is explained ('optionally parses the TSV into rows'), leaving the mandatory filters with no semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Download a financial report') and describes the return ('parsed TSV contents'). It does not explicitly differentiate from the sibling finance_reports_get_collection, but the download/parse framing distinguishes it in practice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of when not to use it, and no reference to the sibling finance_reports_get_collection that fetches report metadata. The agent must infer that this tool is the one that retrieves actual file contents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_reports_get_collectionD
GET /v1/financeReports (GET /v1/financeReports)
| Name | Required | Description | Default |
|---|---|---|---|
| filter_regionCode | No | filter by attribute 'regionCode' | |
| filter_reportDate | No | filter by attribute 'reportDate' | |
| filter_reportType | No | filter by attribute 'reportType' | |
| filter_vendorNumber | No | filter by attribute 'vendorNumber' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no read-only confirmation, no pagination behavior, no rate limits. A bare path string is the minimum possible transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than conciseness. The parenthetical duplicate of the path is pure waste, and nothing useful is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A four-parameter collection endpoint with no annotations and no output schema needs the description to explain filtering semantics and return shape. None of that is present, so the definition is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four filter parameters (regionCode, reportDate, reportType, vendorNumber) are documented in the schema itself. The description adds nothing, which is acceptable at this coverage level but earns no bonus.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP method and path repeated twice, effectively restating the tool name. An agent learns only that it retrieves finance reports via GET, with no statement of what a finance report is or what a collection response contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no differentiation from the sibling finance_reports_download tool that also targets finance reports. The agent must guess which of the two to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_images_create_instanceC
[DEPRECATED] POST /v1/gameCenterAchievementImages (POST /v1/gameCenterAchievementImages) Body shape: see OpenAPI components.schemas.GameCenterAchievementImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should carry the behavioral burden. It discloses that this is a POST to a deprecated endpoint and points to a request schema, but it does not describe mutation effects, required permissions, upload behavior, or what happens on success.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the endpoint path is repeated redundantly in parentheses and the schema pointer duplicates the input schema. The deprecation warning is front-loaded, which is good, but the repetition wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated mutation tool with no annotations and no output schema, the description is too thin. It omits the preferred v2 alternative, auth requirements, side effects, and any indication of response behavior, leaving an agent unable to decide safely whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single body parameter is already documented by the schema. The description adds only a pointer to the same OpenAPI schema and no extra meaning about the JSON:API envelope or required body fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a POST operation on /v1/gameCenterAchievementImages and marks it deprecated, but it does not state in plain language that it creates a Game Center achievement image. It also does not distinguish this v1 endpoint from the sibling v2 create tool, leaving the agent to infer the resource and version difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] tag. It does not say when to use this v1 endpoint, when not to use it, or that the sibling game_center_achievement_images_v2_create_instance should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_images_delete_instanceB
[DEPRECATED] DELETE /v1/gameCenterAchievementImages/{id} (DELETE /v1/gameCenterAchievementImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'DELETE' implies a destructive, likely irreversible mutation, but the description says nothing about what is removed, whether it cascades to related localizations, or what permissions are required. It only echoes the HTTP endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loads the [DEPRECATED] status. The parenthetical restating of the same endpoint path is redundant, costing a little, but the definition is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter delete with no annotations and no output schema, the definition is minimally adequate. However, for a destructive deprecated operation it should name the recommended replacement, which it omits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents 'id'. The description adds no format, scope, or example detail beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (DELETE) and resource (gameCenterAchievementImages/{id}), and the [DEPRECATED] tag adds status information beyond the name. It does not differentiate this from sibling delete tools or the v2 variant, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker implies the agent should prefer an alternative, which is a real usage signal, but no replacement tool is named and there is no explicit when-to-use or when-not-to-use guidance. Usage is only weakly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_images_get_instanceC
[DEPRECATED] GET /v1/gameCenterAchievementImages/{id} (GET /v1/gameCenterAchievementImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterAchievementImages | No | the fields to include for returned resources of type gameCenterAchievementImages | |
| fields_gameCenterAchievementLocalizations | No | the fields to include for returned resources of type gameCenterAchievementLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description must carry the behavioral burden, and it only discloses deprecation. That flag is genuinely valuable (an agent should avoid building on this endpoint), but it says nothing about auth requirements, whether it returns an expired/empty payload, or how deprecation manifests at call time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and the deprecation warning is front-loaded, which is the right priority. The only waste is the redundant path repeated verbatim in parentheses, which conveys nothing the first occurrence did not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource GET with full schema coverage and no output schema, the definition is minimally sufficient: the agent knows the resource, the required id, and that it is deprecated. It stops short of explaining the returned representation or the include/fields trade-offs, but the schema covers the inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id, include, and fields_* parameters are documented in the schema itself with enums listed. The description adds no additional meaning beyond the schema baseline, which is acceptable but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restated HTTP route (GET /v1/gameCenterAchievementImages/{id}) rather than a natural-language statement of purpose. The resource and the single-resource scope are identifiable from the path, but an agent gets no prose explanation of what a game center achievement image record actually is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' prefix is a useful steer away from the tool, but no replacement is named and no condition for legitimate use is given. The sibling list contains near-duplicates (game_center_achievement_images_v2_get_instance, ..._v2_image_get_to_one_related) and the description never routes the agent between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_images_update_instanceB
[DEPRECATED] PATCH /v1/gameCenterAchievementImages/{id} (PATCH /v1/gameCenterAchievementImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterAchievementImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the HTTP mutation method and deprecation lifecycle status, but says nothing about permissions, whether the update replaces or merges existing image data, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the deprecation warning, but it redundantly repeats the same endpoint path twice in parentheses, which is wasted space. Most of the text is a pointer rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated mutation tool with no annotations and no output schema, the description at least points to the OpenAPI schema that defines the nested JSON:API body, which is the main complexity. It still omits return behavior, permissions, and an explicit successor tool, leaving gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with 2 parameters, so the schema already documents id and body. The description adds the exact OpenAPI component name for the body envelope, which is marginally useful, but no field-level semantics beyond that; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource via the PATCH /v1/gameCenterAchievementImages/{id} endpoint, so an agent knows this updates a Game Center achievement image instance. The [DEPRECATED] marker also implicitly distinguishes it from the v2 sibling, though it never states the relationship in plain language.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag signals when not to use this tool, which is real guidance, but no alternative is named explicitly and there is no statement of prerequisites or conditions for legitimate use. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_images_v2_create_instanceC
POST /v2/gameCenterAchievementImages (POST /v2/gameCenterAchievementImages) Body shape: see OpenAPI components.schemas.GameCenterAchievementImageV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementImageV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about authentication requirements, side effects, or what the create operation affects. It only signals (via the duplicated 'POST') that this is a mutation, which the name already conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical immediately repeats the identical path verbatim, which is pure redundancy, and the second sentence only redirects the reader elsewhere rather than delivering information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API body, no annotations, and no output schema, the description leaves the agent without required-field, envelope, or response information. Referring to an external 'components.schemas' name that the agent cannot resolve is not actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the schema already documents it; baseline 3 applies. The description's pointer to components.schemas.GameCenterAchievementImageV2CreateRequest is marginally useful orientation but does not add field-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint as 'POST /v2/gameCenterAchievementImages', which is essentially the name (create_instance) re-encoded as an HTTP verb plus path. It adds no semantic meaning about what a Game Center achievement image is, and it does not distinguish this v2 tool from the sibling game_center_achievement_images_create_instance (v1). It is a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the v1/v2 alternative or the get/update/delete siblings. An agent must infer everything 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.
game_center_achievement_images_v2_delete_instanceD
DELETE /v2/gameCenterAchievementImages/{id} (DELETE /v2/gameCenterAchievementImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no statement that this is a destructive, irreversible removal, no prerequisites, no auth requirements, no side effects on referenced localizations. A single-line route echo is inadequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same route string is printed twice in parentheses, which is pure redundancy rather than conciseness. There is no front-loaded explanation of purpose, only a duplicated endpoint line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete with no annotations and no output schema, the description should at minimum state consequences and prerequisites. It instead provides only the HTTP verb and path, leaving the agent without the information needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100% ('the id of the requested resource'), so the schema already documents it. The path template {id} in the description is consistent but adds no meaning; baseline 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP route: 'DELETE /v2/gameCenterAchievementImages/{id}'. It identifies a delete on a gameCenterAchievementImages v2 resource, but adds nothing beyond what the name and path already convey, and never explains what an achievement image is or what deleting one means. This is close to a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, when not to, or how it differs from the v1 sibling 'game_center_achievement_images_delete_instance' or other image delete endpoints. Nothing tells the agent which of the many delete tools to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_images_v2_get_instanceD
GET /v2/gameCenterAchievementImages/{id} (GET /v2/gameCenterAchievementImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterAchievementImages | No | the fields to include for returned resources of type gameCenterAchievementImages | |
| fields_gameCenterAchievementLocalizations | No | the fields to include for returned resources of type gameCenterAchievementLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no mention that this is a read-only fetch, no rate-limit or pagination context. The duplicated route string adds no behavioral information at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is the same route string duplicated inside parentheses, which is pure redundancy rather than concision. No front-loaded purpose statement or useful framing exists to justify the space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and four parameters (including sparse-fieldset and include options), the description should explain at minimum that this fetches a single image resource and how include/fields affect the response. It explains none of this, leaving the agent to infer everything from the path and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and both fields_* parameters (including the enum values for includes and fields). The description contributes nothing beyond the schema, which is the baseline 3 case when structured fields do the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own route string repeated verbatim ('GET /v2/gameCenterAchievementImages/{id}'), a tautology that restates the name rather than explaining what the tool does. An agent can only infer 'fetch one achievement image by id' from the path pattern itself, and nothing distinguishes it from the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to call this tool, what it returns, or which sibling (e.g. game_center_achievement_images_v2_update_instance / delete_instance) to prefer for other operations. Nothing is provided beyond the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_images_v2_update_instanceC
PATCH /v2/gameCenterAchievementImages/{id} (PATCH /v2/gameCenterAchievementImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterAchievementImageV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementImageV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a mutation via PATCH but says nothing about authentication/permission requirements, what fields are mutable, reversibility, or side effects. The only useful disclosure is a pointer to the OpenAPI request schema for the body, which is thin for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence duplicates itself verbatim ('PATCH /v2/gameCenterAchievementImages/{id} (PATCH /v2/gameCenterAchievementImages/{id})'), which is pure waste. It is short, but the redundancy means it is not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, and no output schema, the description is inadequate. It never explains what an achievement image update entails or which attributes can change, relying entirely on an external OpenAPI lookup the agent cannot perform.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with two required params (id, body) both documented in the schema. The description restates the body shape reference already present in the schema description, so it adds only marginal value. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a PATCH (update) on the gameCenterAchievementImages v2 resource scoped by {id}, so the operation is inferable. However, it is presented as a raw HTTP path rather than a plain-language statement of purpose, and it adds little over the tool name itself. It does not distinguish this from the closely named game_center_achievement_images_update_instance (v1) sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, prerequisites, or how it relates to the v1 update sibling or to the localizations/relationships tools. The description provides no routing context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_create_instanceC
[DEPRECATED] POST /v1/gameCenterAchievementLocalizations (POST /v1/gameCenterAchievementLocalizations) Body shape: see OpenAPI components.schemas.GameCenterAchievementLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It signals a POST mutation and deprecation, but says nothing about what gets created, permissions/auth needs, side effects, or reversibility. For a create-instance mutation with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the DEPRECATED marker, but the endpoint path is needlessly printed twice ('POST /v1/gameCenterAchievementLocalizations (POST /v1/gameCenterAchievementLocalizations)'), which is pure redundancy rather than earned content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API body and no output schema or annotations, the description omits the most decision-relevant facts: the successor to use instead, and any auth or field requirements. Pointing to the OpenAPI schema is the only substantive help, and the schema already does that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the schema already documents it. The description points to components.schemas.GameCenterAchievementLocalizationCreateRequest for the JSON:API envelope, which is marginally additive but largely duplicates the schema's own description. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys that this creates a Game Center achievement localization via the HTTP verb and resource path, and usefully flags it as DEPRECATED. However, it is essentially a restatement of the endpoint rather than a purpose statement, and it offers no differentiation from siblings like game_center_achievement_localizations_v2_create_instance or the get/update/delete variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance. The [DEPRECATED] tag hints the agent should prefer a successor, but the description never names the replacement (the v2 tool exists) or states any precondition. An agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterAchievementLocalizations/{id} (DELETE /v1/gameCenterAchievementLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies an irreversible delete but says nothing about cascade effects on the parent achievement, required permissions, or what a success response contains. The [DEPRECATED] tag is the only behavioral signal beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, but the parenthetical restates the identical path verbatim, which is pure redundancy and the sole content besides the marker.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated destructive operation with no annotations and no output schema, the description is thin: it omits the replacement endpoint and any migration note, which is exactly what an agent needs for a deprecated tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema coverage is 100% ('the id of the requested resource'), so the schema already does the work. The description adds no meaning about what the id refers to in context (a localization instance) beyond the path string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb (DELETE) and a resource (gameCenterAchievementLocalizations), so the operation is identifiable, but it does little more than restate the tool name and, in the parenthetical, repeat the same path a second time. It never distinguishes this legacy endpoint from the v2 sibling (game_center_achievement_localizations_v2_delete_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] marker, which usefully warns an agent away, but no successor tool is named and no conditions for legitimate use are given. An agent must guess whether to call this or the v2 delete variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_game_center_achievement_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievement (GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievement)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses deprecation status, which is useful, but says nothing about authentication, what the relationship endpoint returns (identifiers vs. full resource), or how it differs from the related-resource sibling. For a zero-annotation tool this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the URL is duplicated verbatim in the path and the trailing parenthetical, which is pure redundancy. The deprecation marker is correctly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated to-one relationship GET with no annotations and no output schema, the description omits the return shape and, more importantly, does not route the agent to the non-deprecated alternative. Only the deprecation flag is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it fully; the baseline of 3 applies. The description's path template adds no meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw endpoint string ('GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievement') that largely restates the tool name rather than describing what it does in prose. The only added information is the HTTP verb and path, which an agent can already infer from the name. It does not distinguish this 'relationship' endpoint from the sibling '..._get_to_one_related' variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' tag implicitly signals the tool should be avoided, which is a form of usage guidance. However, no alternative is named and no condition for legitimate use is given, so an agent still cannot decide what to call instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_game_center_achievement_image_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievementImage (GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievementImage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It discloses deprecation status, which is genuine behavioral context, but says nothing about what a 'relationship' response contains (linkage vs. resource data), whether auth is required, or how it differs behaviorally from the sibling _related endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single line with the deprecation warning front-loaded, which is good. But it wastes the entire body duplicating the same URL path twice in parentheses, so the line carries almost no informational payload beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with full schema coverage and no output schema, the description still leaves the agent without the essential context: what the endpoint returns, and what to use in its place given that it is deprecated. The deprecation flag is the only useful content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already documents it fully. The description adds nothing about the id's format or which resource namespace it belongs to, which is the baseline-3 outcome when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name and the raw HTTP path ('GET /v1/gameCenterAchievementLocalizations/{id}/relationships/gameCenterAchievementImage') without translating it into domain language. An agent learns only that it is a GET on a relationship endpoint, and gets no differentiation from the many sibling relationship/related pairs (e.g. game_center_achievement_localizations_game_center_achievement_image_get_to_one_related). The only additive token is '[DEPRECATED]'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' prefix signals 'prefer not to use this', which is a weak form of when-not-to-use guidance. However, no replacement is named (e.g. the v2 image relationship variant), and there is no statement of prerequisites or when this relationship fetch is appropriate over the _related form.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_get_instanceC
[DEPRECATED] GET /v1/gameCenterAchievementLocalizations/{id} (GET /v1/gameCenterAchievementLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterAchievementImages | No | the fields to include for returned resources of type gameCenterAchievementImages | |
| fields_gameCenterAchievementLocalizations | No | the fields to include for returned resources of type gameCenterAchievementLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It contributes only the deprecation warning, which is genuinely useful, but says nothing about authentication requirements, error behavior, or what the localization payload contains. For a zero-annotation tool this is a significant disclosure gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line with the critical '[DEPRECATED]' warning front-loaded, which is good. But the parenthetical repeats the exact same path already stated, which is pure duplication and earns no place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id tool with full schema coverage, the description covers the essentials, and the deprecation notice is the key contextual fact. With no output schema present, however, it gives no sense of the returned localization object, so an agent knows how to call it but not what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id, include, and three fields_* sparse-fieldset params are all documented in the schema), so the description need not compensate. It adds nothing beyond the schema, which is acceptable at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The REST path 'GET /v1/gameCenterAchievementLocalizations/{id}' implies a read-one-by-id of a game center achievement localization, which is marginally more specific than the tool name. However, it essentially restates the name's 'get_instance' semantics rather than describing the purpose in agent-friendly terms, and it does not differentiate this tool from the many sibling get_instance tools. The '[DEPRECATED]' marker is the only new information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings (e.g. the get_to_many localizations relationship tools or the v2 variants). The '[DEPRECATED]' tag implicitly discourages use but names no replacement, leaving the agent to guess whether a v2 successor should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterAchievementLocalizations/{id} (PATCH /v1/gameCenterAchievementLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterAchievementLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers almost nothing: it confirms a PATCH mutation and deprecated status but says nothing about permissions, what fields are affected, side effects, or reversibility. For an unannotated write tool this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line repeats the identical endpoint text twice (path with and without the space form), which is pure redundancy, and the deprecation marker plus path-only phrasing leaves the useful content minimal relative to the noise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, unannotated mutation tool that takes a free-form nested JSON:API body and has no output schema, the description is far too thin. It neither explains the update semantics nor warns an agent about the mutation beyond the deprecation tag.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's only added value is pointing at components.schemas.GameCenterAchievementLocalizationUpdateRequest for the body envelope, which is a helpful pointer but not meaningfully more than the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (GameCenterAchievementLocalizations) and the operation (PATCH/update), so an agent can infer it mutates a localization record. However it does so only via a raw REST path rather than natural language, and it does not distinguish this deprecated endpoint from the non-deprecated and _v2_update_instance siblings that also exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag is a weak form of 'when not to use', but the description never states which tool an agent should use instead, nor any prerequisites or context for when updating a localization is appropriate. No explicit alternatives are named despite several closely-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_v2_create_instanceD
POST /v2/gameCenterAchievementLocalizations (POST /v2/gameCenterAchievementLocalizations) Body shape: see OpenAPI components.schemas.GameCenterAchievementLocalizationV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementLocalizationV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, yet it discloses nothing beyond the HTTP endpoint. It does not state that this is a mutating create, what side effects or validation rules apply, what permissions are required, or what happens on conflict with an existing localization.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the parenthetical repeats the same path verbatim ('POST /v2/gameCenterAchievementLocalizations (POST /v2/gameCenterAchievementLocalizations)'), which is pure redundancy. The remaining sentence is efficient but low-information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is far too thin. It points to an external OpenAPI schema for the request shape but does not surface any of the information an agent needs to call the tool correctly, nor does it explain what is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single 'body' parameter is documented in the schema as referencing components.schemas.GameCenterAchievementLocalizationV2CreateRequest, and the description repeats that pointer. No additional syntax, required fields, or envelope structure are explained beyond the schema reference, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description effectively restates the tool name and HTTP path ('POST /v2/gameCenterAchievementLocalizations') rather than explaining the domain operation. An agent can infer 'create' from the POST verb, but nothing distinguishes this v2 create from the v1 sibling game_center_achievement_localizations_create_instance, nor clarifies what a localization instance represents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives such as the v1 create tool or the update/delete siblings. The agent is given no basis for choosing this tool over the ~40 other game-center localization tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_v2_delete_instanceC
DELETE /v2/gameCenterAchievementLocalizations/{id} (DELETE /v2/gameCenterAchievementLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no statement that the deletion is irreversible, what happens to dependent resources, whether the id must exist, or what an error looks like. The word DELETE merely repeats the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the same path is written twice, once as raw HTTP syntax and once in parentheses, adding no information. Nothing is front-loaded about what is being deleted or the consequences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-parameter delete with no annotations and no output schema, the description should at minimum state irreversibility and any preconditions. The schema is complete, but the behavioral context an agent needs before invoking a delete is entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single required id parameter, so the schema already documents the argument fully. The description adds no format, scope, or constraint detail beyond the endpoint template. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb and resource (DELETE on gameCenterAchievementLocalizations by id), so the operation is identifiable. However, it is essentially a restatement of the tool name and endpoint, with no explanation of what a 'localization' is or how this differs from the v1 delete sibling (game_center_achievement_localizations_delete_instance) or the v2 update/get variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the v1 delete tool or the update tool. The only hint is the HTTP verb itself, which the agent must infer from the name anyway.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_v2_get_instanceC
GET /v2/gameCenterAchievementLocalizations/{id} (GET /v2/gameCenterAchievementLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterAchievementImages | No | the fields to include for returned resources of type gameCenterAchievementImages | |
| fields_gameCenterAchievementVersions | No | the fields to include for returned resources of type gameCenterAchievementVersions | |
| fields_gameCenterAchievementLocalizations | No | the fields to include for returned resources of type gameCenterAchievementLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The 'GET' verb implies a read-only, non-destructive operation, which is a small amount of signal, but nothing is said about authentication requirements, pagination, sparse-fieldset behavior, or error handling for a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is extremely short and contains no filler, but the parenthetical duplication of the same route is pure redundancy rather than concision. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter endpoint with no output schema and no annotations, the description should clarify the resource type, the meaning of the id, and the purpose of include/fields_* sparse fieldsets. Instead it supplies only the raw route, leaving an agent to reconstruct everything from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (id, include, and the three fields_* sparse-fieldset params) are already documented in the schema. The description's '{id}' placeholder adds only marginal reinforcement of the path parameter. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as an HTTP route: 'GET /v2/gameCenterAchievementLocalizations/{id}'. It does convey the verb (GET) and resource (achievement localizations) and that a single instance is fetched, which distinguishes it from the create/update/delete siblings. However, it adds zero information beyond what the tool name already encodes, making it borderline tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g., the non-v2 get_instance sibling, or the get_to_many_relationship for the same resource type). The agent must infer its role 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.
game_center_achievement_localizations_v2_image_get_to_one_relationshipC
GET /v2/gameCenterAchievementLocalizations/{id}/relationships/image (GET /v2/gameCenterAchievementLocalizations/{id}/relationships/image)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only GET request, but does not disclose authentication requirements, rate limits, whether it returns a linkage object versus image data, or any error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it duplicates the exact endpoint string in parentheses without adding information. Every sentence should earn its place, and this duplication is waste rather than useful front-loaded explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no annotations and no output schema, the description should clarify what relationship is fetched and how it differs from the _related variant. It does not, leaving an agent with only the raw endpoint and schema parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter and schema description coverage is 100%; the schema already documents 'id' as the requested resource id. The description only repeats the {id} placeholder in the URL and adds no further parameter semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a GET operation on the gameCenterAchievementLocalizations/{id}/relationships/image endpoint, so the resource and verb are technically present. However, it is only a raw URL restated twice and does not explain what the resulting 'image relationship' represents or distinguish it from the sibling _related endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when to prefer the sibling game_center_achievement_localizations_v2_image_get_to_one_related, or what prerequisites/auth are needed. The GET path implies a read operation, but no usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_localizations_v2_update_instanceC
PATCH /v2/gameCenterAchievementLocalizations/{id} (PATCH /v2/gameCenterAchievementLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterAchievementLocalizationV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementLocalizationV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about what the PATCH modifies, whether it is a partial merge, auth/permission requirements, or reversibility. The only implicit hint is partial-update semantics from the PATCH verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded with the endpoint, which is fine, but the identical PATCH path is duplicated in parentheses for no reason, and the single external reference adds little value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is an update tool with a nested JSON:API body, no output schema, and no annotations. Delegating the body shape to an external OpenAPI component the agent may not have access to leaves the definition materially incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the shared baseline is 3. The description adds only a pointer to an external OpenAPI schema (GameCenterAchievementLocalizationV2UpdateRequest), which restates what the body parameter's own schema description already says without explaining the JSON:API envelope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP method and path (PATCH /v2/gameCenterAchievementLocalizations/{id}), which restates what the tool name already encodes. It conveys 'update' via the PATCH verb but provides no meaningful explanation of the operation beyond the URL, and none of the many sibling *_update_instance tools are distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling update tools. The agent is given an endpoint but not a reason to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_releases_create_instanceC
[DEPRECATED] POST /v1/gameCenterAchievementReleases (POST /v1/gameCenterAchievementReleases) Body shape: see OpenAPI components.schemas.GameCenterAchievementReleaseCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementReleaseCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only that the endpoint is deprecated and that the body follows a JSON:API envelope. It says nothing about authentication requirements, side effects of the POST, whether the operation is reversible, or what a successful response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is two short clauses with the deprecation warning first, which is exactly the right thing to front-load. The redundant repetition of the endpoint string in parentheses is minor and there is no filler beyond that.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is thin: it gives a deprecation flag and a schema pointer but no plain-language purpose or behavior. The deprecation note justifies some brevity, yet an agent still lacks enough to decide whether to call it or what happens if it does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one 'body' parameter, so the schema already documents it. The description merely repeats the same pointer to components.schemas.GameCenterAchievementReleaseCreateRequest, adding no field-level meaning; the baseline of 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource and HTTP method via 'POST /v1/gameCenterAchievementReleases,' which maps to creating an achievement release, and the DEPRECATED tag is front-loaded. However, it never states in plain language what an achievement release is or what creating one accomplishes, and it offers no differentiation from siblings like game_center_achievement_releases_get_instance or the various game_center_*_releases_create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' marker implicitly tells an agent to avoid this tool, which is a genuine usage signal, but there is no stated replacement, no alternative named, and no conditions describing when this call would still be appropriate. The agent is left to guess which sibling to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_releases_delete_instanceB
[DEPRECATED] DELETE /v1/gameCenterAchievementReleases/{id} (DELETE /v1/gameCenterAchievementReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only restates the raw endpoint. It does not disclose that the operation is destructive/irreversible, what happens to the release record and its associations, or any auth/permission requirement. The DEPRECATED marker is the only behavioral trait conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the [DEPRECATED] warning before the operation. The only waste is the redundant parenthetical that repeats the same path, but overall it is appropriately sized for a simple delete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter delete with no output schema, minimal description is tolerable, and the deprecation notice is the key piece of context. Still, it omits irreversibility and permission requirements that matter for a destructive operation, leaving it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'id' parameter documented as 'the id of the requested resource'. The description adds nothing beyond the path template, so the baseline 3 applies since the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs the HTTP verb DELETE with the specific resource path /v1/gameCenterAchievementReleases/{id}, which is unique among siblings (e.g., game_center_achievement_releases_create_instance, game_center_achievement_releases_get_instance). An agent can tell it deletes an achievement release. It stops short of a 5 because the parenthetical merely duplicates the same path verbatim, adding no explanatory value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag is a real usage signal telling the agent to avoid this tool, which is more than most siblings offer. However, no alternative replacement, prerequisite, or condition for use is named, 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.
game_center_achievement_releases_get_instanceC
[DEPRECATED] GET /v1/gameCenterAchievementReleases/{id} (GET /v1/gameCenterAchievementReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterAchievementReleases | No | the fields to include for returned resources of type gameCenterAchievementReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that the endpoint is deprecated; it says nothing about authentication requirements, what fields are returned, pagination, or what the deprecation substitutes. Even the deprecation notice gives no replacement path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the deprecation flag is front-loaded, which is good. However, the URL is printed twice in immediate succession ('GET /v1/... (GET /v1/...)'), which is pure redundancy and wastes the brief space available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no output schema, the description is inadequate: it does not explain the response shape, the effect of 'include'/'fields_*' selectors, or the migration path implied by deprecation. The schema covers the inputs but nothing else, leaving real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (id, include, and the three fields_* selectors) are already documented with enum values in the schema. The description adds no syntax or semantic detail, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is effectively a tautology: it repeats the tool name as a REST route ('GET /v1/gameCenterAchievementReleases/{id}') with no prose stating what it does or returns. The only added signal is the '[DEPRECATED]' tag, which is useful but does not clarify the resource's meaning beyond what the name already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as game_center_achievement_releases_delete_instance, game_center_achievement_releases_create_instance, or the to-many relationship variants. The deprecation tag hints at avoidance but never names a replacement or condition, leaving the agent without routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_activity_update_to_one_relationshipC
[DEPRECATED] PATCH /v1/gameCenterAchievements/{id}/relationships/activity (PATCH /v1/gameCenterAchievements/{id}/relationships/activity) Body shape: see OpenAPI components.schemas.GameCenterAchievementActivityLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementActivityLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only conveys that this is a PATCH (a mutation) and that it is deprecated. It does not disclose that a to-one relationship PATCH replaces the existing linkage, what permissions are required, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single sentence and front-loads the important DEPRECATED warning, but the path is duplicated parenthetically, which is pure waste. Structurally adequate but not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation on a nested body object with no annotations and no output schema, the description punts the body contract entirely to an external OpenAPI component and never explains what the update accomplishes or what the envelope must contain. An agent gets no self-contained basis for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, and the description only points at components.schemas.GameCenterAchievementActivityLinkageRequest, which the schema itself already references. Baseline 3 applies since it adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete HTTP verb and full resource path (PATCH /v1/gameCenterAchievements/{id}/relationships/activity), so an agent can tell it is a to-one relationship update. However, it never states in domain terms that this updates the achievement's linked activity, and the parenthetical simply repeats the path verbatim. The DEPRECATED tag is the only signal distinguishing it from the v2 sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker implies the tool should be avoided, but the description never says so explicitly nor names the replacement (e.g. game_center_achievements_v2_activity_update_to_one_relationship). No when-to-use, 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.
game_center_achievements_create_instanceC
[DEPRECATED] POST /v1/gameCenterAchievements (POST /v1/gameCenterAchievements) Body shape: see OpenAPI components.schemas.GameCenterAchievementCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the deprecation status, which is genuinely useful, but says nothing about permissions, side effects, or whether the endpoint is still callable — significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The deprecation warning is correctly front-loaded, but the endpoint is needlessly duplicated ('POST /v1/gameCenterAchievements (POST /v1/gameCenterAchievements)'). It is short overall, yet the redundancy wastes the little space it has.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description provides only the deprecation flag and an OpenAPI pointer. It omits any guidance on replacements, permissions, or request expectations, leaving the agent under-informed for actually invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single body parameter is documented as 'components.schemas.GameCenterAchievementCreateRequest'. The description merely echoes that pointer, adding no syntax or field-level meaning beyond the schema, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete HTTP operation and resource (POST /v1/gameCenterAchievements), which implies creating a Game Center achievement, and it flags [DEPRECATED]. However, it never explains in plain terms what the tool creates or how it differs from siblings like game_center_achievements_v2_create_instance, so the agent must infer purpose from the endpoint string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag hints the tool should be avoided, but the description never says when to use this versus the many sibling create tools (notably game_center_achievements_v2_create_instance). An agent is left to guess whether a supported replacement exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterAchievements/{id} (DELETE /v1/gameCenterAchievements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'DELETE' implies a destructive mutation, but the description says nothing about permissions/scopes required, whether the deletion is permanent or reversible, or side effects on related releases and localizations. The deprecation note is useful context but does not describe behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the deprecation warning is correctly front-loaded, but the parenthetical restates the exact same path already given, which is pure redundancy with no added value. The content is minimal, not because it is efficiently written but because little was written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated mutation tool with no annotations and no output schema, the description omits what an agent most needs: the recommended replacement and any behavioral caveats. Flagging deprecation without naming a successor leaves the agent unable to route correctly among the many game_center_achievements delete siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter with 100% schema description coverage, so the schema already documents 'id' adequately. The description adds nothing about the id format or how to obtain it, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the operation and resource via the HTTP verb and path (DELETE /v1/gameCenterAchievements/{id}), which an agent can decode, but it is essentially the tool name re-rendered as a route rather than a plain-language statement of purpose. The [DEPRECATED] tag is the only genuinely new information, and it does help distinguish this from the v2 delete sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] prefix, which implies 'prefer something else' but never states the alternative or the condition under which this tool should still be called. There is no when-to-use, when-not-to-use, or named replacement (e.g. game_center_achievements_v2_delete_instance).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_get_instanceC
[DEPRECATED] GET /v1/gameCenterAchievements/{id} (GET /v1/gameCenterAchievements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_releases | No | maximum number of related releases returned (when they are included) | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterAchievementReleases | No | the fields to include for returned resources of type gameCenterAchievementReleases | |
| fields_gameCenterAchievementLocalizations | No | the fields to include for returned resources of type gameCenterAchievementLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only discloses that the endpoint is deprecated; it says nothing about auth requirements, whether related resources are expanded by default, or the shape of the returned document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loads the deprecation warning, which is the most important signal. However, echoing the same path twice in parentheses is pure noise with no informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter, no-annotation, no-output-schema tool, the description is far too thin. It omits what the endpoint returns, how 'include' and the 'fields_*' sparse-fieldset parameters affect the response, and what to use instead of this deprecated endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every one of the 10 parameters is documented in the schema (id, include, limit_*, fields_*). The description adds no additional parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description supplies a verb (GET) and a resource path (gameCenterAchievements/{id}), so an agent can infer it fetches one Game Center achievement by id. It does not distinguish this from siblings like game_center_achievements_v2_get_instance, and the path is duplicated verbatim, adding no human-readable statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] tag, which does warn against new use, but it never names a replacement (e.g., the v2 tool) or states what conditions select this tool. An agent is left to guess the migration path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_group_achievement_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterAchievements/{id}/relationships/groupAchievement (GET /v1/gameCenterAchievements/{id}/relationships/groupAchievement)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses deprecation, which is real behavioral context, but says nothing about authentication requirements, whether the relationship can be absent, or what the response contains. A deprecated read tool should at minimum point to its replacement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same URL is printed twice, once inside parentheses, which is pure redundancy rather than conciseness. The one useful token, the deprecation flag, is buried in a bracket at the front of an otherwise meaningless string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter relationship GET with no output schema and no annotations, the description should explain what 'groupAchievement' resolves to and what to use instead given deprecation. Neither is present, leaving the agent with a URL and nothing else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it fully; the baseline is 3. The path template in the description shows the id as a path segment, which is marginal and duplicative of the schema, adding no format or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name as a raw HTTP path, duplicated in parentheses, so it adds no resource or verb information beyond what the name already encodes. The only genuinely informative token is the '[DEPRECATED]' prefix, which tells the agent to avoid it but not what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The deprecation marker implies 'do not use this,' which is a weak form of negative guidance, but no alternative is named (e.g., game_center_achievements_group_achievement_get_to_one_related) and no condition for use is stated. An agent cannot tell from this text when this tool would ever be the right choice over its sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_group_achievement_update_to_one_relationshipC
[DEPRECATED] PATCH /v1/gameCenterAchievements/{id}/relationships/groupAchievement (PATCH /v1/gameCenterAchievements/{id}/relationships/groupAchievement) Body shape: see OpenAPI components.schemas.GameCenterAchievementGroupAchievementLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementGroupAchievementLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the deprecation status, which is genuine behavioral value, but says nothing about authorization needs, side effects, or that a PATCH to a relationships endpoint replaces the existing linkage. Mutation semantics are left undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loading [DEPRECATED] is good, but the sentence wastes space duplicating the same URL path twice in parentheses and ends with a raw OpenAPI pointer rather than actionable prose. Still compact, but not well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description omits the operation's semantics, auth requirements, and any deprecation successor. An agent knows the endpoint and that it is deprecated, but not what to do instead or what the call changes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are already documented, so baseline is 3. The description only points at components.schemas.GameCenterAchievementGroupAchievementLinkageRequest for the body envelope, which repeats what the schema's body description already states, adding no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation as a PATCH to the gameCenterAchievements/{id}/relationships/groupAchievement endpoint, which combined with the tool name tells an agent this mutates a to-one relationship. However, it never states in plain language what the update accomplishes (e.g., setting which group achievement is linked), so purpose must be inferred from HTTP semantics and the path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag implies agents should avoid this tool, which is useful, but no replacement or successor is named and no conditions for use are given. Sibling tools like game_center_achievements_group_achievement_get_to_one_relationship exist, but the description draws no comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_localizations_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterAchievements/{id}/relationships/localizations (GET /v1/gameCenterAchievements/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only the deprecation and the HTTP verb; nothing about read-only safety, pagination behavior, or what happens when the id is invalid. A GET path is not sufficient behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation flag, but it wastes space by printing the same endpoint twice, once inside parentheses, so it is not maximally economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated two-parameter relationship GET with no annotations and no output schema, the description leaves the agent without any migration path or behavioral context. It is minimally adequate structurally but tells the caller almost nothing they cannot infer from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the schema already does the heavy lifting. The description adds no syntax or semantic detail beyond that, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP endpoint ('GET /v1/gameCenterAchievements/{id}/relationships/localizations'), which is a tautology of the name rather than an explanation of what the tool returns in agent-usable terms. It offers no differentiation from the many sibling '*_localizations_get_to_many_relationship' tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' prefix is genuinely useful guidance to avoid the tool, but no replacement or alternative is named, and there is no statement of when this relationship traversal is appropriate versus e.g. game_center_achievements_localizations_get_to_many_related.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterAchievements/{id}/relationships/releases (GET /v1/gameCenterAchievements/{id}/relationships/releases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it only discloses deprecation status. It says nothing about pagination (despite the limit parameter), authentication requirements, or what the relationship response contains, so an agent lacks the context needed to call it correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its entire length duplicating the endpoint path twice. The useful '[DEPRECATED]' marker is front-loaded, but the redundant parenthetical is pure noise rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, read-only relationship fetch with full schema coverage and no output schema, the definition is minimally adequate: the deprecation warning is the key context and it is present. It omits any return-shape or relationship-vs-related clarification, but the tool itself is simple enough that these are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id, limit), so the schema already documents them adequately. The description adds nothing about parameter meaning, which is acceptable at the baseline but does not compensate further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP path 'GET /v1/gameCenterAchievements/{id}/relationships/releases' repeated verbatim in parentheses, which restates what the tool name already encodes. It does convey that this reads the releases relationship of a gameCenterAchievement, so the resource and verb are inferable, but the redundant duplication adds no clarifying value over the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the '[DEPRECATED]' tag, which usefully tells the agent to avoid this tool. However, no alternative is named and there is no explanation of the relationship-vs-related distinction against the sibling game_center_achievements_releases_get_to_many_related, leaving the agent to guess which to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterAchievements/{id} (PATCH /v1/gameCenterAchievements/{id}) Body shape: see OpenAPI components.schemas.GameCenterAchievementUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is a PATCH and that the body is a JSON:API envelope referencing GameCenterAchievementUpdateRequest; it says nothing about permissions, side effects on published state, or reversibility of the mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact line with the deprecation flag front-loaded and a useful pointer to the schema, though the duplicated PATCH path restatement is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-body mutation tool with no annotations and no output schema, the description should explain what the update affects and how to construct the body. Instead it defers entirely to an external OpenAPI schema reference, leaving an agent without enough to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already covers both parameters. The description merely repeats the pointer to components.schemas.GameCenterAchievementUpdateRequest for the body, adding no field-level meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the verb (PATCH) and resource (gameCenterAchievements/{id}) and flags the tool as deprecated, so an agent can infer it updates a Game Center achievement. But it never states in plain terms what is being changed and does not point to the likely replacement (game_center_achievements_v2_update_instance), leaving the purpose only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' marker hints the tool should be avoided, but no alternative is named, even though game_center_achievements_v2_update_instance exists among the siblings. There is no statement of when to use this versus the v2 variant or any prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_v2_activity_update_to_one_relationshipD
PATCH /v2/gameCenterAchievements/{id}/relationships/activity (PATCH /v2/gameCenterAchievements/{id}/relationships/activity) Body shape: see OpenAPI components.schemas.GameCenterAchievementV2ActivityLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementV2ActivityLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses essentially nothing: not whether this replaces the existing activity link, whether the target activity must belong to the same app, whether credentials or specific roles are required, or what the response is. Only the HTTP verb hints that it mutates state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wastes space by stating the same path twice in immediate succession ('PATCH /v2/gameCenterAchievements/{id}/relationships/activity (PATCH /v2/gameCenterAchievements/{id}/relationships/activity)'). The remaining content is a schema pointer, so nothing is front-loaded that helps an agent decide or invoke correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating relationship-update tool with no annotations, no output schema, and an opaque nested body, the description is inadequate. It omits effect semantics, required permissions, error behavior, and the meaning of the linked resource, leaving an agent unable to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are already documented in the schema, so the baseline of 3 applies. The description's reference to components.schemas.GameCenterAchievementV2ActivityLinkageRequest is merely a pointer that the schema itself already repeats, adding no semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as a URL path and HTTP method: 'PATCH /v2/gameCenterAchievements/{id}/relationships/activity'. It adds no new information beyond what the name already conveys, and it does not distinguish this v2 tool from the near-identical sibling game_center_achievements_activity_update_to_one_relationship. An agent learns nothing about what 'activity' linkage means here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the v1 counterpart or any alternative tool for linking an activity. The description supplies no context for choosing this over the many other game-center relationship update tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_v2_create_instanceC
POST /v2/gameCenterAchievements (POST /v2/gameCenterAchievements) Body shape: see OpenAPI components.schemas.GameCenterAchievementV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only implies a create via the POST route. It does not disclose required auth/roles, side effects, idempotency, validation failure behavior, or success response semantics — all of which matter for a mutating endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wasteful: the path '(POST /v2/gameCenterAchievements)' is duplicated inside parentheses, and the only substantive content is a schema pointer. Space is spent on redundancy rather than front-loading useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create tool with a nested JSON:API body, no annotations, and no output schema, the description is far too thin. It never describes the envelope, required attributes/relationships, or the result, leaving the agent dependent on an external OpenAPI reference it may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter has 100% schema description coverage, so the baseline is 3. The description merely repeats the schema's own pointer to components.schemas.GameCenterAchievementV2CreateRequest, adding no envelope, required-field, or relationship detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP route: 'POST /v2/gameCenterAchievements' repeated verbatim. It names a verb and resource only in URL form and does not explain what creating a Game Center achievement v2 instance actually means or how it differs from the many sibling create/update/delete tools for the same resource family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no precondition, and no mention of alternatives such as game_center_achievements_create_instance (v1) or the v2 update/delete siblings. An agent gets no signal about when this specific endpoint is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_v2_delete_instanceC
DELETE /v2/gameCenterAchievements/{id} (DELETE /v2/gameCenterAchievements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it says nothing beyond the HTTP verb. It does not state that the operation is destructive/irreversible, what permissions are required, whether the achievement is detached from its group or releases first, or what (if anything) is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical '(DELETE /v2/gameCenterAchievements/{id})' is a verbatim duplicate of the first clause and contributes zero information, which is avoidable waste even in a one-line description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-resource deletion with no annotations and no output schema, the description omits the essentials an agent needs: irreversibility, required scopes/permissions, and side effects on related Game Center resources. The route alone is insufficient for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage ('the id of the requested resource'), the schema already documents the input fully. The description only echoes the {id} path placeholder and adds no format or sourcing detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific verb and resource via the raw route 'DELETE /v2/gameCenterAchievements/{id}', so an agent can infer it deletes a Game Center achievement. However, it is written only as REST path syntax with no plain-language statement, and it does nothing to distinguish this from the many sibling delete_instance tools (e.g. game_center_achievements_delete_instance, the non-v2 variant).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, and nothing about preconditions, cascading effects, or relationship to the v1 delete_instance sibling. Usage must be inferred entirely from the tool name and the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_v2_get_instanceD
GET /v2/gameCenterAchievements/{id} (GET /v2/gameCenterAchievements/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterAchievementVersions | No | the fields to include for returned resources of type gameCenterAchievementVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the endpoint string. It does not state that this is a read-only fetch, what authentication or scoping is needed, or how sparse fieldsets and relationship includes affect the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure duplication ('GET /v2/gameCenterAchievements/{id} (GET /v2/gameCenterAchievements/{id})') – the same path repeated twice with no added information. Brevity without content is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no annotations and no output schema, the description is completely inadequate. It explains nothing about the resource returned, the meaning of include/limit_versions, or the sparse-fieldset parameters, leaving the agent with only a raw URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 8 parameters (id, include, limit_versions, and five fields_* sparse-fieldset params), so the schema fully documents them and the baseline of 3 applies. The description adds no syntax, format, or interaction detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is merely the HTTP path restated verbatim, and even that is duplicated in parentheses. It conveys 'GET this resource by id' only because the raw path contains the word GET; relative to the tool name (game_center_achievements_v2_get_instance) it is a tautology and does nothing to distinguish it from siblings like game_center_achievements_v2_versions_get_to_many_relationship or the v1 game_center_achievements_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no prerequisites. An agent must guess purely from the name/path whether this returns a single achievement resource and when it should be preferred over the v1 endpoint or the versions relationship tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievements_v2_update_instanceC
PATCH /v2/gameCenterAchievements/{id} (PATCH /v2/gameCenterAchievements/{id}) Body shape: see OpenAPI components.schemas.GameCenterAchievementV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It signals a mutating PATCH and defers the payload to an external OpenAPI schema, but says nothing about required permissions, whether unspecified fields are preserved or cleared, reversibility, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the endpoint, but the route is duplicated verbatim in parentheses, which is pure redundancy rather than useful content. Size is appropriate, but the content density is very low.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body object, the description is essentially a route string. Pointing to an external OpenAPI schema for the JSON:API envelope does not give the agent actionable inline guidance about what to send.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the id and body parameters are already documented in the schema. The description merely repeats the same components.schemas reference the schema already contains, adding no new meaning beyond the structured fields. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The PATCH route implies a partial update of a Game Center achievement v2 resource, so the verb+resource is inferable from the URL. However, the description only restates the endpoint already encoded in the tool name and never explains in prose what an update does or how v2 differs from the sibling game_center_achievements_update_instance (v1). It is adequate but not self-explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives, despite the presence of a v1 update sibling and separate create/get/delete siblings for the same resource. 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.
game_center_achievements_v2_versions_get_to_many_relationshipD
GET /v2/gameCenterAchievements/{id}/relationships/versions (GET /v2/gameCenterAchievements/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses essentially nothing — no pagination behavior, no response shape, no note on relationship vs. related semantics. The only signal is the literal 'GET' prefix, which weakly implies a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text duplicates the identical URL twice in parentheses, which is pure redundancy rather than conciseness, and there is no front-loaded statement of purpose. It is short only because it contains almost no content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations, no output schema, and no explanation of what the relationship collection contains or how pagination applies, the description is entirely inadequate. An agent has no basis to choose this over the sibling 'related' variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'limit' adequately. The description adds no additional meaning about parameter usage, which is the expected baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name's URL path (and repeats it twice), giving no verb-and-resource explanation beyond what the identifier already encodes. It never says it returns the versions relationship for a Game Center achievement, nor does it distinguish itself from the sibling game_center_achievements_v2_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With a near-identical sibling (…_versions_get_to_many_related) in the catalog, the absence of any routing hint is a serious gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_versions_v2_create_instanceC
POST /v2/gameCenterAchievementVersions (POST /v2/gameCenterAchievementVersions) Body shape: see OpenAPI components.schemas.GameCenterAchievementVersionV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAchievementVersionV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it only discloses the HTTP verb and that the body is a JSON:API envelope. It says nothing about authentication, side effects, or what a successful call returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but wastes space by duplicating the identical route string twice in parentheses ('POST /v2/gameCenterAchievementVersions (POST /v2/gameCenterAchievementVersions)'). That redundancy detracts from otherwise efficient sizing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with no annotations, no output schema, and a nested JSON:API body object, the description is too thin. It does not describe required body fields, auth needs, or the response envelope, leaving the agent to consult external OpenAPI docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single body parameter is already documented as referencing components.schemas.GameCenterAchievementVersionV2CreateRequest. The description merely repeats that pointer without adding field-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and HTTP route: 'POST /v2/gameCenterAchievementVersions'. It conveys that this is a create operation on the gameCenterAchievementVersions resource, but offers no plain-language statement of what creating an achievement version actually accomplishes or how it differs from siblings like game_center_achievement_versions_v2_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g., an existing achievement), and no mention of alternatives. An agent must infer usage entirely from the route path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_achievement_versions_v2_get_instanceC
GET /v2/gameCenterAchievementVersions/{id} (GET /v2/gameCenterAchievementVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterAchievementVersions | No | the fields to include for returned resources of type gameCenterAchievementVersions | |
| fields_gameCenterAchievementLocalizations | No | the fields to include for returned resources of type gameCenterAchievementLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the auth/permission requirements, not what happens on an invalid id, not the pagination behavior of the included relationships, and not the response shape. For a tool with zero structured safety metadata, this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the entire content is the endpoint path duplicated in parentheses. No sentence earns its place, and nothing is front-loaded because there is nothing to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six parameters (relationship includes, sparse fieldset filters), no output schema, and no annotations, an agent needs at least a hint about what is returned and how the include/fields parameters interact. The description provides none, though the fully documented schema partially compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with every one of the six parameters documented in the schema (id, include, limit_localizations, and the three fields_* filters). Per the rubric, high coverage establishes a baseline of 3, and the description adds nothing beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and its HTTP path ('GET /v2/gameCenterAchievementVersions/{id}'), with the same string repeated inside parentheses. It signals only that this is a read of one achievement-version resource, which the name 'get_instance' already conveys, so it adds no distinguishing information against the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no differentiation from adjacent tools such as game_center_achievement_versions_v2_create_instance or the localizations relationships. The agent is left to 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.
game_center_achievement_versions_v2_localizations_get_to_many_relationshipD
GET /v2/gameCenterAchievementVersions/{id}/relationships/localizations (GET /v2/gameCenterAchievementVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no pagination behavior for the 'limit' parameter, no rate limits, no auth requirements, no statement of what the returned relationship linkage contains. The only hint (GET = read) is already encoded in the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant, repeating the identical endpoint string twice with no added information. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that is a duplicated URL, an agent has nothing about the return payload, relationship semantics, or pagination. For a relationship-listing endpoint this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('id' and 'limit'), so the schema already documents their meaning and the baseline of 3 applies. The description contributes no additional parameter semantics such as ID format or pagination defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP path twice, once bare and once in parentheses, adding no plain-language statement of what the tool does. An agent can infer 'GET the localizations relationship for an achievement version' only by parsing the URL, which is essentially the tool name re-encoded.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as game_center_achievement_versions_v2_localizations_get_to_many_related, and no indication of prerequisites. The description offers nothing to distinguish this call from the many sibling relationship endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_achievements_create_to_many_relationshipB
[DEPRECATED] POST /v1/gameCenterActivities/{id}/relationships/achievements (POST /v1/gameCenterActivities/{id}/relationships/achievements) Body shape: see OpenAPI components.schemas.GameCenterActivityAchievementsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityAchievementsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses that the tool is deprecated and that it is a write operation (POST) requiring a JSON:API envelope, but it says nothing about permissions, whether existing linkages are appended or replaced, idempotency, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the critical [DEPRECATED] flag. However, the endpoint URL is repeated verbatim in parentheses, which is pure redundancy that adds no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, annotation-free mutation with no output schema, the description covers the endpoint, the deprecation status, and where to find the body schema. It omits what the linkage creation actually does to existing relationships and any response expectation, leaving gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The body-shape pointer to components.schemas.GameCenterActivityAchievementsLinkagesRequest largely duplicates the schema's own body description and does not explain the linkage payload semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb (POST) and a fully-qualified resource path (/v1/gameCenterActivities/{id}/relationships/achievements), which distinguishes it from the sibling DELETE and _v2_ variants of the same relationship. It is specific enough for an agent to identify the operation, though it never states the effect in plain language (link achievements to an activity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is a meaningful when-not-to-use signal, so this is more than no guidance at all. However, it never names a replacement (e.g. the _v2_ or delete sibling) or explains the conditions under which this relationship endpoint should be used, leaving the agent to infer the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_achievements_delete_to_many_relationshipC
[DEPRECATED] DELETE /v1/gameCenterActivities/{id}/relationships/achievements (DELETE /v1/gameCenterActivities/{id}/relationships/achievements) Body shape: see OpenAPI components.schemas.GameCenterActivityAchievementsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityAchievementsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden but discloses only the DEPRECATED status. It says nothing about whether the deletion is reversible, what permissions are required, or the effect on existing achievement linkages, which matters for a destructive to-many relationship mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The same endpoint path is printed twice (once as a label, once in parentheses), which is pure redundancy. The body-shape sentence is at least useful, but the front-loaded content is a raw URL rather than a purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, deprecated relationship-delete with no annotations and no output schema, the description omits return/response behavior, usage context, and a deprecation replacement. Only the body envelope reference is provided, leaving significant gaps an agent would need filled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only a pointer to components.schemas.GameCenterActivityAchievementsLinkagesRequest for the body envelope, which marginally helps but does not describe the id parameter or body semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description embeds a specific verb+resource endpoint (DELETE /v1/gameCenterActivities/{id}/relationships/achievements), so the operation is identifiable, but it is only a raw path repeated verbatim rather than a stated purpose. It does not distinguish itself against the create/v2 sibling variants beyond the DELETE verb, and the '[DEPRECATED]' tag muddies whether the action is still meaningful.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus game_center_activities_achievements_create_to_many_relationship or the v2 variants. The DEPRECATED marker implies 'avoid', but no replacement tool or migration path is named, leaving the agent without an actionable alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_achievements_v2_create_to_many_relationshipC
POST /v1/gameCenterActivities/{id}/relationships/achievementsV2 (POST /v1/gameCenterActivities/{id}/relationships/achievementsV2) Body shape: see OpenAPI components.schemas.GameCenterActivityAchievementsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityAchievementsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses only that this is a POST (a write) and points at an OpenAPI component for the body shape. It does not say whether the call appends to or replaces existing achievement linkages, what permissions/roles are required, or whether the operation is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint path is printed twice back-to-back with no added information, which is pure redundancy. The one genuinely useful sentence is the schema pointer, but it is buried after the duplicated path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with no annotations and no output schema, the description omits the essentials: what the operation does semantically (attach achievements to an activity), whether it is additive or destructive, and what a successful response looks like. Only the request body schema reference is supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters (id and body) are already documented in the schema. The description adds only a pointer to the components.schemas.GameCenterActivityAchievementsV2LinkagesRequest definition for the JSON:API envelope, which is marginally useful but does not elaborate on the payload beyond the schema's own additionalProperties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is little more than the HTTP verb and path repeated verbatim in parentheses, which restates the tool name rather than stating in plain language what the tool does. It gives no differentiation from close siblings such as game_center_activities_achievements_create_to_many_relationship (v1) or game_center_activities_achievements_v2_delete_to_many_relationship, so an agent must infer that this links achievementsV2 to an activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites (e.g. the activity must already exist), and no mention of the sibling alternatives that create or delete the same relationship. The agent is left to guess 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.
game_center_activities_achievements_v2_delete_to_many_relationshipC
DELETE /v1/gameCenterActivities/{id}/relationships/achievementsV2 (DELETE /v1/gameCenterActivities/{id}/relationships/achievementsV2) Body shape: see OpenAPI components.schemas.GameCenterActivityAchievementsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityAchievementsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it does not say the operation removes/replaces relationships, whether it is reversible, what auth is required, or what happens on partial failure. It only notes that a body is required and points at an OpenAPI schema reference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the single sentence wastes space by repeating the identical HTTP path twice in parentheses. It is not front-loaded with a readable action statement, leaving an opaque reference ('see OpenAPI ...') where a clear verb phrase should be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a DELETE mutation with a nested JSON:API body, zero annotations, and no output schema, the description should explain what is destroyed and what the request body must contain. Instead it defers entirely to an external OpenAPI component reference, leaving the agent without enough context to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and body. The description adds a pointer to components.schemas.GameCenterActivityAchievementsV2LinkagesRequest, but this duplicates the schema's own body description rather than adding new semantics. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb and resource (DELETE the achievementsV2 relationship of a gameCenterActivity), but it does so by pasting the raw HTTP path twice rather than describing the action in plain terms. An agent can infer 'remove achievementsV2 linkages from an activity' only by decoding the URL, and the sibling game_center_activities_achievements_delete_to_many_relationship (non-v2) is not distinguished.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as the v1 achievements delete or the leaderboards equivalents. No prerequisites, no mention of required permissions or scoping, and no exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_create_instanceC
POST /v1/gameCenterActivities (POST /v1/gameCenterActivities) Body shape: see OpenAPI components.schemas.GameCenterActivityCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not state auth requirements, whether the operation is idempotent, what side effects occur, or what the response contains. Its only behavioral hint is a pointer to an external OpenAPI schema for the request envelope, which is thin for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wasteful: the route 'POST /v1/gameCenterActivities' is printed twice in a row inside parentheses, adding no information. Little content remains after removing the duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with no annotations, no output schema, and a free-form nested body whose real shape lives in an external OpenAPI document the agent may not have, the description is far too thin. It should at least outline the envelope or key required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so baseline 3 applies. The description's pointer to components.schemas.GameCenterActivityCreateRequest largely duplicates the schema's own description, adding no new semantic detail about the required JSON:API envelope fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP route 'POST /v1/gameCenterActivities', which implies a create verb on the gameCenterActivities resource. It does not describe what a Game Center activity is or what creation entails, and it offers no differentiation from the many sibling create/update/delete activity tools. Minimum-viable rather than clarifying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as game_center_activities_update_instance or game_center_activity_versions_create_instance. Only the POST verb hints at create semantics, which is inference rather than guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_delete_instanceD
DELETE /v1/gameCenterActivities/{id} (DELETE /v1/gameCenterActivities/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it says nothing about irreversibility, cascading deletions (localizations, images, releases, achievement/leaderboard associations), required permissions, or any error/confirmation behavior. A bare method+path line leaves the agent blind to the consequences of a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical repeats the identical method+path string, adding zero information and failing the 'every sentence earns its place' test.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive DELETE with no annotations and no output schema, the definition omits what is deleted, what else is affected, and how failures surface. Nothing an agent needs to invoke it safely or correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (id) and schema description coverage is 100%, so the schema already documents it as 'the id of the requested resource'. The description adds nothing beyond the path template, but per the high-coverage baseline a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP method and path ('DELETE /v1/gameCenterActivities/{id}'), duplicated verbatim in parentheses. It conveys that a Game Center activity is deleted, but adds no scoping, differentiation, or clarifying detail beyond what the tool name already tells the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like game_center_activities_update_instance or game_center_activity_version_releases_delete_instance. No prerequisites, no exclusions, no alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_get_instanceD
GET /v1/gameCenterActivities/{id} (GET /v1/gameCenterActivities/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| limit_achievements | No | maximum number of related achievements returned (when they are included) | |
| limit_leaderboards | No | maximum number of related leaderboards returned (when they are included) | |
| limit_achievementsV2 | No | maximum number of related achievementsV2 returned (when they are included) | |
| limit_leaderboardsV2 | No | maximum number of related leaderboardsV2 returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| fields_gameCenterActivityVersions | No | the fields to include for returned resources of type gameCenterActivityVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it provides none — no mention of read-only semantics, authentication requirements, or what is returned. The duplicated route string adds no behavioral context whatsoever.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a redundant duplication of the same route string in parentheses, so neither sentence earns its place. Brevity here reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter endpoint with no annotations and no output schema, the description is completely inadequate — it explains no return shape, no relationship includes, and no usage context. Nothing an agent needs to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 13 documented parameters (id, include, limit_*, fields_*), so the schema already carries parameter meaning. The description adds nothing beyond it, which lands at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route 'GET /v1/gameCenterActivities/{id}' in parentheses twice, which is effectively a restatement of the tool name rather than a plain-language statement of purpose. An agent can infer it fetches a single game center activity, but nothing distinguishes it from the many other get_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives such as game_center_activities_versions_get_to_many_related or game_center_details_game_center_activities_get_to_many_related. Usage is only implied by the URL path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_leaderboards_create_to_many_relationshipC
[DEPRECATED] POST /v1/gameCenterActivities/{id}/relationships/leaderboards (POST /v1/gameCenterActivities/{id}/relationships/leaderboards) Body shape: see OpenAPI components.schemas.GameCenterActivityLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses only that the endpoint is deprecated and points to an OpenAPI schema for the body. It says nothing about permissions, whether this replaces or appends existing leaderboard linkages, side effects, or the response. The deprecation note is honest and valuable, but the mutation semantics are left implicit in the HTTP verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The deprecation warning is correctly front-loaded, but the description then repeats the identical path twice in parenthetical form, which is wasted space, and one of the two payload-bearing sentences is a pure schema pointer. It is short but not efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, mutating relationship tool with no annotations and no output schema, the description should explain what linkages are created and what to use instead. Neither is present, so an agent lacks what it needs to call this safely or to route around it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented in the schema, so the baseline is 3. The description's reference to components.schemas.GameCenterActivityLeaderboardsLinkagesRequest merely repeats what the body property description already states, adding no new meaning about the JSON:API envelope contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs an HTTP verb and endpoint (POST /v1/gameCenterActivities/{id}/relationships/leaderboards) with a clearly named target, so an agent knows this attaches leaderboards to a Game Center activity. It is specific about resource and scope, though it never distinguishes itself from the _delete_to_many_relationship or _v2_create siblings. The DEPRECATED prefix usefully flags the tool's status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] marker, which tells the agent to avoid it but names no replacement and gives no condition for when the tool is still appropriate. There is no mention of the v2 variant or the delete counterpart that a caller would need to choose between.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_leaderboards_delete_to_many_relationshipB
[DEPRECATED] DELETE /v1/gameCenterActivities/{id}/relationships/leaderboards (DELETE /v1/gameCenterActivities/{id}/relationships/leaderboards) Body shape: see OpenAPI components.schemas.GameCenterActivityLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about what the delete actually does (removes the activity-to-leaderboard relationships?), whether it is reversible, what permissions are required, or what the response is — it only points at the OpenAPI schema for the request envelope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and leads with the deprecation flag, which is good structure. However, the route path is duplicated verbatim in parentheses, which is pure waste, and the body-shape sentence merely names a schema without adding usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-deletion tool with no annotations, no output schema, and a nested JSON:API body, the description should explain the effect of the call and the deprecation path. It instead repeats the HTTP route and defers everything else to an external OpenAPI component the agent may not have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented in the schema. The description only restates the body schema name already present in the schema description, adding no extra semantics; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource — DELETE on the leaderboards relationship of a gameCenterActivity — which is unambiguous about what operation is performed. It does not, however, differentiate this tool from the nearby v2 sibling (game_center_activities_leaderboards_v2_delete_to_many_relationship), which is the obvious competing choice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is a real usage signal that tells the agent not to select this tool, and it is front-loaded. But it never names the replacement (the v2 delete variant) nor explains when the legacy endpoint would still be used, so the routing decision is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_leaderboards_v2_create_to_many_relationshipC
POST /v1/gameCenterActivities/{id}/relationships/leaderboardsV2 (POST /v1/gameCenterActivities/{id}/relationships/leaderboardsV2) Body shape: see OpenAPI components.schemas.GameCenterActivityLeaderboardsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityLeaderboardsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states POST (a mutation) and references the OpenAPI body schema, but does not disclose what the operation does (e.g., creates linkages), whether it appends or replaces, required permissions, side effects, or response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundantly repeats the endpoint in parentheses and leans on an external OpenAPI schema reference. It is not front-loaded with a plain-language purpose, though it is not excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete: it does not explain what the operation returns or the effect of creating the relationship. The body is nested and only referenced externally, leaving the agent without actionable context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (id, body) are described in the schema. The description only repeats the body schema reference and adds no meaning beyond the structured field documentation, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP POST endpoint and path, which implies creating a relationship, but does not describe in natural language what resource is being linked or that it creates leaderboardsV2 linkages for a game center activity. It does not differentiate this tool from the sibling non-v2 create relationship tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as the non-v2 create relationship or the delete relationship tool. The description provides no context about prerequisites, conditions, or usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_leaderboards_v2_delete_to_many_relationshipC
DELETE /v1/gameCenterActivities/{id}/relationships/leaderboardsV2 (DELETE /v1/gameCenterActivities/{id}/relationships/leaderboardsV2) Body shape: see OpenAPI components.schemas.GameCenterActivityLeaderboardsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityLeaderboardsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. DELETE implies a destructive mutation, but it does not clarify whether the leaderboards themselves are deleted or only the linkage is severed, nor does it mention auth scopes, reversibility, or response behavior. The OpenAPI schema pointer is the only added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but wastes space by printing the identical path twice in parentheses and defers the payload explanation to an external schema reference rather than stating it inline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations and no output schema, the definition omits what gets destroyed, what a success response looks like, and how the nested JSON:API linkage body should be shaped. Pointing at an off-tool OpenAPI component leaves the agent without actionable detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both id and body documented in the schema, so the baseline is 3. The description's reference to components.schemas.GameCenterActivityLeaderboardsV2LinkagesRequest merely repeats what the body property already says, adding no new syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP method and path, so an agent can infer this removes leaderboardsV2 linkages from a gameCenterActivity. However, it expresses purpose only as a raw endpoint string rather than a verb+resource statement, and it never distinguishes itself from the near-identical sibling game_center_activities_leaderboards_v2_create_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the create/replace siblings that also operate on this same relationship. The agent is left to infer everything from the URL alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_update_instanceC
PATCH /v1/gameCenterActivities/{id} (PATCH /v1/gameCenterActivities/{id}) Body shape: see OpenAPI components.schemas.GameCenterActivityUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. 'PATCH' implies a partial mutation, but the description says nothing about required permissions, whether unspecified fields are preserved, side effects on releases or localized versions, or reversibility. Worse, it defers the body semantics to an external OpenAPI component (components.schemas.GameCenterActivityUpdateRequest) that the agent may not have access to.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the parenthetical duplicates the exact same route string with zero added information, and the second sentence outsources the real content to a spec reference rather than stating it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no output schema, and no annotations, the description is far too thin: no updatable field list, no envelope/relationship structure, no response behavior. Pointing at an external schema definition is not a substitute for describing the operation in-band.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description only names the external request schema for the body parameter; it adds no field-level meaning, no required-field guidance, and no JSON:API envelope structure beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially an HTTP route echo of the tool name ('PATCH /v1/gameCenterActivities/{id}'), repeated verbatim in parentheses. It conveys no information about what updating a Game Center activity actually means or what aspects of the activity can be changed, and it does nothing to distinguish this from near-name siblings such as game_center_activity_versions_update_instance or game_center_achievements_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance at all. An agent must infer from the name alone that this mutates an existing activity rather than creating, deleting, or updating a version of one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activities_versions_get_to_many_relationshipD
GET /v1/gameCenterActivities/{id}/relationships/versions (GET /v1/gameCenterActivities/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing beyond the implicit read nature of a GET. Pagination behavior, response shape, permission requirements, and the distinction between 'relationship' and 'related' representations are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but brevity here reflects under-specification rather than efficiency: the identical path string is duplicated inside parentheses, adding zero information. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters, no output schema, and no annotations, the description should explain what the returned relationship linkage contains and how it differs from the 'related' endpoint. None of that is present, leaving the agent unable to call it correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself, so the baseline of 3 applies. The description adds no syntax, format, or filtering semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw HTTP path restated twice (once bare, once in parentheses). It names no plain-language verb or resource and does not distinguish itself from the near-identical sibling game_center_activities_versions_get_to_many_related, so an agent must reverse-engineer intent from the endpoint string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to the closely related alternative endpoints (the 'related' variant or the game_center_activity_versions_* tools). The agent is given no basis for choosing this tool over a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_images_create_instanceC
POST /v1/gameCenterActivityImages (POST /v1/gameCenterActivityImages) Body shape: see OpenAPI components.schemas.GameCenterActivityImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The 'POST' verb implicitly signals a write/create operation, but the description never states auth requirements, that a new resource is created, side effects, validation rules, or error behavior. Pointing at the OpenAPI schema is a structural pointer, not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its opening by duplicating the identical endpoint string in parentheses. It is front-loaded with the URL, but the redundant repetition and lack of substantive content make the brevity a symptom of under-specification rather than efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create-instance tool with a nested JSON:API body, no output schema, and no annotations, the description is far too thin. It does point the agent to the request schema, which marginally helps call construction, but it omits any explanation of the resource being created, prerequisites, or expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and schema description coverage is 100%, so the schema already documents the parameter. The description's reference to components.schemas.GameCenterActivityImageCreateRequest merely echoes the schema's own description and adds no new meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the endpoint restated twice: 'POST /v1/gameCenterActivityImages (POST /v1/gameCenterActivityImages)'. It never says in plain language that it creates a Game Center activity image, so an agent must infer the action and resource entirely from the URL slug and the tool name. This is close to a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling create/update/delete image tools (e.g. game_center_activity_images_update_instance, game_center_activity_localizations_create_instance). No prerequisites, no conditions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_images_delete_instanceD
DELETE /v1/gameCenterActivityImages/{id} (DELETE /v1/gameCenterActivityImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about whether deletion is permanent or reversible, what permissions are required, whether dependent localizations or version references are affected, or what a successful response looks like. For a destructive operation this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and the operation is front-loaded, but the parenthetical duplicates the identical string, which is pure waste rather than information. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete tool with no annotations and no output schema, the description must explain destructiveness, recoverability, and side effects. It does none of these, so an agent cannot safely call it based on the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single 'id' parameter is documented in the schema as 'the id of the requested resource', so the baseline of 3 applies. The description adds no syntax, format, or constraint detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the HTTP method and path, which duplicates the tool name rather than explaining what deleting a Game Center activity image means in domain terms. It names a verb (DELETE) and a resource, but adds nothing an agent couldn't derive from the name itself, so it sits below the 'clear' threshold.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no mention of prerequisites, and no reference to sibling operations such as game_center_activity_images_update_instance or create_instance. The agent is left to infer everything 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.
game_center_activity_images_get_instanceC
GET /v1/gameCenterActivityImages/{id} (GET /v1/gameCenterActivityImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_gameCenterActivityImages | No | the fields to include for returned resources of type gameCenterActivityImages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing beyond the URL. It says nothing about permissions, caching, pagination, or whether a missing id errors versus returns empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical exactly repeats the preceding path text, which is pure waste rather than economy. There is no front-loaded purpose statement because there is no prose purpose at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should at least explain what the returned image resource represents and what the sparse-field options control. It leaves that entire burden to the schema and a raw URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the required id and the optional sparse fields parameter are documented in the schema itself. The description adds nothing, but the baseline for full coverage is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP method and path, duplicated verbatim in parentheses. It conveys only that this is a GET of a gameCenterActivityImages resource by id, which is already fully implied by the tool name. It gives no differentiation from the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternatives are stated. The agent gets no indication of when this specific resource fetch is appropriate versus, say, the localizations or versions image relationships in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_images_update_instanceC
PATCH /v1/gameCenterActivityImages/{id} (PATCH /v1/gameCenterActivityImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterActivityImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not whether PATCH is a partial or full replacement, not required permissions, not reversibility, not side effects on the associated activity. It only supplies an HTTP verb, which is already implied by the tool name 'update_instance'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence duplicates the path (PATCH /v1/gameCenterActivityImages/{id} appears twice in parentheses), which is pure waste. Brevity here is under-specification rather than conciseness, and no functional purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested-object body, no annotations, and no output schema, so the description must do heavy lifting. Instead it defers entirely to an external OpenAPI document the agent may not have, leaving update semantics, field constraints, and response behavior wholly unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'body' are documented in the schema, establishing the baseline of 3. The description's pointer to components.schemas.GameCenterActivityImageUpdateRequest adds nothing beyond what the body property description already states, and gives no field-level meaning for a nested JSON:API envelope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the HTTP verb and route (PATCH /v1/gameCenterActivityImages/{id}), from which an agent can infer it updates a game center activity image. However, it never states the purpose in functional terms (e.g. 'update an activity image's metadata or upload state'), so it is only implied rather than explained. The route does distinguish it from sibling get/create/delete operations on the same resource, but only by method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g. the image must already exist), and no mention of alternatives like game_center_activity_images_create_instance or the get/delete siblings. The agent gets no signal about when this tool is the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_localizations_create_instanceC
POST /v1/gameCenterActivityLocalizations (POST /v1/gameCenterActivityLocalizations) Body shape: see OpenAPI components.schemas.GameCenterActivityLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses essentially nothing beyond the HTTP method: no auth requirements, no parent-relationship prerequisites, no side effects, no confirmation of what entity is created. The only added pointer is the request schema name, which is structural rather than behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the method and path, but the path is needlessly repeated in parentheses and the 'see OpenAPI ...' pointer duplicates what the schema field already says. Size is acceptable; the redundancy keeps it from being efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool wrapping a nested JSON:API envelope with no annotations and no output schema, the description omits critical context: what a localization is, how it relates to its parent activity version, and what the envelope must contain. It is insufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole body parameter is documented in-schema as pointing to GameCenterActivityLocalizationCreateRequest. The description repeats that same schema reference without adding syntax, required-field, or envelope details, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does little more than restate the tool name as an HTTP verb plus path ('POST /v1/gameCenterActivityLocalizations'), with the path even duplicated. A reader can infer it creates an activity localization, but no statement explains what such a localization is or distinguishes it from the many sibling create_instance tools. This is tautological restatement rather than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the numerous alternative creators (game_center_activity_localizations_get_instance, update_instance, delete_instance, or the various game_center_*_localizations create tools). No prerequisites, no conditions, no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_localizations_delete_instanceC
DELETE /v1/gameCenterActivityLocalizations/{id} (DELETE /v1/gameCenterActivityLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the entire behavioral burden, and it discloses nothing: no mention of permanence/irreversibility, required permissions, or cascading effects on related resources. The parenthetical repetition of the same path adds no information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the same endpoint string is duplicated in parentheses, which is pure redundancy rather than concision. It is under-specified rather than efficiently trimmed, with no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-resource deletion with no annotations and no output schema, the description should at minimum state that the operation is irreversible and what it removes. None of that is present, leaving the definition inadequate for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, which the schema already documents as 'the id of the requested resource'. The description adds no syntax, format, or sourcing guidance, so the baseline of 3 applies since the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates the tool name as an HTTP path ('DELETE /v1/gameCenterActivityLocalizations/{id}') with no additional explanation of what a game center activity localization is or what deleting one accomplishes. It is essentially a tautology of the name, though the verb+resource pairing is at least identifiable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling (e.g. game_center_activity_localizations_update_instance) is the alternative. The DELETE verb is the only implicit signal, and no prerequisites or preconditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_localizations_get_instanceD
GET /v1/gameCenterActivityLocalizations/{id} (GET /v1/gameCenterActivityLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterActivityImages | No | the fields to include for returned resources of type gameCenterActivityImages | |
| fields_gameCenterActivityVersions | No | the fields to include for returned resources of type gameCenterActivityVersions | |
| fields_gameCenterActivityLocalizations | No | the fields to include for returned resources of type gameCenterActivityLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden but discloses nothing about authentication, caching, error behavior, or what happens for a missing id. It is a bare endpoint path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but that reflects under-specification rather than discipline. The pointless duplication of the same path in parentheses is wasted characters, and nothing is front-loaded with actual purpose information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter GET with no annotations, no output schema, and a family of related sibling tools, the description omits what the resource represents, what is returned, and how the include/fields filters behave — wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and all fields_* filter parameters. The description adds no meaning beyond the {id} path placeholder, which the schema covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just a duplicated REST endpoint path ('GET /v1/gameCenterActivityLocalizations/{id}') repeated twice. It conveys retrieval-by-id through the HTTP verb convention but never states in plain terms what a game center activity localization is or what the tool returns, making it essentially a restatement of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many siblings (update_instance, delete_instance, image_get_to_one_relationship, etc.). The agent must infer usage purely from the endpoint name and method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_localizations_image_get_to_one_relationshipD
GET /v1/gameCenterActivityLocalizations/{id}/relationships/image (GET /v1/gameCenterActivityLocalizations/{id}/relationships/image)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and no output schema exist, so the description carries the full behavioral burden. It discloses nothing: not that a relationship endpoint returns a linkage object (type/id) rather than the image resource, not auth requirements, not error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every token is wasted: the parenthetical clause duplicates the leading path exactly, so no sentence earns its place. The brevity reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For one of hundreds of near-identical App Store Connect relationship endpoints, the description supplies none of the context needed to call it correctly: no distinction from the _related sibling, no return-shape note, no usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100% ('the id of the requested resource'), so the schema does the heavy lifting. The description adds no meaning of its own, but the high coverage places the baseline at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the tool name rendered as an HTTP path, repeated verbatim inside parentheses. It is a tautological restatement of the identifier rather than an explanation of what the tool does or what a 'relationship' response contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the directly competing sibling game_center_activity_localizations_image_get_to_one_related, which is exactly the tool an agent would need to disambiguate against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_localizations_update_instanceD
PATCH /v1/gameCenterActivityLocalizations/{id} (PATCH /v1/gameCenterActivityLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterActivityLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about idempotency, partial-vs-full update semantics, what happens to unspecified localization fields, or auth requirements. The only signal is the PATCH verb in the path, which is already derivable from the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the sentence is wasteful: the endpoint is duplicated verbatim in parentheses instead of front-loading what the tool does. The only unique information is a reference to an external schema location.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested, untyped body object, no annotations, and no output schema, the description provides no field-level detail, no example envelope, and no error or permission context. Pointing to an external OpenAPI component the agent may not have access to leaves the call under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is nominally 100%, but both schema descriptions are generic ("the id of the requested resource", "JSON body") and the body is additionalProperties:{} with only an external pointer to components.schemas.GameCenterActivityLocalizationUpdateRequest. Since the agent likely lacks that OpenAPI component, the description fails to compensate for the opaque nested payload, which lists no updatable fields (locale, name, description, image, etc.).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP path twice verbatim ("PATCH /v1/gameCenterActivityLocalizations/{id} (PATCH /v1/gameCenterActivityLocalizations/{id})") which is essentially a tautology of the tool name plus endpoint. It implies an update to a game center activity localization, but adds no verb-level explanation of what is actually being changed or how it differs from siblings such as game_center_activity_localizations_get_instance or _delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the read, create, or delete siblings, no preconditions, and no mention of required permissions or parent resources. The agent is left to infer everything 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.
game_center_activity_version_releases_create_instanceC
[DEPRECATED] POST /v1/gameCenterActivityVersionReleases (POST /v1/gameCenterActivityVersionReleases) Body shape: see OpenAPI components.schemas.GameCenterActivityVersionReleaseCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityVersionReleaseCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the deprecation status, which is valuable, but says nothing about permissions required, whether the body is validated, what side effects occur, or whether the operation is reversible. For a mutation endpoint with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text repeats the path verbatim in parentheses immediately after already stating it, which is pure waste, and the 'Body shape: see OpenAPI...' phrasing is stilted. The deprecation tag is correctly front-loaded, but the rest is not efficiently written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create operation with a nested JSON:API body, no annotations, and no output schema. The description offloads essentially all substance to an external OpenAPI document and provides no return-value or error context. Given the complexity of the request envelope, an agent is left under-informed beyond the deprecation warning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single body parameter is described in the schema, so baseline is 3. The description points the agent at components.schemas.GameCenterActivityVersionReleaseCreateRequest for the JSON:API envelope, which adds a useful pointer beyond the schema, but gives no field-level meaning or required-field hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP method and path, and the tool name implies creating a game center activity version release. However, it never states the purpose in plain language ('creates a release record for an activity version') and merely restates the endpoint. An agent can infer the operation but gets no domain-level explanation of what a release is or why it matters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag signals an agent should probably avoid this tool, which is genuinely useful routing information. But there is no explicit when-to-use, no statement of what replaces it, and no reference to the sibling get_instance/delete_instance tools. The guidance is a hint rather than a directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_version_releases_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterActivityVersionReleases/{id} (DELETE /v1/gameCenterActivityVersionReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only restates the HTTP verb. It does not say whether the deletion is permanent, whether it cascades to related entities, what permissions or app state are required, or what happens on a missing/already-deleted id. The [DEPRECATED] flag is the only behavioral signal offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is short, but the parenthetical '(DELETE /v1/gameCenterActivityVersionReleases/{id})' is a verbatim duplicate of the text before it, which is pure waste. The deprecation marker is correctly front-loaded, but the redundancy costs it points on structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description is inadequate: it says nothing about reversibility, preconditions, or the deprecation path forward. An agent has no basis for deciding whether calling this is safe or what it should do instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already does the work. The description adds no format, source, or constraint detail beyond the {id} placeholder repeated in the path, making this baseline-3 territory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description contains a specific verb (DELETE) and a specific resource path (gameCenterActivityVersionReleases/{id}), and the [DEPRECATED] marker conveys status. However, the purpose is expressed as raw REST notation rather than describing what a 'release' is or what deletion means semantically, and it does nothing to distinguish this from the many sibling delete_instance tools beyond the resource name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling create/get release tools, nor on prerequisites such as whether the release must be unpublished first. The [DEPRECATED] tag hints the tool should be avoided, but it names no replacement, leaving the agent with no actionable alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_version_releases_get_instanceC
[DEPRECATED] GET /v1/gameCenterActivityVersionReleases/{id} (GET /v1/gameCenterActivityVersionReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterActivityVersions | No | the fields to include for returned resources of type gameCenterActivityVersions | |
| fields_gameCenterActivityVersionReleases | No | the fields to include for returned resources of type gameCenterActivityVersionReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only deprecation status; it says nothing about authentication requirements, rate limits, or what the response contains. Deprecation is genuinely useful, but for a tool with zero annotation coverage this is a thin disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but under-specified rather than concise, and it wastes its one line duplicating the path in parentheses. The deprecation marker is correctly front-loaded, but the repeated route earns no place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with four parameters, no output schema, and no annotations, the description should at least hint at what is returned or what to use instead of a deprecated endpoint. It supplies neither, leaving the agent with only a raw route string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and both fields_* sparse-fieldset parameters. The description adds no parameter meaning (e.g., accepted values or how 'include' affects the payload), so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb (GET) and a specific resource path (gameCenterActivityVersionReleases/{id}), so an agent can infer it fetches a single release instance. However, this is essentially the tool name re-expressed as an HTTP route, with no prose clarifying what a 'version release' is or how it differs from the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] tag, which usefully warns the agent away from the tool but names no replacement or alternative. There is no guidance on when this fetch is appropriate versus the create/delete release siblings or the newer activity-version endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_versions_create_instanceD
POST /v1/gameCenterActivityVersions (POST /v1/gameCenterActivityVersions) Body shape: see OpenAPI components.schemas.GameCenterActivityVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but discloses nothing: no auth/permission requirements, no side effects, no info on what gets created or whether the operation is reversible. The only useful token is the pointer to the OpenAPI request schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it wastes its only sentence by repeating the endpoint path verbatim twice. The remaining clause is a schema pointer rather than actionable content, so it is concise without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create (mutation) tool with a nested object body, no output schema, and no annotations, the description is far too thin. It does not describe the resource being created, required relationships, or expected outcome; the schema reference is the sole aid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter with 100% schema coverage, and both the description and the schema point to components.schemas.GameCenterActivityVersionCreateRequest. The description adds the phrase 'full JSON:API envelope', a marginal clarification of the body format, so it meets the baseline-3 expectation when the schema already documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name: 'POST /v1/gameCenterActivityVersions' conveys only an HTTP method and path, which the name already encodes via 'create_instance'. It never explains what a Game Center activity version is or differentiates this create operation from the many sibling create_instance tools. This is tautological rather than semantic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives (e.g. update_instance or the relationship endpoints for versions). The agent gets no routing information whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_versions_default_image_get_to_one_relationshipC
GET /v1/gameCenterActivityVersions/{id}/relationships/defaultImage (GET /v1/gameCenterActivityVersions/{id}/relationships/defaultImage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It reveals only that the operation is an HTTP GET (read-only by implication); it says nothing about auth requirements, what the relationship linkage contains, or how it differs behaviorally from the related variant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is a bare path immediately duplicated inside parentheses, which is pure redundancy rather than useful brevity. There is a single sentence but half of it earns no place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-param read tool this is under-specified: it does not clarify what a 'defaultImage relationship' returns or why one would pick this over the get_to_one_related sibling. There is no output schema to compensate, so the description should carry more.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single documented 'id' parameter, so the schema already fully explains the input. The description adds no parameter semantics beyond the path template, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only repeats the raw endpoint path plus a redundant parenthetical duplicate of the same path. It conveys 'GET the defaultImage relationship for a gameCenterActivityVersion' implicitly through the URL, but does not state in words what the tool does or distinguish it from the sibling game_center_activity_versions_default_image_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the nearly identical get_to_one_related sibling, nor any prerequisites or context. The only implied usage is 'call this to fetch the relationship', which is little more than restating the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_versions_get_instanceC
GET /v1/gameCenterActivityVersions/{id} (GET /v1/gameCenterActivityVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_releases | No | maximum number of related releases returned (when they are included) | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterActivityImages | No | the fields to include for returned resources of type gameCenterActivityImages | |
| fields_gameCenterActivityVersions | No | the fields to include for returned resources of type gameCenterActivityVersions | |
| fields_gameCenterActivityLocalizations | No | the fields to include for returned resources of type gameCenterActivityLocalizations | |
| fields_gameCenterActivityVersionReleases | No | the fields to include for returned resources of type gameCenterActivityVersionReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The GET path implies a read operation, but the description does not disclose authentication requirements, return shape, error behavior, or how include/fields/limit parameters affect the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but redundantly repeats the same endpoint in parentheses. It is concise only because it is under-specified, and it does not front-load useful retrieval context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has nine parameters including include, field selection, and relationship limits, plus no output schema. The description does not explain the response structure or how the include/fields/limit options work, leaving it materially incomplete for this endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all nine parameters are documented in the input schema. The description adds no parameter meaning beyond the path, so the schema is doing all meaningful documentation; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely repeats the GET endpoint path with the resource and id placeholder. It conveys that this retrieves a gameCenterActivityVersion by id, but it is essentially a tautological restatement of the tool name rather than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as create/update versions, get-to-many relationship tools, or release/localization relationship tools. The GET path implies retrieval, but no exclusions or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_versions_localizations_get_to_many_relationshipD
GET /v1/gameCenterActivityVersions/{id}/relationships/localizations (GET /v1/gameCenterActivityVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not state that this is a read of a to-many relationship, whether it is paginated (the 'limit' param hints at it but the description never says so), or what permission/environment it requires.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lone sentence duplicates the identical path inside parentheses, wasting the only structural slot available. It is short but not concise in any useful sense, and nothing is front-loaded with value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that is only a repeated URL, an agent has no basis to understand the call's purpose, pagination behavior, or return shape. Completely inadequate for a relationship-fetch tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description contributes no additional meaning about the parameters beyond the path template's {id}.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the URL path repeated twice, which effectively restates the tool name (game_center_activity_versions_localizations_get_to_many_relationship). It implies a GET on the localizations relationship but adds no plain-language statement of purpose and does not distinguish it from the sibling ..._localizations_get_to_many_related variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as the 'related' sibling, and no prerequisites or context. The agent gets zero routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_activity_versions_update_instanceD
PATCH /v1/gameCenterActivityVersions/{id} (PATCH /v1/gameCenterActivityVersions/{id}) Body shape: see OpenAPI components.schemas.GameCenterActivityVersionUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterActivityVersionUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not whether PATCH applies a partial update, which fields are mutable, what permissions are required, whether the change is reversible, or what happens to omitted fields. Pointing at an OpenAPI component is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but structurally poor: the same PATCH path is duplicated verbatim inside parentheses, and the remaining text is a cross-reference rather than a front-loaded purpose. The brevity reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with no annotations, no output schema, a nested JSON:API body, and a description that only names the endpoint is materially incomplete. An agent gets no information about what updating this resource actually entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body'. The description only repeats the schema pointer ('see OpenAPI components.schemas.GameCenterActivityVersionUpdateRequest') and adds no syntax, format, or body-field meaning beyond it, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The raw endpoint 'PATCH /v1/gameCenterActivityVersions/{id}' does imply updating a Game Center activity version, so the verb and resource are technically identifiable. But it is expressed as an HTTP path rather than a purpose statement, and it makes no attempt to distinguish this tool from siblings like game_center_activity_versions_create_instance or game_center_activity_versions_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what state the target resource must be in, when an alternative (create/get/delete) is preferred, or any prerequisite. The description is purely an endpoint and a schema pointer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_app_versions_app_store_version_get_to_one_relationshipD
GET /v1/gameCenterAppVersions/{id}/relationships/appStoreVersion (GET /v1/gameCenterAppVersions/{id}/relationships/appStoreVersion)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden, and it supplies none. It does not disclose that a relationship endpoint returns an identifier linkage rather than the resource itself, nor anything about auth, error behavior, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the same REST path string is printed twice, once bare and once in parentheses, so half the text is pure duplication with zero informational content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description should at minimum explain that it returns a linkage/resource-identifier object. It explains nothing, leaving the agent unable to distinguish this from the dozens of near-identically named sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter ('id') documented in the schema at 100% coverage, which is the baseline-3 case where the schema does the work. The description adds no meaning about what the id identifies or what happens with an invalid id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw REST path repeated verbatim in parentheses, with no plain-language statement of what the tool does. An agent must infer from the URL slug that this retrieves the appStoreVersion linkage for a Game Center app version, which is exactly the tautology case rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Critically, the sibling set contains both 'game_center_app_versions_app_store_version_get_to_one_relationship' and '..._get_to_one_related', and the description gives no clue when to pick the relationship (id linkage) form over the related (full resource) form.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_app_versions_compatibility_versions_create_to_many_relationshipC
POST /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions (POST /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions) Body shape: see OpenAPI components.schemas.GameCenterAppVersionCompatibilityVersionsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAppVersionCompatibilityVersionsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only the HTTP method (POST, implying mutation) and that the body is a JSON:API linkages envelope; it says nothing about whether linkages are appended or replace existing ones, duplicate handling, auth requirements, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the operation, but the endpoint is duplicated verbatim inside parentheses for no benefit, and the second sentence outsources the essential body shape to an external OpenAPI reference instead of stating it inline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a nested-body mutation tool with no annotations and no output schema, and the description leaves the body format entirely to an external spec. For an agent to call it correctly it needs at least a sketch of the linkages envelope and confirmation that this is an additive create-relationship operation, neither of which is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'id' and 'body' are documented in the schema. The description only repeats the schema pointer for the body envelope ('components.schemas.GameCenterAppVersionCompatibilityVersionsLinkagesRequest') rather than explaining the expected type/id array contents, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw endpoint restated: 'POST /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions'. An agent can decode from the path that it creates compatibilityVersions linkages on a Game Center app version, but the description never states the purpose in plain terms and gives no signal distinguishing it from sibling 'get_to_many_relationship' or 'delete_to_many_relationship' operations on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The description does not tell the agent to prefer this over the sibling GET/DELETE relationship tools, or what state the app version must be in before adding compatibility versions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_app_versions_compatibility_versions_delete_to_many_relationshipC
DELETE /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions (DELETE /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions) Body shape: see OpenAPI components.schemas.GameCenterAppVersionCompatibilityVersionsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAppVersionCompatibilityVersionsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it fails to meet it. It does not state that this operation removes relationships (potentially destructively), whether it is reversible, what permissions are required, or what the response looks like. Only the request body schema pointer is given, leaving the actual effect completely opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wastes space by duplicating the full endpoint path twice in close succession with no added meaning. It is front-loaded, but the redundancy means the content does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-annotated, destructive relationship-delete with a nested request body and no output schema, the description is too thin. It names the endpoint and points at the body schema, but omits the actual effect of the deletion, permission requirements, and the fact that this mutates a JSON:API relationship.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the 'id' and 'body' parameters are both documented in the input schema, establishing a baseline of 3. The description adds only a pointer to components.schemas.GameCenterAppVersionCompatibilityVersionsLinkagesRequest, which duplicates the schema's own body description rather than clarifying syntax or semantics further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name and its URL, duplicating the path 'DELETE /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions' twice. While the HTTP verb and path do convey that this removes compatibility-version linkages for a Game Center app version, there is no plain-language statement of the operation's purpose. The name and description are functionally identical, so this reads as a restatement rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus siblings such as game_center_app_versions_compatibility_versions_get_to_many_relationship or ..._create_to_many_relationship, nor any prerequisites or conditions. The HTTP DELETE verb implies a mutation, but the description offers no selection guidance whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_app_versions_compatibility_versions_get_to_many_relationshipD
GET /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions (GET /v1/gameCenterAppVersions/{id}/relationships/compatibilityVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the URL. It does not explain that this returns relationship linkage (IDs) rather than full resource objects, nor any pagination, auth, or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a duplicated raw path with no informational value, so it is under-specified rather than concise. There is no front-loaded natural-language statement of what the call does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should at minimum distinguish relationship endpoints (linkage IDs) from related endpoints (full objects), especially given the sibling *_get_to_many_related tool. That essential disambiguation is entirely absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and limit. The description contributes no additional parameter meaning, which lands at the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path repeated twice, which is a restatement of the tool name/endpoint rather than an explanation. An agent can infer it retrieves the compatibilityVersions relationship for a gameCenterAppVersion, but the description itself adds no clarifying verb or resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling relationship tools, such as game_center_app_versions_compatibility_versions_get_to_many_related or the create/delete variants. No context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_app_versions_create_instanceD
POST /v1/gameCenterAppVersions (POST /v1/gameCenterAppVersions) Body shape: see OpenAPI components.schemas.GameCenterAppVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterAppVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not what fields are required, whether the operation is reversible, what prerequisites (e.g., an app store version) must exist, or what happens on success. It only points at an external OpenAPI schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical '(POST /v1/gameCenterAppVersions)' duplicates the path stated immediately before it, and the remaining sentence only redirects to another document. Almost none of the text earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and an opaque freeform body, the description is drastically incomplete. An agent cannot determine required fields, side effects, or dependencies from it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'body' parameter is nominally 100% covered, but both the schema and the description only forward to 'components.schemas.GameCenterAppVersionCreateRequest' with an empty additionalProperties object, so no real field-level semantics are provided. The description merely duplicates the schema's pointer verbatim, adding zero meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the endpoint ('POST /v1/gameCenterAppVersions') without explaining what a Game Center app version is or what creating one accomplishes. It is essentially a tautological restatement of the tool name 'game_center_app_versions_create_instance' rather than a semantic purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling create/update tools. The agent gets only the HTTP route and nothing about when this operation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_app_versions_get_instanceD
GET /v1/gameCenterAppVersions/{id} (GET /v1/gameCenterAppVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| limit_compatibilityVersions | No | maximum number of related compatibilityVersions returned (when they are included) | |
| fields_gameCenterAppVersions | No | the fields to include for returned resources of type gameCenterAppVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not that this is a read-only single-resource fetch, not error behavior for a bad id, not whether relationship includes affect payload size. A bare path adds zero transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but half its content is a redundant parenthetical repetition of the identical path. Brevity here reflects under-specification rather than effective concision, so it does not earn a high mark.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no output schema, the description must supply the missing context. Instead it supplies none, leaving the agent with no idea what a successful response contains or how the include/fields/limit parameters shape it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, limit_compatibilityVersions and both sparse-fieldset parameters. Per the high-coverage baseline this is a 3; the description adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route 'GET /v1/gameCenterAppVersions/{id}' repeated twice in parentheses. It does convey method and resource path, but it restates the tool name rather than explaining in natural language what the operation retrieves, so it is effectively a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling covers the alternative case (e.g. game_center_app_versions_compatibility_versions_get_to_many_relationship for related collections). Nothing routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_app_versions_update_instanceD
PATCH /v1/gameCenterAppVersions/{id} (PATCH /v1/gameCenterAppVersions/{id}) Body shape: see OpenAPI components.schemas.GameCenterAppVersionUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterAppVersionUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It only states the HTTP verb and points to an external OpenAPI schema, revealing nothing about permissions required, what fields are mutable, whether the update is partial (PATCH implies this but is not explained), or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes space by repeating the identical PATCH path twice in parentheses. The remaining content is a bare reference to an external schema, leaving the description under-informative rather than concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is completely inadequate. It does not explain what a caller can update, what the response will be, or how the operation behaves beyond the HTTP method.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body have descriptions), so the baseline is 3. The description's note about the body shape duplicates what is already in the schema and adds no extra semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path ('PATCH /v1/gameCenterAppVersions/{id}') which the tool name already conveys. It does not describe in business terms what a Game Center app version update entails or distinguish it from sibling update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., create_instance, get_instance). No prerequisites, no exclusions, no context about partial vs. full updates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_images_create_instanceD
POST /v1/gameCenterChallengeImages (POST /v1/gameCenterChallengeImages) Body shape: see OpenAPI components.schemas.GameCenterChallengeImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for a mutating create operation, and it discloses nothing: no auth/permission requirements, no side effects, no idempotency, no note on what the JSON:API envelope must contain. The only signal ('POST') is already implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it wastes its opening on the endpoint and then repeats the identical path in a redundant parenthetical. Purpose is never front-loaded, and the sentence is machine-generated boilerplate rather than an agent-facing instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unannotated mutation with an opaque body schema and no output schema, the description should at minimum confirm the resource being created and note envelope expectations. Instead it defers entirely to an external OpenAPI component name the agent cannot resolve, leaving the call under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the single 'body' parameter is an opaque passthrough object (additionalProperties: {}), and the description merely repeats the schema's own pointer to 'components.schemas.GameCenterChallengeImageCreateRequest' verbatim. It adds no meaning beyond the structured field — no required members, no example envelope, no note that it must be JSON:API formatted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is an HTTP method plus endpoint path ('POST /v1/gameCenterChallengeImages') rather than a statement of purpose. It never says it creates a Game Center challenge image resource, so the agent must infer the verb and resource from the tool name alone. Not misleading, but effectively a tautological restatement of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever — no mention of prerequisites, no reference to the get/update/delete siblings for the same resource, and no indication of when a challenge image should be created versus another asset type. The agent gets no routing help from a list of hundreds of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_images_delete_instanceC
DELETE /v1/gameCenterChallengeImages/{id} (DELETE /v1/gameCenterChallengeImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only conveys 'DELETE' from the raw route. It does not disclose irreversibility, required auth/permissions, side effects on related resources, or what is returned, leaving a destructive operation largely unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a duplicated fragment: the same route is repeated verbatim in parentheses, which is pure waste. There is no front-loaded intent statement, just a redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description omits everything an agent needs to call it safely (reversibility, permissions, consequences). It is inadequate for the complexity of a delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single documented 'id' parameter, so the schema already carries the meaning. The description adds no syntax, format, or constraint beyond the schema's placeholder, warranting the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as a raw HTTP route ('DELETE /v1/gameCenterChallengeImages/{id}'), which is a tautology of the operation embedded in the name. It does identify the verb and resource, but adds no natural-language description of what the delete actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings such as game_center_challenge_images_update_instance or get_instance, nor any preconditions. The agent is left to infer context 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.
game_center_challenge_images_get_instanceD
GET /v1/gameCenterChallengeImages/{id} (GET /v1/gameCenterChallengeImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_gameCenterChallengeImages | No | the fields to include for returned resources of type gameCenterChallengeImages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no indication that this is a safe read, no authentication or permission requirements, no pagination/sparse-fieldset behavior, and no error semantics for an unknown id. The path string is pure tautology.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness, and the content is duplicated twice inside the same sentence. Length is not the problem; there is simply nothing useful to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read endpoint with no output schema and no annotations, the description should at minimum state what a game center challenge image is and that it is a read of one existing resource. As written, an agent cannot confirm the resource semantics or expected failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'fields_gameCenterChallengeImages' are documented in the schema), so the baseline is 3 even though the description contributes no parameter meaning at all. It neither explains the id format nor the sparse-fieldset usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the tool name as a REST path, 'GET /v1/gameCenterChallengeImages/{id}', duplicated verbatim in parentheses. It does technically convey a read of a single gameCenterChallengeImage by id, but adds no vocabulary beyond the name itself and never differentiates this from the many sibling game_center_challenge_images_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or which sibling to prefer (e.g., game_center_challenge_localizations_image_get_to_one_related or the list/create/update/delete variants). The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_images_update_instanceC
PATCH /v1/gameCenterChallengeImages/{id} (PATCH /v1/gameCenterChallengeImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterChallengeImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no auth/permission requirements, no indication of which fields are updatable or whether the update is partial versus full replacement, and no note on side effects. Pointing at the OpenAPI schema for the body envelope is the only substantive disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it wastes its limited space: the identical PATCH path is printed twice in parentheses, and the body-shape hint duplicates the schema's own description. Front-loading the route is fine, but the redundancy means not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, two required parameters, no annotations, and no output schema, this description is too thin. It never explains what a valid GameCenterChallengeImageUpdateRequest contains or what the caller gets back, so an agent cannot invoke it correctly without going outside the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'body' are described in the schema), so the baseline is 3. The description adds nothing beyond what the schema already says, merely repeating the OpenAPI component name for the body shape, so it neither compensates for nor improves on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description echoes the route 'PATCH /v1/gameCenterChallengeImages/{id}', which does convey the verb (partial update) and the resource (a Game Center challenge image). However, it is a mechanical restatement of the tool name rather than a plain-language statement of what changes, and it offers no differentiation from sibling update tools such as game_center_challenge_localizations_update_instance or the leaderboard/achievement image updaters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus game_center_challenge_images_get_instance, _create_instance, or _delete_instance, nor any mention of prerequisites (e.g., the image must already exist). The agent is left to infer usage entirely from the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_localizations_create_instanceD
POST /v1/gameCenterChallengeLocalizations (POST /v1/gameCenterChallengeLocalizations) Body shape: see OpenAPI components.schemas.GameCenterChallengeLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no note that this is a mutating create with irreversible state, no validation or error behavior. It only points at an external OpenAPI schema reference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same POST path is printed twice in immediate succession, so a sentence/segment earns nothing. Structure is a raw route plus a schema pointer rather than a front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should at minimum say what is created and what it depends on. Instead it defers entirely to an external schema reference, leaving the agent without enough context to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the baseline is 3. The description adds a pointer to components.schemas.GameCenterChallengeLocalizationCreateRequest, which is marginally useful for locating the envelope shape, but gives no field-level meaning itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP route: 'POST /v1/gameCenterChallengeLocalizations'. It conveys that a challenge localization instance is created, but does so by tautology with the tool name rather than describing the resource or its effect in human terms, and it does nothing to distinguish this from the many sibling create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites (e.g. the challenge version or parent relationship the localization attaches to), and no mention of any alternative or sibling tool. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_localizations_delete_instanceD
DELETE /v1/gameCenterChallengeLocalizations/{id} (DELETE /v1/gameCenterChallengeLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It says nothing about irreversibility, required permissions, cascading effects on challenge versions, or error behavior for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is redundant: the same endpoint string appears twice with no front-loaded explanation of purpose or effect. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations and no output schema, the description should explain impact and prerequisites. Instead it supplies only the route, leaving the agent without the context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'id' parameter already documented as 'the id of the requested resource'. The description adds no additional meaning, but per the baseline rule for fully documented schemas, a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text restates the tool name as a raw HTTP route ('DELETE /v1/gameCenterChallengeLocalizations/{id}') and then repeats it in parentheses. It conveys the verb and resource path but adds nothing an agent could not derive from the name itself, so it is effectively a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to delete a localization versus using game_center_challenge_localizations_update_instance or get_instance, and no prerequisites or warnings. The DELETE verb implies a mutation, but no selection guidance is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_localizations_get_instanceC
GET /v1/gameCenterChallengeLocalizations/{id} (GET /v1/gameCenterChallengeLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterChallengeImages | No | the fields to include for returned resources of type gameCenterChallengeImages | |
| fields_gameCenterChallengeVersions | No | the fields to include for returned resources of type gameCenterChallengeVersions | |
| fields_gameCenterChallengeLocalizations | No | the fields to include for returned resources of type gameCenterChallengeLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The GET verb weakly implies a read operation, but nothing is said about permissions, error behavior, or whether the resource is returned in full.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The only content is the endpoint path, and it is redundantly repeated twice inside the same string. Short, but the duplication means zero information is front-loaded beyond what the name already implies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that is just a path, an agent has no context about the returned resource shape or the purpose of this fetch. Relying entirely on a fully covered schema leaves the definition barely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (id, include, three fields_* filters) are already documented in the schema. The description adds nothing beyond the path template, which merely repeats the required id parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP path 'GET /v1/gameCenterChallengeLocalizations/{id}', duplicated in parentheses. It restates the tool name rather than explaining what a game center challenge localization is or how it differs from siblings like game_center_challenge_localizations_image_get_to_one_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the many sibling get/create/update/delete localization tools. No prerequisites, no exclusions, no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_localizations_image_get_to_one_relationshipC
GET /v1/gameCenterChallengeLocalizations/{id}/relationships/image (GET /v1/gameCenterChallengeLocalizations/{id}/relationships/image)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It reveals only that the endpoint is a GET, which weakly implies a read-only operation, but says nothing about authorization requirements, what the relationship response contains, pagination, or failure modes for a nonexistent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the same path is written twice, once as documentation and once in parentheses, adding zero information. This is under-specification masquerading as brevity rather than meaningful conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral context, yet it supplies none. An agent cannot tell what the call returns, whether it needs special scopes, or how it differs from adjacent relationship tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'id' parameter is fully documented in the schema with 100% coverage, so the schema does the heavy lifting. The description adds no meaning beyond that (no hint about the id being a localization id versus an image id), so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as a raw HTTP route ('GET /v1/gameCenterChallengeLocalizations/{id}/relationships/image'), duplicated verbatim in parentheses. It conveys a verb and resource by virtue of the URL, but provides no human-readable statement of what the tool fetches (the image linkage for a challenge localization) and does nothing to distinguish it from the near-identical sibling 'game_center_challenge_localizations_image_get_to_one_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no indication of when to pick this relationship endpoint over the 'related' variant, and no prerequisites or context. The HTTP verb implies a read, but nothing tells the agent under what circumstances to select this tool versus the many sibling 'get_to_one' tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_localizations_update_instanceC
PATCH /v1/gameCenterChallengeLocalizations/{id} (PATCH /v1/gameCenterChallengeLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterChallengeLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. PATCH implies a partial mutation, but it discloses nothing about permissions required, whether the update is reversible, merge vs replace semantics, or side effects on related resources. The duplicated path adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes space by literally duplicating the method and path phrase twice, and it defers the entire body definition to an external OpenAPI schema rather than front-loading anything useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a required nested JSON:API body, no annotations, and no output schema, this is insufficient. It never describes what fields can be updated or what the request envelope should contain, relying entirely on an external spec an agent may not have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds no meaning beyond restating the body schema reference that the schema itself already contains, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb (PATCH) and the resource path (gameCenterChallengeLocalizations/{id}), which together imply an update to a challenge localization. However, it offers no plain-language statement of purpose and nothing that distinguishes it from the create/get/delete siblings in the same family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions, and no mention of alternatives such as the create_instance or get_instance siblings. The only extra information is a pointer to the request body schema, 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.
game_center_challenges_create_instanceD
POST /v1/gameCenterChallenges (POST /v1/gameCenterChallenges) Body shape: see OpenAPI components.schemas.GameCenterChallengeCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it says nothing about authentication requirements, side effects, whether the created challenge is immediately live, or what the response returns. A bare HTTP verb and path is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in a useful sense: the POST path is duplicated verbatim in parentheses, and the remaining clause offloads the entire body specification to an external schema reference. This is under-specification rather than economy of words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API body, no annotations, and no output schema, the description is inadequate. It neither describes the required envelope fields nor the outcome of the call, leaving the agent to chase down an external OpenAPI component.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline would be 3, but the description's only parameter-related content is a pointer to the same OpenAPI component name already stated in the schema's body description. It adds no meaning beyond the schema and does not explain the JSON:API envelope it references.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the REST endpoint (POST /v1/gameCenterChallenges) and the resource, so an agent can infer it creates a Game Center challenge. However, it is framed as a raw HTTP path rather than stating the task in user-facing terms, and it does not distinguish this from sibling create tools such as game_center_challenge_versions_create_instance or game_center_challenges_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus the many sibling create/update tools. No prerequisites, no preconditions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenges_delete_instanceC
DELETE /v1/gameCenterChallenges/{id} (DELETE /v1/gameCenterChallenges/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The DELETE verb minimally signals a destructive operation, but nothing is said about permanence, whether the deletion cascades to versions/localizations/images, or what permissions are required. For a destructive mutation with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only sentence by duplicating the identical endpoint string inside parentheses. No part of it is front-loaded with purpose or behavior, so brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema and no annotations, so the description is the only source of context, yet it explains nothing about the effect of the delete or the resource's dependent objects. For a destructive instance-delete tool, this leaves the agent materially under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'id' parameter, so the schema already documents it fully; the description adds nothing beyond echoing {id} as a path segment. Per the high-coverage baseline, 3 is the appropriate floor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw endpoint restatement: 'DELETE /v1/gameCenterChallenges/{id}'. The HTTP verb plus resource path do convey that a Game Center challenge is being deleted, but there is no plain-language statement of purpose and no differentiation from siblings beyond the URL fragment, which merely echoes the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives or sibling tools such as game_center_challenges_update_instance or game_center_challenges_get_instance. The agent is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenges_get_instanceC
GET /v1/gameCenterChallenges/{id} (GET /v1/gameCenterChallenges/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterChallenges | No | the fields to include for returned resources of type gameCenterChallenges | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| fields_gameCenterChallengeVersions | No | the fields to include for returned resources of type gameCenterChallengeVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the read nature implied by the HTTP GET. It does not mention authentication requirements, error behavior for a missing id, what the response contains, or how the include/fields parameters affect the payload and performance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the content is a REST path echoed twice, which is waste rather than conciseness. There is no front-loaded natural-language explanation of what the call does or returns.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An eight-parameter endpoint with no annotations and no output schema needs the description to explain sparse fieldsets, relationship includes, and response shape. The description supplies none of that, leaving the agent to reverse-engineer the Apple App Store Connect API conventions from the parameter names alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all eight parameters (id, include, limit_versions, five fields_* sparse-fieldset params) are individually documented in the schema, so the baseline of 3 applies. The description adds no interpretation of its own — notably nothing about sparse fieldsets, which are non-obvious to an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw REST path (duplicated verbatim in parentheses) that does identify the verb (GET) and the resource (a single gameCenterChallenge addressed by {id}), so an agent can infer 'fetch one challenge by id'. However, it is essentially a restatement of the tool name rather than a plain-language statement of purpose, and it draws no distinction from siblings such as game_center_challenges_versions_get_to_many_relationship or game_center_challenges_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist, or which sibling to prefer for related data. The only implied usage comes from the HTTP path shape (single-resource retrieval), which the agent must decode itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenges_leaderboard_update_to_one_relationshipC
[DEPRECATED] PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboard (PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboard) Body shape: see OpenAPI components.schemas.GameCenterChallengeLeaderboardLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeLeaderboardLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. PATCH implies a mutation, but the description never states what changes, whether the relationship is replaced vs. added, auth/permission requirements, or side effects. Only the deprecation status is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably short and front-loads the deprecation, but the URL is needlessly repeated verbatim inside parentheses, wasting tokens. The remaining content is a pointer to an external OpenAPI component rather than self-contained information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a free-form body relying on an external schema the agent may not have. The description omits what the operation does, what it replaces, and what supersedes it, leaving significant gaps for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and body parameters are already documented. The description adds nothing beyond the schema; the body's shape reference to components.schemas.GameCenterChallengeLeaderboardLinkageRequest is already in the schema text. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP endpoint (PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboard), which conveys a specific verb and resource, but it never states the purpose in plain language. It is largely a tautology of the tool name, though the [DEPRECATED] marker adds a useful signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when/when-not guidance or alternatives are given. A sibling, game_center_challenges_leaderboard_v2_update_to_one_relationship, clearly supersedes this v1 tool, yet the description only says DEPRECATED without routing the agent to the replacement. The deprecation tag is the sole usage hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenges_leaderboard_v2_update_to_one_relationshipD
PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboardV2 (PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboardV2) Body shape: see OpenAPI components.schemas.GameCenterChallengeLeaderboardV2LinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeLeaderboardV2LinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about mutation semantics, whether existing linkage is replaced or appended, permission requirements, or side effects. 'PATCH ... update_to_one_relationship' implies a write but leaves every behavioral question open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint is printed twice verbatim in parentheses, and the one substantive sentence simply points at an external OpenAPI document that the agent may not have in context. It is short, but the content that is present is redundant rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the description leaves the agent without the required request envelope, link target semantics, or confirmation of what changes. Deferring to an off-context OpenAPI component does not compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there are only two parameters, so the baseline is 3. The description only echoes the schema's own 'components.schemas.GameCenterChallengeLeaderboardV2LinkageRequest' pointer rather than adding envelope, id-format, or relationship-object detail, but it does not drop below the schema-does-the-work baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP route: 'PATCH /v1/gameCenterChallenges/{id}/relationships/leaderboardV2'. It never says in plain language what the operation accomplishes (linking/replacing the leaderboardV2 association on a Game Center challenge), so an agent must infer intent from the URL segments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling game_center_challenges_leaderboard_update_to_one_relationship (the v1 equivalent), and no prerequisites such as required scopes or the state the challenge must be in. Nothing distinguishes this call from the many other PATCH relationship tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenges_update_instanceC
PATCH /v1/gameCenterChallenges/{id} (PATCH /v1/gameCenterChallenges/{id}) Body shape: see OpenAPI components.schemas.GameCenterChallengeUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it largely fails. The only behavioral hint is that PATCH implies a partial update; it says nothing about required permissions, what fields can be changed, side effects, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence needlessly duplicates the same route string twice ('PATCH /v1/gameCenterChallenges/{id} (PATCH /v1/gameCenterChallenges/{id})'), which is pure waste, and the remaining content is a bare schema pointer rather than front-loaded task information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested body object, no annotations, and no output schema, the description is too thin: it defers the entire body contract to an external OpenAPI component that the agent may not have, and explains nothing about the update's effect or scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, body) are already documented, giving a baseline of 3. The description adds only a pointer to components.schemas.GameCenterChallengeUpdateRequest for the body envelope, which is a marginal addition over the schema's own reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (PATCH /v1/gameCenterChallenges/{id}), so the operation is identifiable. However, it is essentially a restatement of the tool name and HTTP route, and it does nothing to distinguish this update tool from the many sibling game_center_challenges_* tools (create/get/delete, leaderboard_update, versions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as game_center_challenges_create_instance or the relationship-update variants. No preconditions, no exclusions, nothing that routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenges_versions_get_to_many_relationshipD
GET /v1/gameCenterChallenges/{id}/relationships/versions (GET /v1/gameCenterChallenges/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the HTTP method in the path. It says nothing about pagination behavior, whether the id refers to a challenge or a version, what the relationship returns, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from duplicating the same endpoint string twice in parentheses rather than from efficient communication. There is no front-loaded purpose statement to orient the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a two-parameter tool, the description must explain what the call returns and how it differs from siblings. Instead it provides only the URL, leaving the agent unable to distinguish it from other version-relationship tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds no additional meaning about the parameters beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path duplicated in parentheses, restating the tool name rather than explaining intent. An agent can infer from the path that it fetches the 'versions' relationship of a game center challenge, but there is no verb-level description of what that yields and no differentiation from the sibling game_center_challenges_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of the near-identical sibling game_center_challenges_versions_get_to_many_related. The agent is left to guess which of the two version-listing tools to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_version_releases_create_instanceC
[DEPRECATED] POST /v1/gameCenterChallengeVersionReleases (POST /v1/gameCenterChallengeVersionReleases) Body shape: see OpenAPI components.schemas.GameCenterChallengeVersionReleaseCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeVersionReleaseCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authorization requirements, side effects, reversibility, or rate limits for what is clearly a mutation (POST). Only a pointer to an external OpenAPI schema is offered, which is insufficient for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the deprecation, which is good, but it wastes space by repeating the URL twice and defers all substance to an external document the agent may not be able to read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a nested JSON:API body and no output schema, the description should clarify what the body must contain and what creation returns. It supplies none of this, relying entirely on an out-of-band OpenAPI component reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter with 100% schema description coverage, so the schema already documents it and the baseline is 3. The description merely repeats the same OpenAPI schema reference (GameCenterChallengeVersionReleaseCreateRequest) without adding field-level meaning or an example envelope.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb and resource path (POST /v1/gameCenterChallengeVersionReleases) and flags it as deprecated, which implies creation of a challenge version release. However, it never explains what a 'challenge version release' is or what the operation accomplishes beyond restating the endpoint, so the purpose is only minimally viable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is a useful when-not-to-use signal, but no replacement tool or condition is named among the many sibling release/version tools. Usage context is implied (deprecated create endpoint) rather than stated, leaving the agent to guess the migration path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_version_releases_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterChallengeVersionReleases/{id} (DELETE /v1/gameCenterChallengeVersionReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for a destructive operation. It does disclose the useful fact that the endpoint is deprecated, but says nothing about whether deletion is permanent/irreversible, what related data is removed, required scopes, or whether the release must be in a particular state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the [DEPRECATED] warning, which is good. However, the endpoint string is duplicated in parentheses with no added value, so one of the two segments is pure redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, unannotated delete with no output schema, the description is inadequate: it neither explains the deprecation (replacement path, sunset timing) nor the consequences of deletion. The deprecation tag is the only piece of agent-relevant context present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100% ('the id of the requested resource'), so the schema already fully documents the input. The description adds no format, source, or sourcing guidance for the id, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a DELETE verb against the gameCenterChallengeVersionReleases resource via the REST path, so the action and target are identifiable and distinguishable from the sibling _create_instance and _get_instance tools. However, it never states the purpose in plain language — it is essentially the raw endpoint string restated, which leaves the agent to infer what a 'version release' actually is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no indication of when this delete is appropriate versus the sibling create/get tools. The only contextual signal is the [DEPRECATED] tag, which discourages use but does not explain what to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_version_releases_get_instanceC
[DEPRECATED] GET /v1/gameCenterChallengeVersionReleases/{id} (GET /v1/gameCenterChallengeVersionReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterChallengeVersions | No | the fields to include for returned resources of type gameCenterChallengeVersions | |
| fields_gameCenterChallengeVersionReleases | No | the fields to include for returned resources of type gameCenterChallengeVersionReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing beyond the implied read-only nature of GET. The '[DEPRECATED]' tag is genuine behavioral context (the endpoint may be removed or unsupported), which earns some credit, but there is no information about authentication, error behavior, or the returned representation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence wastes half its length by repeating the same URL path twice in parentheses, adding zero information. It is short but not efficient, and the deprecation marker is the only content that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, an agent would need to know whether this returns a full resource, what relationships the include/fields parameters affect (the schema hints at this but the description does not), and what deprecation implies for reliability. The description supplies none of that, so it is incomplete for the agent's decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: id, include, and the two fields_* sparse-fieldset parameters are all documented in the schema. The description adds nothing beyond the path template, so the baseline of 3 applies when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP verb plus the URL path, duplicated in parentheses: "[DEPRECATED] GET /v1/gameCenterChallengeVersionReleases/{id} (GET /v1/gameCenterChallengeVersionReleases/{id})". It conveys that it reads a single game center challenge version release by id, but it never explains what a 'challenge version release' is or how it differs from siblings like game_center_challenge_version_releases_create_instance or game_center_challenge_versions_get_instance. This is closer to restating the name than to stating a purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of what the deprecation means operationally. The only signal is the word DEPRECATED, which tells an agent to be cautious but not what to do instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_versions_create_instanceC
POST /v1/gameCenterChallengeVersions (POST /v1/gameCenterChallengeVersions) Body shape: see OpenAPI components.schemas.GameCenterChallengeVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterChallengeVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing about side effects, required auth/roles, or what state the create operation affects. The only behavioral hint is 'POST', which is already implied by the tool name. There is no mention of idempotency, rate limits, or required parent relationships.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes space by repeating the identical path twice inside parentheses. It is not front-loaded with any actionable content, and the one informative sentence (schema reference) is buried behind the redundant path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested, opaque request body, no annotations, and no output schema. The description defers all detail to an external OpenAPI document and provides no in-band information about required nested fields, auth, or result, which is insufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'body' parameter whose schema description coverage is 100%, and the schema already points to components.schemas.GameCenterChallengeVersionCreateRequest. The description merely repeats that pointer without adding field-level meaning, so the baseline 3 for fully-covered parameters is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and URL path already encoded in the tool name, so it is largely tautological. It does not explain what a game center challenge version is or how creating one differs from e.g. game_center_challenges_create_instance or the version_releases sibling. The only added value is pointing at the request body schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this tool versus the many sibling create/relationship tools, no prerequisites, and no exclusions. The create semantics are only implied by the name and the POST verb. An agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_versions_default_image_get_to_one_relationshipC
GET /v1/gameCenterChallengeVersions/{id}/relationships/defaultImage (GET /v1/gameCenterChallengeVersions/{id}/relationships/defaultImage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only the HTTP verb GET (implying a read), and says nothing about authentication requirements, what a relationship response returns (linkage identifiers vs. full resource), paging, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is duplicated inside parentheses, wasting the entire body of the description on redundant text. It is short but not front-loaded with any useful information and earns nothing per sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, no annotations, and the description gives no explanation of what the defaultImage relationship represents or how it differs from sibling endpoints such as the '_get_to_one_related' variant. For an ambiguous relationship endpoint in a large family of near-identical tools, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (id) exists and the schema documents it at 100% coverage ('the id of the requested resource'). The description adds no additional meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as a URL path, repeated twice in parentheses. It conveys only that this is a GET against the defaultImage relationship endpoint, which the name already encodes. No plain-language purpose or distinction from the near-identical '..._get_to_one_related' sibling is given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no indication of when to prefer the 'relationship' variant over the 'related' variant, and no prerequisites or context. The URL alone implies nothing about selection between the many sibling endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_versions_get_instanceD
GET /v1/gameCenterChallengeVersions/{id} (GET /v1/gameCenterChallengeVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_releases | No | maximum number of related releases returned (when they are included) | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterChallenges | No | the fields to include for returned resources of type gameCenterChallenges | |
| fields_gameCenterChallengeImages | No | the fields to include for returned resources of type gameCenterChallengeImages | |
| fields_gameCenterChallengeVersions | No | the fields to include for returned resources of type gameCenterChallengeVersions | |
| fields_gameCenterChallengeLocalizations | No | the fields to include for returned resources of type gameCenterChallengeLocalizations | |
| fields_gameCenterChallengeVersionReleases | No | the fields to include for returned resources of type gameCenterChallengeVersionReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It offers nothing about read-only semantics, auth requirements, inclusion/field expansion effects, or error behavior — the entire burden is unmet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is redundant — the path is printed twice, once in code form and once parenthesized verbatim. It is under-specified rather than genuinely concise, and nothing is front-loaded that aids selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 9-parameter tool with no annotations and no output schema demands a substantive description, yet the definition supplies only an endpoint string. It is wholly inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every one of the 9 parameters (id, include, limit_*, fields_*) is documented in the schema, so the schema does the heavy lifting. The description adds nothing, which yields the baseline 3 for a fully-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the raw HTTP path 'GET /v1/gameCenterChallengeVersions/{id}', which merely restates the tool name in endpoint form. It identifies the resource type but never states in plain language what the tool does or how it differs from siblings like game_center_challenge_versions_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no preconditions. An agent gets nothing about when this is preferable to the many sibling challenge-version tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_challenge_versions_localizations_get_to_many_relationshipC
GET /v1/gameCenterChallengeVersions/{id}/relationships/localizations (GET /v1/gameCenterChallengeVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix implies a read operation, and the 'to_many_relationship' suffix implies a collection, but the description states nothing about pagination behavior, permissions required, or what the relationship objects contain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is pure duplication: the path is written twice in parentheses, with zero informational content difference between the two copies. There is no front-loaded explanation of purpose, so the wording wastes its only line on redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, no annotations exist, and the description does not explain what a 'localizations relationship' returns or how 'limit' interacts with pagination. For a relationship-fetch endpoint with no other structured guidance, the description is too thin to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are documented in the schema itself. The description adds nothing about parameter meaning, but with full schema coverage the baseline of 3 applies rather than penalizing the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the URL path repeated twice, which restates the tool name rather than explaining in plain language what it returns. The name is descriptive enough that an agent can infer it fetches the list of localization relationships for a Game Center challenge version, but the description itself adds no explanatory content beyond the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling 'game_center_challenge_versions_localizations_get_to_many_related' or 'get_instance' variants. The agent must infer from the tool name that this is the relationship-endpoint variant versus the 'related' resource variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_detail_players_update_instanceD
PATCH /v1/gameCenterDetailPlayers/{id} (PATCH /v1/gameCenterDetailPlayers/{id}) Body shape: see OpenAPI components.schemas.GameCenterDetailPlayerUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailPlayerUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing about mutation semantics: whether the PATCH is partial or full-replace, required permissions, reversibility, or side effects on the game center detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the route is redundantly printed twice in the same sentence ('(PATCH /v1/gameCenterDetailPlayers/{id})'), which is wasted space, and the remaining text is a schema pointer rather than useful front-loaded content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is far too thin: it explains neither the operation's effect nor its request envelope beyond a schema name. Only the route and a schema pointer are supplied, leaving the agent unable to call this correctly without external lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline is 3. The description's pointer to components.schemas.GameCenterDetailPlayerUpdateRequest merely duplicates the schema's own 'Shape:' note and adds no new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and route (PATCH /v1/gameCenterDetailPlayers/{id}), which is already encoded in the tool name 'update_instance'. It never states in prose what a 'gameCenterDetailPlayer' update actually changes, nor distinguishes it from siblings like game_center_details_update_instance or blocked_players relationships.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of the resource lifecycle. An agent gets nothing to route on beyond the verb in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_achievement_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/achievementReleases (GET /v1/gameCenterDetails/{id}/relationships/achievementReleases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only conveys the HTTP verb and lifecycle status (deprecated). It says nothing about pagination behavior for a to-many relationship, required scopes, or what the deprecated status means operationally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and leads with the deprecation notice, which is the most important information. However, the parenthetical repeats the exact same path with no added content, which is pure waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated relationship endpoint with no annotations and no output schema, the description omits what the endpoint returns, what deprecation means for callers, and how to migrate. An agent has no basis for choosing it over the sibling variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds no syntax, format, or meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name rendered as a URL path ('GET /v1/gameCenterDetails/{id}/relationships/achievementReleases'), which restates what the name already encodes rather than explaining it. It does not distinguish this relationship endpoint from the near-identical sibling 'game_center_details_achievement_releases_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] tag, which implies the agent should avoid this endpoint, but no replacement or alternative is named. There is no statement of when this relationship fetch is appropriate versus the *_related variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_activity_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/activityReleases (GET /v1/gameCenterDetails/{id}/relationships/activityReleases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses only that the endpoint is deprecated. It says nothing about pagination (despite a 'limit' param), required permissions, or what the relationship response contains, and it gives no deprecation timeline or successor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the DEPRECATED flag is front-loaded, which is good. However, the HTTP path is printed twice in the same sentence, which is pure redundancy, and no sentence earns its place beyond the deprecation notice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no output schema, the description would need to convey what is returned and how to page through it; it does neither. Combined with an unqualified deprecation and no migration pointer, the agent lacks enough information to call this correctly or decide against it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so 'id' and 'limit' are already documented in the schema; the baseline of 3 applies. The description adds no additional meaning about the id's expected format or how limit interacts with pagination, so it neither helps nor misleads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name re-expressed as an HTTP path: GET the activityReleases relationship of a gameCenterDetail. It does not explain what an 'activity release' is or how this relationship differs from the many sibling relationship endpoints, so it reads as a restatement rather than a definition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] marker, which implies 'prefer something else' but never names the replacement or the condition for using it. The sibling game_center_details_activity_releases_get_to_many_related (and the non-relationship variants) are never mentioned, so the agent must guess which endpoint to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_blocked_players_get_to_many_relationshipD
GET /v1/gameCenterDetails/{id}/relationships/blockedPlayers (GET /v1/gameCenterDetails/{id}/relationships/blockedPlayers)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no note on pagination behavior despite the limit parameter, no rate-limit or response-shape context. A bare URL path conveys no behavior beyond the HTTP verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is printed twice in a redundant parenthetical, which is pure waste rather than concise. There is no front-loaded purpose sentence to anchor the reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity two-parameter read relationship with full schema coverage, a minimal description could suffice, but with no annotations and no output schema the agent is left with nothing about safety, pagination, or return shape. The endpoint echo alone is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and limit, which sets the baseline at 3. The description adds no additional meaning about parameter formats or defaults, but the structured field carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path duplicated in parentheses, which restates the tool name rather than explaining what the tool does in prose. A reader can infer it retrieves blocked players for a gameCenterDetail, but there is no verb+resource statement and nothing that distinguishes it from the near-identical sibling game_center_details_blocked_players_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of alternatives. With a sibling named ...get_to_many_related sitting next to it, the absence of any 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.
game_center_details_challenge_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/challengeReleases (GET /v1/gameCenterDetails/{id}/relationships/challengeReleases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is a GET and that it is deprecated; it says nothing about authentication, pagination (despite a 'limit' parameter), relationship semantics, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the exact same path a second time with zero added information, which is pure waste. The deprecated marker is front-loaded, which is the one structural merit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated relationship endpoint with no annotations and no output schema, an agent needs at least a pointer to the replacement tool or the deprecated-vs-related variant distinction. Neither is present, leaving the definition inadequate for correct selection among the many near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('id', 'limit') are documented in the schema itself. The description adds no syntax, format, or default information beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name expanded into an HTTP path, stating GET on the challengeReleases relationship of a gameCenterDetails resource. That does convey verb+resource, but it adds nothing an agent couldn't infer from the name itself, and it never explains in plain language what a 'challenge release' relationship is or what is returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the '[DEPRECATED]' tag, which does tell an agent to avoid this tool, but it names no replacement and gives no condition for when the endpoint might still be needed. Sibling tools such as game_center_details_challenge_releases_get_to_many_related exist and are never referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_challenges_minimum_platform_versions_replace_to_many_relationshipC
PATCH /v1/gameCenterDetails/{id}/relationships/challengesMinimumPlatformVersions (PATCH /v1/gameCenterDetails/{id}/relationships/challengesMinimumPlatformVersions) Body shape: see OpenAPI components.schemas.GameCenterDetailChallengesMinimumPlatformVersionsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailChallengesMinimumPlatformVersionsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing behavioral. It does not warn that 'replace' overwrites/removes all existing linkages, does not state auth or permission requirements, and says nothing about idempotency or side effects. The only concrete pointer is a reference to an external OpenAPI schema for the body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the PATCH path is printed twice verbatim in parentheses, which is pure duplication, and the sentence is not front-loaded with a human-readable purpose. Efficient in length, wasteful in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the description is far too thin: it never explains the replacement semantics, the expected linkage payload structure beyond an external schema name, or what a successful response looks like. The external-schema pointer is not a substitute for describing the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, body) are already documented in the schema, which sets the baseline at 3. The description adds only a pointer to components.schemas.GameCenterDetailChallengesMinimumPlatformVersionsLinkagesRequest for the JSON:API envelope, which is slightly useful but not meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP method and full endpoint path, so an agent can infer this replaces the to-many 'challengesMinimumPlatformVersions' linkage set on a gameCenterDetail. However, it never states the purpose in plain language (e.g. 'replaces the full list of linked minimum platform versions') and does nothing to distinguish it from the many sibling replace_to_many_relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says when to replace rather than create/delete a linkage, no prerequisites, and no mention of the sibling get/create/delete variants of the same relationship. The agent is left to infer everything from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_classic_matchmaking_requests_get_metricsD
GET /v1/gameCenterDetails/{id}/metrics/classicMatchmakingRequests (GET /v1/gameCenterDetails/{id}/metrics/classicMatchmakingRequests)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| groupBy | No | the dimension by which to group the results | |
| granularity | No | the granularity of the per-group dataset | |
| filter_result | No | filter by 'result' attribute dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and it discloses almost nothing. The GET verb weakly signals a read-only operation, but there is no mention of permissions, pagination, rate limits, or what the metrics dataset contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is a single path duplicated verbatim in parentheses, which is pure waste rather than front-loaded information. Nothing useful is conveyed by the repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter metrics endpoint with no annotations and no output schema, the description provides no context at all — not what the metrics represent, not the units (queue seconds), not the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, sort, limit, groupBy, granularity, and filter_result including enums. The description adds nothing about parameters, but the baseline of 3 applies given the rich schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP path repeated twice, essentially restating the tool name in URL form. An agent can infer that this retrieves classic matchmaking request metrics for a given game center detail, but there is no explanatory sentence and no differentiation from the sibling game_center_details_rule_based_matchmaking_requests_get_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool, when not to, or which sibling metrics tool to pick instead. The path alone leaves all usage decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_create_instanceC
POST /v1/gameCenterDetails (POST /v1/gameCenterDetails) Body shape: see OpenAPI components.schemas.GameCenterDetailCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses almost nothing. 'POST' does signal a state-changing operation, but there is no mention of side effects, whether a Game Center detail is singular per app, required authorization, conflict/duplicate errors, or idempotency. A mutation tool with zero annotation coverage needs substantially more than a raw endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it opens with a URL rather than a purpose statement and duplicates the route verbatim in parentheses ('POST /v1/gameCenterDetails (POST /v1/gameCenterDetails)'), which is pure waste. What remains is a schema pointer that the input schema already carries.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with no annotations, no output schema, and a nested free-form body, the description defers the entire contract to an external OpenAPI components.schemas reference the agent may not be able to resolve. Required attributes, relationship linkage to the parent app, and expected error behavior are all unstated, leaving the definition incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already states the body shape is components.schemas.GameCenterDetailCreateRequest, so the baseline of 3 applies. The description repeats that exact sentence and adds nothing about the JSON:API envelope's structure, required attributes, or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: 'POST /v1/gameCenterDetails' is the machine form of 'game_center_details_create_instance'. It never says in natural language what a Game Center detail is, what it represents (e.g. an app's Game Center configuration), or how it differs from game_center_details_update_instance or game_center_details_get_instance. An agent learns only the verb and the collection path it already had from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement, no prerequisites, and no pointer to alternatives such as game_center_details_get_instance or game_center_details_update_instance. The agent is left to infer that 'POST' means create-a-new-resource 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.
game_center_details_game_center_achievements_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements (GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses only that the endpoint is deprecated; it says nothing about pagination behavior (despite a limit param), auth requirements, or what the payload contains. The deprecation note is the single useful behavioral fact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but the only content is the same path printed twice in parentheses — pure redundancy rather than conciseness. The meaningful [DEPRECATED] flag is the only sentence that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated read-relationship endpoint with no annotations, no output schema, and a sibling replacement available, the description omits the migration path and any behavioral context. An agent knows only that it exists and is deprecated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with two documented params (id, limit), so the schema already carries parameter meaning. The description adds nothing beyond the path template that embeds {id}.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP path restated, duplicating the tool name. It adds only the [DEPRECATED] marker, which tells the agent not to use it but does not clarify what the endpoint actually returns beyond 'gameCenterAchievements relationship.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag implies 'avoid,' but no alternative is named. Sibling tools such as game_center_details_game_center_achievements_v2_get_to_many_relationship or ..._get_to_many_related exist and would be the natural replacement, yet the description never routes the agent to them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_achievements_replace_to_many_relationshipC
[DEPRECATED] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements (PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements) Body shape: see OpenAPI components.schemas.GameCenterDetailGameCenterAchievementsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailGameCenterAchievementsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It discloses the deprecation and the PATCH verb but not the crucial replace semantics (existing linkages are overwritten/removed), required scopes or permissions, reversibility, or rate-limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation flag, but the endpoint path is duplicated verbatim in parentheses and the body-shape sentence is boilerplate. Nothing is padded excessively, yet the repetition wastes space without adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive-style mutation with no annotations and no output schema; the description says nothing about what the response contains or what gets destroyed. Pointing to the OpenAPI envelope is useful but does not fill the behavioral gap an agent needs before calling a replace-relationship endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both the id path parameter and the body are documented in the schema itself. The description adds a pointer to the OpenAPI components.schemas envelope for the body, which is a modest value-add over the schema's own reference, but nothing about body content or required linkage members.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and full endpoint path (PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievements), so the resource and operation type are identifiable. However, it never states in plain language that this replaces the entire set of linked achievements, which is the semantic core of a 'replace to many relationship' operation; the name and path do most of the work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' marker is the only usage signal provided. There is no guidance on when to use this versus game_center_details_game_center_achievements_get_to_many_relationship or the v2 replace variant, nor any note about what deprecation implies (e.g. migrate to which tool).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_achievements_v2_get_to_many_relationshipC
GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2 (GET /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it only echoes the HTTP method. It says nothing about pagination behavior (despite a limit parameter), read-only guarantees, permissions, or what the response contains—minimal behavioral context beyond 'GET'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short but not efficient—it duplicates the same URL verbatim in parentheses and front-loads nothing explanatory. Brevity here reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a bare URL as the entire description, an agent lacks return-shape and usage context for this list endpoint. The schema covers parameters, but the description leaves behavioral and selection context absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with two simply documented parameters (id, limit), so the schema already does the work. The description adds no meaning beyond the path, which is fine given high coverage; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a REST path restated twice (once as URL, once in parentheses). It implies a GET/list of gameCenterAchievementsV2 for a gameCenterDetails id, but adds no verb or explanation beyond what the tool name already encodes, and does not differentiate it from near-identical siblings like game_center_details_game_center_achievements_v2_get_to_many_related or the _replace_to_many_relationship variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling relationship tools. Nothing states when this read-only listing is appropriate instead of the related/relationship or replace variants, leaving all selection to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_achievements_v2_replace_to_many_relationshipD
PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2 (PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2) Body shape: see OpenAPI components.schemas.GameCenterDetailGameCenterAchievementsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailGameCenterAchievementsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it says nothing. 'replace_to_many_relationship' implies destructive overwrite of existing linkages, but the description never states that existing relationships are removed, whether the operation is idempotent, what permissions are required, or what happens on partial failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence duplicates the identical path twice, once bare and once in parentheses, which is pure redundancy. It is short but wastes its only sentence on repetition instead of front-loading actual semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested request body whose shape is deferred entirely to an external OpenAPI schema the agent may not have. For a destructive full-replace relationship endpoint, the description is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no meaning beyond the schema — it merely points at components.schemas.GameCenterDetailGameCenterAchievementsV2LinkagesRequest, which is the same reference already embedded in the body property description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply restates the HTTP method and path ('PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterAchievementsV2') and then repeats the same path in parentheses. It never explains in plain language what the operation does semantically (replace the full set of linked Game Center achievements for a detail). It largely paraphrases the tool name rather than defining purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not distinguish itself from the many sibling relationship tools, nor from the v1 equivalent (game_center_details_game_center_achievements_replace_to_many_relationship), nor does it note that this is a full replacement rather than an additive link.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_activities_get_to_many_relationshipC
GET /v1/gameCenterDetails/{id}/relationships/gameCenterActivities (GET /v1/gameCenterDetails/{id}/relationships/gameCenterActivities)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals only that this is a GET (implying read-only), with nothing about pagination behavior despite the presence of a 'limit' parameter, no auth/permission requirements, and no indication of what the relationship response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the same path string is printed twice, once inside parentheses that add nothing. There is no front-loaded purpose statement, so brevity here reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description would need to explain return shape, pagination, and the relationship-vs-related distinction for this App Store Connect endpoint. It supplies none of that, leaving an agent without the information needed to call the tool confidently or to choose it over its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('id' and 'limit'), and the description adds no syntax, format, or semantic detail beyond the schema. Per the high-coverage baseline, a 3 is the appropriate score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim URL path, repeated twice in parentheses, with no prose stating what the tool does. An agent can infer 'GET gameCenterActivities related to a gameCenterDetail', but it is essentially a restatement of the endpoint identifier rather than a statement of purpose, and it does not distinguish itself from the near-identical sibling game_center_details_game_center_activities_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-selection guidance. The only implicit signal is the HTTP verb GET and the 'relationships' segment in the path, which hints at reading a to-many relationship; nothing tells the agent how this differs from the get_to_many_related sibling or from game_center_groups_game_center_activities_get_to_many_relationship.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_app_versions_get_to_many_relationshipC
GET /v1/gameCenterDetails/{id}/relationships/gameCenterAppVersions (GET /v1/gameCenterDetails/{id}/relationships/gameCenterAppVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses only the HTTP method 'GET' (implying a read). It says nothing about pagination behavior despite a 'limit' parameter, response shape, or rate limits. For an annotation-free tool this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but derelict: it duplicates the identical path string twice in a parenthetical with no added information. This is wasted space rather than earned conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list-relationship endpoint with an ambiguous 'related' twin in the sibling set, the description should clarify usage and relationship direction, but it provides nothing beyond the raw path. With no output schema and no annotations, the description is inadequate to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond what the schema already states—it does not explain format of the id or pagination semantics of limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw REST path, duplicated in parentheses, which restates what the tool name already encodes ('game_center_details...get_to_many_relationship'). It conveys a GET on the gameCenterAppVersions relationship, but adds no semantic explanation of what the resource represents. This is effectively a tautology of the name rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no distinction from the near-identical sibling 'game_center_details_game_center_app_versions_get_to_many_related'. An agent gets zero help deciding between the 'relationship' and 'related' variants or when to fetch this relationship at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_challenges_get_to_many_relationshipD
GET /v1/gameCenterDetails/{id}/relationships/gameCenterChallenges (GET /v1/gameCenterDetails/{id}/relationships/gameCenterChallenges)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only/safety statement, no pagination behavior despite the presence of a limit parameter, no auth or scope requirements. The literal endpoint duplicate adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is achieved by redundancy: the same URL appears twice with no additional information. No sentence here earns its place, and there is no front-loaded explanation of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only a machine-generated path string, the definition is inadequate for an agent to call this relationship endpoint correctly or distinguish it from its siblings. A one-line human-language statement of what the relationship returns and how it relates to the *_related sibling would have sufficed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id and limit, and the baseline is 3. The description adds no syntax, format, or pagination nuance beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP route repeated twice in parentheses, which restates the tool name rather than explaining what the tool does in prose. An agent can infer 'GET the gameCenterChallenges relationship for a gameCenterDetails id', but only by parsing the URL; there is no stated verb+resource in human terms and no differentiation from the many sibling get_to_many_relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. The near-identical sibling game_center_details_game_center_challenges_get_to_many_related (not to mention game_center_groups_game_center_challenges_get_to_many_relationship) is left completely unaddressed, so the agent has no basis for choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_group_get_to_one_relationshipC
GET /v1/gameCenterDetails/{id}/relationships/gameCenterGroup (GET /v1/gameCenterDetails/{id}/relationships/gameCenterGroup)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' in the path implies a read-only operation, but the description discloses nothing about auth requirements, return shape, or what a 'gameCenterGroup' relationship contains. Bare endpoints are not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it wastes its entire length duplicating the same path string twice with no front-loaded purpose or value. Brevity here reflects under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that is only a path echo, an agent cannot determine what the call returns or how the result differs from the 'related' sibling. For a relationship-fetch tool, essential context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 100% schema description coverage, so the schema already documents it fully. The description adds no extra meaning, which is acceptable given the schema does the work, but nothing is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path repeated verbatim in parentheses: 'GET /v1/gameCenterDetails/{id}/relationships/gameCenterGroup'. It restates the tool name/endpoint without explaining what the call returns or why an agent would use it. The verb+resource is inferable from the URL, but no natural-language purpose is given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus the closely-named sibling game_center_details_game_center_group_get_to_one_related, or versus any other relationship tool. The agent is left to infer everything from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_leaderboard_sets_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets (GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses deprecation, which is genuinely useful, but says nothing about pagination behavior, auth requirements, or what the relationship payload contains — notable given the 'limit' parameter implies paging.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description wastes its only line repeating the same path twice in parentheses, and it is under-specified rather than concise — an HTTP path is not a substitute for a description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, annotation-free relationship endpoint, the agent needs at minimum the replacement tool and the meaning of the returned collection. Neither is supplied; with no output schema either, the definition leaves the agent unable to judge whether or how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are already documented in the schema and the description adds no syntax or format detail. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP path, which does convey the verb (GET) and resource (gameCenterLeaderboardSets relationship under gameCenterDetails). However, it provides no plain-language statement of what it returns and does not distinguish it from the near-identical sibling 'game_center_details_game_center_leaderboard_sets_get_to_many_related'. The [DEPRECATED] tag is the only added signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] marker, which implies 'avoid this in favor of a v2 replacement' but never names the replacement. There is no when-to-use, no prerequisite, and no mention of alternatives among the many sibling relationship tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_leaderboard_sets_replace_to_many_relationshipC
[DEPRECATED] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets (PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSets) Body shape: see OpenAPI components.schemas.GameCenterDetailGameCenterLeaderboardSetsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailGameCenterLeaderboardSetsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It discloses the deprecation status and the HTTP method (PATCH, implying a write), but does not say that replace semantics drop any existing linkages, what permissions are needed, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence and front-loads the deprecation warning, which is good. However, the path is printed twice in immediate succession (the parenthetical repeat is pure waste), and the schema reference is dense for a reader.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation with no annotations and no output schema, and the description does not cover return behavior, side effects, or the meaning of replacing a to-many linkage. The pointer to an external OpenAPI component is the only substantive help for the nested body, leaving an agent under-informed for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema. The description only points at the OpenAPI component for the body envelope, which duplicates the schema's own pointer without adding syntax or field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys intent only indirectly, through the raw PATCH path '/relationships/gameCenterLeaderboardSets', plus the '[DEPRECATED]' tag. The name and path imply replacing the set of leaderboard sets linked to a Game Center detail, but no prose verb+resource statement is given, and the sibling get_to_many_relationship tool is not explicitly contrasted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the '[DEPRECATED]' prefix, which implies 'avoid this', but no replacement tool or migration path is named, and there is no statement of when a replace-relationship call is appropriate versus the sibling get/related endpoints. No prerequisites or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_leaderboard_sets_v2_get_to_many_relationshipD
GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2 (GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior, no auth/permission requirements, no indication of whether this is a read-only operation or what the relationship expansion returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the same endpoint string duplicated in parentheses, adding zero information. Brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a relationship-list operation that implies pagination, the description omits everything an agent would need — return shape, pagination, and relationship semantics — making it inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (id, limit) are documented in the schema itself. The description adds nothing beyond the schema, which is the baseline-3 case for a fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP path repeated verbatim in parentheses, with no prose explaining what the tool does. The path does imply a GET of gameCenterLeaderboardSetsV2 relationships on a gameCenterDetails resource, but this is essentially a restatement of the tool name rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, when not to, or how it relates to alternatives such as game_center_details_game_center_leaderboard_sets_v2_get_to_many_related or the non-v2 sibling. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_leaderboard_sets_v2_replace_to_many_relationshipC
PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2 (PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardSetsV2) Body shape: see OpenAPI components.schemas.GameCenterDetailGameCenterLeaderboardSetsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailGameCenterLeaderboardSetsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it only conveys that this is a PATCH (a mutation) plus a pointer to a schema name. It does not disclose the key behavioral trait of a 'replace to-many' operation: that existing linkages not present in the payload are removed. No auth/permission requirements, rate limits, or side effects are mentioned, and the referenced components.schemas name is not resolvable by an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not efficient: the URL path is printed twice in immediate succession, which is pure waste, and the remaining content is a schema-name pointer. The one meaningful idea (body shape) is buried after the duplicated path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive replace-relationship mutation with no annotations and no output schema, and a nested JSON:API envelope body whose shape is only named (not described), the definition is far too thin. It omits the replace semantics, the envelope structure, and any consequence of the call, leaving the agent unable to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two parameters (id and body), so the schema already documents them; baseline 3 applies. The description's only addition is naming the request envelope schema, which the body property already references, so it adds essentially no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the HTTP method and URL path (PATCH .../relationships/gameCenterLeaderboardSetsV2) with the path duplicated verbatim in parentheses. It never states in plain language what the operation does semantically, e.g. that it replaces the entire set of linked Game Center leaderboard sets for a game center detail. An agent can only infer purpose from the raw endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Nothing distinguishes this replace operation from the many sibling relationship tools such as game_center_details_game_center_leaderboard_sets_v2_get_to_many_relationship or the non-v2 replace variant, 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.
game_center_details_game_center_leaderboards_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards (GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full disclosure burden. It notes the operation is a GET and is deprecated, but says nothing about pagination behavior despite a 'limit' parameter, permissions/authentication, or what a to-many relationship response contains. The deprecation warning is the sole behavioral contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, which is good, but the parenthetical repetition of the identical path is pure waste and the remainder is a bare route string rather than a sentence describing behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated to-many relationship endpoint with no annotations and no output schema, the description should at minimum name the replacement endpoint or describe the returned resource collection. Neither is present, so an agent cannot confidently call or avoid this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are described in the schema), so the baseline is 3. The description adds no additional meaning about the id format or pagination semantics, but the schema already carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as a raw REST path and then repeats that same path verbatim in parentheses, adding no information beyond what the name already encodes. It does technically convey 'list the gameCenterLeaderboards relationship of a gameCenterDetail', but it is effectively a tautology with no differentiation from the many sibling get_to_many_relationship tools. The only new signal is the [DEPRECATED] tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is the [DEPRECATED] marker, which implicitly warns against use but never names a replacement or explains what to use instead (e.g. the v2 or replace counterparts that exist among siblings). No when-to-use, prerequisites, or alternative routing is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_leaderboards_replace_to_many_relationshipB
[DEPRECATED] PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards (PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterDetailGameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailGameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the deprecated status, but for a replace-to-many relationship endpoint the critical behavior — that it overwrites/removes existing linkages rather than appending — is never stated, nor are auth requirements or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the PATCH path is duplicated verbatim in parentheses and the body-shape pointer repeats the schema description, so a meaningful fraction of the text is redundant rather than value-adding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, unannotated mutation tool with a nested JSON:API body and no output schema, the description covers deprecation and body location but omits what replacement semantics do to existing linkages and where to migrate; it is minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented there, so the baseline is 3. The description only echoes the schema by pointing at components.schemas.GameCenterDetailGameCenterLeaderboardsLinkagesRequest without adding any new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and full endpoint path (PATCH .../gameCenterDetails/{id}/relationships/gameCenterLeaderboards), which pins the resource hierarchy, but it never states in plain language what the operation accomplishes (replacing the entire set of linked leaderboards) or distinguishes it from the sibling get_to_many_relationship / v2 replace variants. The name already carries the verb+resource, so the description largely restates it in URL form.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the '[DEPRECATED]' marker, which implicitly tells the agent to prefer the v2 counterpart (game_center_details_game_center_leaderboards_v2_replace_to_many_relationship), but that alternative is not named and no when-to-use/when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_leaderboards_v2_get_to_many_relationshipD
GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2 (GET /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it conveys nothing: no mention of authentication, pagination behavior implied by the limit parameter, rate limits, or that this is a read-only relationship fetch. A raw URL path reveals only that it is a GET.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire budget by duplicating the same string twice in parentheses, which is noise rather than information. Nothing is front-loaded because there is no explanatory content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must carry the whole load for a relationship-fetch endpoint, yet it provides nothing about return shape, pagination, or relationship semantics. An agent cannot tell what it gets back or why it would call this instead of the related/alternate variants.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and limit are documented in the schema), so the baseline is 3 even though the description says nothing about either parameter. The description adds no syntax, format, or default-value meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare REST path repeated verbatim in parentheses, so it restates the tool name/title rather than explaining what the tool does in agent-readable terms. It technically encodes the verb and resource (GET on gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2), but adds no plain-language statement that this retrieves the leaderboards associated with a Game Center detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus siblings such as game_center_details_game_center_leaderboards_v2_get_to_many_related or the non-v2 game_center_details_game_center_leaderboards_get_to_many_relationship. No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_game_center_leaderboards_v2_replace_to_many_relationshipC
PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2 (PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2) Body shape: see OpenAPI components.schemas.GameCenterDetailGameCenterLeaderboardsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailGameCenterLeaderboardsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing behavioral: not that this is a full replacement that removes previously-linked leaderboards, not the auth/permission requirements, and not that the body must be a complete JSON:API linkages envelope. The duplication of the URL adds nothing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its only content by printing the identical endpoint path twice in parentheses and then deferring entirely to an OpenAPI schema name. Nothing is front-loaded about what the tool actually does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive relationship-replacement mutation with a nested JSON:API body, no annotations, and no output schema, the definition should explain replacement semantics and body expectations. Referring to a schema component name internal to an OpenAPI document leaves the agent without actionable information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are already documented in the schema, so the baseline of 3 applies. The pointer to components.schemas.GameCenterDetailGameCenterLeaderboardsV2LinkagesRequest only repeats the schema's own reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the raw endpoint path 'PATCH /v1/gameCenterDetails/{id}/relationships/gameCenterLeaderboardsV2', which identifies the resource and HTTP verb but never states in plain language that it replaces the entire set of linked leaderboards. An agent must infer intent from the URL and the tool name rather than from any sentence of explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool instead of the sibling get_to_many_relationship or the create/delete-to-many variants, and no prerequisites. The only guidance is the implicit PATCH verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_get_instanceD
GET /v1/gameCenterDetails/{id} (GET /v1/gameCenterDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_activityReleases | No | maximum number of related activityReleases returned (when they are included) | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| limit_challengeReleases | No | maximum number of related challengeReleases returned (when they are included) | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| limit_achievementReleases | No | maximum number of related achievementReleases returned (when they are included) | |
| limit_leaderboardReleases | No | maximum number of related leaderboardReleases returned (when they are included) | |
| limit_gameCenterActivities | No | maximum number of related gameCenterActivities returned (when they are included) | |
| limit_gameCenterChallenges | No | maximum number of related gameCenterChallenges returned (when they are included) | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterChallenges | No | the fields to include for returned resources of type gameCenterChallenges | |
| limit_gameCenterAppVersions | No | maximum number of related gameCenterAppVersions returned (when they are included) | |
| fields_gameCenterAppVersions | No | the fields to include for returned resources of type gameCenterAppVersions | |
| limit_gameCenterAchievements | No | maximum number of related gameCenterAchievements returned (when they are included) | |
| limit_gameCenterLeaderboards | No | maximum number of related gameCenterLeaderboards returned (when they are included) | |
| limit_leaderboardSetReleases | No | maximum number of related leaderboardSetReleases returned (when they are included) | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| limit_gameCenterAchievementsV2 | No | maximum number of related gameCenterAchievementsV2 returned (when they are included) | |
| limit_gameCenterLeaderboardsV2 | No | maximum number of related gameCenterLeaderboardsV2 returned (when they are included) | |
| limit_gameCenterLeaderboardSets | No | maximum number of related gameCenterLeaderboardSets returned (when they are included) | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| limit_gameCenterLeaderboardSetsV2 | No | maximum number of related gameCenterLeaderboardSetsV2 returned (when they are included) | |
| fields_gameCenterAchievementReleases | No | the fields to include for returned resources of type gameCenterAchievementReleases | |
| fields_gameCenterLeaderboardReleases | No | the fields to include for returned resources of type gameCenterLeaderboardReleases | |
| fields_gameCenterLeaderboardSetReleases | No | the fields to include for returned resources of type gameCenterLeaderboardSetReleases | |
| limit_challengesMinimumPlatformVersions | No | maximum number of related challengesMinimumPlatformVersions returned (when they are included) | |
| fields_gameCenterActivityVersionReleases | No | the fields to include for returned resources of type gameCenterActivityVersionReleases | |
| fields_gameCenterChallengeVersionReleases | No | the fields to include for returned resources of type gameCenterChallengeVersionReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about authentication requirements, error behavior, or what the response contains. A bare route string gives no behavioral context for a 32-parameter read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasted: it duplicates the same route string twice instead of conveying information. This is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 32-parameter relationship-expansion endpoint with no annotations and no output schema, a two-word route restatement is completely inadequate. Nothing tells the agent what this retrieval returns or how the include/fields parameters interact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every one of the 32 parameters has a schema description, so the schema does the heavy lifting. The description adds nothing about include/fields/limit semantics, which meets the baseline of 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route 'GET /v1/gameCenterDetails/{id}' repeated twice in parentheses, which restates the tool name rather than explaining purpose. It does imply a read of a single gameCenterDetails resource by id, but adds no differentiating detail versus siblings like game_center_details_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites or alternatives are given. The agent gets no guidance on choosing this over the many other game_center_details_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_leaderboard_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/leaderboardReleases (GET /v1/gameCenterDetails/{id}/relationships/leaderboardReleases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It discloses deprecation (genuinely useful) but nothing about what the endpoint returns, pagination behavior beyond the bare 'limit' param, or permissions, which is a substantial gap for a relationship fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation tag, but the parenthetical repeats the identical URL path verbatim, which is pure redundancy rather than information. Brevity here reflects under-specification as much as efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description should at minimum explain the returned linkage, the relationship vs related distinction, and deprecation guidance. None of that is present, leaving the agent unable to distinguish this from its sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and limit are both documented in the schema), so the baseline of 3 applies. The description adds no syntax, format, or meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the tool name as a URL path (GET /v1/gameCenterDetails/{id}/relationships/leaderboardReleases), restated twice. It never explains that this returns the leaderboardReleases linkage for a game center detail, nor distinguishes it from the sibling game_center_details_leaderboard_releases_get_to_many_related (linkage-only vs full resources). This is essentially name/path tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] tag, which usefully tells the agent to avoid the tool but names no replacement and gives no conditions for when it is still appropriate. No when-to-use or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_leaderboard_set_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterDetails/{id}/relationships/leaderboardSetReleases (GET /v1/gameCenterDetails/{id}/relationships/leaderboardSetReleases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it delivers almost nothing: no auth/permission requirements, no pagination behavior for the "to-many" relationship, no note on what the response contains. The deprecation flag is the one genuinely useful behavioral fact it adds.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line, and the deprecation marker is front-loaded, which is good. However, the parenthetical repeats the identical path string shown immediately before it, which is pure redundancy rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter relationship-list tool with no output schema and no annotations, the description supplies nothing beyond the method and path: no return-shape hint, no pagination guidance for "limit", no pointer to a replacement. It is barely sufficient to identify the endpoint and insufficient to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — both "id" ("the id of the requested resource") and "limit" ("maximum resources per page") are documented in the schema — and the description adds no parameter meaning of its own. Per the rubric, a fully covered 2-parameter schema establishes a baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name plus its URL template restated verbatim ("GET /v1/gameCenterDetails/{id}/relationships/leaderboardSetReleases"), which is a tautology rather than an explanation. It does not say in plain language what a "leaderboard set release" is or why an agent would fetch the relationship, so the only new information is the deprecation marker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"[DEPRECATED]" is a weak negative signal — it implies the tool should be avoided — but no replacement or alternative is named, even though the sibling game_center_details_leaderboard_set_releases_get_to_many_related and the non-deprecated leaderboard-set release tools exist. There is no stated when-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_rule_based_matchmaking_requests_get_metricsC
GET /v1/gameCenterDetails/{id}/metrics/ruleBasedMatchmakingRequests (GET /v1/gameCenterDetails/{id}/metrics/ruleBasedMatchmakingRequests)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| groupBy | No | the dimension by which to group the results | |
| granularity | No | the granularity of the per-group dataset | |
| filter_result | No | filter by 'result' attribute dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing. The 'GET' prefix does signal a non-mutating read, which is the only behavioral cue, but there is no mention of pagination, time-range expectations, rate limits, or what the metric series contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant — the same URL path is stated twice with no added information, which is waste rather than conciseness. There is no front-loaded statement of purpose, so the agent cannot quickly orient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter metrics endpoint with no annotations and no output schema, the description is inadequate: it does not explain what metrics are returned, what the id references, or how granularity/sort/groupBy interact. Only the resource path gives any orientation, leaving the agent to reconstruct intent from structured fields alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters (id, sort, limit, groupBy, granularity, filter_result) with enums and semantics. The description adds no parameter meaning whatsoever; the baseline 3 applies when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP method and URL path, duplicated verbatim in parentheses — a restatement of the tool name rather than an explanation. The path does imply 'rule-based matchmaking request metrics for a Game Center detail', but an agent gains nothing beyond what the name already encodes, and no distinction from siblings like game_center_details_classic_matchmaking_requests_get_metrics is offered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternative tools such as the classic-matchmaking or matchmaking-queue metrics siblings. The agent must infer everything from the path string alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_details_update_instanceD
PATCH /v1/gameCenterDetails/{id} (PATCH /v1/gameCenterDetails/{id}) Body shape: see OpenAPI components.schemas.GameCenterDetailUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterDetailUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing about side effects, whether this is a full replace or partial update, permission requirements, or reversibility. Referencing the OpenAPI schema is a pointer, not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wasteful: the 'PATCH /v1/gameCenterDetails/{id}' string is printed twice in a parenthetical that adds no information. It is front-loaded with an endpoint literal rather than a purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested, free-form JSON:API body object (additionalProperties), no output schema, and no annotations, so the description needed to explain the envelope and update semantics. Instead it defers entirely to OpenAPI, leaving an agent unable to construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and body parameters are already documented in the schema; the description only points at the OpenAPI component name for the body shape and adds no extra semantic meaning. A baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP endpoint 'PATCH /v1/gameCenterDetails/{id}', effectively echoing the tool name rather than explaining what the tool actually does in domain terms. It does not clarify what a 'Game Center detail' is nor distinguish it from siblings like game_center_details_create_instance, game_center_details_get_instance, or game_center_detail_players_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives, no prerequisites, and no mention of required scopes or state a resource must be in. The agent is left to infer everything from the name and the raw URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_enabled_versions_compatible_versions_create_to_many_relationshipC
[DEPRECATED] POST /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions (POST /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions) Body shape: see OpenAPI components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that the call is a POST (mutation) and is deprecated. It does not explain additive-vs-replacement semantics — critical here because sibling tools perform replace and delete on the same linkage — nor auth requirements, idempotency, or what happens to existing linkages. For a mutation with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, and the deprecation warning is correctly front-loaded. However, the URL is repeated verbatim inside parentheses, which is pure waste, and the trailing schema reference is bolted on rather than integrated. Reasonably tight but with visible redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a nested freeform body, the description is the only source of behavioral context — and it supplies almost none. An agent cannot tell whether this appends to or replaces existing compatible-version linkages, what the response contains, or which sibling it should prefer. Inadequate for a mutating relationship tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters are documented and the baseline is 3. The body is a freeform object (additionalProperties: {}), and the description does add value by pointing to components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest for the envelope shape. That pointer compensates somewhat for the unstructured body but adds no field-level semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path (POST /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions), which conveys a verb and resource, so the operation is identifiable as a to-many linkage creation. However, it is essentially a URL restatement layered on a name that already encodes 'create_to_many_relationship', and it never explains in plain language what linking compatible versions actually means. It does not distinguish itself from the replace/delete/get siblings beyond the HTTP method.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag is a genuine usage signal telling the agent to avoid this endpoint, which is more than no guidance at all. But it names no replacement alternative and gives no condition under which the tool should still be used. The sibling set contains create/replace/delete/get variants of the same relationship, and none are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_enabled_versions_compatible_versions_delete_to_many_relationshipC
[DEPRECATED] DELETE /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions (DELETE /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions) Body shape: see OpenAPI components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only signals deprecation and a raw HTTP verb; it does not state that this removes compatible-version linkages (a destructive mutation), whether it removes all listed items or only those in the body, permission requirements, or irreversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes space repeating the full endpoint path twice and embeds a raw template placeholder. The most important information (deprecation) is front-loaded, which helps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive relationship-mutation tool with no annotations and no output schema, the description should explain the effect and successor. It provides only the endpoint and a schema pointer, leaving an agent without enough to call it safely or know what to migrate to instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there, so baseline is 3. The description only adds a pointer to the OpenAPI schema name for the body, which duplicates what the schema already says rather than clarifying the linkage payload structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the endpoint path in raw HTTP form ('DELETE /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions') and repeats it verbatim in parentheses. It conveys that some compatibleVersion relationship is deleted, but never explains in plain language what the operation accomplishes or what the linkages mean.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' marker is genuinely useful context, but it gives no replacement tool or migration path, and there is no statement of when to use this versus the sibling create/get/replace relationship tools. The agent is left to infer the entire selection logic from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_enabled_versions_compatible_versions_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions (GET /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix implies a read and the deprecation flag is a genuinely useful behavioral disclosure not available elsewhere, but there is no mention of pagination behavior (despite the 'limit' parameter), permissions required, or what a deprecated call actually does at runtime.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entry is short but wastes half its length by repeating the identical URL path in parentheses after the first occurrence, which is pure duplication. The one valuable token, the deprecation marker, is present but no explanatory content follows it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-read endpoint with no output schema and no annotations, the description should at least indicate the shape of the returned relationship data or how to migrate away from the deprecated call. It supplies only the deprecation warning, leaving an agent without enough context to call it confidently or know what to do instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline is 3. The description adds no additional meaning about parameter format or defaults beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw REST path restated: it identifies the resource (gameCenterEnabledVersions) and the relationship being read (compatibleVersions), and it flags deprecation. That is specific enough to know what the endpoint returns, but it offers no prose explanation and no differentiation from the sibling _get_to_many_related, _replace_to_many_relationship and _delete_to_many_relationship variants beyond the differing URL tail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] marker. It does not say when to use this relationship read instead of the sibling 'related' or 'replace/delete' variants, nor does it name a recommended replacement, so an agent must infer routing 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.
game_center_enabled_versions_compatible_versions_replace_to_many_relationshipC
[DEPRECATED] PATCH /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions (PATCH /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions) Body shape: see OpenAPI components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses deprecation but nothing about the mutation itself: a replace-to-many PATCH typically overwrites the existing compatible-version linkages, yet the description never says existing relationships are destroyed, nor mentions auth/permission needs or idempotency. Pointing at the OpenAPI schema covers the request envelope but not the operation's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the important '[DEPRECATED]' flag, but the route is duplicated inside a parenthetical ('PATCH /v1/... (PATCH /v1/...)'), which is pure redundancy. Removing the duplicated path would leave a tighter, equivalent definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation with a nested free-form object body, no output schema, and no annotations, this is thin. The OpenAPI pointer helps locate the envelope, but nothing explains the effect on existing compatible-version linkages or what a successful/deprecated call returns, so an agent cannot call it correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and body), and the schema already names the JSON:API component for the body. The description's 'Body shape: see OpenAPI components.schemas.GameCenterEnabledVersionCompatibleVersionsLinkagesRequest' merely repeats what the schema description says, adding no new semantics. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does little more than restate the HTTP route, which itself mirrors the tool name verbatim ('PATCH /v1/gameCenterEnabledVersions/{id}/relationships/compatibleVersions'). A PATCH on a .../relationships path implies 'replace the to-many linkage set', but the description never states in plain language what is being replaced or onto which resource. It also gives no differentiation from the sibling create/delete/get compatible-version relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' tag is the only usage signal, and it is genuinely useful (tells the agent to prefer a non-deprecated path), but no replacement tool or condition is named. There is no guidance on when to use replace versus the sibling create/delete to-many relationship operations, and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_create_instanceC
POST /v1/gameCenterGroups (POST /v1/gameCenterGroups) Body shape: see OpenAPI components.schemas.GameCenterGroupCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is a POST (a write), and says nothing about required permissions, whether creation is idempotent, side effects, or what a successful response looks like. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the path is duplicated verbatim inside the parentheses ('POST /v1/gameCenterGroups (POST /v1/gameCenterGroups)'), which is pure waste. Every remaining token merely points to a schema component.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool that accepts a nested JSON:API envelope with no output schema and no annotations, the description is inadequate. It should at least summarize what the GameCenterGroupCreateRequest contains or note auth expectations, but instead defers entirely to an external schema reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so baseline is 3. The description only repeats the schema's own pointer to components.schemas.GameCenterGroupCreateRequest and adds no syntax, required-field, or envelope detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs the raw HTTP mapping (POST /v1/gameCenterGroups) with the tool name, so an agent can infer it creates a gameCenterGroups resource. However, it never states the purpose in prose or distinguishes the create operation from the many sibling game_center_groups_get/update/delete/relationship tools beyond the embedded verb. It is essentially a restatement of the endpoint rather than a description of what the tool accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as game_center_groups_get_collection or game_center_groups_update_instance, and no preconditions are stated. The only usage signal is the implicit 'POST means create' left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_delete_instanceD
DELETE /v1/gameCenterGroups/{id} (DELETE /v1/gameCenterGroups/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about irreversibility, required permissions, cascade effects on group-linked achievements or leaderboards, or error behavior. For a destructive DELETE endpoint with zero annotation coverage this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but the duplicated endpoint string in parentheses is pure redundancy with no informational value, and the definition is under-specified rather than concise. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive operation with no annotations, no output schema, and no explanatory prose leaves the agent without the information needed to invoke it safely. The definition is not complete for a delete tool in a large API surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single required 'id' parameter already documented as 'the id of the requested resource'. The path template {id} in the description adds no meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw REST endpoint string, 'DELETE /v1/gameCenterGroups/{id}', duplicated in parentheses. It implies deletion of a Game Center group but the parenthetical repeat of the same text adds nothing, and there is no differentiation from siblings such as game_center_groups_update_instance or game_center_groups_get_instance beyond the HTTP verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives or what happens after deletion. The agent gets no help deciding between this and the update/get/create group tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_achievements_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievements (GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievements)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It conveys only that this is a GET (read-only) and that it is deprecated; it says nothing about pagination via limit, authorization requirements, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the DEPRECATED flag, which is good. But the parenthetical immediately repeats the identical path verbatim, which is pure redundancy with no added information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and a deprecated relationship endpoint, the description omits critical context: what the relationship returns, how pagination works, and what replaces this deprecated call. It is inadequate for an agent to act confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and limit are both documented in the schema), so the schema does the heavy lifting and baseline 3 applies. The description adds nothing beyond the schema about parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP path (GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievements), which does name the verb and resource, so an agent can infer it fetches the gameCenterAchievements relationship for a game center group. However it is not plain language and gives no differentiation from near-identical siblings such as game_center_groups_game_center_achievements_get_to_many_related, the _v2_ variant, or the _replace_to_many_relationship variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] tag, which implies 'avoid this,' but the description never states what to use instead. There is no when-to-use context and no guidance on choosing between this and the sibling _related or _v2_ endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_achievements_replace_to_many_relationshipC
[DEPRECATED] PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterAchievements (PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterAchievements) Body shape: see OpenAPI components.schemas.GameCenterGroupGameCenterAchievementsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupGameCenterAchievementsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses deprecation status and points to a request schema, but omits that this is a destructive to-many replacement (omitted achievements are unlinked), plus any auth requirements, side effects on existing linkages, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation flag, but wastes space by printing the method+path twice (once outside and once inside the parentheses), and the remaining sentence is a reference pointer rather than substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated mutation tool with a nested JSON:API body, no annotations, and no output schema, the description says almost nothing about semantics, return behavior, or consequences of replacement. It is not sufficient for an agent to call this safely without opening the OpenAPI spec.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented in the schema, so baseline 3 applies. The description merely re-cites the same components.schemas.GameCenterGroupGameCenterAchievementsLinkagesRequest reference already present in the body property, adding no new parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states an HTTP verb (PATCH) and the exact resource path, and the [DEPRECATED] tag flags lifecycle status. However, it never translates the operation into plain semantics (replacing the entire set of game center achievements linked to a group); it largely restates the tool name and route, leaving the agent to infer meaning from the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker hints the tool should be avoided, but no alternative is named (e.g. the game_center_groups_game_center_achievements_v2_replace_to_many_relationship sibling) and no conditions, prerequisites, or when-not-to-use guidance are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_achievements_v2_get_to_many_relationshipD
GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievementsV2 (GET /v1/gameCenterGroups/{id}/relationships/gameCenterAchievementsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not that this is a read-only paginated listing, not what the relationship payload contains, not whether the id refers to the group, not any auth or rate-limit considerations. The URL string adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not productively so: the single line is redundant with itself (the same path printed twice) and is under-specified rather than concise. Nothing is front-loaded because there is no substantive content to order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing endpoint embedded among hundreds of near-identical siblings, with no annotations and no output schema, the description is completely inadequate. An agent cannot determine what this returns, how it differs from the v1/related/replace variants, or how pagination behaves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id, limit), so the schema itself documents their meaning; the description contributes no additional parameter semantics. Per the high-coverage baseline, a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP endpoint repeated verbatim, with the same path duplicated inside parentheses. It conveys the verb (GET) and resource path, but this information is already fully encoded in the tool name, making it a tautological restatement rather than an explanation of what the tool does for an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool versus the many sibling relationship tools (e.g., game_center_groups_game_center_achievements_v2_get_to_many_related, the replace_to_many_relationship variant, or the non-v2 game_center_achievements_get_to_many_relationship). No context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_achievements_v2_replace_to_many_relationshipC
PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterAchievementsV2 (PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterAchievementsV2) Body shape: see OpenAPI components.schemas.GameCenterGroupGameCenterAchievementsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupGameCenterAchievementsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It signals mutation via the PATCH verb but never says this is a destructive full replacement that removes all existing achievement linkages not included in the body, nor anything about auth scope, response, or validation failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint path is repeated verbatim in parentheses, which is pure redundancy, and the body guidance is a reference rather than a usable statement of intent. Sized fine for its content, but the content is thin.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive nested-body mutation with no annotations and no output schema needs more than a path plus a schema pointer. Nothing explains the replace semantics, the shape of the payload beyond a reference, or what a successful response returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both 'id' and 'body' are already documented by the schema. The description adds only a pointer to the OpenAPI component schema for the envelope shape, which is a small value-add but no field-level or semantic detail about what the linkages array must contain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and full endpoint path, from which an experienced agent can infer a PATCH-replace of the gameCenterAchievementsV2 to-many relationship on a game center group. But it never states in plain language that it replaces the entire membership list, so an agent must decode JSON:API/REST semantics rather than read a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of the sibling read tool game_center_groups_game_center_achievements_v2_get_to_many_relationship, nor versus the non-v2 replace variant or any create/delete-to-many alternative. The agent must infer from the tool name alone that this is the write counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_activities_get_to_many_relationshipC
GET /v1/gameCenterGroups/{id}/relationships/gameCenterActivities (GET /v1/gameCenterGroups/{id}/relationships/gameCenterActivities)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses almost nothing. The GET verb implies a read-only, non-destructive call, but there is no mention of pagination behavior (despite the 'limit' parameter), auth requirements, or the shape of returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it wastes its only content on a parenthetical repetition of the same path, adding zero information. Brevity here is under-specification rather than efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship GET with pagination and no output schema and no annotations, the description should explain what the relationship returns, how limit/paging works, and any auth expectations. None of that is present, so the agent lacks the context needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema — it never explains that 'id' is the game center group id or that 'limit' paginates the relationship list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the endpoint path echoed twice, with no added explanation of what the tool returns or why an agent would call it. The URL does encode verb (GET) and resource (gameCenterGroups/{id} relationships/gameCenterActivities), but the text is effectively a tautological restatement of the tool name rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus siblings such as game_center_groups_game_center_activities_get_to_many_related, nor any mention of prerequisites like the required group id. The agent is left to infer usage from the endpoint path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_challenges_get_to_many_relationshipD
GET /v1/gameCenterGroups/{id}/relationships/gameCenterChallenges (GET /v1/gameCenterGroups/{id}/relationships/gameCenterChallenges)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about pagination behavior (despite a 'limit' parameter), authentication requirements, or what the relationship objects contain. A raw URL echo is not a behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the size comes from duplication rather than economy: the same path string appears twice, once unformatted and once in parentheses, which is noise rather than information. Not front-loaded with any actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no annotations and no output schema, the description should explain what a 'to-many relationship' endpoint returns and how pagination works. None of that is present, leaving the agent unable to predict the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline of 3 applies. The description adds no syntax or format clarification beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP path, duplicated verbatim inside parentheses. It conveys only 'GET' on the gameCenterGroups→gameCenterChallenges relationship, which the tool name already encodes, and adds no human-readable statement of what the operation returns or why it exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no distinction from the closely named sibling 'game_center_groups_game_center_challenges_get_to_many_related' or the rest of the game_center_groups family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_details_get_to_many_relationshipD
GET /v1/gameCenterGroups/{id}/relationships/gameCenterDetails (GET /v1/gameCenterGroups/{id}/relationships/gameCenterDetails)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior for a to-many relationship, no permissions/authentication requirements, no indication of what the relationship linkage payload contains. A bare URL adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the length is not earned: the single line simply repeats the tool name/path, including a redundant parenthetical duplicate of the same path. Space is used without conveying any information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship fetch, the description should at least clarify what related gameCenterDetails are returned and how paging works. With no output schema and no explanation of the returned relationship data, an agent cannot use this confidently, especially against dozens of similar Game Center relationship tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the schema does the heavy lifting. The description adds nothing about the 'id' meaning or the 'limit' paging semantics, but baseline 3 applies when the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path duplicated verbatim, which restates the tool name rather than explaining what the tool does. It names a resource (gameCenterDetails relationship on a gameCenterGroup) but gives no plain-language statement of purpose and does not distinguish it from the sibling 'game_center_groups_game_center_details_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no indication of how this differs from the near-identical '..._get_to_many_related' sibling. The only faint signal is the path itself implying a group id is needed, which is minimal implied usage at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboard_sets_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets (GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only that the endpoint is deprecated. It says nothing about pagination (despite a limit param), authentication requirements, or what is returned, so an agent learns almost nothing beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation flag, which is the one useful piece of information. However, the second clause is pure duplication of the name, so the brevity reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no output schema and no annotations, the description should explain what collection is returned and how it relates to the sibling variants. None of that is present; only the deprecation notice is supplied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and limit parameters are already fully documented in the schema. The description adds no syntax or format detail beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name as a URL path, duplicating the identifier with no plain-language statement of what it does. The only added signal is the [DEPRECATED] tag; an agent still has to decode the path to infer it lists Game Center leaderboard sets for a group. This is near-tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no alternative named. The [DEPRECATED] marker weakly implies 'avoid,' but it does not point to a replacement sibling (e.g. the v2 or _get_to_many_related variants) that clearly exists in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboard_sets_replace_to_many_relationshipB
[DEPRECATED] PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets (PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets) Body shape: see OpenAPI components.schemas.GameCenterGroupGameCenterLeaderboardSetsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupGameCenterLeaderboardSetsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does convey mutating replace semantics via PATCH and flags deprecation, and it points to the OpenAPI envelope schema. It says nothing about required permissions, whether the replacement is destructive to prior linkages, or the response, leaving real behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with the important '[DEPRECATED]' marker front-loaded, which is good. However the path is duplicated verbatim in parentheses (a templating artifact) and the sentence spends its length on routing rather than semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param, no-output-schema, no-annotation mutation tool, the description is minimally adequate: the schema covers the parameters and the deprecation is flagged. Given the nested JSON:API linkage envelope, an agent would benefit from more detail on what the body must contain than a bare schema-name reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — both id and body are documented in the schema, including the body's schema reference — so the baseline is 3. The description's body-shape note largely restates the schema's own 'components.schemas.GameCenterGroupGameCenterLeaderboardSetsLinkagesRequest' pointer and adds no new syntax or envelope detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP method (PATCH) and the exact resource path (gameCenterGroups/{id}/relationships/gameCenterLeaderboardSets), which together with the tool name make the operation — fully replacing the leaderboard-set linkages on a game center group — identifiable. It does not distinguish itself in prose from the sibling get_to_many_relationship or v2 replace variants, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the '[DEPRECATED]' tag, which warns an agent away but does not name the replacement (e.g. game_center_groups_game_center_leaderboard_sets_v2_replace_to_many_relationship, which exists as a sibling). There is no when-to-use, when-not-to-use, or prerequisite guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboard_sets_v2_get_to_many_relationshipD
GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2 (GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that it is a safe read, not pagination behavior (despite a limit param), not auth requirements, not the relationship-vs-related data shape. Only the literal 'GET' token hints at read semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is the same path duplicated inside parentheses, which is pure redundancy rather than concise information. There is no front-loaded purpose statement to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no parameter elaboration, the description must supply all context and supplies none. An agent cannot determine what resource set is returned or how to page it, making the definition inadequate for a 2-parameter relationship endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and limit. The description adds nothing beyond the path template (which does show {id} is embedded in the route), so the baseline 3 for high-coverage schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path repeated twice in parentheses: "GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2". It restates the tool name rather than explaining in plain language what the operation returns (the leaderboard-set V2 relationships of a Game Center group). An agent gets no semantic value beyond the URL string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Siblings such as game_center_groups_game_center_leaderboard_sets_get_to_many_relationship (v1), ..._get_to_many_related, and ..._v2_replace_to_many_relationship exist, and nothing tells the agent why to pick this GET-relationship variant over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboard_sets_v2_replace_to_many_relationshipC
PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2 (PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardSetsV2) Body shape: see OpenAPI components.schemas.GameCenterGroupGameCenterLeaderboardSetsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupGameCenterLeaderboardSetsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only the HTTP verb (PATCH), but not the critical behavioral fact that a 'replace to-many' operation destroys and overwrites the existing set of linkages. Auth/permission requirements and whether the change is reversible are also unstated, which is a serious gap for a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not efficient: the same method/path string is repeated twice in parentheses, which is pure noise. There is no front-loaded plain-language statement of intent, so the brevity reflects under-specification rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation that replaces an entire to-many relationship, with no annotations and no output schema, the description omits the domain meaning, the destructive replace semantics, and any prerequisites. The schema pointer for the body is the only element that materially helps an agent call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does add one useful pointer by naming components.schemas.GameCenterGroupGameCenterLeaderboardSetsV2LinkagesRequest for the body envelope, but it gives no detail on the array-of-linkages structure or id/type requirements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path verbatim (and duplicates it in parentheses). It never says in plain language that this replaces the set of leaderboard sets linked to a Game Center group. The only semantic hint, 'replace_to_many_relationship', comes from the tool name, not the description, so the purpose is effectively a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of the sibling get_to_many_relationship, the v1 replace variant, or the game_center_details equivalent. No mention that this overwrites the full relationship rather than appending. The only actionable pointer is a reference to the body schema component.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboards_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboards (GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboards)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing beyond the deprecation status. It does not mention pagination behavior (despite a limit parameter), auth requirements, or what the relationship payload contains. The deprecation flag is genuine behavioral value, but it is the only item.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description front-loads the useful [DEPRECATED] marker, but then prints the identical URL path twice in a row with no added meaning. That parenthetical duplication is pure noise in an otherwise trivially short string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing GET with no annotations and no output schema, the description should explain what is returned and how to page. It instead provides only a URL, leaving pagination, response shape, and the deprecation replacement entirely unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two parameters, so the schema already documents id and limit fully. The description adds no syntax, format, or default-value detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name expanded into an HTTP method and URL path. It adds no explanation of what the relationship retrieval actually returns or means, so an agent gains nothing beyond what the name already conveys. The [DEPRECATED] prefix is the only new information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag signals the tool should be avoided, which is a weak usage hint, but no replacement tool or migration path is named. Siblings like game_center_groups_game_center_leaderboards_get_to_many_related or the v2 variants are never referenced, leaving the agent to guess the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboards_replace_to_many_relationshipC
[DEPRECATED] PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboards (PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterGroupGameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupGameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully reveals the deprecation status, but it omits the most important behavior of a 'replace to-many relationship' call — that it overwrites/destroys the existing linkages, not appends — and says nothing about auth or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The [DEPRECATED] warning is correctly front-loaded, but the PATCH path is duplicated verbatim in parentheses, which is pure redundancy. The body-shape pointer is useful but the overall text is not tightly composed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated relationship-mutation tool with full schema coverage and no output schema, the description covers the endpoint and deprecation but leaves the destructive replace semantics and any migration path unstated. Adequate but with clear gaps given the absence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and body are already documented in the schema. The description only adds a pointer to the OpenAPI component name for the body envelope, which is marginal extra value over the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the method and resource (PATCH .../gameCenterGroups/{id}/relationships/gameCenterLeaderboards), which maps to replacing the leaderboards linkage set, and the [DEPRECATED] prefix adds a clear status marker. However, it largely restates the tool name/path rather than articulating the verb+resource in prose, and it does not distinguish the operation from its many get/replace/create siblings beyond the raw HTTP path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker implies the tool should be avoided, which is a weak form of guidance. It names no replacement alternative (e.g., the v2 counterpart) and gives no when-to-use or prerequisite context, leaving the agent to infer everything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboards_v2_get_to_many_relationshipD
GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2 (GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses nothing about what a 'relationship' response contains (identifiers vs. full resources), pagination behavior, or auth requirements — only the URL is echoed back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the identical path string with zero added information, and there is no front-loaded natural-language statement of purpose. Length is minimal by omission rather than by discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a bare endpoint string, the description leaves an agent guessing about the return payload and pagination. For a relationship GET in a space crowded with get/replace/related variants, this is inadequate, though the self-describing path keeps it from being a total blank.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the 'id' and 'limit' parameters documented in the schema itself. The description adds nothing beyond the path template, so the baseline 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated verbatim in parentheses: 'GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2 (GET /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2)'. It restates the tool name in URL form rather than explaining in plain language that it retrieves the gameCenterLeaderboardsV2 to-many relationship for a Game Center group, and it does nothing to distinguish it from siblings like game_center_groups_game_center_leaderboards_v2_replace_to_many_relationship or the ..._get_to_many_related variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the '_related' or '_replace_to_many_relationship' siblings that occupy the same path space. An agent gets no signal for choosing this tool over its near-identical neighbors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_game_center_leaderboards_v2_replace_to_many_relationshipC
PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2 (PATCH /v1/gameCenterGroups/{id}/relationships/gameCenterLeaderboardsV2) Body shape: see OpenAPI components.schemas.GameCenterGroupGameCenterLeaderboardsV2LinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupGameCenterLeaderboardsV2LinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. While the 'PATCH' method implies mutation, the description does not state that this is a destructive replacement of the entire relationship set, whether existing links are removed, or if permissions are required. It only references an OpenAPI schema for the body, leaving key effects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but contains unnecessary duplication by repeating the full URL in parentheses. It is front-loaded with the HTTP method, but the structure does not help an agent understand the tool's purpose or usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is incomplete. It should explain the replace semantics, effects on existing relationships, and when to use this versus sibling tools, but instead only points to an external schema for the request body.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are documented in the input schema. The description adds no meaning beyond what the schema already provides, merely repeating the schema reference for the body. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and endpoint path, which is essentially a tautology of the tool name 'replace_to_many_relationship'. It does not explain in plain terms that this tool replaces the set of Game Center leaderboards V2 associated with a group, nor does it distinguish it from sibling get or non-v2 replace tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as the corresponding get_to_many_relationship or the non-v2 replace variant. No prerequisites or context for using a replace operation are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_get_collectionD
GET /v1/gameCenterGroups (GET /v1/gameCenterGroups)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| limit_gameCenterDetails | No | maximum number of related gameCenterDetails returned (when they are included) | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| filter_gameCenterDetails | No | filter by id(s) of related 'gameCenterDetails' | |
| limit_gameCenterActivities | No | maximum number of related gameCenterActivities returned (when they are included) | |
| limit_gameCenterChallenges | No | maximum number of related gameCenterChallenges returned (when they are included) | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterChallenges | No | the fields to include for returned resources of type gameCenterChallenges | |
| limit_gameCenterAchievements | No | maximum number of related gameCenterAchievements returned (when they are included) | |
| limit_gameCenterLeaderboards | No | maximum number of related gameCenterLeaderboards returned (when they are included) | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| limit_gameCenterAchievementsV2 | No | maximum number of related gameCenterAchievementsV2 returned (when they are included) | |
| limit_gameCenterLeaderboardsV2 | No | maximum number of related gameCenterLeaderboardsV2 returned (when they are included) | |
| limit_gameCenterLeaderboardSets | No | maximum number of related gameCenterLeaderboardSets returned (when they are included) | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| limit_gameCenterLeaderboardSetsV2 | No | maximum number of related gameCenterLeaderboardSetsV2 returned (when they are included) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers nothing. It does not mention pagination (relevant given the 'limit' param), authentication/permission requirements, or that this is a read-only listing. For a 19-parameter read endpoint with zero annotation coverage, this is a total gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but structurally useless: the same path string appears twice with no added information, and there is no front-loaded statement of purpose. Brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 19-parameter collection endpoint with no output schema and no annotations, the description is completely inadequate. It omits what a Game Center group is, how the include/fields/filter parameters interact, and what the response contains, leaving the agent with no context beyond the URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every one of the 19 parameters (limit, include, fields_*, limit_*, filter_*) is documented in the schema itself. Per the rubric, a high-coverage schema establishes a baseline of 3 even when the description adds no parameter information; here the description adds none at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path 'GET /v1/gameCenterGroups' repeated verbatim in parentheses. It identifies the resource (gameCenterGroups) and the HTTP verb (GET = list), but states nothing in natural language about what the tool returns or how it differs from siblings like game_center_groups_get_instance. This is essentially a restatement of the name, not a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this collection endpoint versus the instance endpoint or any of the many relationship endpoints under game_center_groups_*. There are no alternatives named and no conditions given; the agent must infer everything 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.
game_center_groups_get_instanceD
GET /v1/gameCenterGroups/{id} (GET /v1/gameCenterGroups/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| limit_gameCenterDetails | No | maximum number of related gameCenterDetails returned (when they are included) | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| limit_gameCenterActivities | No | maximum number of related gameCenterActivities returned (when they are included) | |
| limit_gameCenterChallenges | No | maximum number of related gameCenterChallenges returned (when they are included) | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterChallenges | No | the fields to include for returned resources of type gameCenterChallenges | |
| limit_gameCenterAchievements | No | maximum number of related gameCenterAchievements returned (when they are included) | |
| limit_gameCenterLeaderboards | No | maximum number of related gameCenterLeaderboards returned (when they are included) | |
| fields_gameCenterAchievements | No | the fields to include for returned resources of type gameCenterAchievements | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| limit_gameCenterAchievementsV2 | No | maximum number of related gameCenterAchievementsV2 returned (when they are included) | |
| limit_gameCenterLeaderboardsV2 | No | maximum number of related gameCenterLeaderboardsV2 returned (when they are included) | |
| limit_gameCenterLeaderboardSets | No | maximum number of related gameCenterLeaderboardSets returned (when they are included) | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| limit_gameCenterLeaderboardSetsV2 | No | maximum number of related gameCenterLeaderboardSetsV2 returned (when they are included) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing: no auth requirements, no pagination behavior, no indication that the include/limit/fields parameters shape a potentially large response. A bare URL is not a behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not efficiently so: it simply duplicates the name inside parentheses, which is pure waste. Brevity here reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter read tool with rich relationship-include options, zero annotations, and no output schema, the description should explain the resource and what expansion options yield. It provides none of this, leaving an agent with only a URL fragment.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 18 params, so the schema already documents id, include, fields_*, and limit_* semantics. The description adds nothing, but per the high-coverage baseline a 3 is appropriate — the burden is not on the description here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as a URL path (GET /v1/gameCenterGroups/{id}), duplicated verbatim in parentheses. It does not explain what a gameCenterGroup is or what 'get instance' returns, so it is tautological rather than clarifying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as game_center_groups_get_collection or the many game_center_groups_*_get_to_many_related tools. No prerequisites, no alternatives, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_groups_update_instanceC
PATCH /v1/gameCenterGroups/{id} (PATCH /v1/gameCenterGroups/{id}) Body shape: see OpenAPI components.schemas.GameCenterGroupUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterGroupUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the update is partial vs full replacement, what happens to omitted fields, permission requirements, or reversibility. It merely defers to an external OpenAPI schema, which is a pointer rather than disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is redundantly duplicated in the parenthetical and no plain-language purpose is front-loaded. Size is fine; the structure wastes its one sentence on a repeated route string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested, opaque JSON:API body object, no annotations, and no output schema, the definition is far from complete. An agent cannot determine what fields are settable or what a successful update returns without leaving the tool definition entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, and the schema already states the body shape reference, so the description adds no parameter meaning beyond it. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route (PATCH /v1/gameCenterGroups/{id}), which is already encoded in the tool name game_center_groups_update_instance. It never says in plain language what updating a Game Center group means or what can be changed, so an agent gets no more than it could infer from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus the sibling game_center_groups_create_instance, game_center_groups_get_instance, or game_center_groups_delete_instance. Nothing indicates prerequisites (existing group id) or that the resource must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_entry_submissions_create_instanceD
POST /v1/gameCenterLeaderboardEntrySubmissions (POST /v1/gameCenterLeaderboardEntrySubmissions) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardEntrySubmissionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardEntrySubmissionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and discloses nothing: not that it creates a leaderboard entry submission on behalf of a player, not the auth/permission requirements, not the side effects or idempotency. It also repeats itself verbatim ('POST /v1/... (POST /v1/...)') without adding information. This is a bare endpoint stub.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the URL already written at the start, wasting the only space available. Low information density with a redundant clause is the opposite of earning every sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation tool with no annotations, no output schema, and an external schema reference the agent cannot read inline, the description is wholly inadequate. It omits what is created, required permissions, the JSON:API envelope contents, and any failure behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already states 'Shape: components.schemas.GameCenterLeaderboardEntrySubmissionCreateRequest.' The description merely repeats that same pointer, adding no field-level meaning, so the 3 baseline for a fully documented single parameter is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route 'POST /v1/gameCenterLeaderboardEntrySubmissions' and never says in prose what the tool does. The verb+resource meaning lives entirely in the tool name, so the description is effectively a tautology rather than an explanation. An agent gets no more than it already infers from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative among the hundreds of sibling tools (e.g. game_center_player_achievement_submissions_create_instance or score moderation tools). Nothing routes the agent to this tool versus its neighbors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_images_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboardImages (POST /v1/gameCenterLeaderboardImages) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for a mutation tool, yet it discloses almost nothing: no auth/permission requirements, no note on what the body must contain beyond pointing at an external schema, no sense of side effects or reversibility. The DEPRECATED label is genuinely useful context, which keeps this above the floor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief and front-loads the DEPRECATED status, which is the most decision-relevant fact. But the endpoint is needlessly repeated in parentheses, and the sentence spends its remaining length deferring to an external spec instead of conveying a fact the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation endpoint with a required nested body object, no output schema, and no annotations, the description is too thin: it does not confirm what is returned, whether the resource is accessible afterward, or how it relates to the v2 sibling. The deprecation notice is the one piece of context an agent could act on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single body parameter is already documented, and the description merely repeats the same schema reference (components.schemas.GameCenterLeaderboardImageCreateRequest) without adding field-level meaning or JSON:API envelope guidance. Baseline 3 is appropriate when the schema does the work and the description adds nothing new.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation via its HTTP verb and endpoint (POST /v1/gameCenterLeaderboardImages) and carries a DEPRECATED marker, so an agent can tell it creates a leaderboard image resource. However, it never states the resource in words and gives no basis to distinguish it from the sibling game_center_leaderboard_images_v2_create_instance, which matters given the near-identical v1/v2 pairs in this toolset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The DEPRECATED tag is the only usage signal and it is buried in brackets rather than explained; there is no guidance on when to use this instead of the v2 create variant, nor any stated prerequisites or parent-resource requirements. An agent is left to infer routing 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.
game_center_leaderboard_images_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardImages/{id} (DELETE /v1/gameCenterLeaderboardImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a destructive delete but discloses nothing about what is destroyed, whether the action is reversible, auth/scoping requirements, or side effects. The deprecation tag is the only extra context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation notice, but the path is duplicated verbatim in parentheses, which is pure waste. Every sentence should earn its place, and the redundant repetition does not.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool the schema covers the lone parameter, but with no annotations and no replacement guidance for a deprecated endpoint, an agent lacks the context to know whether to call it at all or what to use instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single required 'id' parameter already documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific HTTP verb and resource path — 'DELETE /v1/gameCenterLeaderboardImages/{id}' — making clear it deletes a game center leaderboard image by id. This distinguishes it from siblings like get/update_instance. However, it is essentially a raw endpoint restatement with no plain-language framing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the '[DEPRECATED]' prefix, which hints the tool should be avoided but names no replacement. There is no statement of when to use it versus the v2 delete siblings (e.g., game_center_leaderboard_images_v2_delete_instance) or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_images_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboardImages/{id} (GET /v1/gameCenterLeaderboardImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboardImages | No | the fields to include for returned resources of type gameCenterLeaderboardImages | |
| fields_gameCenterLeaderboardLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only repeats the deprecation and the route. It says nothing about what the response contains, whether relationships must be requested via include, authentication requirements, or what deprecation means for availability. The deprecation flag is the one useful disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation notice, which is good. But the parenthetical '(GET /v1/gameCenterLeaderboardImages/{id})' is pure duplication of the path already stated in the same line, so the sentence is not fully earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an instance-fetch tool with no annotations and no output schema, the description should at least indicate what is returned and how it relates to the v2 sibling. Given the large number of near-identical leaderboard-image tools, the endpoint-style text is insufficient to call this correctly and confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, and both fields_* filters) are already documented in the schema. The description adds no parameter meaning beyond that, which is the expected baseline for a fully-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a read of a single gameCenterLeaderboardImages resource via the HTTP verb and path, so the basic action is inferable. However, it does not distinguish this tool from the sibling game_center_leaderboard_images_v2_get_instance, nor does it explain the deprecated-vs-v2 split. The parenthetical merely repeats the identical path, adding no clarifying information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is a weak usage signal, but the description never says when to use this tool, when not to, or which replacement (e.g. the v2 image endpoint) an agent should prefer. No prerequisites or conditions are given, leaving routing entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_images_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterLeaderboardImages/{id} (PATCH /v1/gameCenterLeaderboardImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The deprecation notice is genuinely useful behavioral information, but it says nothing about what fields can be changed, whether the update is partial or full replacement, what permissions are required, or what happens to unmentioned attributes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, but the PATCH path is printed twice in immediate succession, wasting space that could have been spent on when-not-to-use guidance. Front-loading the deprecation notice is good structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update tool with no annotations, no output schema, and a free-form body object (additionalProperties: {}), the description delegates all body knowledge to an external OpenAPI schema the agent may not have access to. Combined with no migration guidance for a deprecated endpoint, the definition leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both params (id, body) are already documented in the schema, so the baseline is 3. The description's only added parameter context is a pointer to components.schemas.GameCenterLeaderboardImageUpdateRequest, which is a reference to an external document rather than inline semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation as PATCH on /v1/gameCenterLeaderboardImages/{id}, which implies updating a leaderboard image resource by ID, and the [DEPRECATED] tag distinguishes it from the active siblings. However, it never states in plain language what the update does, and the leading path is duplicated verbatim in parentheses, so differentiation from game_center_leaderboard_images_v2_update_instance relies on the agent noticing 'v2' rather than on any stated difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is [DEPRECATED], which implies avoidance but names no alternative. Given that game_center_leaderboard_images_v2_update_instance exists as a sibling, the description should have pointed there; instead the agent must infer the migration path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_images_v2_create_instanceC
POST /v2/gameCenterLeaderboardImages (POST /v2/gameCenterLeaderboardImages) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardImageV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardImageV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no authentication requirements, no note that this mutates state and creates a new resource, no constraints on the image, and no indication of what the JSON:API envelope must contain beyond a pointer to an external schema. For a mutation tool with zero annotation coverage this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its opening on a literal duplicate: 'POST /v2/gameCenterLeaderboardImages (POST /v2/gameCenterLeaderboardImages)'. That parenthetical earns nothing, and the remaining sentence only defers to an external schema reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation on a nested JSON:API envelope with no annotations and no output schema, the description is far too thin. It never explains what resource is produced, what the body must contain, or any required relationships, leaving the agent dependent on an external OpenAPI document that may not be available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single body parameter and 100% schema description coverage, the schema already documents the parameter. The description's only contribution is pointing at components.schemas.GameCenterLeaderboardImageV2CreateRequest, which the schema's own description already states, so it adds no meaning beyond the structured field. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP method and path restated ('POST /v2/gameCenterLeaderboardImages'), which duplicates what the tool name already conveys. It does not describe in natural language what is created or how it differs from the many sibling create tools (e.g. game_center_leaderboard_images_create_instance v1 vs this v2 variant). This is a tautological restatement rather than a specific verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no indication of when to prefer the v2 create over the v1 create or the update/delete siblings. The description offers nothing about the conditions that select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_images_v2_delete_instanceD
DELETE /v2/gameCenterLeaderboardImages/{id} (DELETE /v2/gameCenterLeaderboardImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the deletion is permanent or reversible, not whether it cascades to related images/localizations, not what permissions are required, and not what the response contains. The single word DELETE is the only signal, and it is already in the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the exact same endpoint string appears twice with no additional information in the repetition. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations, no output schema, and no guidance, the definition is inadequate. An agent cannot determine from this description whether calling it is safe, what it destroys, or how to recover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, and schema description coverage is 100% ('the id of the requested resource'), so the schema fully documents the input. The description adds no format, provenance, or constraint information beyond it, which makes the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a tautology: it restates the tool name as an HTTP method plus path, and then repeats that identical path in parentheses. It does identify the resource (gameCenterLeaderboardImages v2) and the operation (DELETE), but adds no differentiation from siblings such as game_center_leaderboard_set_images_v2_delete_instance beyond what the tool name already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives. With dozens of near-identical *_delete_instance and *_v2_delete_instance siblings, the absence of any selection criteria 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.
game_center_leaderboard_images_v2_get_instanceD
GET /v2/gameCenterLeaderboardImages/{id} (GET /v2/gameCenterLeaderboardImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboardImages | No | the fields to include for returned resources of type gameCenterLeaderboardImages | |
| fields_gameCenterLeaderboardLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no auth/permission requirements, no note that this is a read-only fetch, no pagination or relationship-expansion behavior despite an 'include' parameter. A bare URL restatement is the minimum possible disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is redundant — the identical endpoint string appears twice, once outside and once inside parentheses. There is no front-loaded statement of intent, so the brevity reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and four parameters including relationship/field-sparse-fieldset controls, the description should explain what is returned and how the v2 image resource relates to its siblings. None of that is present, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter (id, include, fields_gameCenterLeaderboardImages, fields_gameCenterLeaderboardLocalizations) is documented in the schema, so the baseline of 3 applies. The description adds no parameter meaning whatsoever, so it neither helps nor harms.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP path 'GET /v2/gameCenterLeaderboardImages/{id}' duplicated in parentheses. It does imply a read of a game-center leaderboard image resource by id, but it never states the purpose in prose and gives no basis for distinguishing it from the many sibling get_instance tools (e.g. game_center_leaderboard_images_get_instance vs the _v2 variant, or game_center_leaderboard_localizations_v2_get_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over the v1 image tool or the localization image relationship tools, and no prerequisites or context. The agent is left to infer everything from the endpoint path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_images_v2_update_instanceC
PATCH /v2/gameCenterLeaderboardImages/{id} (PATCH /v2/gameCenterLeaderboardImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardImageV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardImageV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only conveys that this is a PATCH (implying partial update) and points to an OpenAPI schema for the body envelope; it says nothing about permissions, reversibility, what fields get modified, or the JSON:API mutation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, but it wastes space by duplicating the PATCH path verbatim in parentheses and leans on an external schema reference rather than stating anything actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested body object, no annotations, and no output schema, the description is incomplete: it omits return behavior, partial-update semantics, required permissions, and any indication of what the body should contain beyond a schema name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters. The description adds a reference to the GameCenterLeaderboardImageV2UpdateRequest component for the body envelope shape, which is marginally helpful but largely redundant with the schema's own body description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb and resource path (PATCH /v2/gameCenterLeaderboardImages/{id}), which conveys that this updates a Game Center leaderboard image v2 resource. However, it is essentially a restatement of the name/endpoint with no differentiation from the many sibling update tools (e.g. game_center_leaderboard_set_images_v2_update_instance, game_center_leaderboard_images_update_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The agent is left to infer usage purely from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboardLocalizations (POST /v1/gameCenterLeaderboardLocalizations) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the deprecation status and that the payload must be a JSON:API envelope, which is useful contextual behavior, but it omits mutation effects, auth/permission requirements, and what existing data is affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The DEPRECATED warning is correctly front-loaded, but the path is duplicated verbatim in parentheses and the remaining content is a pointer to an out-of-band schema. Short, though partly redundant rather than dense with useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create endpoint with no annotations and no output schema, the agent needs to know required fields and effects, yet the description defers entirely to an external OpenAPI document and never explains the JSON:API envelope it mentions. Substantial gaps remain for calling it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'body' parameter, so the baseline is 3. The description adds no field-level meaning, only pointing to an external OpenAPI schema (components.schemas.GameCenterLeaderboardLocalizationCreateRequest) that the agent cannot read from the tool definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name plus the 'POST /v1/gameCenterLeaderboardLocalizations' path convey that this creates a leaderboard localization resource, and the [DEPRECATED] tag is a meaningful distinction from the v2 sibling. However the description never states the purpose in words or explains what a leaderboard localization is; it essentially restates the name as an HTTP route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker hints the tool should be avoided, but the description never names the alternative (e.g. game_center_leaderboard_localizations_v2_create_instance) or states when this legacy endpoint still applies. An agent gets a soft signal but no actionable routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardLocalizations/{id} (DELETE /v1/gameCenterLeaderboardLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for a destructive operation, yet it says nothing about irreversibility, cascade effects on the parent leaderboard, or required auth scopes. The only behavioral context added is the deprecation flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation marker, but the HTTP path is repeated verbatim inside parentheses, which is redundant filler rather than useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive DELETE with no annotations and no output schema, the description is thin: it gives no confirmation of what a successful response looks like, no reversibility note, and no migration pointer to the v2 tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'id' parameter and the schema states it is the id of the requested resource. The description adds no format details, but with complete schema documentation the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name and description identify a specific verb (DELETE) and resource (gameCenterLeaderboardLocalizations/{id}), so the operation is legible. However, it does not distinguish itself from the near-identical sibling game_center_leaderboard_localizations_v2_delete_instance, leaving the agent to infer which version applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the '[DEPRECATED]' marker, which implies avoidance but never names a replacement or states when this tool is still required. A deprecated delete tool should explicitly route callers to the v2 equivalent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_game_center_leaderboard_image_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardLocalizations/{id}/relationships/gameCenterLeaderboardImage (GET /v1/gameCenterLeaderboardLocalizations/{id}/relationships/gameCenterLeaderboardImage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. It does flag deprecation, which is genuinely useful, but says nothing about the read-only nature, auth/permission requirements, or what the relationship response looks like — leaving the tool's behavior almost entirely unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the path is printed twice redundantly, so a meaningful share of the text is pure duplication rather than information. The deprecation tag is at least front-loaded, so structure is not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 1-param relationship endpoint with no output schema, the minimum an agent needs is what the relationship represents and what to do instead given the deprecation. Neither is provided; the deprecation notice raises a question the description never answers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single 'id' param is documented as 'the id of the requested resource'), so the baseline of 3 applies. The description adds no meaning about which resource id is expected (a localization id, not an image or leaderboard id), but the schema already covers the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and path (GET .../relationships/gameCenterLeaderboardImage), with the only added token being '[DEPRECATED]'. It never explains in prose what a 'relationship' fetch returns or how it differs from the sibling *_get_to_one_related variant, so an agent learns nothing beyond what the identifier already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' marker is a weak usage signal — it implies 'avoid' but never names a replacement or states a condition, despite an obvious successor (game_center_leaderboard_localizations_game_center_leaderboard_image_get_to_one_related) sitting in the sibling list. No guidance on when to prefer the relationship endpoint over the related endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboardLocalizations/{id} (GET /v1/gameCenterLeaderboardLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| fields_gameCenterLeaderboardImages | No | the fields to include for returned resources of type gameCenterLeaderboardImages | |
| fields_gameCenterLeaderboardLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing: the HTTP verb implies a read-only fetch, and the deprecation flag warns against use, but there is no mention of permission requirements, whether the resource returns 404 for stale IDs, or any lifecycle guidance. For a tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line with the deprecation warning front-loaded, so it is not padded or wasteful. However, its brevity reflects under-specification rather than disciplined conciseness, so it lands at adequate rather than strong.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, no annotations, and no output schema, the description should at minimum explain that it fetches one localization by ID and whether the response is deprecated in favor of v2. It supplies only a repeated path and a deprecation flag, which is not enough context for an agent to invoke this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — all five parameters (id, include, and the three sparse-fieldset params) are documented in the schema itself. The description adds no parameter meaning whatsoever, so the baseline 3 for high-coverage schemas is the correct ceiling here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and its URL path ("GET /v1/gameCenterLeaderboardLocalizations/{id}"), which is tautological rather than explanatory. It does add one genuinely useful signal — the [DEPRECATED] tag — but never states in plain language that it retrieves a single leaderboard localization resource, nor distinguishes it from the sibling v2 variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance. The [DEPRECATED] marker weakly implies an agent should prefer a newer alternative, but the description never names that alternative (e.g., game_center_leaderboard_localizations_v2_get_instance) or states any precondition for calling this one. The routing signal is only inferable, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterLeaderboardLocalizations/{id} (PATCH /v1/gameCenterLeaderboardLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: it does not say whether this is a full or partial overwrite, what auth scope is required, whether changes are reversible, or what happens to unchanged fields. The only behavioral hint is 'PATCH', which implies partial update but is not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the duplicated route text '(PATCH /v1/gameCenterLeaderboardLocalizations/{id})' is redundant filler, and the description defers the actual body shape to an external OpenAPI reference the agent may not have. The DEPRECATED flag is correctly front-loaded, but the rest does not fully earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, this is under-specified: it provides neither permissions, side-effect, nor replacement guidance, and the only substantive detail is an external schema pointer. An agent could invoke it mechanically but lacks the context to do so safely or to choose it over the v2 sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body' adequately, establishing a baseline of 3. The description adds the specific OpenAPI component name for the body envelope, which is marginally helpful, but it adds no field-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource (GameCenterLeaderboardLocalizations) and the operation via the PATCH route, with a DEPRECATED marker. However, it restates the HTTP path verbatim (twice) rather than describing the semantic effect on a leaderboard localization, and it never distinguishes itself from the many sibling/localization update tools (e.g. the v2 variant). Purpose is inferable but not clearly articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' prefix implicitly signals when NOT to use this tool, which is genuinely useful usage context. But it stops short of naming the replacement (the v2 update tool is present among siblings), leaving the agent to guess. No prerequisites or conditions for use are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_v2_create_instanceC
POST /v2/gameCenterLeaderboardLocalizations (POST /v2/gameCenterLeaderboardLocalizations) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardLocalizationV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardLocalizationV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full disclosure burden and supplies essentially none: no auth/permission requirements, no side effects, no note that this mutates persistent state, no idempotency or response behavior. Only the bare POST verb hints at a write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes roughly half its length by repeating the identical route inside parentheses, and the remaining sentence is a pointer rather than information. Front-loaded, but the payload is redundant rather than informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, an agent still cannot construct a call: the body is a free-form object whose real shape lives only in an external OpenAPI component the description defers to. Nothing about required attributes or relationships is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only the name of the OpenAPI request component (GameCenterLeaderboardLocalizationV2CreateRequest), which the schema already cites, so it contributes no new meaning about the free-form JSON:API body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the HTTP route and its own parenthetical duplicate, not a statement of purpose. An agent can infer 'create a game center leaderboard localization v2' only by decoding the POST path, and nothing distinguishes it from the many sibling *_create_instance and *_v2_create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is given. The POST verb weakly implies a create operation, but the description never says what must exist first (a leaderboard version), when to prefer v2 over the v1 create_instance sibling, or what the tool returns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_v2_delete_instanceD
DELETE /v2/gameCenterLeaderboardLocalizations/{id} (DELETE /v2/gameCenterLeaderboardLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about the destructive nature, irreversibility, required permissions, or effects on related resources. A bare endpoint echo for a DELETE mutation is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a verbatim repetition of the same endpoint string in parentheses, which is pure waste rather than useful structure. No information is front-loaded because there is essentially none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete tool with no annotations, no output schema, and no surrounding explanation, the description is completely inadequate. It leaves the agent without any of the behavioral context needed to invoke a mutation safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) with 100% schema coverage, so the schema already documents it fully. The description adds nothing beyond the schema, which sets the baseline at 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name as a raw HTTP endpoint ("DELETE /v2/gameCenterLeaderboardLocalizations/{id}"), duplicated in parentheses. It conveys a delete verb on a leaderboard-localization resource, but adds no explanation of what a leaderboard localization is or how this differs from the many sibling delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as the non-v2 sibling game_center_leaderboard_localizations_delete_instance or update_instance. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_v2_get_instanceC
GET /v2/gameCenterLeaderboardLocalizations/{id} (GET /v2/gameCenterLeaderboardLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboardImages | No | the fields to include for returned resources of type gameCenterLeaderboardImages | |
| fields_gameCenterLeaderboardVersions | No | the fields to include for returned resources of type gameCenterLeaderboardVersions | |
| fields_gameCenterLeaderboardLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only conveys read-only GET semantics implied by the HTTP verb. It says nothing about authentication requirements, error behavior, pagination, or how sparse fieldsets/includes affect the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it wastes space by duplicating the endpoint path in parentheses and is essentially front-loaded with only a route. It is concise but under-specified rather than efficiently informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource with five parameters including sparse fieldsets and relationship includes, and no output schema, the description is insufficient. It does not explain what the call returns, how includes/fields interact, or any constraints an agent would need to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the JSON schema already documents all five parameters, including id, include, and the three fields_* sparse fieldset options. The description adds no parameter meaning beyond the schema, which meets the baseline 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a GET operation on a specific resource path (gameCenterLeaderboardLocalizations v2) with an ID, so the verb and resource are present. However, it is a raw endpoint string repeated twice in parentheses and gives no differentiation from sibling game_center_leaderboard_localizations_get_instance (v1) or the v2 image relationship tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as the v1 get instance, the v2 image relationship, or collection endpoints. The only implied usage is fetching one resource by ID, which a caller must infer from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_v2_image_get_to_one_relationshipC
GET /v2/gameCenterLeaderboardLocalizations/{id}/relationships/image (GET /v2/gameCenterLeaderboardLocalizations/{id}/relationships/image)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it delivers almost nothing. The only behavioral hint is the embedded 'GET', implying a read-only operation, but there is no mention of what the relationship lookup returns (a linkage object vs. a full record), whether it 404s on missing image, or what auth scope is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in a useful sense: it repeats the identical path string twice with no added information, so half the content is pure redundancy. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description consisting only of the URL path, an agent lacks the context needed to call this correctly or interpret its response. For a relationship-resolution endpoint this should at minimum explain that it returns the image linkage for the localization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource', so the schema already does the work. The description adds no additional meaning about the id, which is the baseline-3 case for a 1-parameter tool with full coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path repeated twice in parentheses, which restates the tool name rather than explaining it in words. It conveys no verb-resource semantics beyond what the identifier 'game_center_leaderboard_localizations_v2_image_get_to_one_relationship' already encodes, and does nothing to distinguish it from the sibling '..._image_get_to_one_related' variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or how it differs from the parallel 'get_to_one_related' counterpart that appears right next to it in the sibling list. An agent must guess between the two.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_localizations_v2_update_instanceD
PATCH /v2/gameCenterLeaderboardLocalizations/{id} (PATCH /v2/gameCenterLeaderboardLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardLocalizationV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardLocalizationV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not whether this is a partial or full replacement update, what fields are mutable, whether it requires auth/role, or what happens on conflicting state. A reference to an external OpenAPI schema is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical '(PATCH /v2/gameCenterLeaderboardLocalizations/{id})' is a verbatim duplicate of the preceding text, wasting the brief space it has. Nothing else is padded, but the duplication suggests carelessness in a very short string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin: it omits auth requirements, update semantics, and any indication of the resource being localized. The one useful element, the pointer to the request body schema, is already present in the input schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'body' are already documented in the schema, warranting the baseline of 3. The description only repeats the pointer to components.schemas.GameCenterLeaderboardLocalizationV2UpdateRequest that the schema already contains, adding no extra parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name rendered as a URI: 'PATCH /v2/gameCenterLeaderboardLocalizations/{id}'. It conveys the verb and resource only in endpoint form, adds no natural-language statement of what is being changed, and does not differentiate itself from the many sibling update_instance tools. This is a restatement of the name rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever. It never mentions when to call update vs create_instance, get_instance, or delete_instance for leaderboard localizations, nor any prerequisites such as required state or permissions. An agent learns nothing about selection beyond inferring PATCH means update.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_releases_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboardReleases (POST /v1/gameCenterLeaderboardReleases) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardReleaseCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardReleaseCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses deprecation status and points at the request schema, but says nothing about permissions, whether the release takes effect immediately, reversibility, or rate limits for what is clearly a mutating create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loading [DEPRECATED] is good structure, but the parenthetical duplicates the exact same POST path verbatim, which is pure waste. Three fragments where one clear sentence would suffice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create tool with no annotations, no output schema, and a nested JSON:API envelope required in the body, the description leaves too much unsaid — no replacement guidance for the deprecation and no behavioral detail beyond a schema pointer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter already documented as 'JSON body. Shape: components.schemas.GameCenterLeaderboardReleaseCreateRequest.' The description repeats that same pointer rather than adding any field-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource and the HTTP verb (POST /v1/gameCenterLeaderboardReleases), so an agent can tell it creates a leaderboard release. However, it is largely a restatement of the tool name mapped onto a REST path rather than a semantic explanation of what a 'leaderboard release' is in Game Center terms, and it does not differentiate itself from the many neighbouring release/create siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag is a useful usage signal, but the description never says what to use instead (e.g. a v2 or leaderboard-set release equivalent) nor under what conditions this call is still acceptable. No when-to-use or when-not-to-use guidance beyond the deprecation flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_releases_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardReleases/{id} (DELETE /v1/gameCenterLeaderboardReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The DELETE verb implies a destructive, likely irreversible mutation, but the description says nothing about required permissions, whether deletion cascades, or whether the operation is reversible. The deprecation flag is the only behavioral context offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line with the deprecation warning front-loaded, which is good. However, the endpoint path is duplicated verbatim in the parenthetical, so roughly half the text does no work. Short but not fully earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter delete with no output schema, the description is minimally adequate: it names the operation and target. But with zero annotations it should explain the destructive consequences, and given the deprecation it should point to a successor tool. Those omissions leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds no format or constraint detail beyond the path placeholder. With the schema doing the work, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific verb+resource (DELETE on gameCenterLeaderboardReleases) and the path confirms the id-addressed resource, so an agent can infer it removes a leaderboard release. However, it is expressed as a raw REST endpoint rather than prose, and it never differentiates itself from near-identical siblings such as game_center_leaderboard_set_releases_delete_instance or game_center_achievement_releases_delete_instance. The [DEPRECATED] tag adds a signal but not clarity of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, prerequisites, or which alternative to prefer. The only guidance-like content is the [DEPRECATED] marker, which usefully warns the agent away, but it names no replacement, so the agent is left guessing what to call instead. That falls short of real usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_releases_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboardReleases/{id} (GET /v1/gameCenterLeaderboardReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| fields_gameCenterLeaderboardReleases | No | the fields to include for returned resources of type gameCenterLeaderboardReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It states nothing about return shape, permissions, or rate limits, and while the deprecation tag is a useful behavioral signal, it is not elaborated. Beyond the deprecation flag, the description adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the route string is redundantly repeated in parentheses, which is wasted space. The front-loaded deprecation tag is the only useful content, and there is no actual explanation of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated read endpoint with no annotations and no output schema, the description should at minimum explain what a leaderboard release is or point to the successor tool. It leaves the agent with only a REST path and a deprecation flag, which is insufficient to decide whether or how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all five parameters (id, include, three fields_* filters) are documented in the schema. The description adds no parameter meaning, so the baseline 3 applies — the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP route, duplicated twice ('GET /v1/gameCenterLeaderboardReleases/{id}' and again in parentheses). It conveys that this fetches a single leaderboard release by id, but adds nothing beyond the name — a tautology rather than a clarifying statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the '[DEPRECATED]' marker, which implies the agent should avoid the tool but names no replacement or condition. There is no indication of when to use this vs. the sibling collection/relationship tools or what the deprecation means for callers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_activity_update_to_one_relationshipC
[DEPRECATED] PATCH /v1/gameCenterLeaderboards/{id}/relationships/activity (PATCH /v1/gameCenterLeaderboards/{id}/relationships/activity) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardActivityLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardActivityLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the PATCH verb (mutation) and deprecation status, but says nothing about required permissions, whether the to-one relationship is replaced or merged, or how failures behave. For a deprecated write tool this leaves major behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, with the deprecation warning usefully front-loaded. The PATCH path is duplicated verbatim inside parentheses, which is pure redundancy and wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A deprecated mutation with a nested, opaque body object and no output schema. The description defers all body detail to an external OpenAPI component that the agent may not have in context, and omits the response semantics entirely, so it is not sufficient on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description points at components.schemas.GameCenterLeaderboardActivityLinkageRequest for the envelope, but that same pointer already appears in the body schema, so it adds little beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The raw HTTP path reveals the tool mutates the 'activity' to-one relationship on a leaderboard, but the purpose is never stated in plain language and 'activity' linkage is never explained. It is also not differentiated from its near-identical sibling game_center_leaderboards_v2_activity_update_to_one_relationship, so an agent cannot easily choose between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' prefix is the only usage signal, and it does correctly warn the agent away. However, no replacement or alternative (notably the v2 variant) is named, and no condition for when this relationship update is appropriate is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_challenge_update_to_one_relationshipC
[DEPRECATED] PATCH /v1/gameCenterLeaderboards/{id}/relationships/challenge (PATCH /v1/gameCenterLeaderboards/{id}/relationships/challenge) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardChallengeLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardChallengeLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It is a PATCH mutation, yet the description says nothing about what the relationship change replaces, whether it is destructive/irreversible, what permissions are required, or how the linkage request is validated. Only the deprecation status is disclosed, which is behavioral context but far short of what a mutation tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loading '[DEPRECATED]' is good structure, but the path is repeated verbatim twice in parentheses, which is pure redundancy. The remaining sentence is efficient, so the net is middling rather than poor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, un-annotated mutation tool with a nested, untyped body object (additionalProperties: {}) and no output schema, the description is too thin. It does not explain what updating the challenge relationship does to the leaderboard, nor what a successful call yields, leaving the agent to reconstruct intent from the URL alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the 'id' and 'body' parameters are already documented in the schema, establishing a baseline of 3. The description adds only a pointer to the OpenAPI component for the body shape, which is a marginal supplement rather than new semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The HTTP path 'PATCH /v1/gameCenterLeaderboards/{id}/relationships/challenge' conveys a verb (update) and resource (a leaderboard's challenge relationship), so an agent can roughly infer intent. However, it never states in prose what the operation accomplishes, and it does not distinguish itself from the near-identical siblings game_center_leaderboards_v2_challenge_update_to_one_relationship (v2) or game_center_challenges_leaderboard_update_to_one_relationship (inverse direction).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' prefix is an implied usage signal telling the agent to prefer something else, which is more than nothing. But no alternative is named and no when-to-use/when-not context is given, leaving the agent to guess that the v2 sibling is the replacement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboards (POST /v1/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses deprecation status, which is useful, but says nothing about authentication scope, side effects of creating a leaderboard, whether the operation is idempotent, or what the response contains. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, but the endpoint is stated twice ('POST /v1/gameCenterLeaderboards (POST /v1/gameCenterLeaderboards)'), which is pure duplication, and the pointer to the OpenAPI schema is terse to the point of being a lookup instruction rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter create tool with no output schema and no annotations, the description should at minimum say what a created leaderboard is or what the deprecated path means for callers. Instead it defers entirely to an external OpenAPI schema, leaving the agent without enough context to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the single body parameter is already described in the schema as 'JSON body. Shape: components.schemas.GameCenterLeaderboardCreateRequest.' The description merely points at the same OpenAPI component, adding no meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the raw endpoint 'POST /v1/gameCenterLeaderboards', which conveys a create operation on a leaderboard resource, but it is phrased as an HTTP route rather than a task and does not distinguish this v1 tool from the many sibling create tools (notably game_center_leaderboards_v2_create_instance). An agent can infer the purpose, but only after decoding the endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' marker implicitly tells the agent to prefer a successor, which is real usage signal, but it never names the alternative (e.g. the v2 create tool) or states the condition under which this tool is still required. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboards/{id} (DELETE /v1/gameCenterLeaderboards/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies a destructive delete and flags deprecation, but says nothing about what data is destroyed, whether the operation is reversible, what permissions are required, or what the response contains. For a mutation tool with zero annotation coverage this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the deprecation warning, which is good. However, the parenthetical repeats the identical method and path from the first clause, adding literally zero information and wasting the one extra clause it has.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated destructive endpoint with no annotations and no output schema, the description is thin: it omits the migration path (which sibling replaces it), the scope of the deletion, and any auth prerequisites. The agent knows the tool exists but not how to proceed responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter and schema description coverage is 100% (the schema documents 'id' as the requested resource's id). The description adds no format, source, or identifier-type details beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific REST operation (DELETE on /v1/gameCenterLeaderboards/{id}), so the verb and resource are unambiguous. However, it is essentially a restatement of the snake_case tool name and does not distinguish this tool from the many sibling leaderboard-delete variants (e.g. game_center_leaderboards_v2_delete_instance, game_center_leaderboard_sets_delete_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is a genuine usage signal telling the agent to avoid this tool, which is more guidance than most definitions provide. But it never names the replacement tool the agent should use instead, so the routing guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_images_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboardSetImages (POST /v1/gameCenterLeaderboardSetImages) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only that this is a POST with a JSON:API body. It says nothing about authentication/permissions, what the image is attached to, whether the operation is reversible, or side effects. The deprecation note is the only real behavioral content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the phrase 'POST /v1/gameCenterLeaderboardSetImages (POST /v1/gameCenterLeaderboardSetImages)' is verbatim duplication that wastes the limited space. The [DEPRECATED] marker is correctly front-loaded, but the rest is machine-generated filler rather than a front-loaded purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation tool with no annotations, no output schema, and a fully opaque body schema, the description is too thin: it defers the entire payload shape to an external OpenAPI component and omits auth, response, and replacement-endpoint information. Deprecation plus a schema pointer is not enough for an agent to invoke this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'body' parameter, so the baseline is 3. The description's pointer to components.schemas.GameCenterLeaderboardSetImageCreateRequest is genuinely useful given the body schema is an empty additionalProperties object, but it merely duplicates what the property description already says, so it adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives an HTTP verb and path (POST /v1/gameCenterLeaderboardSetImages), which implies 'create a leaderboard set image', and the [DEPRECATED] flag adds a useful status signal. However, it never states the purpose in natural language and gives no differentiation from the v2 sibling (game_center_leaderboard_set_images_v2_create_instance), which a deprecation marker arguably should point toward.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Beyond the [DEPRECATED] tag there is no when-to-use or when-not-to-use guidance, no mention of a replacement endpoint, and no prerequisites. The deprecation warning implies 'avoid', but the agent is not told what to use instead, so routing remains ambiguous among the many game_center_leaderboard_set_images_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_images_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardSetImages/{id} (DELETE /v1/gameCenterLeaderboardSetImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing: no mention of irreversibility, required auth/permissions, cascading effects on the leaderboard set, or failure modes. The only behavioral hint is the DELETE verb plus the deprecation flag, both of which are already implied by the name or a single word.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire parenthetical '(DELETE /v1/gameCenterLeaderboardSetImages/{id})' duplicates the text immediately preceding it, which is pure waste. The deprecation flag is front-loaded, which is the one structural positive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations and no output schema, the description should at minimum flag irreversibility and point to the v2 successor. As written, an agent has only an HTTP verb and a path it could have derived from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) with 100% schema description coverage ('the id of the requested resource'), so the schema already does the work. The description adds no format, example, or sourcing hint for the id, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb (DELETE) and the resource path (gameCenterLeaderboardSetImages/{id}), so an agent can infer it deletes a leaderboard set image by id. However, it does not distinguish this from the sibling game_center_leaderboard_set_images_v2_delete_instance, and the name itself already carries the verb+resource, so it largely restates the identifier. The [DEPRECATED] marker is the only genuine added signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag implies 'avoid this tool', but the description never names the v2 replacement that exists in the sibling list nor states what conditions would still require the v1 endpoint. No when-to-use, when-not-to-use, or prerequisite guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_images_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboardSetImages/{id} (GET /v1/gameCenterLeaderboardSetImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboardSetImages | No | the fields to include for returned resources of type gameCenterLeaderboardSetImages | |
| fields_gameCenterLeaderboardSetLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardSetLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose two useful behavioral facts: the operation is a read ('GET') and the tool is '[DEPRECATED]'. It says nothing about auth requirements, error behavior, or what the response contains, leaving gaps for a getter with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, which is good. But the trailing '(GET /v1/... (GET /v1/...))' repeats the path twice, a redundant clause that does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated single-resource getter with full schema coverage and no output schema, the definition is minimally adequate. It omits the two things that would matter most here: a plain-language purpose and a pointer to the replacement tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the four parameters (id, include, fields_*) are already documented in the schema. The description adds no additional meaning about how include or fields should be used, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a GET (read) operation on the gameCenterLeaderboardSetImages resource by id, which is more specific than the bare name. However, it is expressed purely as a REST path with a redundant parenthetical duplicate and gives no plain-language statement of purpose or differentiation from the sibling v2 getter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers no when-to-use guidance and does not name the likely replacement (game_center_leaderboard_set_images_v2_get_instance). The '[DEPRECATED]' marker implies an agent should avoid it, but the description never says so explicitly or points to an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_images_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterLeaderboardSetImages/{id} (PATCH /v1/gameCenterLeaderboardSetImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is a PATCH (mutation) and that it is deprecated; it says nothing about required scopes, which fields are mutable, whether the change is reversible, or what happens to unmentioned fields. For a mutation with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the deprecation warning first, which is the most important fact. The redundant parenthetical repeating the same PATCH path verbatim is wasted space, keeping it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested, loosely-typed body object, no annotations, and no output schema. The description offloads the entire request shape to an external OpenAPI component and provides no replacement guidance, so an agent lacks enough context to invoke it confidently or to know it should not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id, body) are already documented in the schema. The description merely repeats the schema's pointer to components.schemas.GameCenterLeaderboardSetImageUpdateRequest without adding field-level meaning. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific HTTP verb and resource path (PATCH /v1/gameCenterLeaderboardSetImages/{id}), which uniquely identifies the operation against siblings. The [DEPRECATED] tag further distinguishes it from the live v2 update tool. It stops short of describing what the operation actually updates in business terms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker signals 'avoid this', but there is no explicit redirect to a replacement, even though game_center_leaderboard_set_images_v2_update_instance exists among the siblings. No when-to-use condition, 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.
game_center_leaderboard_set_images_v2_create_instanceC
POST /v2/gameCenterLeaderboardSetImages (POST /v2/gameCenterLeaderboardSetImages) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetImageV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetImageV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the whole burden, and it discloses nothing: not that this is a mutating write, not that the JSON:API envelope requires type/id/attributes, not upload/permission requirements or idempotency. It only echoes the endpoint signature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is repeated verbatim in parentheses, which is pure redundancy, and the only substantive content is deferred to an external reference rather than front-loaded. Not wasteful in length, but wasteful in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A complex JSON:API creation endpoint with no annotations, no output schema, and an opaque body needs the description to explain the envelope and required fields. Pointing at an external OpenAPI component by name is the bare minimum and leaves the agent unable to construct a valid call from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is an opaque free-form object (`additionalProperties: {}`), so the nominal 100% schema coverage conveys no actual field information. The description's only contribution is pointing at the external name components.schemas.GameCenterLeaderboardSetImageV2CreateRequest, which is a lookup the agent may not have and does not explain required attributes like file name/size.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb and resource path (POST /v2/gameCenterLeaderboardSetImages), from which an agent can infer that a new leaderboard set image is created. However, it never uses a plain-language verb like 'create' or says what the resource is; the intent is only recoverable by decoding the REST path and matching it against the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus game_center_leaderboard_set_images_v2_update_instance, v2_get_instance, or the v1 game_center_leaderboard_set_images_create_instance sibling. No prerequisites, no mention that an existing leaderboard set localization/image relationship is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_images_v2_delete_instanceC
DELETE /v2/gameCenterLeaderboardSetImages/{id} (DELETE /v2/gameCenterLeaderboardSetImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether deletion is permanent/irreversible, what permissions are required, what happens to the asset file, or what error a missing id produces. The word DELETE at least signals a destructive mutation, which is the only behavioral signal present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant — the same route string appears twice with no added information, and there is no front-loaded explanation of purpose. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, annotation-free tool with no output schema, the description should at minimum state irreversibility, prerequisites, or the resource's relationship to its parent leaderboard set. None of that is present, leaving the agent without the context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'id' parameter documented as 'the id of the requested resource'. The description adds no syntax, format, or meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw route restatement: 'DELETE /v2/gameCenterLeaderboardSetImages/{id}', duplicated verbatim in parentheses. It conveys the HTTP verb and resource path but adds no plain-language statement of what deleting this instance actually accomplishes, so it functions as a tautology of the tool name rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is offered on when to delete a leaderboard set image versus updating it (game_center_leaderboard_set_images_v2_update_instance) or deleting the v1 variant. An agent must infer all usage context 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.
game_center_leaderboard_set_images_v2_get_instanceC
GET /v2/gameCenterLeaderboardSetImages/{id} (GET /v2/gameCenterLeaderboardSetImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboardSetImages | No | the fields to include for returned resources of type gameCenterLeaderboardSetImages | |
| fields_gameCenterLeaderboardSetLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardSetLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The only behavioral signal is the implicit read-only nature of 'GET' in the path. It says nothing about authentication, permissions, whether the resource must exist, error behavior, or what the response contains for an image resource with upload state fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is a verbatim duplicate of the same path in parentheses — pure waste with zero front-loaded value. Brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource GET with no output schema and no annotations, the description should at least identify the resource and what the caller receives. Instead it provides only the route, leaving the agent to infer everything about the returned image resource and its relationships from the tool name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, fields_gameCenterLeaderboardSetImages, fields_gameCenterLeaderboardSetLocalizations) are documented in the schema with descriptions and enums. The description adds no parameter meaning beyond the schema, which is the baseline 3 case when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the endpoint path 'GET /v2/gameCenterLeaderboardSetImages/{id}', duplicated in parentheses. It does not name the resource in human terms (a Game Center leaderboard set image) or state what retrieving it accomplishes, so it functions as a tautology of the tool name rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever about when to use this tool versus siblings such as game_center_leaderboard_set_images_get_instance (the non-v2 variant), game_center_leaderboard_set_images_v2_create_instance, or the update/delete siblings. Nothing indicates prerequisites, ID provenance, or when to prefer v2 over v1.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_images_v2_update_instanceC
PATCH /v2/gameCenterLeaderboardSetImages/{id} (PATCH /v2/gameCenterLeaderboardSetImages/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetImageV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetImageV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it says nothing about what fields can be modified, whether the operation is reversible, or what the response looks like. The only content beyond the path is a pointer to an OpenAPI schema the agent cannot read, which is minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the PATCH path is duplicated verbatim inside parentheses, which is pure waste, and the useful information (a schema pointer) is buried. Front-loading is acceptable but the redundancy costs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API envelope body, the description is far too thin. Delegating the body contract to an OpenAPI component the agent cannot access leaves the invocation under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline is 3. The description adds no meaning beyond restating the body shape reference already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description effectively restates the HTTP verb and resource path (PATCH /v2/gameCenterLeaderboardSetImages/{id}), which does convey that this modifies a Game Center leaderboard set image. However, it offers no plain-language statement of intent and no differentiation from the many sibling v2 image tools (create/get/delete). It is identifiable but not illuminating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update tool versus create, get, or delete counterparts, and no mention of prerequisites such as required permissions or resource state. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboardSetLocalizations (POST /v1/gameCenterLeaderboardSetLocalizations) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it says nothing about auth requirements, mutation side effects, or rate limits. It does disclose the deprecation and points to the request envelope schema, but that is far short of what a create-instance tool needs to convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the [DEPRECATED] flag, which is the most important signal. However, it wastes half its length restating the same HTTP path twice instead of using that space for substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-object create tool with no annotations and no output schema, the description omits nearly everything an agent would need: what the resource represents, expected response, and the migration path. Only the deprecation status and a schema pointer are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single body parameter, so the baseline is 3; the description's pointer to components.schemas.GameCenterLeaderboardSetLocalizationCreateRequest is useful orientation but adds no field-level meaning beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the POST path twice and names the schema, but never explains what a leaderboard set localization is or how this create differs from siblings like game_center_leaderboard_set_localizations_v2_create_instance. The only distinguishing content is the [DEPRECATED] tag, which is metadata rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
[DEPRECATED] signals the agent should probably avoid this tool, which is a weak usage hint, but the description never names the recommended replacement (the v2 sibling) or states any condition for when this call is still appropriate. No prerequisites or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardSetLocalizations/{id} (DELETE /v1/gameCenterLeaderboardSetLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. Deletion is irreversible and cascading effects, required permissions, and whether dependent localizations/leaderboards are affected are all unstated; the HTTP verb alone is the only behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short and the deprecation notice is front-loaded, but the path is duplicated verbatim in parentheses, which is pure redundancy rather than earned content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, deprecated endpoint with no annotations and no output schema, the description is a stub: it never confirms irreversibility, deprecation replacement, or required permissions, leaving an agent without the context needed to invoke it responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already documents it and the description adds nothing beyond it. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb and the exact resource path (DELETE /v1/gameCenterLeaderboardSetLocalizations/{id}), so the operation is identifiable, but it is essentially a restatement of the tool name in path form and does nothing to distinguish it from the many sibling delete/localization endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] tag, which does warn the agent, but there is no statement of when this should be used versus the v2 variant (game_center_leaderboard_set_localizations_v2_delete_instance) or the parent collection tool, and no preconditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboardSetLocalizations/{id} (GET /v1/gameCenterLeaderboardSetLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardSetImages | No | the fields to include for returned resources of type gameCenterLeaderboardSetImages | |
| fields_gameCenterLeaderboardSetLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardSetLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it only flags deprecation. It says nothing about whether the deprecation means removal, permission requirements, or how the include/fields parameters affect the response payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the deprecation notice is front-loaded, but the path is printed twice verbatim, which is pure waste and no information beyond the first mention.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents the five parameters, so the main gap is the absence of an output schema combined with no description of the returned resource shape or how deprecation affects callers. The description does at least supply the one thing structured data lacks: the deprecated status.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (id, include, three fields_* sparse fieldset filters) is documented in the schema itself. The description adds no parameter meaning beyond that, which is the baseline case for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP path (GET /v1/gameCenterLeaderboardSetLocalizations/{id}) duplicated in parentheses, which conveys that it fetches a single leaderboard-set localization by id. That is essentially a restatement of the tool name rather than a distinct statement of purpose, but the [DEPRECATED] tag adds information an agent would not otherwise have.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is a meaningful 'don't use' signal, but no successor tool or migration path is named, and there is no guidance on when fetching a localization versus using the collection/parent endpoints among the many game_center_leaderboard_set_localizations* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_image_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardSetLocalizations/{id}/relationships/gameCenterLeaderboardSetImage (GET /v1/gameCenterLeaderboardSetLocalizations/{id}/relationships/gameCenterLeaderboardSetImage)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it only discloses deprecation status. It does not state that this returns resource-linkage identifiers rather than full image objects (the distinction between the _relationship and _related siblings), nor say anything about permissions, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and the deprecation warning is front-loaded, which is good. But the body is a verbatim duplication of the same path string twice, so the character count is spent on redundancy rather than on information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only one vaguely-described parameter, the description should explain what the relationship endpoint returns and what to use instead now that it is deprecated. Neither is present, leaving the agent unable to decide whether calling it is even worthwhile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter, 'id', documented in the schema as 'the id of the requested resource', and schema coverage is 100%. The description adds nothing about what kind of id is expected (localization id vs. image id) — a real ambiguity in a relationship endpoint — so it neither compensates nor detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name re-expanded into an HTTP path plus the same path in parentheses, so it restates the name rather than explaining purpose. It does add the material fact that the tool is DEPRECATED, but an agent learns nothing about what a 'leaderboard set localization image relationship' fetch actually yields that the name did not already imply.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag implies 'prefer something else' but names no replacement, despite siblings such as game_center_leaderboard_set_localizations_v2_image_get_to_one_relationship and game_center_leaderboard_set_localizations_image_get_to_one_related being the obvious candidates. No when-to-use or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterLeaderboardSetLocalizations/{id} (PATCH /v1/gameCenterLeaderboardSetLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It discloses that this is a PATCH (mutation) and that it is deprecated, which is useful, but says nothing about auth requirements, what fields are replaced vs preserved, reversibility, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entry is short and leads with the important DEPRECATED flag, but the endpoint path is duplicated verbatim inside the parentheses, which is pure noise, and the body-shape pointer is a circular reference to the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated, potentially destructive mutation tool with no annotations and no output schema, the description is thin: the request body shape is deferred to an external OpenAPI component rather than summarized, and no behavior about the update is given. Only the deprecation status makes it actionable at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there are only two parameters, so the schema already documents 'id' and 'body'. The description only points back to the same OpenAPI component the schema already references, adding no new parameter meaning. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb (PATCH) and a resource (gameCenterLeaderboardSetLocalizations/{id}), so an agent can infer this mutates a localization by id. But it is a machine-oriented method+path string rather than a plain statement of what is being updated, and it does nothing to distinguish itself from the equally named v2 sibling or the create/get/delete instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is a real routing signal, but the description names no replacement and gives no condition for choosing this tool over game_center_leaderboard_set_localizations_v2_update_instance or any other sibling. An agent is left to guess what to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_v2_create_instanceC
POST /v2/gameCenterLeaderboardSetLocalizations (POST /v2/gameCenterLeaderboardSetLocalizations) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetLocalizationV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetLocalizationV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only reveals that this is a body-carrying POST mutation. It says nothing about required auth, required relationships (e.g. the parent leaderboard set version), side effects, or validation rules. The lone positive is signaling the operation is a create via POST.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but structurally wasteful: the same route is printed twice, once bare and once in parentheses. No information is front-loaded beyond the path, and the duplicated segment earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation whose body is a nested JSON:API envelope, with no annotations and no output schema, the description should explain the envelope requirements and creation prerequisites. Instead it defers entirely to the external OpenAPI spec, leaving the agent without the context needed to construct a valid request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single body parameter is documented in the schema), so the baseline is 3. The description's pointer to components.schemas.GameCenterLeaderboardSetLocalizationV2CreateRequest duplicates the schema's own description and adds no new meaning about the JSON:API envelope contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route (POST /v2/gameCenterLeaderboardSetLocalizations) and repeats it verbatim in parentheses. It never says in plain language that it creates a localization record for a Game Center leaderboard set; the meaning is carried entirely by the tool name. This is essentially a tautology of the name/route.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as game_center_leaderboard_set_localizations_v2_update_instance, _v2_delete_instance, or the v1 game_center_leaderboard_set_localizations_create_instance. No prerequisites, no exclusions, no context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_v2_delete_instanceC
DELETE /v2/gameCenterLeaderboardSetLocalizations/{id} (DELETE /v2/gameCenterLeaderboardSetLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'DELETE' signals a destructive mutation, but nothing is said about irreversibility, cascading effects on related resources, required permissions, or error behavior on a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the same path is printed twice (once bare, once in parentheses), which is pure redundancy rather than earned brevity. The text is minimal because it is under-specified, not because it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description should at minimum say what is deleted and what the caller gets back. It supplies neither, leaving the agent with only the endpoint signature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'id' parameter is already documented in the schema as 'the id of the requested resource'. The description adds no format, type, or sourcing detail beyond the path template, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb (DELETE) and a resource path (gameCenterLeaderboardSetLocalizations/{id}), so an agent can tell it removes a Game Center leaderboard set localization. However, it is essentially the tool name restated in HTTP form, with no differentiation from the many sibling delete tools (e.g. game_center_leaderboard_set_localizations_delete_instance, the non-v2 variant).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the v1/v2 alternatives that exist in the sibling list. The agent must infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_v2_get_instanceC
GET /v2/gameCenterLeaderboardSetLocalizations/{id} (GET /v2/gameCenterLeaderboardSetLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterLeaderboardSetImages | No | the fields to include for returned resources of type gameCenterLeaderboardSetImages | |
| fields_gameCenterLeaderboardSetVersions | No | the fields to include for returned resources of type gameCenterLeaderboardSetVersions | |
| fields_gameCenterLeaderboardSetLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardSetLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The GET path implies a read-only retrieval, but there is no disclosure of permissions, error behavior, relationship inclusion effects, or what the response represents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is duplicated verbatim in parentheses, so part of the text does not earn its place. It is also a raw path rather than a structured, front-loaded explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should provide more context about the retrieved localization resource and its optional include/fields behavior. The schema covers parameters, but the description leaves the operation semantically underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents the id, include, and fields parameters thoroughly. The description adds no parameter meaning beyond echoing the path parameter, which meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only repeats the raw endpoint path and duplicates it in parentheses, so it functions as a restatement of the tool name rather than a plain-language explanation of what is retrieved. It does show GET and an {id} placeholder, but does not clarify the resource's semantic purpose or distinguish it from sibling localization tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this single-resource GET versus sibling tools, nor any prerequisites or exclusions. The endpoint alone does not tell an agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_v2_image_get_to_one_relationshipD
GET /v2/gameCenterLeaderboardSetLocalizations/{id}/relationships/image (GET /v2/gameCenterLeaderboardSetLocalizations/{id}/relationships/image)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the bare GET verb implying read-only access. It does not say what is returned, whether it requires auth, or how it differs from the 'related' variant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise: it duplicates the same URL string twice in parentheses with zero informational content added. It is under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description provides nothing an agent needs: no return shape, no relationship semantics, no distinction from the parallel 'related' sibling. It is effectively empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' parameter with 100% schema description coverage, so the schema already documents it fully. The description adds no format or semantic detail beyond the path placeholder, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path restated twice verbatim, which is a tautology of the tool name rather than a plain-language statement of purpose. An agent can infer it reads the image relationship of a gameCenterLeaderboardSetLocalization, but only by decoding the URL, not from any explanatory prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the obvious alternative sibling game_center_leaderboard_set_localizations_v2_image_get_to_one_related (the 'related' vs 'relationship' pair). Nothing helps the agent choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_localizations_v2_update_instanceC
PATCH /v2/gameCenterLeaderboardSetLocalizations/{id} (PATCH /v2/gameCenterLeaderboardSetLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetLocalizationV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetLocalizationV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only the HTTP verb PATCH (implying a partial update) and points to an external OpenAPI component for the body envelope, but says nothing about required permissions, reversibility of the change, whether unspecified fields are preserved or cleared, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, short sentence, which is appropriately sized, but the path is duplicated verbatim in parentheses ('PATCH /v2/... (PATCH /v2/...)'), which is pure waste and suggests the text was auto-generated without editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested free-form body object, no annotations, and no output schema, the description is thin. It defers the entire body shape to an OpenAPI component that is not embedded in the tool definition, leaving the agent without actionable field-level detail for a required write payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both id and body are documented in the schema), so baseline is 3. The description's reference to components.schemas.GameCenterLeaderboardSetLocalizationV2UpdateRequest adds only a marginal pointer beyond what the body property description already states, and it does not enumerate or clarify any body fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives an HTTP method and resource path (PATCH /v2/gameCenterLeaderboardSetLocalizations/{id}), which tells an agent the operation targets a leaderboard-set-localization record, but it is essentially a restatement of the endpoint rather than a stated business purpose. It never says in plain terms that it updates an existing localization's fields, and offers no differentiation from siblings like game_center_leaderboard_set_localizations_v2_create_instance or the v2_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites (e.g., that an id must come from a prior get/collection call), and no indication of when the v2 update is preferred over other localization tools. The only implied usage is derived from the method name PATCH.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_member_localizations_create_instanceC
POST /v1/gameCenterLeaderboardSetMemberLocalizations (POST /v1/gameCenterLeaderboardSetMemberLocalizations) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetMemberLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetMemberLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses almost nothing: no auth requirements, no side effects, no idempotency, no note about the JSON:API envelope constraints beyond a pointer to an external schema. The only added value is naming the request schema, which is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the first sentence redundantly repeats the path twice, and the second sentence defers entirely to external OpenAPI docs. Some economy, but the content does not earn much beyond the endpoint identifier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create mutation with no annotations and no output schema, so the description should convey what gets created and the shape/constraints of the request. Instead it offloads everything to an OpenAPI schema reference, leaving the agent without actionable context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'body' parameter, so the baseline is 3. The description reinforces that the body follows the GameCenterLeaderboardSetMemberLocalizationCreateRequest envelope, but adds no field-level meaning beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and endpoint path ('POST /v1/gameCenterLeaderboardSetMemberLocalizations'), which is essentially a machine-readable echo of the tool name rather than a domain-level statement of what is created. It never explains in human terms that it creates a localization for a Game Center leaderboard set member, and it distinguishes nothing from siblings like update_instance, delete_instance, or get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this create endpoint versus its update/delete/get siblings in the same resource family. The agent must infer from the name alone that this is the creation path and cannot tell what prerequisites or context make it appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_member_localizations_delete_instanceC
DELETE /v1/gameCenterLeaderboardSetMemberLocalizations/{id} (DELETE /v1/gameCenterLeaderboardSetMemberLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The bare DELETE verb at least signals a destructive operation, but it says nothing about what is removed, whether dependent localizations cascade, permission requirements, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded with the verb and route, but the parenthetical repetition of the identical path is pure waste that earns nothing. Size is fine; redundancy is the flaw.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation on a nested Game Center resource with no annotations and no output schema, the description should at minimum explain what deleting this localization does. Instead it offers nothing an agent can act on beyond the endpoint string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required parameter (id), already documented in the schema as "the id of the requested resource". The description adds no meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route "DELETE /v1/gameCenterLeaderboardSetMemberLocalizations/{id}" repeated verbatim in parentheses. It conveys no purpose beyond what the tool name already states (delete_instance), making it a tautology rather than an explanation of what the tool does or which resource it targets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling delete tools (e.g. game_center_leaderboard_set_localizations_delete_instance, game_center_leaderboard_set_member_localizations_update_instance). Nothing helps an agent decide when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_member_localizations_get_collectionD
GET /v1/gameCenterLeaderboardSetMemberLocalizations (GET /v1/gameCenterLeaderboardSetMemberLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_gameCenterLeaderboard | No | filter by id(s) of related 'gameCenterLeaderboard' | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| filter_gameCenterLeaderboardSet | No | filter by id(s) of related 'gameCenterLeaderboardSet' | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardSetMemberLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardSetMemberLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about pagination, filtering semantics, authentication requirements, or the shape of the result, leaving all behavioral traits undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the two parenthetical halves are identical, so the text wastes its single sentence duplicating itself rather than front-loading any useful purpose or scope information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter collection endpoint with no output schema and no annotations, the description should at minimum describe what is returned and how filtering works. It provides none of that, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 7 well-described parameters (limit, include, filters, fields), so the schema does the heavy lifting. The description adds no parameter meaning of its own, which is the baseline-3 case when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP endpoint path repeated twice, which restates the tool name rather than explaining what the tool does. An agent can only infer 'list leaderboard set member localizations' from the name itself, not from the description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no differentiation from the many sibling collection tools. Nothing tells an agent why it would call this instead of a related localization endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_member_localizations_leaderboard_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboard (GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboard)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses deprecation, which is useful, but says nothing about what is actually returned (a relationship linkage object, not the full leaderboard resource), permission/auth requirements, or any rate limits. For a relationship endpoint whose return shape is the main gotcha, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The GET path is stated twice — once bare and once inside parentheses — with the parenthetical adding no new information. Only the [DEPRECATED] tag earns its place; the duplicated path is pure waste in an otherwise very short description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No annotations and no output schema, so the description must explain the return shape and the linkage-vs-related distinction itself, and it does neither. An agent cannot tell from this text whether it gets relationship linkage or the full related resource, nor what the singleton object contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter ('the id of the requested resource'), so the schema already does the work. The description adds no format, type, or sourcing guidance for the id beyond the path template. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a REST path restatement (GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboard) with a DEPRECATED tag. It encodes the verb (GET) and resource, so an agent can infer it fetches a relationship linkage, but it never says this in prose. It does not distinguish itself from the near-identical sibling game_center_leaderboard_set_member_localizations_game_center_leaderboard_get_to_one_related, which is the critical JSON:API linkage-vs-resource distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] prefix is a genuine usage signal warning the agent away, which is more than most siblings offer. However, it names no replacement and gives no condition for when the legacy call is still required. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_member_localizations_set_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboardSet (GET /v1/gameCenterLeaderboardSetMemberLocalizations/{id}/relationships/gameCenterLeaderboardSet)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The GET path and '[DEPRECATED]' tag are genuine behavioral signals (read-only, avoid), but there is no mention of auth requirements, pagination/limit behavior, error semantics, or what deprecation implies operationally. Minimal disclosure beyond the URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short, but the content is duplication: the same URI is printed twice with only a '[DEPRECATED]' prefix differentiating them. No waste in length, but no information gain either — the second half of the string earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A deprecated endpoint with no annotations and no output schema needs the description to at least point at a replacement and describe the response shape. It does neither, leaving an agent unable to act on the deprecation or interpret the return payload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single required 'id' parameter that the schema fully documents as 'the id of the requested resource'. Per the baseline rule for high coverage, 3 is correct — the description adds nothing but nothing is missing either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the raw endpoint path twice (once with [DEPRECATED] prefixed), which is essentially a tautology against the tool name. It does convey that this is a Game Center leaderboard-set-member-localization relationship lookup, but offers no plain-language verb+resource statement, and the deprecation marker is the only distinct semantic content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' tag signals the tool should not be used, yet nothing tells the agent what to use instead — despite many plausible alternatives in the sibling list (e.g. game_center_leaderboard_set_member_localizations_set_get_to_one_related). No when-to-use, no prerequisites, no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_member_localizations_update_instanceC
PATCH /v1/gameCenterLeaderboardSetMemberLocalizations/{id} (PATCH /v1/gameCenterLeaderboardSetMemberLocalizations/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetMemberLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetMemberLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the PATCH method, which implies a partial update, and points to an external body schema. However, it says nothing about required permissions, idempotency, side effects, error behavior, or what happens to unspecified fields. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the endpoint, but it duplicates the PATCH path in parentheses, which is wasted space. The single external schema reference is compact but does not make the definition self-contained or especially useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is incomplete. It points to an external OpenAPI schema for the body shape but does not explain the JSON:API envelope, required fields, response behavior, or operational context. It cannot stand on its own for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only that the request body follows the OpenAPI components.schemas.GameCenterLeaderboardSetMemberLocalizationUpdateRequest shape, which mirrors the schema's own reference and does not add meaning beyond what is already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the HTTP endpoint and method from the tool name: 'PATCH /v1/gameCenterLeaderboardSetMemberLocalizations/{id}'. It does not state in plain language what resource is being updated or what the operation accomplishes. An agent can infer 'update' from PATCH and the name, but the description itself adds little semantic clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, when not to use it, or how it relates to sibling tools such as get, create, or delete instance operations for the same resource. No prerequisites, permissions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_releases_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboardSetReleases (POST /v1/gameCenterLeaderboardSetReleases) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetReleaseCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetReleaseCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the important DEPRECATED status and that it is a POST (a mutation), but says nothing about what gets created, required permissions, idempotency, error behavior, or the response. For a write operation with zero annotation coverage, this is a substantial gap, partially offset only by the deprecation warning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the DEPRECATED marker, but the endpoint path is needlessly repeated twice in parentheses, wasting space. Structure is acceptable but not tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create-instance tool with a nested JSON:API envelope body, no annotations, and no output schema, the description is inadequate. It offloads the entire request shape to an unreachable OpenAPI component and omits any explanation of the JSON:API envelope structure an agent would need to build a valid body.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter with 100% schema description coverage, so the schema already documents it, giving a baseline of 3. The description merely defers to 'components.schemas.GameCenterLeaderboardSetReleaseCreateRequest', an external reference the agent cannot resolve, adding no field-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the endpoint (POST /v1/gameCenterLeaderboardSetReleases), from which an agent can infer it creates a leaderboard set release, and the name reinforces this. However, it never states the action in prose and does not distinguish itself from siblings like game_center_leaderboard_set_releases_get_instance or delete_instance beyond the raw path. Purpose is inferable but mechanical rather than clearly articulated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only signal is the [DEPRECATED] tag, which warns against use but provides no pointer to a replacement sibling. There is no guidance on when to create a release versus retrieving or deleting one, nor any prerequisites. The agent is left to guess whether the tool should be called at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_releases_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardSetReleases/{id} (DELETE /v1/gameCenterLeaderboardSetReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. DELETE implies a destructive, likely irreversible mutation, but the description says nothing about permissions, whether the deletion cascades, whether it is idempotent, or what a failure looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint string is printed twice verbatim, which is pure redundancy. What remains is a single deprecation tag plus a duplicated URI, with no front-loaded explanation of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, deprecated, zero-annotation delete tool, the description omits almost everything an agent needs: replacement guidance, safety profile, and effect. Only the deprecation flag and the raw route are present, which is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema, so the baseline is 3. The description adds no meaning beyond restating the {id} placeholder in the URI template.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs the HTTP verb DELETE with the concrete resource path /v1/gameCenterLeaderboardSetReleases/{id}, so an agent can tell it removes a leaderboard set release. However, it is essentially the tool name restated in URI form rather than a plain-language statement of effect, and it does not clarify what a 'leaderboard set release' is among the many game_center_leaderboard_set_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker is genuine when-not-to-use guidance, which most sibling delete tools lack. But it names no replacement tool or migration path, so an agent knows to avoid it without knowing what to call instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_releases_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboardSetReleases/{id} (GET /v1/gameCenterLeaderboardSetReleases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardSetReleases | No | the fields to include for returned resources of type gameCenterLeaderboardSetReleases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses deprecation, which is genuinely useful, but says nothing about authentication, whether the resource is readable, pagination, or error behavior for a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The DEPRECATED flag is usefully front-loaded, but the path is printed twice in parentheses ('GET /v1/... (GET /v1/...)'), which is pure redundancy with no informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id with full schema coverage and no output schema, the endpoint identification is adequate. The gap is that a deprecated tool is flagged without any migration path or explanation of why it is deprecated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters including the id, include, and fields_* selectors. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a verb (GET) and a resource path with an {id} placeholder, so an agent can infer it retrieves a single leaderboard set release by ID. However, this is largely a restatement of the tool name, and it offers no differentiation from the many sibling get_instance tools. The only added signal is the DEPRECATED marker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The DEPRECATED tag implies the tool should be avoided, but it does not point to a replacement, leaving the agent without a routing decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_create_instanceC
[DEPRECATED] POST /v1/gameCenterLeaderboardSets (POST /v1/gameCenterLeaderboardSets) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys only that this is a POST (a mutation) and is deprecated; it says nothing about authentication requirements, whether creation is one-shot or retryable, what side effects occur, or what the JSON:API envelope must contain beyond an opaque schema name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single, short, front-loaded sentence with the deprecation warning first, which is the right priority. It wastes a few words by repeating the POST path verbatim inside the parentheses.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a free-form JSON:API body, no output schema, and no annotations, the description omits too much: what the request envelope requires, the replacement for the deprecated endpoint, and any behavioral expectations. An agent would be guessing at the body structure and at whether to use this tool at all.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is a single 'body' parameter whose schema description already points at components.schemas.GameCenterLeaderboardSetCreateRequest. The description repeats that same pointer with no additional syntax, required fields, or envelope structure guidance, so it adds nothing over the schema — the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description supplies only the HTTP verb and path ('POST /v1/gameCenterLeaderboardSets'), leaving the agent to infer that this creates a Game Center leaderboard set. It never states the purpose in plain language and does not distinguish this endpoint from the many sibling create tools (e.g. game_center_leaderboard_sets_v2_create_instance), which the DEPRECATED tag makes its closest competitor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' prefix is a genuine when-not-to-use signal and is the most useful thing here. However, it does not name the replacement (game_center_leaderboard_sets_v2_create_instance) or state any prerequisites, so the agent must still search the sibling list to find the recommended alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_delete_instanceC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardSets/{id} (DELETE /v1/gameCenterLeaderboardSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the substantive behavioral fact that the endpoint is deprecated (likely to be removed, a successor exists), which materially affects tool selection, but it says nothing about irreversibility, permission requirements, or cascading effects on related leaderboards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, but the parenthetical repeats the identical path string verbatim, which is pure redundancy. The text is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, deprecated endpoint with no annotations and no output schema, the description omits the successor tool, the consequences of deletion, and any prerequisite context. An agent has enough to invoke it mechanically but not enough to decide whether it should.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single required 'id' parameter, so the schema already documents it fully. The description adds no format, sourcing, or constraint detail beyond what is in the schema, which is the expected baseline here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name in HTTP form: DELETE on /v1/gameCenterLeaderboardSets/{id}. The verb and resource are unambiguous, but it adds no scope or differentiation from the many sibling delete tools, notably game_center_leaderboard_sets_v2_delete_instance, which is never mentioned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] tag, which implies 'avoid this' but never says so explicitly, names no replacement, and gives no conditions for legitimate use. An agent must infer the alternative from the sibling list on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_game_center_leaderboards_create_to_many_relationshipC
[DEPRECATED] POST /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (POST /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only discloses deprecation. It does not say whether this is additive or replacing, what permissions/auth are required, whether the change is reversible, or what the JSON:API body must contain beyond a pointer to the OpenAPI schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim inside the parentheses, which is pure redundancy, and the deprecation notice sits in a bracket rather than leading. There is no waste beyond that, but also no front-loading of the actionable fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, nested-body relationship tool with no annotations and no output schema, the description is thin: it omits the relationship semantics (additive), the deprecation replacement, and any success/failure behavior. An agent cannot confidently choose this over the v2 or replace siblings from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description only repeats the schema's pointer to components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest and adds no format, cardinality, or id-semantics detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The HTTP method and path (POST /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards) do convey the operation: attaching Game Center leaderboards to a leaderboard set. However, it is a mechanical endpoint echo rather than a stated purpose, and it never distinguishes itself from close siblings such as the v2 equivalent or the replace_to_many variant. The most informative element is the DEPRECATED tag, not the purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is '[DEPRECATED]', which implies the agent should avoid it, but the description never names the replacement (the v2 create_to_many_relationship sibling) or any precondition for use. There is no explicit when-to-use or 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.
game_center_leaderboard_sets_game_center_leaderboards_delete_to_many_relationshipC
[DEPRECATED] DELETE /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (DELETE /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses deprecation status, which is genuinely useful, but says nothing about what the mutation destroys, whether it is reversible, what permissions are required, or that it edits linkages rather than the underlying leaderboards. Annotation Contradiction not present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loading [DEPRECATED] is good, but the endpoint string is duplicated verbatim inside parentheses, which is wasted space. The remaining sentence is a pointer to an external schema rather than self-contained information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive-to-many relationship mutation with no annotations and no output schema, the description is too thin. It never explains the effect of the delete, the response, or the deprecation path forward; only the body-shape pointer is offered, which the schema already provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description points at components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest for the body, which matches what the schema already documents; no additional syntax or semantics are added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP endpoint and its operation (DELETE of a to-many relationship), which is essentially the tool name spelled out. It does carry the meaningful signal that the operation is deprecated, but it never states in plain language what the tool accomplishes (removing link entries between a leaderboard set and its leaderboards).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the sibling create/replace/get_to_many variants. The [DEPRECATED] tag hints the tool should be avoided but never names the replacement (e.g. the v2 equivalent), so the agent learns nothing actionable about routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_game_center_leaderboards_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (GET /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses deprecation, which is a genuinely useful behavioral trait, but says nothing about pagination behavior despite a `limit` parameter, nor about authentication, ordering, or the shape of results. The GET path only weakly implies read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it is not efficiently structured: the same endpoint path is written twice (once bare, once in parentheses), which is pure redundancy. Only the [DEPRECATED] prefix earns its place; the rest is duplicated raw path data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-relationship tool with full schema coverage and no output schema, the description still omits what the relationship fetch returns (a list of related leaderboard identifiers) and what a caller should use instead of this deprecated endpoint. Given the sheer number of near-identical sibling relationship tools, that omission matters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both `id` and `limit` documented in the schema itself, so the baseline is 3. The description adds no parameter meaning whatsoever (no format of `id`, no default or max for `limit`), so it neither helps nor hurts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw endpoint path repeated twice, with no plain-language statement of what the tool returns. The GET verb and the resource path do imply 'fetch the gameCenterLeaderboards relationships of a leaderboard set', and the [DEPRECATED] marker is real information, but an agent gets no human-readable purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The [DEPRECATED] tag implies the agent should look for a replacement, but the description never names one, even though sibling tools such as game_center_leaderboard_sets_v2_game_center_leaderboards_get_to_many_relationship exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_game_center_leaderboards_replace_to_many_relationshipC
[DEPRECATED] PATCH /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (PATCH /v1/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetGameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses deprecation, which is genuinely useful, and points to the body schema, but it never states that this is a destructive full replacement of the relationship set, nor mentions auth or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the PATCH path is duplicated verbatim inside the parentheses for no reason, and the OpenAPI schema reference assumes outside knowledge. Front-loading the deprecation is good, but the duplicated clause wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-style relationship-replace tool with no annotations and no output schema, the definition is too thin. It omits what existing linkages are replaced, what the body must contain conceptually, and any auth or error expectations an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both id and body documented. The description adds only a pointer to the OpenAPI linkage-request schema name, which restates the schema's own description rather than adding syntax or format detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The path and verb do identify the resource relationship and the PATCH operation, and the [DEPRECATED] tag adds a distinct signal, but the description never states in plain language that it replaces the full set of leaderboards linked to a leaderboard set. It largely restates the endpoint rather than explaining the effect, so purpose is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker hints the tool should be avoided, but no replacement tool or condition is named. Siblings like create/delete/get_to_many_relationship exist, yet nothing explains when replace is appropriate versus those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboardSets/{id} (GET /v1/gameCenterLeaderboardSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_releases | No | maximum number of related releases returned (when they are included) | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| limit_gameCenterLeaderboards | No | maximum number of related gameCenterLeaderboards returned (when they are included) | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardSetReleases | No | the fields to include for returned resources of type gameCenterLeaderboardSetReleases | |
| fields_gameCenterLeaderboardSetLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardSetLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose deprecation status, which is genuine behavioral context, but it says nothing about what deprecation means for the caller, whether the endpoint still returns data, authentication needs, or pagination of the included relationships.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation flag, which is the most decision-relevant fact. However, the parenthetical repeats the identical path string verbatim, which is pure waste and suggests the description was generated rather than written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters, no output schema, and no annotations, a retrieval tool needs the description to explain what is returned and how included relationships behave. The description supplies none of that, leaving only the deprecation note as a signal, which is not enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 11 parameters (id, include, limit_*, fields_*), so the schema itself documents each one. The description adds no parameter meaning whatsoever, which is the baseline expectation when the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw REST path ("GET /v1/gameCenterLeaderboardSets/{id}") that restates the tool name in URL form rather than stating a purpose. It conveys only that a leaderboard set is fetched by id, and does nothing to distinguish this deprecated v1 endpoint from siblings like game_center_leaderboard_sets_v2_get_instance or game_center_leaderboard_sets_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the bracketed "[DEPRECATED]", which implies the tool should be avoided but never says which alternative to use (presumably the v2 sibling) or whether it still functions. There is no explicit when-to-use or when-not-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_group_leaderboard_set_get_to_one_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardSets/{id}/relationships/groupLeaderboardSet (GET /v1/gameCenterLeaderboardSets/{id}/relationships/groupLeaderboardSet)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose the deprecation status, which is genuine value an agent needs, but omits that this is a linkage/relationship fetch (identifiers only) versus a resource fetch, and says nothing about auth or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
[DEPRECATED] is correctly front-loaded, but the remainder duplicates the identical path twice (once bare, once in parentheses), which is pure redundancy rather than useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter relationship endpoint with no annotations and no output schema, the agent still lacks the key semantic distinction between the relationship and related variants, and no replacement for the deprecated path is offered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required 'id' parameter with 100% schema description coverage, so the schema already documents it fully. The description adds no meaning beyond the schema, which is the expected baseline here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name expanded into an HTTP verb plus path, so it restates the name rather than explaining what data comes back. It does not distinguish this relationship endpoint from its sibling game_center_leaderboard_sets_group_leaderboard_set_get_to_one_related, which fetches the same linkage differently.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usable guidance is the [DEPRECATED] tag, which usefully signals the agent should avoid this call. However, it names no replacement and gives no condition under which the deprecated endpoint is still acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_group_leaderboard_set_update_to_one_relationshipC
[DEPRECATED] PATCH /v1/gameCenterLeaderboardSets/{id}/relationships/groupLeaderboardSet (PATCH /v1/gameCenterLeaderboardSets/{id}/relationships/groupLeaderboardSet) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetGroupLeaderboardSetLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetGroupLeaderboardSetLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that this is a PATCH (a mutation on a relationship) and that it is deprecated, but says nothing about permissions, reversibility, side effects, or how replacing the linkage affects existing data. For a zero-annotation mutation endpoint, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The deprecation flag is correctly front-loaded, and the body-shape pointer is useful. However, the endpoint path is duplicated verbatim inside parentheses, which is pure waste. The sentence is short but one of its three clauses earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage and no output schema, the description need not explain return values, and it does cover the path, DEDEPRECATED status, and body reference. What is missing is any statement of the operational meaning of replacing a relationship or the migration guidance implied by the deprecation, leaving it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented in the schema. The description only points to the OpenAPI components.schemas reference for the body envelope, adding navigational value but no syntax or semantic detail beyond what the schema supplies. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and full endpoint path for updating the groupLeaderboardSet to-one relationship, which does identify a specific operation. However, it never states the semantic act in plain language beyond mirroring the tool name, and the redundant path repetition adds no clarity. It is enough to distinguish from the sibling get_to_one_relationship, but only barely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] tag is a meaningful usage signal telling the agent to prefer a non-deprecated alternative, which is more than most siblings provide. But it names no replacement tool and gives no conditions for when the call is still appropriate, leaving the agent to infer the migration path among the many v2 siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_localizations_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardSets/{id}/relationships/localizations (GET /v1/gameCenterLeaderboardSets/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, yet it only flags deprecation. It says nothing about authentication requirements, whether the relationship returns identifiers vs full resources, or pagination behavior despite a 'limit' parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is short but wasteful: the same HTTP path is printed twice (once in parentheses, once in brackets), adding nothing. The deprecation signal is buried inside bracket noise rather than front-loaded as a plain warning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no output schema and full schema coverage of inputs, the description should at least state what the relationship yields and note pagination. It conveys only the endpoint path and a deprecation flag, leaving the agent without the context needed to confidently choose or invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds no parameter syntax, format, or default-value detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP path, duplicated twice within the same string. It does convey 'GET the localizations relationship of a game center leaderboard set' via the URL, but that is a tautological restatement of the name rather than an explanation of the operation in plain terms. The only genuinely new information is the [DEPRECATED] marker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the many sibling relationship endpoints (e.g. game_center_leaderboard_sets_localizations_get_to_many_related, or the v2 variant). The [DEPRECATED] tag is a weak negative signal steering the agent away, but it names no replacement, leaving the agent to infer what to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboardSets/{id}/relationships/releases (GET /v1/gameCenterLeaderboardSets/{id}/relationships/releases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden, yet it only marks the tool deprecated. It says nothing about read-only behavior, pagination via limit, required auth, or what the deprecation means (still functional vs. removed).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the redundant parenthetical repetition of the already-shown path wastes the only sentence and pushes the useful [DEPRECATED] signal into a bare prefix.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated relationship-fetch endpoint with no output schema, the description should at minimum point to the non-deprecated alternative and note behavior, but it provides neither, leaving the agent unable to decide what to do instead.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two parameters (id, limit), both fully described in the schema, so the baseline is 3. The description adds no meaning beyond the endpoint path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the raw endpoint GET /v1/gameCenterLeaderboardSets/{id}/relationships/releases, so an agent can infer this fetches the releases relationship for a leaderboard set. However it never states the purpose in natural language, and the path is merely restated twice in parentheses, so it's only partially differentiated from the many sibling *releases* and *_get_to_many_relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] prefix, which implies 'avoid this' but names no replacement (e.g. game_center_leaderboard_sets_releases_get_to_many_related appears as a live sibling). No when-to-use or when-not-to-use context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterLeaderboardSets/{id} (PATCH /v1/gameCenterLeaderboardSets/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the deprecation status (a genuine behavioral trait) and points at the request body schema, but says nothing about required permissions, mutation effects, reversibility, or the intended migration path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the PATCH route is duplicated verbatim in parentheses and the final clause is a dangling pointer to an external schema. Front-loading the deprecation tag is good, yet the redundancy means not every token earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated mutation tool with no annotations and no output schema, the description is too thin: it omits the replacement tool, any auth/permission notes, and defers the entire body contract to an out-of-band OpenAPI document the agent may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and body are already documented in the schema; the baseline of 3 applies. The description only echoes the body schema name (GameCenterLeaderboardSetUpdateRequest) without adding format or envelope details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The HTTP verb plus resource path (PATCH /v1/gameCenterLeaderboardSets/{id}) does convey that this updates a Game Center leaderboard set, and the [DEPRECATED] tag is informative. However, the action is restated via a raw URL rather than a verb+resource phrase, and it makes no attempt to distinguish itself from the sibling game_center_leaderboard_sets_v2_update_instance, which is the critical distinction here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance and never names the v2 replacement, even though deprecation makes routing to an alternative the single most important usage question. An agent learns the tool is deprecated but not what to do instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_v2_create_instanceC
POST /v2/gameCenterLeaderboardSets (POST /v2/gameCenterLeaderboardSets) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It implies creation via POST but does not state side effects, required permissions, what the response contains, or whether the created resource is immediately active. The only meaningful content is a pointer to the OpenAPI schema for the payload envelope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes space by duplicating the endpoint path verbatim in parentheses. It is not front-loaded with purpose; the reader must parse an HTTP verb and a schema reference to infer intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested request body, no output schema, and no annotations, the description does not explain what a leaderboard set is, which attributes are required, or what happens on success. Pointing at the OpenAPI spec is insufficient for an agent to call this correctly without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter with 100% schema description coverage, so the baseline is 3. The description merely repeats the schema's own pointer to components.schemas.GameCenterLeaderboardSetV2CreateRequest without adding any attribute-level meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP endpoint and path already encoded in the tool name, without a plain-language statement that this creates a new Game Center leaderboard set instance. An agent must infer the verb 'create' from the POST method rather than reading it. There is no differentiation from siblings such as game_center_leaderboard_sets_v2_update_instance or game_center_leaderboard_set_versions_v2_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the numerous sibling create/update/delete tools, nor any prerequisite or context. The description provides no usage guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_v2_delete_instanceC
DELETE /v2/gameCenterLeaderboardSets/{id} (DELETE /v2/gameCenterLeaderboardSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. For a destructive endpoint it fails to state that the operation is irreversible, that it likely cascades to member/localization/image sub-resources, or that specific auth/scopes are required. 'DELETE' alone conveys only the bare mutation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but its entire content is the path string repeated twice in parentheses, which is pure redundancy rather than front-loaded information. It is concise only by virtue of saying almost nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-annotation, no-output-schema tool, the description is not complete enough: it omits irreversibility, side effects, and required permissions. An agent cannot call this safely using the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single documented 'id' parameter ('the id of the requested resource'), so the schema already carries the parameter meaning. The description adds nothing beyond the schema, which is the expected baseline of 3 when structured fields do the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (DELETE) and resource (v2/gameCenterLeaderboardSets/{id}), so an agent can infer it removes a leaderboard set. However, the text is a near-verbatim restatement of the tool name with no differentiation from the many sibling delete tools, in particular game_center_leaderboard_sets_delete_instance (the v1 variant). Differentiation relies entirely on the name, not the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of prerequisites, and no routing to alternatives. The operation is implicit from 'DELETE', but nothing tells the agent under what conditions this v2 deletion should be preferred over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_v2_game_center_leaderboards_create_to_many_relationshipC
POST /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (POST /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetV2GameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetV2GameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It signals a mutation via 'POST' but says nothing about idempotency, permissions, whether existing relationships are preserved, or what the JSON:API response contains; only a schema pointer is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes its entire length by printing the identical endpoint URL twice in parentheses, then deferring the only substantive content (the body shape) to an external OpenAPI reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-mutation tool with no annotations and no output schema, the description is too thin: it omits plain-language purpose, behavioral consequences, and usage context. The single useful element is the pointer to the GameCenterLeaderboardSetV2GameCenterLeaderboardsLinkagesRequest envelope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and body both documented), so the schema does the heavy lifting and baseline is 3. The description adds only the body schema name, which is already present in the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as a URL: 'POST /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards'. It never says in plain language that it adds leaderboards to a leaderboard set, so an agent gains nothing beyond the name already encoding 'create_to_many_relationship'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Sibling tools such as game_center_leaderboard_sets_v2_game_center_leaderboards_replace_to_many_relationship and ..._delete_to_many_relationship exist, yet the description gives no condition distinguishing append (create) from replace or delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_v2_game_center_leaderboards_delete_to_many_relationshipC
DELETE /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (DELETE /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetV2GameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetV2GameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only the HTTP DELETE method, which implies a destructive relationship mutation, but says nothing about what is actually removed versus preserved (e.g., whether the leaderboard objects themselves survive), authorization requirements, idempotency, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence wastes space by duplicating the identical path in parentheses, and it is not front-loaded with a plain-language purpose. The body-shape pointer is the only substantive content, and even that duplicates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive relationship-mutation endpoint with no annotations and no output schema, the description is inadequate. It omits domain meaning, usage context, and behavioral consequences, providing only a path and a schema pointer, which is insufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description adds nothing beyond pointing at the same OpenAPI schema already referenced in the body parameter's schema description. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the HTTP method and path already encoded in the tool name (delete_to_many_relationship) and repeats the same path verbatim in parentheses. It never explains in plain language that this removes associations between a leaderboard set and multiple leaderboards, nor does it distinguish the operation from sibling tools like create/replace/get to-many relationships.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives despite numerous closely-related siblings (e.g., create_to_many_relationship, replace_to_many_relationship, get_to_many_relationship). The agent is left to infer everything about selection 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.
game_center_leaderboard_sets_v2_game_center_leaderboards_get_to_many_relationshipC
GET /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (GET /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it delivers almost nothing: the 'GET' in the path implies a safe read, and the 'relationships' path segment hints that identifier/linkage data rather than full resources is returned, but auth requirements, pagination behavior implied by the 'limit' parameter, and response shape are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplication of the identical path adds zero information and consumes half the string. There is no wasted prose beyond that, but also no front-loaded plain-language summary to anchor the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-list tool with no output schema, the description should at minimum explain that it returns the leaderboards linked to a leaderboard set and how that differs from the sibling _get_to_many_related variant. Neither is present, so the agent is missing the information it would need to choose correctly among the many same-resource relationship tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline of 3 applies per the rubric. The description adds no parameter meaning beyond indicating via the URL template that 'id' is a Game Center leaderboard set identifier, which the schema does not spell out but also does not contradict.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path repeated twice in parentheses; it restates what the tool name already encodes (game_center_leaderboard_sets_v2 ... get_to_many_relationship) without a verb like 'list' or a plain-language statement of what is retrieved. An agent can reverse-engineer the target resource from the path segments, so it is not misleading, but it is essentially a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance whatsoever. Nothing distinguishes this tool from the immediate siblings game_center_leaderboard_sets_v2_game_center_leaderboards_get_to_many_related, game_center_leaderboard_sets_v2_game_center_leaderboards_create_to_many_relationship, _replace_, or _delete_, which all reference the same parent resource. The agent is left to infer the relationship/related distinction 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.
game_center_leaderboard_sets_v2_game_center_leaderboards_replace_to_many_relationshipC
PATCH /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards (PATCH /v2/gameCenterLeaderboardSets/{id}/relationships/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetV2GameCenterLeaderboardsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetV2GameCenterLeaderboardsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but discloses almost nothing. It doesn't state that this replaces the existing relationships wholesale, whether omitted leaderboards are dropped, authorization requirements, rate limits, or what the response looks like. Only the raw HTTP verb hints at mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The route is duplicated parenthetically with no added information, which is pure waste, and the 'Body shape' sentence hands off to an OpenAPI schema reference the agent cannot resolve. It is neither front-loaded with intent nor free of redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation of a to-many relationship with a nested JSON:API body, no annotations, and no output schema, yet the description explains nothing an agent needs to invoke it correctly. Referring to an external OpenAPI component name does not compensate for the missing behavioral and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and body, and the description merely points to the same body schema reference the schema already cites. Baseline 3 applies since the schema does the work and the description adds no syntax or format detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and route verbatim rather than explaining the operation in agent terms: replacing the full set of Game Center leaderboards linked to a leaderboard set. It is a near-tautology of the tool name, and the critical 'replace' semantics are only inferable from the PATCH verb, not stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. Sibling tools exist for the same relationship (get_to_many_relationship, create_to_many_relationship, delete_to_many_relationship), and the description never says when an agent should replace the entire linkage set versus add to or remove from it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_v2_get_instanceC
GET /v2/gameCenterLeaderboardSets/{id} (GET /v2/gameCenterLeaderboardSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| limit_gameCenterLeaderboards | No | maximum number of related gameCenterLeaderboards returned (when they are included) | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardSetVersions | No | the fields to include for returned resources of type gameCenterLeaderboardSetVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden, and it discloses only the HTTP verb, which implies a read-only single-resource fetch. It says nothing about authentication requirements, error behavior (e.g. 404 for bad id), or whether sparse fieldsets/relationships are expanded by default.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in a useful sense: the parenthetical repeats the exact same path string, which is pure redundancy, and the definition is too under-specified to be actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no annotations and no output schema, the description provides nothing an agent needs to call it correctly. It omits purpose, usage, behavioral traits, and any hint about the shape of the returned leaderboard set, making it wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters (id, include, limit_versions, fields_*) are already documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the name and HTTP path ('GET /v2/gameCenterLeaderboardSets/{id}') with the same string duplicated in parentheses. It tells the agent almost nothing functional about what a game center leaderboard set is or what retrieving one returns, and does not distinguish itself from siblings like game_center_leaderboard_sets_get_instance (v1) or the various relationship endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the v1 variant or the many game_center_leaderboard_sets_v2_* relationship tools. No prerequisites or context are given, leaving the agent to infer usage 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.
game_center_leaderboard_sets_v2_update_instanceC
PATCH /v2/gameCenterLeaderboardSets/{id} (PATCH /v2/gameCenterLeaderboardSets/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers almost nothing. The PATCH verb hints at a partial mutation, but the description does not state what gets modified, whether unspecified fields are preserved, permission requirements, or whether the change is reversible. For a mutation tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is printed twice in immediate succession ('PATCH /v2/gameCenterLeaderboardSets/{id} (PATCH /v2/gameCenterLeaderboardSets/{id})'), which is pure redundancy rather than concision. No sentence conveys information not already present in the name or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested JSON:API envelope body, no annotations, and no output schema, so the description needs to do more than it does. It defers the entire body structure to an external OpenAPI component that an agent may not have access to, leaving the envelope's required attributes and relationships unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented in the schema), so the baseline is 3. The description adds no parameter meaning beyond the schema — it merely points at components.schemas.GameCenterLeaderboardSetV2UpdateRequest, duplicating what the body property description already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP call ('PATCH /v2/gameCenterLeaderboardSets/{id}') and repeats it verbatim in parentheses. It never says in plain terms what updating a Game Center leaderboard set accomplishes, and it does nothing to distinguish itself from siblings like game_center_leaderboard_sets_v2_create_instance, _delete_instance, or _get_instance. This is effectively a tautology of the identifier plus an endpoint string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus its v1 counterpart, the create/delete siblings, or relationship-update tools. No prerequisites, no exclusions, no context. The agent gets only the HTTP verb, which is already implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_sets_v2_versions_get_to_many_relationshipC
GET /v2/gameCenterLeaderboardSets/{id}/relationships/versions (GET /v2/gameCenterLeaderboardSets/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the raw endpoint. It does not state that this is a read-only list operation, nor does it mention pagination behavior (despite a 'limit' param), return shape, or any rate/permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is short but not front-loaded with any purpose statement, and it wastes its entire length by duplicating the same endpoint string twice in parentheses. It is concise only in the sense of being minimal, not in being well-structured or informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a crowded set of near-identical 'relationship' vs 'related' siblings, the description is completely insufficient. It gives an agent nothing to disambiguate this tool, understand its return data, or know how it differs from alternatives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter meaning at all, but schema description coverage is 100% (both 'id' and 'limit' are documented in the schema). Per the rubric, a fully documented schema establishes a baseline of 3 when the description adds nothing beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and HTTP endpoint path ('GET /v2/gameCenterLeaderboardSets/{id}/relationships/versions'), with no natural-language verb+resource statement of what it does. It only weakly implies a read of a versions collection, and does nothing to distinguish it from the near-identical sibling 'game_center_leaderboard_sets_v2_versions_get_to_many_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, no prerequisites, and no mention of the alternative 'related' sibling that targets the same versions collection. An agent gets no signal about when this relationship read is appropriate versus the related-resource variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_versions_v2_create_instanceC
POST /v2/gameCenterLeaderboardSetVersions (POST /v2/gameCenterLeaderboardSetVersions) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardSetVersionV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardSetVersionV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It discloses only that the tool performs a POST and points at a schema name, but says nothing about permissions, side effects, idempotency, or what a successful response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description contains a duplicated parenthetical of the exact same path, which is pure waste. It is short but not front-loaded with useful meaning, since the first clause is just a URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a mutation tool that requires a JSON:API envelope, the description is not self-contained. It delegates crucial request and response details to an external OpenAPI reference without saying what is returned or what constraints apply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter and schema description coverage is 100%, so the schema already documents the body. The description adds no syntax or shape detail beyond referring back to the same OpenAPI schema, which meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and URL path, adding no plain-language explanation of what a Game Center leaderboard set version is or what creating one accomplishes. It does not distinguish this create-instance tool from the many sibling create tools in the namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it. The description assumes the caller already knows the endpoint semantics from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_versions_v2_get_instanceC
GET /v2/gameCenterLeaderboardSetVersions/{id} (GET /v2/gameCenterLeaderboardSetVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardSetVersions | No | the fields to include for returned resources of type gameCenterLeaderboardSetVersions | |
| fields_gameCenterLeaderboardSetLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardSetLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full behavioral burden, yet it only says GET and implies a read. It omits authentication needs, error behavior, return shape, and how optional include/fields/limit parameters affect the response; the duplicated path adds no context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the only content is the endpoint path duplicated in parentheses, which is redundancy rather than useful front-loading. The terseness reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-instance endpoint with six parameters, no annotations, and no output schema, the description is not complete: it does not explain the retrieved resource or what callers get back. The schema covers parameter names, but the description supplies almost no context beyond the URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the required id and optional include, fields, and limit parameters are already documented. The description adds no extra meaning about how id identifies the version or how include/fields interact, so baseline credit is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives only the HTTP endpoint 'GET /v2/gameCenterLeaderboardSetVersions/{id}', which identifies the resource and operation in a bare technical form. It does not explain what a leaderboard set version is or how this retrieval differs from the many sibling version/relationship endpoints, and the path is repeated verbatim.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is present: there is no indication of when to call this get-instance endpoint versus list, relationship, or create endpoints. The required id appears only in the schema and is not tied to any usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_set_versions_v2_localizations_get_to_many_relationshipD
GET /v2/gameCenterLeaderboardSetVersions/{id}/relationships/localizations (GET /v2/gameCenterLeaderboardSetVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the read-only nature, not whether results are paginated (the 'limit' param hints at it but is never explained), and not what the response contains. A raw URL conveys no behavioral traits at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only sentence by duplicating the same path twice in parentheses. It is front-loaded with a code artifact rather than a purpose statement, so brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship GET with two params and no output schema, the agent needs at least to know it returns a collection of localization resource identifiers. The description provides none of that, though the '{id}' and 'limit' schema entries give the agent enough to attempt a call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are already documented in the schema, establishing the baseline of 3. The description adds no meaning beyond the schema (it only echoes the {id} path variable), so it neither compensates nor detractsscoring above baseline would require added semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint path (duplicated in parentheses), so the 'purpose' is only recoverable by decoding the URL. It does not say in plain language that this retrieves the localizations associated with a specific Game Center leaderboard set version, nor does it distinguish itself from the sibling _localizations_get_to_many_related tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the near-identical '_get_to_many_related' sibling or the adjacent leaderboard-set-version endpoints. The description gives no context, prerequisites, or alternatives, leaving the agent to infer everything from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_get_instanceC
[DEPRECATED] GET /v1/gameCenterLeaderboards/{id} (GET /v1/gameCenterLeaderboards/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_releases | No | maximum number of related releases returned (when they are included) | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterChallenges | No | the fields to include for returned resources of type gameCenterChallenges | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| limit_gameCenterLeaderboardSets | No | maximum number of related gameCenterLeaderboardSets returned (when they are included) | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardReleases | No | the fields to include for returned resources of type gameCenterLeaderboardReleases | |
| fields_gameCenterLeaderboardLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but provides almost nothing beyond a deprecation flag. It does not state auth requirements, whether the resource may be absent, or any behavioral differences from the V2 endpoint it is deprecated in favor of.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, which is good. But it needlessly duplicates the same path twice in parentheses, adding no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated read endpoint with a rich 13-parameter schema and no output schema, the description omits the single most useful fact: the replacement tool. An agent invoking this cannot tell what to migrate to or whether relationships/fields behave differently in the V2 variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the 13 parameters (include, fields_*, limit_*) are already documented in the schema. The description adds no further meaning about their semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the verb (GET) and resource (gameCenterLeaderboards/{id}), so an agent can infer it fetches a single leaderboard. However, it largely restates the tool name in HTTP form rather than describing the operation in task terms, and it does not differentiate from the V2 sibling. The [DEPRECATED] prefix is the only added signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternative, even though a clear replacement (game_center_leaderboards_v2_get_instance) exists in the sibling list. The [DEPRECATED] tag hints the tool should be avoided, but the description never says what to use instead or under what conditions this endpoint still applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_group_leaderboard_get_to_one_relationshipD
[DEPRECATED] GET /v1/gameCenterLeaderboards/{id}/relationships/groupLeaderboard (GET /v1/gameCenterLeaderboards/{id}/relationships/groupLeaderboard)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the return shape of a relationship endpoint, not pagination, not whether it is a safe read-only call. Deprecation status is the only behavioral hint and it is not explained (sunset date, replacement).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in the useful sense: the name and the URL path say the same thing twice, and the raw REST path is noise for an agent that already has the tool name. Only the [DEPRECATED] token earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated relationship endpoint with no annotations and no output schema, the description omits everything an agent would need: what the relationship resolves to, what the deprecated replacement is, and what the returned data looks like. It is not adequate for correct invocation decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single `id` parameter is documented in the schema as 'the id of the requested resource'. The description adds nothing beyond the schema, so the baseline of 3 for high coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name plus its REST path restated verbatim, which is a tautology rather than an explanation. It does convey one genuine piece of information — [DEPRECATED] — but never says in plain terms what a 'groupLeaderboard relationship' lookup returns or means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] marker weakly signals 'do not use', but no replacement tool is named and there is no when-to-use versus siblings such as game_center_leaderboards_group_leaderboard_get_to_one_related or ..._update_to_one_relationship. The agent must infer all routing on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_group_leaderboard_update_to_one_relationshipC
[DEPRECATED] PATCH /v1/gameCenterLeaderboards/{id}/relationships/groupLeaderboard (PATCH /v1/gameCenterLeaderboards/{id}/relationships/groupLeaderboard) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardGroupLeaderboardLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardGroupLeaderboardLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not state that this replaces an existing to-one relationship, what permissions are required, or whether the change is reversible. The deprecated marker is the one genuine piece of behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the deprecation warning, which is good. But the remainder is a redundant URL repeated twice plus an opaque schema reference, so the content that does exist is low-value rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation with a nested JSON:API body, no annotations, and no output schema, yet the description says nothing about the body contents beyond pointing at a component name. An agent would need external OpenAPI context to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented in the schema. The description adds a pointer to the OpenAPI component for the body envelope, which is marginally useful, but it does not explain the linkage payload contents itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete HTTP verb and resource path (PATCH .../relationships/groupLeaderboard), which does identify the operation. However, it largely restates the tool name and endpoint, and offers no plain-language statement of what is actually being changed (linking a group leaderboard to a leaderboard). It does not distinguish itself from the many sibling relationship-update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the '[DEPRECATED]' tag, which usefully signals 'prefer something else' but names no replacement. There is no statement of when to use this versus the sibling get-to-one / get-to-many relationship tools, nor any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_localizations_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboards/{id}/relationships/localizations (GET /v1/gameCenterLeaderboards/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses only deprecation status. It says nothing about pagination behavior (despite a limit param), what the localization relationship resolves to, permissions required, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation flag, which is good. However, the parenthetical repeat of the identical endpoint string is pure redundancy that earns no place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description should explain what the localizations relationship returns and any scoping. Instead it only restates the URL, leaving the agent without enough context to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters (id, limit) are already fully documented in the schema. The description adds no parameter meaning beyond that, which lands on the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP endpoint repeated verbatim in parentheses ('GET /v1/gameCenterLeaderboards/{id}/relationships/localizations'), which is a tautological restatement of the name rather than a described purpose. The [DEPRECATED] tag is the only added signal. It does not differentiate from close siblings like game_center_leaderboards_localizations_get_to_many_related or the v2 variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] prefix is genuine, useful guidance that tells an agent to avoid this tool, but there is no stated alternative to use instead and no condition distinguishing it from the non-deprecated 'related' sibling. No when-to-use context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_releases_get_to_many_relationshipC
[DEPRECATED] GET /v1/gameCenterLeaderboards/{id}/relationships/releases (GET /v1/gameCenterLeaderboards/{id}/relationships/releases)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only deprecation status; nothing is said about pagination behavior, permissions, whether a release must exist, or what the relationship payload looks like – significant gaps for a relationship-fetch tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, which is the right ordering. However, the identical path is printed twice inside the parentheses, which is pure redundancy rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter deprecated relationship GET, deprecation status is the one thing an agent needs, and it is present. Beyond that the definition supplies no information about the relationship semantics, so an agent cannot tell this apart from the many sibling relationship endpoints it manages.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id, limit), so the schema already documents them fully. The description adds no format, default, or paging syntax detail beyond that, giving the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name and a REST path restated twice in parentheses, with no explanation of what a 'releases to-many relationship' actually returns. It does not distinguish this tool from near-identical siblings such as game_center_leaderboards_releases_get_to_many_related or game_center_leaderboard_sets_releases_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] prefix is a genuine signal to avoid the tool, but no replacement or alternative is named, and there is no guidance on when this relationship endpoint is appropriate versus its _related counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_update_instanceC
[DEPRECATED] PATCH /v1/gameCenterLeaderboards/{id} (PATCH /v1/gameCenterLeaderboards/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses deprecation and that PATCH implies a partial update, but says nothing about required permissions, whether changes are reversible, or which fields are mutable. It also defers body semantics to an external OpenAPI document the agent may not have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, but wastes space by restating the same endpoint path twice in parentheses. The remaining sentence is a pointer rather than useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the definition is thin. The critical JSON:API envelope shape is pushed entirely to an external OpenAPI document, so an agent cannot construct the body from the tool definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description merely points to the same components.schemas.GameCenterLeaderboardUpdateRequest that the body parameter's schema description already references, adding no new meaning about the id or body parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only gives an HTTP method and path (PATCH /v1/gameCenterLeaderboards/{id}), leaving the agent to infer that it updates a leaderboard instance. It does not state the operation in prose and gives no differentiation from the sibling game_center_leaderboards_v2_update_instance. The [DEPRECATED] tag is the only added signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] prefix implies 'prefer the newer version', but the description never names the alternative (e.g. the v2 update tool) or states when to use this one. No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_v2_activity_update_to_one_relationshipC
PATCH /v2/gameCenterLeaderboards/{id}/relationships/activity (PATCH /v2/gameCenterLeaderboards/{id}/relationships/activity) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardV2ActivityLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardV2ActivityLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a mutation via PATCH but says nothing about permissions required, whether the linkage replaces or appends, reversibility, or side effects on the related activity. Only a pointer to the OpenAPI body schema is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes text by duplicating the exact same path twice inside a parenthetical, which is pure redundancy rather than concision. It is front-loaded only in the sense that the endpoint leads, but the repeated phrase earns nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is far too thin: it never explains what the activity linkage update does semantically or how the JSON:API envelope should be constructed beyond an external reference. An agent cannot confidently invoke it from this text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema documents both parameters (id and body), so the baseline is 3. The description does add one useful pointer by naming components.schemas.GameCenterLeaderboardV2ActivityLinkageRequest, which tells the agent where the JSON:API envelope is defined, but contributes no additional parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name rendered as a URL: it restates 'PATCH /v2/gameCenterLeaderboards/{id}/relationships/activity' with no plain-language verb+resource. An agent gets the HTTP method and target path but no statement of what the operation accomplishes (e.g. attaching or replacing the activity linkage). It adds no semantic content beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g. that the leaderboard and activity must already exist), and no differentiation from the many sibling relationship-update tools such as game_center_leaderboards_activity_update_to_one_relationship or game_center_leaderboards_v2_challenge_update_to_one_relationship. The agent must infer all selection logic from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_v2_challenge_update_to_one_relationshipC
PATCH /v2/gameCenterLeaderboards/{id}/relationships/challenge (PATCH /v2/gameCenterLeaderboards/{id}/relationships/challenge) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardV2ChallengeLinkageRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardV2ChallengeLinkageRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the method. It does not state that a to-one relationship update replaces the existing linkage, what happens to the previously linked challenge, whether permissions are required, or whether the change is reversible. Naming the LinkageRequest schema is the only hint of mutation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint string is duplicated in redundant parentheses, which is pure waste, and the body note is tacked on rather than structured. It is short but poorly front-loaded and contains zero value-added content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested, unconstrained body object whose shape lives in an external OpenAPI spec that an agent cannot read here. For that complexity, the description is far too thin to let an agent call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'body' are already documented in the schema. The description only re-points to components.schemas.GameCenterLeaderboardV2ChallengeLinkageRequest, adding no syntax, required-field, or example detail beyond that. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP endpoint and repeats it verbatim in parentheses. It never says what updating the 'challenge' relationship on a Game Center leaderboard actually does (i.e., links/replaces the leaderboard's associated challenge), and it does nothing to distinguish this v2 tool from the sibling game_center_leaderboards_challenge_update_to_one_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool, no prerequisites, and no mention of the v1 sibling or the inverse game_center_challenges_leaderboard_v2_update_to_one_relationship. The only signal is the PATCH verb, from which an agent must infer it is a mutation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_v2_create_instanceC
POST /v2/gameCenterLeaderboards (POST /v2/gameCenterLeaderboards) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden but discloses nothing: no auth/permission requirements, no side effects, no indication of what is created or whether the parent detail/group relation is required. For a mutation tool this is a serious omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical '(POST /v2/gameCenterLeaderboards)' repeats the immediately preceding text verbatim, so the sole sentence wastes half its length on redundancy rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested JSON:API body, no annotations and no output schema, the description delegates all substance to an external OpenAPI spec an agent may not be able to resolve. It leaves far too much unstated about what creating a v2 leaderboard entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single body param is documented there as 'Shape: components.schemas.GameCenterLeaderboardV2CreateRequest.' The description merely duplicates that exact pointer, adding no syntax, required fields, or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the underlying HTTP operation (POST /v2/gameCenterLeaderboards), which does convey 'create a Game Center leaderboard' at the v2 resource. However, it is a mechanical restatement of the endpoint/name rather than a natural-language statement of purpose, and it draws no distinction from the many sibling v2 Game Center create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives (v1 game_center_leaderboards_create_instance, game_center_leaderboards_v2_update_instance, or the set/version flows). Only the v2 endpoint path implicitly signals the v2 API variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_v2_delete_instanceD
DELETE /v2/gameCenterLeaderboards/{id} (DELETE /v2/gameCenterLeaderboards/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not say whether the delete is destructive or reversible, what permissions are required, whether cascading effects occur, or what a successful response looks like for this mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the identical path string is repeated verbatim inside parentheses, which is pure redundancy rather than front-loaded information. The single content-bearing sentence is effectively a restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive mutation with no annotations, no output schema, and only a raw path as a description. An agent has no information about irreversibility, required scopes, or side effects, so the definition is wholly inadequate for the operation it exposes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter ('id') and schema description coverage is 100%, so the schema already defines it as 'the id of the requested resource'. Per the baseline rule for high coverage, a 3 is appropriate since the description adds no additional meaning about the identifier's format or source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP verb and path, 'DELETE /v2/gameCenterLeaderboards/{id}', duplicated in parentheses. It conveys a delete operation on the leaderboards resource only via URL convention, but adds nothing beyond what the tool name already states, and does not distinguish it from siblings like game_center_leaderboards_delete_instance or game_center_leaderboard_sets_v2_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative-tool guidance is present. The agent receives no context on when this V2 delete should be chosen over the V1 variant or any of the many other delete tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_v2_game_center_score_moderations_get_to_many_relationshipD
GET /v2/gameCenterLeaderboards/{id}/relationships/gameCenterScoreModerations (GET /v2/gameCenterLeaderboards/{id}/relationships/gameCenterScoreModerations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it supplies almost nothing. The literal 'GET' token is the only signal that this is a read operation, and that merely echoes the tool name. It says nothing about pagination, authorization, or the shape of the relationship linkage object returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its entire budget: the identical endpoint string appears twice, once as prose and once parenthetically. Zero information is front-loaded because there is essentially no information content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter relationship endpoint with no annotations and no output schema, the description should at minimum explain what relationship is being fetched and how to obtain the leaderboard id. It provides none of this, leaving the agent with only the URL pattern.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline of 3 applies. The description adds no syntax, format, or ID-source information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool's own name expanded into an HTTP path, printed twice ('GET /v2/... (GET /v2/...)'). It restates the verb and resource already encoded in the name rather than explaining what the resource is or what the endpoint returns. It does implicitly distinguish the 'relationships' variant from the sibling '..._get_to_many_related' path, but that is incidental, not explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. The agent is left to infer that it should be used for relationship linkage data from gameCenterLeaderboards to gameCenterScoreModerations purely from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_v2_get_instanceC
GET /v2/gameCenterLeaderboards/{id} (GET /v2/gameCenterLeaderboards/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| fields_gameCenterGroups | No | the fields to include for returned resources of type gameCenterGroups | |
| fields_gameCenterDetails | No | the fields to include for returned resources of type gameCenterDetails | |
| fields_gameCenterActivities | No | the fields to include for returned resources of type gameCenterActivities | |
| fields_gameCenterChallenges | No | the fields to include for returned resources of type gameCenterChallenges | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| limit_gameCenterLeaderboardSets | No | maximum number of related gameCenterLeaderboardSets returned (when they are included) | |
| fields_gameCenterLeaderboardSets | No | the fields to include for returned resources of type gameCenterLeaderboardSets | |
| fields_gameCenterLeaderboardVersions | No | the fields to include for returned resources of type gameCenterLeaderboardVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, yet it says nothing beyond the HTTP verb. 'GET' implies a read-only fetch, but there is no mention of auth requirements, error behavior, pagination, or how relationship includes behave. This is a bare minimum disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but wasteful: the exact same route string is printed twice inside the parentheses, adding nothing. Brevity stems from omission rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool with no annotations and no output schema, the description is completely inadequate. Nothing about the returned leaderboard, the meaning of included relationships, or the response shape is communicated, leaving the agent with only a URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 11 parameters (id, include, limit_versions, fields_*). Per the baseline rule, a 3 is appropriate; the description adds no extra meaning about parameter interaction or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the REST route 'GET /v2/gameCenterLeaderboards/{id}' duplicated in parentheses. It restates the tool name (which already says get_instance on game_center_leaderboards_v2) rather than describing what retrieval returns or how it differs from siblings. This qualifies as near-tautology with no sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. The agent must infer usage entirely from the name and path, with no mention of the resource relationships (include, fields_* etc.) that would justify choosing this over sibling endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboards_v2_update_instanceC
PATCH /v2/gameCenterLeaderboards/{id} (PATCH /v2/gameCenterLeaderboards/{id}) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing: no permissions required, no side effects, no note on which fields are mutable or whether omitted fields are preserved. Only the PATCH verb weakly implies a partial update.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the route, but the endpoint is duplicated verbatim in parentheses, which is redundant filler rather than added information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with nested body, no annotations, and no output schema, the description is thin. It defers the entire payload shape to an external OpenAPI component that the agent may not have access to, and explains nothing about the effect of the update or its result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented structurally, and baseline is 3. The description adds a useful pointer to the OpenAPI schema component for the body envelope, but gives no field-level semantics for the update payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and resource route (PATCH /v2/gameCenterLeaderboards/{id}), from which an update operation can be inferred, but it never states in plain terms what the tool does. It leans on the route instead of a verb+resource phrase, and the parenthetical repeat adds no differentiation from the many sibling update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as game_center_leaderboards_v2_get_instance, game_center_leaderboards_v2_delete_instance, or the v1 update sibling. The verb PATCH is the only signal, 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.
game_center_leaderboards_v2_versions_get_to_many_relationshipD
GET /v2/gameCenterLeaderboards/{id}/relationships/versions (GET /v2/gameCenterLeaderboards/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only relationship fetch, not pagination behavior via limit, not permission requirements. A raw URL path communicates no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but entirely wasted: the same URL string appears twice, once bare and once parenthesized, with no front-loaded statement of purpose. Brevity here comes from under-specification rather than economy of expression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and no real prose, the description omits everything an agent needs for a paginated relationship-retrieval endpoint: what the relationship returns, how paging works, and how this differs from the *_related sibling variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both 'id' and 'limit' are documented in the schema itself — so the baseline of 3 applies. The description adds no additional meaning about the parameters beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP path string repeated verbatim inside parentheses. It restates the tool name rather than explaining in plain language that it retrieves the versions relationship for a Game Center leaderboard; an agent gets no more than it could infer from the identifier itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as game_center_leaderboards_v2_versions_get_to_many_related or game_center_leaderboards_v2_get_instance. The agent is left to guess when this endpoint is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_versions_v2_create_instanceC
POST /v2/gameCenterLeaderboardVersions (POST /v2/gameCenterLeaderboardVersions) Body shape: see OpenAPI components.schemas.GameCenterLeaderboardVersionV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterLeaderboardVersionV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no mention of permissions, required relationships, side effects, or whether the created version is mutable/deletable. Referencing components.schemas.GameCenterLeaderboardVersionV2CreateRequest is the only added context, and it is not behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the endpoint, but the parenthetical '(POST /v2/gameCenterLeaderboardVersions)' duplicates the preceding text verbatim, which is pure waste. The remaining sentence is a bare pointer to an external schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the agent needs at least the required envelope structure or creation semantics. The description defers entirely to an OpenAPI schema the agent may not have in context, leaving it under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so per the baseline the schema already documents the parameter. The description only re-points at the same schema reference the schema field already gives, adding no extra syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys the operation only through the raw HTTP verb/path ('POST /v2/gameCenterLeaderboardVersions'), and the tool name carries the 'create_instance' meaning. It never states in plain language what is being created or that it is a Game Center leaderboard version, and it does not distinguish itself from the many sibling create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance at all. Among hundreds of sibling tools (including get_instance/update_instance variants and the v2 leaderboard family), the description gives the agent nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_leaderboard_versions_v2_get_instanceC
GET /v2/gameCenterLeaderboardVersions/{id} (GET /v2/gameCenterLeaderboardVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_gameCenterLeaderboards | No | the fields to include for returned resources of type gameCenterLeaderboards | |
| fields_gameCenterLeaderboardVersions | No | the fields to include for returned resources of type gameCenterLeaderboardVersions | |
| fields_gameCenterLeaderboardLocalizations | No | the fields to include for returned resources of type gameCenterLeaderboardLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only confirmation, no auth/permission requirements, no behavior of the include/limit parameters, no error semantics. A single echoed path is a complete failure to inform behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity reflects under-specification rather than conciseness; there is no front-loaded purpose statement, and the duplicated parenthetical merely repeats the path. Nothing here earns the token cost of the description field.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a v2 GET-instance endpoint with six query parameters and no annotations or output schema, the description should at minimum identify the resource and its relationship to the v2 leaderboard hierarchy. It identifies nothing, leaving gaps the schema cannot fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (id, include, limit_localizations, and three fields_* sparseness filters) are documented in the schema itself. Per the baseline rule for high coverage, a 3 is appropriate even though the description adds zero parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a tautology: it restates the HTTP verb and path already encoded in the tool name, adding no human-readable statement of what resource is retrieved or why. An agent learns only that it fetches 'something' by id from the gameCenterLeaderboardVersions path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the non-v2 sibling (game_center_leaderboard_localizations_v2_get_instance) or the parent leaderboard tools, and no prerequisites. The agent is left to 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.
game_center_leaderboard_versions_v2_localizations_get_to_many_relationshipC
GET /v2/gameCenterLeaderboardVersions/{id}/relationships/localizations (GET /v2/gameCenterLeaderboardVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The 'GET' in the path implies a read-only operation, but the description does not disclose pagination behavior, relationship linkage semantics, authentication needs, or return shape. The parenthetical simply duplicates the URL and adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its only sentence by restating the same URL twice in parentheses. Nothing is front-loaded beyond the path, and the duplicated text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a two-parameter relationship-fetch tool, the definition is too sparse. It does not explain what a 'localizations' relationship returns, how it relates to the parent leaderboard version, or how pagination via limit works.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (id and limit), so the schema already documents their meaning. The description adds no parameter-level detail, which is acceptable given the high coverage, but it also does not compensate for the lack of information about how limit interacts with pagination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does name a specific verb (GET) and endpoint resource (gameCenterLeaderboardVersions/{id}/relationships/localizations), so an agent can infer it fetches the localizations relationship for a leaderboard version. But it is essentially a restatement of the tool name and URL with no natural-language explanation, and it does not distinguish this v2 to-many relationship from sibling relationship tools such as game_center_leaderboard_versions_v2_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling relationship tools, no mention of prerequisites, and no exclusions. The agent must infer usage entirely from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_queues_create_instanceD
POST /v1/gameCenterMatchmakingQueues (POST /v1/gameCenterMatchmakingQueues) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingQueueCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingQueueCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about authentication needs, what is created, side effects, or what the response contains. It merely points to an external OpenAPI schema for the request envelope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its limited space on a verbatim duplicate of the path in parentheses, which carries zero information. It is front-loaded only in the sense that there is almost nothing to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with no annotations and no output schema, the description should at minimum explain the effect of the call and any preconditions. Instead it only redirects the agent to an external schema, leaving the behavioral picture incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single body parameter, and the schema itself documents the shape reference, so the baseline of 3 applies. The description's pointer to components.schemas.GameCenterMatchmakingQueueCreateRequest adds nothing beyond the schema description already present.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the endpoint path and HTTP verb ('POST /v1/gameCenterMatchmakingQueues'), which duplicates the tool name rather than explaining what creating a matchmaking queue accomplishes. It never states the purpose in plain language or distinguishes this create tool from its siblings (update/delete/get instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. The agent is left to infer everything from the path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_queues_delete_instanceC
DELETE /v1/gameCenterMatchmakingQueues/{id} (DELETE /v1/gameCenterMatchmakingQueues/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it does almost none. The HTTP verb 'DELETE' signals a destructive mutation, but the description never states what is destroyed, whether associated rules or sessions are affected, whether the action is reversible, or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is very short and front-loaded, which is good, but the parenthetical duplicates the path verbatim and is pure waste. It is concise without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description is far too thin. An agent cannot learn from it whether deletion is permanent, what side effects occur, or what a successful response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds no format, scope, or sourcing guidance beyond that, so the baseline 3 applies when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is an HTTP verb+path restatement of the tool name, with the path repeated twice in parentheses. It technically identifies the resource (matchmaking queues) and the operation (DELETE), but adds no plain-language purpose and does not differentiate itself from sibling delete tools such as game_center_matchmaking_rules_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to delete a matchmaking queue versus updating it, nor any prerequisites, cascade warnings, or references to alternatives like game_center_matchmaking_queues_update_instance. The agent must infer usage 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.
game_center_matchmaking_queues_experiment_matchmaking_queue_sizes_get_metricsD
GET /v1/gameCenterMatchmakingQueues/{id}/metrics/experimentMatchmakingQueueSizes (GET /v1/gameCenterMatchmakingQueues/{id}/metrics/experimentMatchmakingQueueSizes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| granularity | No | the granularity of the per-group dataset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no auth requirements, no rate limits, no pagination behavior, no indication that this is a read-only metrics query or what data it aggregates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but purely redundant, printing the same path twice with no front-loaded purpose statement. This is under-specification masquerading as brevity rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters, no output schema, and no annotations, the description must explain the metrics endpoint's intent and behavior. It provides none of that, leaving an agent unable to understand what the experiment queue-size metrics represent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, sort, limit, and granularity. The description adds no parameter meaning at all, which lands at the baseline for fully-covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route repeated verbatim, with the parenthetical merely duplicating the same path. It restates the tool name rather than explaining what the tool does, so an agent learns nothing about the returned metric set beyond the path slug.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no differentiation from the many sibling metric endpoints (e.g. matchmaking_queue_sizes_get_metrics, matchmaking_requests_get_metrics, experiment_matchmaking_requests_get_metrics). The agent must infer selection 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.
game_center_matchmaking_queues_experiment_matchmaking_requests_get_metricsC
GET /v1/gameCenterMatchmakingQueues/{id}/metrics/experimentMatchmakingRequests (GET /v1/gameCenterMatchmakingQueues/{id}/metrics/experimentMatchmakingRequests)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| groupBy | No | the dimension by which to group the results | |
| granularity | No | the granularity of the per-group dataset | |
| filter_result | No | filter by 'result' attribute dimension | |
| filter_gameCenterDetail | No | filter by 'gameCenterDetail' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix weakly implies a read operation, but nothing is said about authentication, pagination behavior, rate limits, or what the metrics payload contains. For a 7-parameter metrics endpoint this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but entirely wasted: the same path string appears twice in parentheses, so half the content is pure redundancy with zero informational value for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no annotations, and no output schema, the description should explain the metrics semantics, sorting/grouping intent, and expected response shape. It provides none of this, leaving the agent to reconstruct everything from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, sort, limit, groupBy, granularity, and both filters with enums. The description adds nothing on top, which places it at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name / URL path, duplicated in parentheses. It conveys only that this is a GET metrics endpoint for experiment matchmaking requests on a queue, adding no distinguishing detail beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the sibling metrics endpoints (matchmaking_requests_get_metrics, experiment_matchmaking_queue_sizes_get_metrics, matchmaking_sessions_get_metrics). The agent must infer the distinction between the 'experiment' variant and its near-identical siblings 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.
game_center_matchmaking_queues_get_collectionD
GET /v1/gameCenterMatchmakingQueues (GET /v1/gameCenterMatchmakingQueues)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterMatchmakingQueues | No | the fields to include for returned resources of type gameCenterMatchmakingQueues | |
| fields_gameCenterMatchmakingRuleSets | No | the fields to include for returned resources of type gameCenterMatchmakingRuleSets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, yet it only echoes the REST path. It says nothing about pagination via limit, auth/token requirements, read-only semantics, or what the collection returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not meaningfully concise: it is vacuous rather than front-loaded with useful content. Brevity here reflects under-specification, not efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter collection endpoint with no annotations and no output schema, the description omits pagination behavior, relationship expansion semantics, and return shape. The schema documents parameters, but the description leaves the agent without enough context to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, documenting limit, include, and both fields_* sparse-fieldset parameters, so the baseline is 3. The description contributes no additional parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a restatement of the endpoint path 'GET /v1/gameCenterMatchmakingQueues', effectively duplicating the tool name rather than explaining the action in human terms. An agent can infer it lists matchmaking queues, but the text itself adds no clarifying verb, resource framing, or scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this collection tool versus siblings such as game_center_matchmaking_queues_get_instance or game_center_matchmaking_rule_sets_get_collection. No prerequisites, filters, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_queues_get_instanceD
GET /v1/gameCenterMatchmakingQueues/{id} (GET /v1/gameCenterMatchmakingQueues/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_gameCenterMatchmakingQueues | No | the fields to include for returned resources of type gameCenterMatchmakingQueues | |
| fields_gameCenterMatchmakingRuleSets | No | the fields to include for returned resources of type gameCenterMatchmakingRuleSets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not mention authentication requirements, 404 behavior for a bad id, whether include expands related data, or anything about the response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical merely duplicates the route verbatim, so half the text is pure waste. Brevity here comes from under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A four-parameter GET endpoint with no annotations and no output schema needs the description to explain the resource, the id, and the include/field expansion behavior. The description supplies none of this, leaving an agent unable to confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents id, include, and the two fields_* filters. The description adds no syntax, format, or semantic detail beyond the schema, which is the baseline-3 case when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP route repeated twice: 'GET /v1/gameCenterMatchmakingQueues/{id} (GET /v1/gameCenterMatchmakingQueues/{id})'. It restates the tool name (get_instance for a matchmaking queue) without explaining what the resource represents or how it differs from the sibling game_center_matchmaking_queues_get_collection. An agent learns nothing beyond the name it already sees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the collection endpoint, the update/delete siblings, or the many relationship endpoints. No prerequisites, no context, no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_queues_matchmaking_queue_sizes_get_metricsC
GET /v1/gameCenterMatchmakingQueues/{id}/metrics/matchmakingQueueSizes (GET /v1/gameCenterMatchmakingQueues/{id}/metrics/matchmakingQueueSizes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| granularity | No | the granularity of the per-group dataset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The 'GET' in the path weakly implies a read-only operation, but there is no mention of pagination behavior (limit is a param), sorting semantics, granularity bucketing, rate limits, or auth requirements for a metrics endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in the useful sense: the same path string is printed twice, with the parenthetical copy adding zero information. No explanatory sentence is front-loaded, so brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter metrics tool with no annotations and no output schema, an agent needs to know what the metric measures, how granularity interacts with the returned groups, and how sorting applies. None of that is present; the description is a path with no semantic content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, sort, limit, and granularity, and the enum on granularity is self-explanatory. The description adds nothing beyond the schema, so the baseline of 3 for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path, repeated verbatim in parentheses. It restates the tool name rather than explaining in words that this retrieves matchmaking queue size metrics for a queue. It gives no differentiation from sibling metrics tools such as game_center_matchmaking_queues_experiment_matchmaking_queue_sizes_get_metrics or game_center_matchmaking_queues_matchmaking_requests_get_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no routing to the several sibling metrics endpoints (experiment queue sizes, matchmaking requests, matchmaking sessions). The only signal is the embedded path, from which an agent must infer that this applies to a specific queue id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_queues_matchmaking_requests_get_metricsD
GET /v1/gameCenterMatchmakingQueues/{id}/metrics/matchmakingRequests (GET /v1/gameCenterMatchmakingQueues/{id}/metrics/matchmakingRequests)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| groupBy | No | the dimension by which to group the results | |
| granularity | No | the granularity of the per-group dataset | |
| filter_result | No | filter by 'result' attribute dimension | |
| filter_gameCenterDetail | No | filter by 'gameCenterDetail' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no rate limits, no pagination behavior, no authentication requirements, no note that this is a read-only metrics query over a time window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than economy; the parenthetical repeat of the same path is pure redundant filler and there is no informative content to be front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter metrics endpoint with no annotations and no output schema, the description should at minimum explain what metrics are returned and how the grouping/granularity works. It supplies none of this, leaving the agent with only a URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter (sort, limit, groupBy, granularity, filters) is documented in the schema, so the baseline of 3 applies. The description contributes no additional meaning about how the metrics parameters interact or what the granularity/filter combinations imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP route restated, duplicated verbatim in parentheses. It effectively repeats what the tool name already encodes, adding no plain-language statement of what the endpoint returns or why an agent would call it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, no mention of prerequisites, and no differentiation from the many sibling metrics tools such as game_center_matchmaking_queues_matchmaking_queue_sizes_get_metrics or the experiment variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_queues_matchmaking_sessions_get_metricsD
GET /v1/gameCenterMatchmakingQueues/{id}/metrics/matchmakingSessions (GET /v1/gameCenterMatchmakingQueues/{id}/metrics/matchmakingSessions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| granularity | No | the granularity of the per-group dataset |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not what metrics are returned, how date ranges work, pagination behavior, or permissions required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only sentence by duplicating the identical URL string in parentheses. There is no front-loaded statement of purpose, so brevity here reflects emptiness rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and four parameters, the description needed to explain return values and metric semantics; instead it provides only the endpoint path, leaving an agent unable to call this correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents id, sort, limit, and granularity with enums. The description adds no parameter meaning, but the baseline for fully-covered schemas is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path, repeated twice in parentheses. It restates the operation already encoded in the tool name without adding a verb+resource explanation or distinguishing it from sibling metrics endpoints such as game_center_matchmaking_queues_matchmaking_requests_get_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many other matchmaking-queue metrics tools (queue sizes, experiment sizes, requests), nor any prerequisite or context for selecting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_queues_update_instanceD
PATCH /v1/gameCenterMatchmakingQueues/{id} (PATCH /v1/gameCenterMatchmakingQueues/{id}) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingQueueUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingQueueUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no mention of required permissions, whether the update is partial or full replacement, reversibility, or side effects on a live matchmaking queue.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in the useful sense: the path is repeated twice and the only substantive content is a pointer to an external OpenAPI component rather than a self-contained explanation. This is under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested request body, no annotations, and no output schema, the description should explain the update semantics and payload envelope. Instead it defers entirely to an external spec an agent may not be able to read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already states the body shape as components.schemas.GameCenterMatchmakingQueueUpdateRequest, which the description merely repeats. Per the high-coverage baseline this is a 3, though the description contributes no added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ('PATCH /v1/gameCenterMatchmakingQueues/{id}'), duplicated verbatim in parentheses. It adds nothing beyond what the tool name already conveys, so it is effectively a tautology rather than a statement of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of the sibling update/create/delete tools for matchmaking queues. An agent gets zero routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rules_create_instanceC
POST /v1/gameCenterMatchmakingRules (POST /v1/gameCenterMatchmakingRules) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingRuleCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingRuleCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about side effects, required scopes/permissions, whether the created rule is immediately active, or error behavior. The only behavioral signal is the implicit mutation implied by POST.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the parenthetical repeat of the same POST path is pure redundancy. Brevity here comes from under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body object, the description should at minimum explain what the body envelope contains or what the call returns. Deferring everything to an external OpenAPI document leaves the agent unable to invoke it correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the baseline is 3. The description's pointer to components.schemas.GameCenterMatchmakingRuleCreateRequest merely duplicates what the schema already says and adds no field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name re-expressed as an HTTP call (POST /v1/gameCenterMatchmakingRules). It states the endpoint but not what a matchmaking rule is, what creating one accomplishes, or how it differs from game_center_matchmaking_rules_update_instance in user-facing terms. This is a tautology of the name/route rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many matchmaking-rule siblings. The reference to the OpenAPI schema only addresses payload shape, not invocation timing or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rules_delete_instanceD
DELETE /v1/gameCenterMatchmakingRules/{id} (DELETE /v1/gameCenterMatchmakingRules/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it says nothing about irreversibility, required permissions, cascading effects on rule sets, or error behavior for a destructive DELETE operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes its only content on duplicating the same HTTP path twice in parentheses, providing no front-loaded useful information. Brevity here reflects under-specification, not economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete tool with no annotations and no output schema, the description is entirely inadequate — it never states what is destroyed, whether the action is reversible, or what the caller receives, leaving the agent unable to judge consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'id' parameter documented as 'the id of the requested resource', so the schema already does the work. The description adds nothing beyond the path template, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a mechanical restatement of the endpoint (DELETE /v1/gameCenterMatchmakingRules/{id}) duplicated in parentheses, which effectively repeats the tool name rather than explaining what deleting a matchmaking rule means. It does convey the verb+resource implicitly, but adds no plain-language purpose beyond the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as game_center_matchmaking_rules_update_instance or the rule-set delete tools. No prerequisites, no conditions, no alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rule_sets_create_instanceC
POST /v1/gameCenterMatchmakingRuleSets (POST /v1/gameCenterMatchmakingRuleSets) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingRuleSetCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingRuleSetCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no note that this is a mutating create, no auth/permission requirement, no idempotency or conflict behavior, no indication of what is returned. Pointing at a schema component is schema documentation, not behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical '(POST /v1/gameCenterMatchmakingRuleSets)' duplicates the preceding URL verbatim, so one of only two sentences is pure redundancy. Remaining length is acceptable for a single-parameter wrapper.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a create mutation with no annotations, no output schema, and a nested JSON:API body whose shape lives in an external OpenAPI component the agent cannot see from the definition. Given that complexity, the description needs to say more about the envelope and its required members, but it defers entirely to an off-tool reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'body' parameter, and the description merely repeats that same reference ('components.schemas.GameCenterMatchmakingRuleSetCreateRequest'). With the schema doing the work, the baseline of 3 applies; the description adds no syntax example, required-field hint, or identity of the rule-set fields beyond the schema pointer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description encodes the purpose only as an HTTP verb plus URL ('POST /v1/gameCenterMatchmakingRuleSets'), which the agent must decode into 'create a matchmaking rule set'. The verb+resource are technically present, but the phrasing largely restates the tool name's endpoint rather than stating the purpose in plain terms, and it does nothing to distinguish this from the sibling get_collection/get_instance/update/delete variants beyond the URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to invoke this create operation versus its siblings (e.g. game_center_matchmaking_rule_sets_update_instance or the queues/rules/teams endpoints), nor any prerequisite or sequencing information. The agent is left to infer everything 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.
game_center_matchmaking_rule_sets_delete_instanceC
DELETE /v1/gameCenterMatchmakingRuleSets/{id} (DELETE /v1/gameCenterMatchmakingRuleSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the verb. It does not state that the operation is irreversible, what dependent resources (rules, teams, queues referencing the set) are affected, what authorization is required, or what a successful response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant, repeating the method and path twice in parentheses with zero informational payload. This is under-specification rather than effective conciseness, and nothing is genuinely front-loaded because there is nothing useful to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one fully documented parameter and no output schema, the invocation mechanics are inferable, but for a destructive DELETE endpoint with zero annotation coverage the description should at minimum flag irreversibility or side effects. An agent lacks the context to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single required 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds no syntax, format, or constraint information beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP verb plus path, 'DELETE /v1/gameCenterMatchmakingRuleSets/{id}', which is a verbatim restatement of the tool name. It technically names a verb and resource but adds nothing an agent couldn't read from the name, making it a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no reference to alternative deletion endpoints among the many sibling tools (e.g. game_center_matchmaking_rules_delete_instance or game_center_matchmaking_rule_sets_get_instance). The agent must infer all usage context 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.
game_center_matchmaking_rule_sets_get_collectionC
GET /v1/gameCenterMatchmakingRuleSets (GET /v1/gameCenterMatchmakingRuleSets)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| limit_rules | No | maximum number of related rules returned (when they are included) | |
| limit_teams | No | maximum number of related teams returned (when they are included) | |
| limit_matchmakingQueues | No | maximum number of related matchmakingQueues returned (when they are included) | |
| fields_gameCenterMatchmakingRules | No | the fields to include for returned resources of type gameCenterMatchmakingRules | |
| fields_gameCenterMatchmakingTeams | No | the fields to include for returned resources of type gameCenterMatchmakingTeams | |
| fields_gameCenterMatchmakingQueues | No | the fields to include for returned resources of type gameCenterMatchmakingQueues | |
| fields_gameCenterMatchmakingRuleSets | No | the fields to include for returned resources of type gameCenterMatchmakingRuleSets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The bare 'GET' implies a safe read, but pagination behavior, default page size, relationship-inclusion cost, and authorization requirements are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from saying nothing rather than from efficient editing, and the path is duplicated inside the parentheses for no benefit. There is no front-loaded statement of what the tool returns or does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter endpoint with sparse fieldsets, relationship inclusion, and per-relationship limits, plus no output schema and no annotations, the description explains none of the non-obvious usage. An agent must reverse-engineer the pagination and inclusion model entirely from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all nine parameters (limit, include, limit_*, fields_*) documented inline in the schema, so the baseline is 3. The description adds nothing beyond the schema, but it does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally the HTTP method and path repeated twice, which is a restatement of the tool name rather than an explanation of purpose. It does convey that this is a read/list endpoint for Game Center matchmaking rule sets, but an agent gets no more than it could infer from the identifier itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this collection endpoint versus the sibling get_instance, or when to prefer a related-resource endpoint such as rule_sets_rules_get_to_many_relationship. The 'collection' in the name weakly implies a bulk listing, but nothing is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rule_sets_get_instanceD
GET /v1/gameCenterMatchmakingRuleSets/{id} (GET /v1/gameCenterMatchmakingRuleSets/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_rules | No | maximum number of related rules returned (when they are included) | |
| limit_teams | No | maximum number of related teams returned (when they are included) | |
| limit_matchmakingQueues | No | maximum number of related matchmakingQueues returned (when they are included) | |
| fields_gameCenterMatchmakingRules | No | the fields to include for returned resources of type gameCenterMatchmakingRules | |
| fields_gameCenterMatchmakingTeams | No | the fields to include for returned resources of type gameCenterMatchmakingTeams | |
| fields_gameCenterMatchmakingQueues | No | the fields to include for returned resources of type gameCenterMatchmakingQueues | |
| fields_gameCenterMatchmakingRuleSets | No | the fields to include for returned resources of type gameCenterMatchmakingRuleSets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about read-only nature, authentication, rate limits, or what the response contains. A bare route string is insufficient for a 9-parameter tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the value is wasted on duplicating the same route in parentheses, which adds zero information. Front-loaded yet content-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no annotations and no output schema, the description should explain the resource, include/fields semantics, and return behavior. Providing only the route leaves the agent with nothing beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the 9 parameters (id, include, limit_*, fields_*) clearly documented in the schema. Per the baseline rule, a 3 is appropriate even though the description adds no parameter meaning of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route restated twice, which essentially repeats the tool name without adding a verb or distinguishing scope. It signals a GET on a single rule-set resource, but only barely beyond what the name 'game_center_matchmaking_rule_sets_get_instance' already says.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs the many sibling tools (get_collection, get_to_many_relationship, update_instance, etc.). The agent must infer everything from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rule_sets_matchmaking_queues_get_to_many_relationshipD
GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/matchmakingQueues (GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/matchmakingQueues)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not say this is a read-only list operation, whether it paginates, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the identical path is pure waste rather than economy. Nothing is front-loaded or prioritized because there is no prose content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only a bare path, the description leaves an agent unable to confirm what the call returns (a list of related matchmaking queue identifiers) or how it relates to the near-identical 'related' sibling. It is inadequate for even this simple relationship endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema itself, so the baseline is 3. The description contributes no additional meaning about the id or pagination limit beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path repeated twice in parentheses, so it restates the tool name rather than stating in prose what the tool does. An agent can infer 'fetch the matchmakingQueues relationship of a rule set' from the path, but the description itself adds no clarification of the verb, resource, or result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this endpoint, what prerequisites exist (e.g. a valid rule set id), or how it differs from the sibling 'game_center_matchmaking_rule_sets_matchmaking_queues_get_to_many_related', which appears to cover the same relationship.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rule_sets_rules_get_to_many_relationshipD
GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/rules (GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/rules)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the implied HTTP GET. It does not mention pagination behavior (despite a limit param), what the response body contains, or any auth/rate-limit constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The line is short but wasteful: it duplicates the exact same endpoint string twice without adding value, and there is no front-loaded plain-language statement of purpose. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read tool with no output schema and no annotations, the description should at minimum state what the call returns and how it differs from the _related sibling. Neither is provided, leaving the agent unable to confidently distinguish this from its near-duplicate counterpart.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema with their meaning. The description adds nothing about parameter usage, so the baseline of 3 applies since the schema fully does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP signature ('GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/rules') repeated verbatim in parentheses. It restates the tool name and endpoint rather than explaining in plain language what the tool returns or does, so it adds essentially no meaning beyond the identifier itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. Notably, a near-identical sibling, game_center_matchmaking_rule_sets_rules_get_to_many_related, exists and the description does nothing to distinguish the 'relationship' endpoint from the 'related' endpoint, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rule_sets_teams_get_to_many_relationshipC
GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/teams (GET /v1/gameCenterMatchmakingRuleSets/{id}/relationships/teams)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided and the description carries the full burden, yet it discloses nothing: not that it is a read-only GET, not what the relationship payload contains, not pagination behavior. A URL string alone reveals no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the identical URL path is written out twice, once bare and once inside parentheses, adding zero information. It is not front-loaded with any useful statement because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must carry the load, but it does not say whether the response is a list of resource identifiers or full team objects, nor how pagination interacts with the limit parameter. For a relationship endpoint that is a critical distinction left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and limit parameters are already fully documented in the schema. The description adds no meaning beyond that, and per the coverage baseline a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path repeated twice in parentheses, with no natural-language statement of verb or resource. An agent can infer "fetch teams relationship for a matchmaking rule set" from the path, but this is essentially a restatement of the tool name rather than an explanation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this relationship endpoint versus the sibling get_to_many_related variant or the matchmaking_queues relationship. The agent must infer usage entirely from the URL, and nothing distinguishes relationship (IDs) fetches from related (full resources) fetches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rule_sets_update_instanceC
PATCH /v1/gameCenterMatchmakingRuleSets/{id} (PATCH /v1/gameCenterMatchmakingRuleSets/{id}) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingRuleSetUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingRuleSetUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only implies partial-update semantics via the PATCH method. It says nothing about permissions, whether omitted fields are preserved, reversibility, or side effects on queues/rules that reference the rule set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint string is duplicated verbatim inside parentheses ('PATCH /v1/... (PATCH /v1/...)'), which is pure waste, and the whole description is a pointer to an external schema rather than a self-contained statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, a nested JSON:API body, and no output schema, the description should explain the update contract. Instead it defers entirely to an external OpenAPI component, leaving the agent without the information needed to construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description references the body's OpenAPI component but adds no field-level meaning (e.g., which attributes are updatable, required envelope keys) beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys an update operation only through the raw REST path 'PATCH /v1/gameCenterMatchmakingRuleSets/{id}', never stating in plain language what is being modified. It does distinguish itself from sibling get/delete/create variants via the PATCH verb, but the agent must parse a URL to infer purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus create_instance, delete_instance, or get_instance for the same rule set, nor any prerequisite or context. The agent is left to infer usage entirely from the name and path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rule_set_tests_create_instanceC
POST /v1/gameCenterMatchmakingRuleSetTests (POST /v1/gameCenterMatchmakingRuleSetTests) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingRuleSetTestCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingRuleSetTestCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, yet it says nothing about side effects, required permissions, whether the test executes synchronously, or whether it is idempotent. The only behavioral hint is a pointer to the OpenAPI schema for the request envelope, which is minimal for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the path is duplicated verbatim in parentheses, which is pure redundancy. The schema reference is the only substantive sentence, so the text is not wasteful in length but is wasteful in content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, and no output schema, the description should explain what the call does and what is required. Instead it only names the endpoint and defers entirely to the OpenAPI spec, leaving an agent without enough to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and schema coverage is 100%, so the baseline is 3. The description's pointer to components.schemas.GameCenterMatchmakingRuleSetTestCreateRequest essentially restates the schema's own description rather than adding new meaning about the payload contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation only by repeating the HTTP verb and path ('POST /v1/gameCenterMatchmakingRuleSetTests') twice, which maps to a create action on that resource. It never explains what a rule-set test actually is or what creating one accomplishes, so the purpose is inferred from the endpoint string rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g., an existing rule set to test), and no reference to any alternative or sibling tool. The create semantics are only implied by the POST verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rules_matchmaking_boolean_rule_results_get_metricsD
GET /v1/gameCenterMatchmakingRules/{id}/metrics/matchmakingBooleanRuleResults (GET /v1/gameCenterMatchmakingRules/{id}/metrics/matchmakingBooleanRuleResults)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| groupBy | No | the dimension by which to group the results | |
| granularity | No | the granularity of the per-group dataset | |
| filter_result | No | filter by 'result' attribute dimension | |
| filter_gameCenterMatchmakingQueue | No | filter by 'gameCenterMatchmakingQueue' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no mention of what metrics are returned, aggregation behavior, pagination, permissions, or rate limits. The path string conveys zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the exact same path string is printed twice, once bare and once in parentheses, providing zero incremental information. Brevity here reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a seven-parameter metrics endpoint with no annotations and no output schema, an agent needs substantially more than a restated URL to call it correctly. The description omits purpose, usage, and any behavioral detail, leaving it wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters (id, sort, limit, groupBy, granularity, filter_result, filter_gameCenterMatchmakingQueue). The description adds nothing beyond the schema, but the high coverage justifies the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP method and path (GET /v1/gameCenterMatchmakingRules/{id}/metrics/matchmakingBooleanRuleResults) repeated verbatim in parentheses. It technically names a resource but adds no semantic meaning beyond the tool name itself, and it does nothing to distinguish this from close siblings like matchmaking_number_rule_results_get_metrics or matchmaking_rule_errors_get_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many sibling metrics endpoints. No mention of context, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rules_matchmaking_number_rule_results_get_metricsD
GET /v1/gameCenterMatchmakingRules/{id}/metrics/matchmakingNumberRuleResults (GET /v1/gameCenterMatchmakingRules/{id}/metrics/matchmakingNumberRuleResults)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| groupBy | No | the dimension by which to group the results | |
| granularity | No | the granularity of the per-group dataset | |
| filter_gameCenterMatchmakingQueue | No | filter by 'gameCenterMatchmakingQueue' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no note on pagination, sorting semantics, grouping/granularity effects, authentication, or result shape for what is evidently a metrics-reporting endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is not earned conciseness: the same path string is duplicated in parentheses for no informational gain, and the whole payload is under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex metrics endpoint with six parameters, no output schema, and aggregation controls (sort, groupBy, granularity, filter), an agent needs at least a statement of what data is returned and how the grouping dimensions behave. None of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (id, sort, limit, groupBy, granularity, filter_gameCenterMatchmakingQueue) are documented in the schema itself. The description adds zero parameter context, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw HTTP path/verb repeated verbatim, so it effectively restates the tool name rather than explaining what the tool retrieves. An agent cannot tell from this text how it differs from its near-identical siblings like game_center_matchmaking_rules_matchmaking_boolean_rule_results_get_metrics or ..._matchmaking_rule_errors_get_metrics beyond toggling the URL segment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternative tool is mentioned. The two nearly identical sibling metrics endpoints are left entirely undistinguished.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rules_matchmaking_rule_errors_get_metricsD
GET /v1/gameCenterMatchmakingRules/{id}/metrics/matchmakingRuleErrors (GET /v1/gameCenterMatchmakingRules/{id}/metrics/matchmakingRuleErrors)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| sort | No | comma-separated list of sort expressions; metrics will be sorted as specified | |
| limit | No | maximum number of groups to return per page | |
| groupBy | No | the dimension by which to group the results | |
| granularity | No | the granularity of the per-group dataset | |
| filter_gameCenterMatchmakingQueue | No | filter by 'gameCenterMatchmakingQueue' relationship dimension |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether this is a safe read, not rate limits, not pagination behavior, not whether data is aggregated over time. A bare URI conveys no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the path repeated twice, which is pure redundancy rather than information. Brevity here reflects under-specification, not disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, six parameters, and time-series query semantics (granularity, groupBy, sort), the description should explain what the metric represents and how to scope it. It explains nothing, leaving the agent unable to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters (id, sort, limit, groupBy, granularity, filter_gameCenterMatchmakingQueue) including the enum values. The description adds nothing beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path, duplicated verbatim inside parentheses. It restates the tool name in URI form rather than stating in plain language what the tool returns (error metrics for a matchmaking rule) or how it differs from sibling metrics tools like matchmaking_boolean_rule_results_get_metrics or matchmaking_number_rule_results_get_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this tool, what prerequisite state is needed, or which of the many sibling metrics endpoints is appropriate. The agent is left to infer everything from the path string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_rules_update_instanceC
PATCH /v1/gameCenterMatchmakingRules/{id} (PATCH /v1/gameCenterMatchmakingRules/{id}) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingRuleUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingRuleUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only states the HTTP method. PATCH does hint at partial-update semantics, but there is no mention of authentication requirements, whether omitted fields are preserved or cleared, reversibility, or side effects on live matchmaking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one sentence is short but wastes space by repeating the identical PATCH path twice in parentheses, and it is not front-loaded with any actual purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested JSON:API request body, no annotations, and no output schema. A bare endpoint-and-schema pointer leaves the agent without the request envelope details, error behavior, or update semantics it needs to call the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and body parameters are already documented, and the description correctly points the body at the GameCenterMatchmakingRuleUpdateRequest component. This is a marginal pointer rather than added meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name plus the PATCH path make it inferable that this partially updates an existing Game Center matchmaking rule. However, the description is essentially a restatement of the tool name in HTTP form and does nothing to distinguish it from siblings like game_center_matchmaking_rules_create_instance or _delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus create/delete/get variants, no prerequisites, and no note about which rule fields are updatable. The agent is left to infer everything from the operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_teams_create_instanceC
POST /v1/gameCenterMatchmakingTeams (POST /v1/gameCenterMatchmakingTeams) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingTeamCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingTeamCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses only that the call is a POST (implying a write). It omits authentication/permission requirements, whether the resource is created under a parent, and any side effects of team creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical literally duplicates 'POST /v1/gameCenterMatchmakingTeams' verbatim, wasting the only content-bearing sentence. The remaining sentence is a bare schema reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with a nested JSON:API body and no output schema, the description leaves too much unstated. Pointing to an external OpenAPI component is the bare minimum, and nothing is said about the required JSON:API envelope structure, relationships, or the result of successful creation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single body parameter already documents 'Shape: components.schemas.GameCenterMatchmakingTeamCreateRequest.' The description merely repeats that same pointer without adding field-level meaning, so the schema does the heavy lifting and the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('POST /v1/gameCenterMatchmakingTeams') plus a pointer to the OpenAPI request component. It never says what a 'matchmaking team' is or why one would create it, and it does nothing to distinguish itself from its siblings game_center_matchmaking_teams_update_instance and game_center_matchmaking_teams_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent learns only that this is the POST endpoint for the teams resource, with nothing about when creating a team is the right action versus updating one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_teams_delete_instanceC
DELETE /v1/gameCenterMatchmakingTeams/{id} (DELETE /v1/gameCenterMatchmakingTeams/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The literal DELETE route implies a destructive mutation, but the description does not disclose whether deletion is permanent, whether dependent rule-set associations cascade or block the delete, or what permissions are required — all critical for an irreversible operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The whole content is one route string duplicated inside parentheses, so half the text is pure redundancy with zero information gain. What remains is not front-loaded prose but a raw path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description should at minimum state permanence and side effects. It provides nothing beyond the endpoint path, leaving an agent unable to reason about consequences of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds no additional meaning such as format or where to obtain the id, but the schema does the necessary work, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP route 'DELETE /v1/gameCenterMatchmakingTeams/{id}' repeated verbatim in a parenthetical. It does convey the verb (delete) and resource (matchmaking team) via the URL, but it is essentially a restatement of the tool name rather than a stated purpose, and it gives no plain-language framing of what a 'matchmaking team' entity is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like game_center_matchmaking_teams_update_instance or game_center_matchmaking_teams_create_instance, nor any prerequisites such as needing to remove a team from a rule set first. The agent is left to infer everything from the route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_matchmaking_teams_update_instanceC
PATCH /v1/gameCenterMatchmakingTeams/{id} (PATCH /v1/gameCenterMatchmakingTeams/{id}) Body shape: see OpenAPI components.schemas.GameCenterMatchmakingTeamUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterMatchmakingTeamUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, but it discloses nothing about partial-update semantics (PATCH vs PUT), what happens to fields left out of the JSON:API envelope, required permissions, or reversibility. Pointing at the OpenAPI schema is the only useful behavioral hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the operation, but the endpoint is written twice in immediate succession (the parenthetical duplicate), which is pure waste in an already terse description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the definition is too thin. It omits partial-update behavior, body field expectations, and any result/permission context an agent would need to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (id, body) are already documented in the schema. The description only points at components.schemas.GameCenterMatchmakingTeamUpdateRequest, which the body schema already references, adding no real meaning beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb and resource (PATCH on /v1/gameCenterMatchmakingTeams/{id}), so an agent can tell it updates a specific matchmaking team. It does not state the purpose in natural language or distinguish itself from the create/delete team siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives. Siblings like game_center_matchmaking_teams_create_instance and _delete_instance exist, but nothing tells the agent which to pick or under what conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
game_center_player_achievement_submissions_create_instanceC
POST /v1/gameCenterPlayerAchievementSubmissions (POST /v1/gameCenterPlayerAchievementSubmissions) Body shape: see OpenAPI components.schemas.GameCenterPlayerAchievementSubmissionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.GameCenterPlayerAchievementSubmissionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the entire behavioral burden, and it discloses almost nothing beyond the HTTP verb. The implied POST tells the agent this is a mutating write, but there is no mention of required permissions, rate limits, side effects, idempotency, or error behavior for an operation whose name suggests submitting player achievement data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, which is good, but the parenthetical duplicates the identical route verbatim and the schema pointer adds no information. It is compact yet wastes its only sentence on a repeated string and an unresolvable reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create-instance tool taking a nested JSON:API envelope, with no output schema and no annotations, the description is grossly under-specified: it never explains the payload contents, required fields, or what is returned. The endpoint and a schema name are the only anchors, leaving the agent unable to construct a correct call from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema technically has description coverage, but that description just redirects to 'components.schemas.GameCenterPlayerAchievementSubmissionCreateRequest', which is the same dangling reference repeated in the tool description. Since the body is an open object (additionalProperties: {}) and no fields, required keys, or JSON:API envelope structure are enumerated, the agent gets no usable parameter semantics; the circular pointer does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does little more than restate the tool name as a raw HTTP route, and it does so twice ('POST /v1/gameCenterPlayerAchievementSubmissions (POST /v1/gameCenterPlayerAchievementSubmissions)'). It conveys the resource and that this is a POST/create, but never states in plain terms what a 'player achievement submission' is or what creating one accomplishes. This is effectively a tautology of the name rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative tool or workflow. The only direction given is a pointer to an external OpenAPI schema for the body shape, 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.
game_center_score_moderations_update_instanceC
PATCH /v1/gameCenterScoreModerations/{id} (PATCH /v1/gameCenterScoreModerations/{id}) Body shape: see OpenAPI components.schemas.GameCenterScoreModerationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.GameCenterScoreModerationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. PATCH implies a mutation, yet there is no statement about permissions, whether the update is partial or full replacement, reversibility, or side effects on leaderboards/scores. The only 'hint' is a pointer to an OpenAPI schema, which is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical repeats the endpoint verbatim, so one of its two clauses is pure redundancy. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should at minimum state what is being modified and any constraints. Instead it provides only a route and a schema pointer, leaving an agent unable to judge effect, safety, or response. Inadequate for the complexity of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id is documented as 'the id of the requested resource' and body points to the GameCenterScoreModerationUpdateRequest component), so the schema already does the heavy lifting. The description merely repeats the body-shape pointer without adding syntax, required attributes, or type/enum meaning. Baseline 3 applies when the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the HTTP verb and the resource path (PATCH /v1/gameCenterScoreModerations/{id}), which conveys that a specific score moderation instance is being updated. However, it is essentially a raw route dump that restates the tool name, and the parenthetical exact-duplicate of the path adds nothing. It never explains in plain language what a score moderation is or what changing one accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, no prerequisites, and no mention of any alternative (e.g., the related get/list siblings such as game_center_leaderboards_v2_game_center_score_moderations_get_to_many_related). The agent must infer everything from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_app_store_review_screenshots_create_instanceC
POST /v1/inAppPurchaseAppStoreReviewScreenshots (POST /v1/inAppPurchaseAppStoreReviewScreenshots) Body shape: see OpenAPI components.schemas.InAppPurchaseAppStoreReviewScreenshotCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseAppStoreReviewScreenshotCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers none of it: no permissions/authentication requirements, no statement of side effects on parent resources, no upload or rate-limit notes. The single useful disclosure (the HTTP verb) merely duplicates the name, and the 'see OpenAPI...' pointer is a schema reference, not behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, which is normally a virtue, but the endpoint path is stated twice in the same parenthetical construction and the leading content is the URL rather than the purpose. Being brief here reflects under-specification rather than tight editing, so it lands at minimum-viable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API envelope, no annotations, and no output schema, the description should at minimum name the target resource, the required envelope members, and the parent entity. Pointing at an external OpenAPI component is a partial escape hatch, but an agent calling this tool still lacks the information needed to construct a valid request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter ('body') and schema description coverage is 100%, so the schema already documents its shape; the description's pointer to components.schemas.InAppPurchaseAppStoreReviewScreenshotCreateRequest adds no meaning beyond what the schema's own description repeats. Baseline 3 applies for a single fully-described parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the endpoint path and HTTP verb, duplicated parenthetically, which the tool name ('...review_screenshots_create_instance') already conveys. It never says in plain language what is being created or why — an agent is left to infer that this creates an App Store review screenshot for an in-app purchase. This is tautology rather than purpose articulation, though the resource is at least identifiable from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. a parent in-app purchase version must exist), and no differentiation from adjacent tools like in_app_purchase_app_store_review_screenshots_update_instance/delete_instance or the subscription equivalent. The reader gets no routing help whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_app_store_review_screenshots_delete_instanceD
DELETE /v1/inAppPurchaseAppStoreReviewScreenshots/{id} (DELETE /v1/inAppPurchaseAppStoreReviewScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only echoes the route. It does not disclose that this is a destructive/irreversible operation, what permissions are required, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical literally duplicates the preceding string, which is pure noise rather than front-loaded value. Minimal length is achieved only because no substantive content is given.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should at least convey destructive/irreversible nature and auth expectations. It provides none of that, leaving the agent without critical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the id parameter is documented as "the id of the requested resource"), so the schema already does the heavy lifting. The description adds no meaning beyond echoing the path variable, so the baseline of 3 for high coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is effectively a restatement of the tool name as an HTTP route ("DELETE /v1/inAppPurchaseAppStoreReviewScreenshots/{id}"). It identifies a verb and resource but does not describe what deleting an App Store review screenshot actually means or distinguish it from near-identical siblings such as subscription_app_store_review_screenshots_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to alternatives. An agent gets no signal about when this delete is appropriate versus the many other screenshot delete tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_app_store_review_screenshots_get_instanceC
GET /v1/inAppPurchaseAppStoreReviewScreenshots/{id} (GET /v1/inAppPurchaseAppStoreReviewScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| fields_inAppPurchaseAppStoreReviewScreenshots | No | the fields to include for returned resources of type inAppPurchaseAppStoreReviewScreenshots |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers almost nothing: only the implicit read-only nature of GET. Nothing is said about authentication requirements, permissions, rate limits, error behavior for unknown ids, or the fact that related resources can be sideloaded via the include/fields parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplication of the identical path is pure waste and the entire content is a name restatement, so no sentence earns its place. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id tool with a fully described schema and no output schema, the minimum an agent needs is what the resource represents and that the id is a screenshot id. Neither is provided, leaving the description inadequate even for this low-complexity operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters are documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema, but it also does not need to given the coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and its HTTP route, with the same string duplicated in parentheses. It conveys only that this is a GET on a single resource, without explaining what an in-app purchase App Store review screenshot is or how it differs from the many sibling in_app_purchase_* tools. That is tautology rather than purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The path shape ({id}) weakly implies 'fetch one specific screenshot by its id', which is the only usage signal present, and it is inferable 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.
in_app_purchase_app_store_review_screenshots_update_instanceC
PATCH /v1/inAppPurchaseAppStoreReviewScreenshots/{id} (PATCH /v1/inAppPurchaseAppStoreReviewScreenshots/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseAppStoreReviewScreenshotUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseAppStoreReviewScreenshotUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It signals mutation via PATCH but does not disclose required auth/scopes, which fields are mutable, whether the App Store review screenshot must be in a draft state, or any side effects. Pointing to an OpenAPI component the agent cannot see is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief and front-loads the route, but the parenthetical '(PATCH ...)' redundantly repeats the identical path for no added value, which is wasted text in an otherwise one-sentence description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should supply operational context, but instead it delegates the entire body contract to an external OpenAPI schema the agent cannot resolve. With nested-object bodies and required fields, this leaves the agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id ('the id of the requested resource') and body are already documented in the schema. The description only echoes the body shape reference (InAppPurchaseAppStoreReviewScreenshotUpdateRequest), adding no syntax or field-level meaning beyond the schema, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the underlying HTTP operation ('PATCH /v1/inAppPurchaseAppStoreReviewScreenshots/{id}'), which tells an agent this is a partial update of one App Store review screenshot, distinguished from the create/get/delete siblings by the PATCH verb. However, it never states the purpose in plain language and largely restates the tool name as a route, so the intent must be inferred from HTTP semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this update tool rather than the create, get, or delete siblings, nor any prerequisite or context. The agent is left to infer usage entirely from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_availabilities_available_territories_get_to_many_relationshipC
GET /v1/inAppPurchaseAvailabilities/{id}/relationships/availableTerritories (GET /v1/inAppPurchaseAvailabilities/{id}/relationships/availableTerritories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The only behavioral signal is the implicit read-only nature of GET; it does not mention pagination behavior, auth/permission requirements, or that this returns a relationship linkage (IDs) rather than full resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the only content is the endpoint path repeated verbatim inside parentheses after itself, which is pure duplication with zero informational value. Brevity here reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no annotations and no output schema, the description should at minimum say what is returned and that it is a paginated to-many relationship list. It provides none of that, leaving the agent to infer everything from the URL and tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both 'id' and 'limit' documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema for either parameter, but the schema already does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path 'GET /v1/inAppPurchaseAvailabilities/{id}/relationships/availableTerritories', which is essentially the tool name restated (the name is that same path converted to snake_case). It encodes a verb and resource only in URL form and gives no plain-language statement of what is retrieved, nor any differentiation from the many sibling to-many relationship endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Nothing indicates why an agent would fetch available territories for an in-app purchase availability, when it is appropriate, or how it relates to siblings such as in_app_purchase_availabilities_available_territories_get_to_many_related or subscription_plan_availabilities_available_territories_get_to_many_relationship.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_availabilities_create_instanceC
POST /v1/inAppPurchaseAvailabilities (POST /v1/inAppPurchaseAvailabilities) Body shape: see OpenAPI components.schemas.InAppPurchaseAvailabilityCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseAvailabilityCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: only that the request is a POST with a JSON:API envelope. It does not state that this is a mutating create, what is created or attached to, auth/permission needs, idempotency, or side effects. It does at least imply a write via POST, which is why it is not a 1.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the first clause is literally duplicated ('POST /v1/inAppPurchaseAvailabilities (POST /v1/inAppPurchaseAvailabilities)'), which is pure waste, and the only substantive sentence outsources the content to an external OpenAPI document rather than front-loading any usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, nested-body create tool with no annotations and no output schema, the definition is far too thin: it never describes the resource, the required envelope contents, or the outcome. The external schema pointer is the only content, and it is not self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single required body parameter, so the baseline is 3 per the rubric. However, the description adds nothing beyond what the schema already says, and both merely point at the external OpenAPI component components.schemas.InAppPurchaseAvailabilityCreateRequest, leaving the actual field semantics undefined in either place.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw endpoint restated ('POST /v1/inAppPurchaseAvailabilities'), which duplicates the tool name's 'create_instance' rather than explaining in business terms what an in-app purchase availability is or what creating one accomplishes. An agent gets a URL, not a purpose, and no differentiation from the many sibling create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative (e.g. in_app_purchase_availabilities_get_instance or the v2 equivalents). Nothing tells the agent under what conditions this create call is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_availabilities_get_instanceD
GET /v1/inAppPurchaseAvailabilities/{id} (GET /v1/inAppPurchaseAvailabilities/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| limit_availableTerritories | No | maximum number of related availableTerritories returned (when they are included) | |
| fields_inAppPurchaseAvailabilities | No | the fields to include for returned resources of type inAppPurchaseAvailabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The 'GET' prefix does signal a read-only operation, but nothing is said about authentication requirements, pagination, error behavior for missing IDs, or what the included relationships do. For a 5-parameter tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in a useful sense: the same route string is repeated verbatim inside parentheses, which is pure waste. It is under-specified rather than efficiently trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no annotations, no output schema, and a resource type that is not self-explanatory, the description should at minimum say what the endpoint returns and what the include/fields options surface. None of that is present, leaving the agent to infer everything from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (id, include, fields_*, limit_availableTerritories) is already documented in the schema. The description contributes nothing beyond the path template's id placeholder, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw HTTP route, 'GET /v1/inAppPurchaseAvailabilities/{id}', duplicated in parentheses. It conveys the HTTP verb and path template, which implies a single-resource fetch, but it adds no plain-language statement of what an 'in-app purchase availability' is or how it differs from sibling collection/relationship tools. This is effectively the tool name restated in URL form.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling alternatives such as in_app_purchase_availabilities_available_territories_get_to_many_relationship or in_app_purchase_availabilities_create_instance. No prerequisites, no context, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_contents_get_instanceC
GET /v1/inAppPurchaseContents/{id} (GET /v1/inAppPurchaseContents/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| fields_inAppPurchaseContents | No | the fields to include for returned resources of type inAppPurchaseContents |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses only that this is a GET. It does not state whether authorization is required, whether the resource may be absent (404 behavior), or any read-only/pagination traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line duplicates the exact same string twice, adding no information in either instance. It is short but entirely wasteful rather than economical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET-by-id tool with no output schema, the description should at minimum identify what the returned resource represents. It leaves the resource semantics and any caveats undocumented, which is inadequate even for a simple fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and the fields_* projection params. The description adds zero semantic value beyond the schema, which makes the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP verb and route path from the tool name ('GET /v1/inAppPurchaseContents/{id}'), restated verbatim in parentheses. It never explains what an inAppPurchaseContent resource actually is, so an agent learns nothing beyond what the name already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no condition under which this instance fetch is preferred over the collection or relationship siblings. The description provides nothing that routes the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_images_create_instanceD
POST /v1/inAppPurchaseImages (POST /v1/inAppPurchaseImages) Body shape: see OpenAPI components.schemas.InAppPurchaseImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no authentication requirements, no statement that this mutates state by creating a resource, no rate limits, and no note that the JSON:API envelope must be wrapped correctly or the call fails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical repetition of the same method and path adds no information, and the single actionable sentence is delegated to an external OpenAPI document the agent may not have in context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with no annotations, no output schema, and an opaque body schema that only points at an external component definition, the description should at minimum explain what is being created and what the request must contain. It supplies none of that, leaving the agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (body) with 100% schema description coverage, so the baseline is 3. The description's pointer to components.schemas.InAppPurchaseImageCreateRequest is an exact duplicate of what the schema already states, adding no new semantic detail about required fields or envelope structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path ("POST /v1/inAppPurchaseImages"), which is a near-tautological echo of the tool name rather than a plain-language statement of what it does (create an in-app purchase image resource). It gives no differentiation from close siblings like in_app_purchase_images_v2_create_instance or subscription_images_create_instance, so an agent cannot tell which create tool applies from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus the v2 variant or the other image-creation siblings, and no prerequisites or context are stated. The description is purely a mechanical endpoint restatement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_images_delete_instanceD
DELETE /v1/inAppPurchaseImages/{id} (DELETE /v1/inAppPurchaseImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing about irreversibility, required permissions, or side effects. The only hint is the word DELETE, which merely echoes the tool name and the schema's id parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but structurally wasteful: the same route is duplicated verbatim inside parentheses, so the sentence length is redundant rather than efficient. It is under-specification disguised as brevity, not purposeful conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description should explain permissions, reversibility, and effect. It supplies none of this, leaving an agent unable to judge consequences of calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter ('id') and the schema already documents it at 100% coverage, so per the baseline rule a 3 applies. The description adds no syntax, format, or scoping detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and HTTP method: 'DELETE /v1/inAppPurchaseImages/{id}' says only what the name already conveys (delete an in-app purchase image by id). It does not differentiate this tool from the many sibling delete-instance tools in any meaningful way beyond the path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as in_app_purchase_images_update_instance or in_app_purchase_images_v2_delete_instance, nor any prerequisites. It offers no context at all beyond the raw route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_images_get_instanceD
GET /v1/inAppPurchaseImages/{id} (GET /v1/inAppPurchaseImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| fields_inAppPurchaseImages | No | the fields to include for returned resources of type inAppPurchaseImages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no authentication requirements, no rate limits, no sparsity/expansion behavior, no note that this is a non-destructive read. Only the HTTP verb is inferable, and that is already in the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief but not concise in the useful sense: the single line is a duplicated path expression containing zero informational content, so no sentence earns its place. This is under-specification rather than economical writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter retrieval endpoint with no output schema and no annotations, the description supplies nothing about what the response looks like, how relationships are included, or when it applies. An agent has only the name and schema to work from, leaving the definition essentially uninstructive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, fields_inAppPurchases, and fields_inAppPurchaseImages fully. The description contributes no additional parameter semantics, which is the baseline 3 when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the REST endpoint path, duplicated verbatim: "GET /v1/inAppPurchaseImages/{id} (GET /v1/inAppPurchaseImages/{id})". It adds nothing beyond the tool name in_app_purchase_images_get_instance, which already encodes the verb and resource, and it does not distinguish this from sibling retrievers like in_app_purchase_images_v2_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no mention of alternatives. The GET path weakly implies a read of one image by ID, but nothing states when an agent should prefer this v1 endpoint over the v2 or relationship variants in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_images_update_instanceC
PATCH /v1/inAppPurchaseImages/{id} (PATCH /v1/inAppPurchaseImages/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers almost none. The PATCH verb implies a partial mutation, but the description never states what gets modified, whether the change is reversible, what happens to omitted fields, or any auth/rate-limit considerations. Pointing at the OpenAPI component is a pointer, not a behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wasteful: the path is duplicated verbatim inside parentheses ('PATCH /v1/inAppPurchaseImages/{id} (PATCH /v1/inAppPurchaseImages/{id})'), which is pure redundancy. Nothing is front-loaded as usable guidance, so brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested JSON:API body whose real shape lives in an external OpenAPI document. For that complexity the description should at least state the effect of the update and the envelope requirement; instead it delegates everything to an external reference, leaving the agent without enough context to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body', and the description's body-shape note ('components.schemas.InAppPurchaseImageUpdateRequest') merely repeats the schema's own description text. Baseline 3 applies when the schema does the heavy lifting; the description contributes no additional parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw endpoint string ('PATCH /v1/inAppPurchaseImages/{id}') restated verbatim, with no natural-language statement of what the tool does. An agent can infer 'update an in-app purchase image' from the path plus the tool name, but the description itself adds nothing beyond restating the identifier. It also gives no differentiation from sibling update tools like in_app_purchase_images_v2_update_instance or subscription_images_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer (v1 vs v2 image update). No prerequisites, no mention of required permissions or the parent resource context. The agent must infer usage entirely from the name and path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_images_v2_create_instanceC
POST /v2/inAppPurchaseImages (POST /v2/inAppPurchaseImages) Body shape: see OpenAPI components.schemas.InAppPurchaseImageV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseImageV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing. It implies a write (POST) and a JSON:API envelope body, but says nothing about authentication/permissions, the side effects of creation, whether existing images are affected, or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but contains a literal duplication: 'POST /v2/inAppPurchaseImages (POST /v2/inAppPurchaseImages)' repeats the identical path in parentheses, wasting the only remaining space that could have carried useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with a nested-object JSON:API body, no annotations, and no output schema, the description is far too thin. An agent gets no information about the response, required relationships, or error conditions, only an offhand reference to an external schema name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single `body` parameter and schema description coverage is 100%, so the baseline is 3. The description's pointer to `components.schemas.InAppPurchaseImageV2CreateRequest` merely duplicates what the schema already states, adding no extra meaning about the envelope contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific HTTP verb and resource path (POST /v2/inAppPurchaseImages), which maps to creating an in-app purchase image. However, it functions largely as a restatement of the tool name and adds no explanation of what an image resource is or how the v2 variant differs from the sibling `in_app_purchase_images_create_instance` (v1).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is offered. There is no mention of prerequisites (e.g., needing a parent in-app purchase or version), no distinction from the v1 create sibling or the v2 update/delete siblings, and no indication of what happens when creating the image.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_images_v2_delete_instanceD
DELETE /v2/inAppPurchaseImages/{id} (DELETE /v2/inAppPurchaseImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers none of it. It does not state that deletion is irreversible, what permissions are required, whether the image is detached from its parent IAP, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is tiny but not concise in the useful sense: the same string is duplicated inside parentheses, so the only sentence is pure redundancy. Shortness here reflects under-specification rather than economy of expression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive, unannotated tool with no output schema needs the description to explain impact and preconditions, and it explains nothing. An agent has no basis to know what deleting this resource affects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) and the schema documents it at 100% coverage ('the id of the requested resource'). The description adds no parameter detail, but per the schema-coverage rule the schema doing the heavy lifting yields a baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the operation ID and HTTP path (DELETE /v2/inAppPurchaseImages/{id}), which restates the tool name in URL form rather than explaining what the tool does in domain terms. It does convey a delete verb on an in-app-purchase image resource, so it is marginally more informative than a pure tautology, but it distinguishes nothing from the many sibling *_delete_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as in_app_purchase_images_delete_instance (the v1 variant) or in_app_purchases_v2_images_get_to_many_relationship. No prerequisites, no context, nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_images_v2_get_instanceD
GET /v2/inAppPurchaseImages/{id} (GET /v2/inAppPurchaseImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_inAppPurchaseImages | No | the fields to include for returned resources of type inAppPurchaseImages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about authentication requirements, rate limits, whether the resource may be absent, or what the response contains. A bare route string conveys zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the identical route is pure noise with no informational payload. Brevity without content is under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-by-id tool with full schema coverage and no output schema, the description still fails to state what resource is returned or that the call is a lookup of a specific in-app purchase image. It omits everything an agent would need beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'fields_inAppPurchaseImages' documented in the schema itself, so the baseline is 3. The description adds no parameter meaning beyond that, but it does not need to compensate for a coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP route 'GET /v2/inAppPurchaseImages/{id}' duplicated in parentheses, which restates the tool name rather than describing the operation in prose. An agent can infer it fetches an in-app purchase image by id, but there is no verb+resource explanation and no differentiation from the v1 sibling in_app_purchase_images_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool, no mention of the v1/v2 distinction, no prerequisites, and no alternatives. 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.
in_app_purchase_images_v2_update_instanceC
PATCH /v2/inAppPurchaseImages/{id} (PATCH /v2/inAppPurchaseImages/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseImageV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseImageV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The PATCH verb implies a partial mutation, but the description says nothing about required permissions, whether the update is reversible, what happens to omitted fields, or whether a JSON:API envelope is mandatory rather than optional. It only points at an external schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence, front-loaded with the method and path, so nothing is buried. The parenthetical duplicate of the same PATCH path is redundant filler, which keeps it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is thin: it never states which fields the update accepts, that a JSON:API envelope is required, or any side effects. Pointing at an external OpenAPI schema is not enough to let an agent call it correctly without further lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both id and body are already documented in the schema, giving a baseline of 3. The description adds only a pointer to the OpenAPI components.schemas.InAppPurchaseImageV2UpdateRequest shape for the body, which is marginally useful but no syntax or field-level detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb (PATCH) and the resource path (/v2/inAppPurchaseImages/{id}), which does identify an update operation on an in-app-purchase image. However it is essentially a restatement of the tool name plus a URL, and it never distinguishes this v2 update from close siblings like in_app_purchase_images_update_instance (v1), in_app_purchase_images_v2_create_instance, or in_app_purchase_images_v2_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative. The agent gets no signal about when this v2 update should be chosen over the v1 update or the create/delete siblings, which is exactly the ambiguity this field is meant to resolve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_create_instanceD
POST /v1/inAppPurchaseLocalizations (POST /v1/inAppPurchaseLocalizations) Body shape: see OpenAPI components.schemas.InAppPurchaseLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the raw endpoint. There is no statement of auth requirements, side effects of creating a localization, idempotency, or validation behavior — all critical for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplication "(POST /v1/inAppPurchaseLocalizations)" is pure waste, and the description is not front-loaded with purpose — it leads with the method/path rather than what the tool does. Under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create-mutation tool with no annotations and no output schema, an agent needs to know what is created, required auth, and the effect of success. The description only defers to an external OpenAPI schema, leaving the agent without enough to safely invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter and schema_description_coverage is 100%, so the schema already documents the shape. The description adds only a pointer to components.schemas.InAppPurchaseLocalizationCreateRequest, which is the same reference the schema description already carries. Baseline 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP verb and path ("POST /v1/inAppPurchaseLocalizations") which is essentially a tautology of the tool name. It does not explain what an InAppPurchaseLocalization is, what creating one accomplishes, or how it differs from the sibling in_app_purchase_localizations_v2_create_instance. The verb+resource can only be inferred from the name, not the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. With two near-identical siblings (v1 vs v2 create_instance) plus update/get/delete variants, the description offers nothing to help an agent choose this tool or distinguish versions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_delete_instanceC
DELETE /v1/inAppPurchaseLocalizations/{id} (DELETE /v1/inAppPurchaseLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no statement that deletion is permanent or irreversible, no cascade/impact information about the localized metadata being removed, and no permission or auth requirements. Only the bare DELETE verb hints at anything.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, which is good, but the path is needlessly repeated inside parentheses with no added information, making the sole sentence partly redundant noise rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive mutation tool with no annotations and no output schema, so the description should carry warnings, side effects, and scope. Instead it is only a duplicated route string, leaving an agent without the information it needs to invoke a delete safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single id parameter is documented as 'the id of the requested resource'), so the baseline of 3 applies. The description contributes no additional meaning about the id's format or origin beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states an HTTP verb (DELETE) and the resource path (inAppPurchaseLocalizations/{id}), which does separate it from the create/get/update siblings. However, it adds nothing beyond the tool name: it never says what an in-app purchase localization is or what removing one accomplishes, so the purpose is only minimally conveyed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives, no prerequisites, and no mention of related siblings such as in_app_purchase_localizations_update_instance or the v2 delete variant. The agent is left to infer everything from the URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_get_instanceC
GET /v1/inAppPurchaseLocalizations/{id} (GET /v1/inAppPurchaseLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| fields_inAppPurchaseLocalizations | No | the fields to include for returned resources of type inAppPurchaseLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission needs, no error semantics for a missing id, no mention of relationship inclusion behavior from the include/fields parameters. A raw endpoint echo is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is the path repeated twice in parentheses, which is pure redundancy rather than front-loaded information. There is no structure to speak of — just a duplicated endpoint string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource GET with a fully documented schema and no output schema, a minimal description could suffice, but this one omits every piece of context that would help an agent (resource identity, sparse-fieldset/include semantics, error handling). It is too thin even for a low-complexity read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters (id, include, fields_inAppPurchases, fields_inAppPurchaseLocalizations) are documented in the schema itself. The description adds nothing beyond that, so the baseline 3 for a fully-covered schema applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP method and path, which does convey that this retrieves a single inAppPurchaseLocalization by id. However, it is essentially a restatement of the tool name, with no explanatory verb beyond the raw REST route, and it does not distinguish itself from sibling locals like in_app_purchase_localizations_v2_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance at all. The only hint is the implicit 'get one resource by id' semantics of the path, which leaves the agent to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_update_instanceC
PATCH /v1/inAppPurchaseLocalizations/{id} (PATCH /v1/inAppPurchaseLocalizations/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It reveals almost nothing: PATCH implies a partial update, and it references an OpenAPI request schema, but it does not state permission requirements, what fields are mutated, partial-vs-full replacement semantics, or side effects. For a mutation tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical repeats the identical PATCH path verbatim, which is pure waste. The body reference is useful but the duplication undercuts the brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested JSON:API body object, no output schema, and no annotations, the description does far too little. It defers the entire request envelope to an external OpenAPI schema the agent may not have, and gives no guidance on JSON:API structure or required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters (including the InAppPurchaseLocalizationUpdateRequest shape). The description merely repeats the schema reference and adds no field-level or format meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a raw endpoint restatement: 'PATCH /v1/inAppPurchaseLocalizations/{id}', repeated verbatim in parentheses. While the verb (PATCH) and resource (inAppPurchaseLocalizations) are identifiable, there is no plain-language statement of what is actually being updated and no differentiation from the many sibling 'update_instance' tools. It reads as autogenerated routing metadata rather than a purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus alternatives (e.g., in_app_purchase_localizations_v2_update_instance, create, or delete). No prerequisites, no context about which localization record to target.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_v2_create_instanceC
POST /v2/inAppPurchaseLocalizations (POST /v2/inAppPurchaseLocalizations) Body shape: see OpenAPI components.schemas.InAppPurchaseLocalizationV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseLocalizationV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only signals a write via 'POST' and points at a request schema; it says nothing about authentication requirements, side effects, whether the localization is attached to a parent IAP, or what a duplicate-locale conflict would do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence, but the endpoint is written twice ('POST /v2/inAppPurchaseLocalizations (POST /v2/inAppPurchaseLocalizations)'), which is pure redundancy rather than informative structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is far too thin. It omits required headers/JSON:API envelope details beyond a schema name reference, and gives no sense of the response or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already names the single body parameter and even references components.schemas.InAppPurchaseLocalizationV2CreateRequest. The description merely repeats that pointer, adding no field-level meaning beyond what the schema states; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does little more than restate the name: 'create' becomes 'POST' and the resource becomes the '/v2/inAppPurchaseLocalizations' path. It never explains what an In-App Purchase localization is or what creating one accomplishes, making it effectively a tautology of the tool name rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the v1 sibling (in_app_purchase_localizations_create_instance) or the get/update/delete v2 siblings. No prerequisites, no context about needing an existing IAP to attach the localization to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_v2_delete_instanceD
DELETE /v2/inAppPurchaseLocalizations/{id} (DELETE /v2/inAppPurchaseLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that deletion is permanent/irreversible, not whether it cascades to related resources, not whether confirmation or elevated permissions are required. For a destructive DELETE endpoint this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the length is a byproduct of under-specification rather than discipline, and the parenthetical duplicate of the same path is pure redundancy that wastes the reader's attention without adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a destructive delete with no annotations and no output schema, the description should at minimum warn about permanence and side effects. The only thing covered is the single id parameter (via the schema), leaving the entire behavioral contract unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single required 'id' parameter that is already documented as 'the id of the requested resource'. The description adds no format, type, or lookup guidance beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a verbatim restatement of the operation path, which merely echoes the tool name 'in_app_purchase_localizations_v2_delete_instance'. It names no resource semantics (which localization fields exist, what parent IAP it belongs to) and does nothing to distinguish it from the v1 sibling in_app_purchase_localizations_delete_instance. This is tautology rather than clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. The sibling list contains both in_app_purchase_localizations_delete_instance and in_app_purchase_localizations_v2_delete_instance, and the description gives the agent no basis for choosing between the v1 and v2 endpoints or for confirming prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_v2_get_instanceD
GET /v2/inAppPurchaseLocalizations/{id} (GET /v2/inAppPurchaseLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_inAppPurchaseVersions | No | the fields to include for returned resources of type inAppPurchaseVersions | |
| fields_inAppPurchaseLocalizations | No | the fields to include for returned resources of type inAppPurchaseLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it states nothing about authentication, pagination, cache behavior, or what the resource looks like. It merely echoes the endpoint path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only content: the path is duplicated verbatim in parentheses, adding zero information. Brevity here stems from omission rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and four parameters, the description should explain the single-resource semantics and sparse-fieldset options. Instead it provides only the raw endpoint, leaving an agent without enough context to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters (id, include, fields_inAppPurchaseVersions, fields_inAppPurchaseLocalizations) documented in the schema itself. The description contributes nothing to parameter meaning, so the baseline 3 for high coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name/URL path ('GET /v2/inAppPurchaseLocalizations/{id}'), which implicitly conveys a single-resource fetch but adds no verb/resource framing beyond what the name already encodes. It does not distinguish itself from siblings like in_app_purchase_localizations_get_instance or the create/update/delete variants. This is tantamount to a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative tools. An agent gets nothing about when this single-instance GET is preferable to the collection or relationship endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_localizations_v2_update_instanceC
PATCH /v2/inAppPurchaseLocalizations/{id} (PATCH /v2/inAppPurchaseLocalizations/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseLocalizationV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseLocalizationV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, yet it only signals a mutation via the PATCH verb. It does not state permissions required, whether the update is partial vs full-replace, whether changes are reversible, or what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the route is duplicated verbatim in parentheses and the second sentence only redirects to an external OpenAPI schema, so much of the text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description does far too little: it neither enumerates the patchable fields nor explains the envelope beyond pointing at an external schema name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both the id and body parameters are already documented in the schema, and the description merely repeats the same OpenAPI schema pointer. Baseline 3 applies since the description adds no extra meaning over structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP route 'PATCH /v2/inAppPurchaseLocalizations/{id}' repeated twice in parentheses. It implies a mutation of an in-app purchase localization but never states in plain language what the tool does or how it differs from the v1 sibling in_app_purchase_localizations_update_instance. This is close to tautology on the route/name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the v1 update tool or the get/delete siblings, no prerequisites, and no note on which fields are intended to be patched. The agent is left to infer everything from the endpoint name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_code_custom_codes_create_instanceC
POST /v1/inAppPurchaseOfferCodeCustomCodes (POST /v1/inAppPurchaseOfferCodeCustomCodes) Body shape: see OpenAPI components.schemas.InAppPurchaseOfferCodeCustomCodeCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseOfferCodeCustomCodeCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about authentication, side effects, idempotency, or error behavior. It only points at an external OpenAPI component for the body shape, which is a weak substitute for behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the URL verbatim and the remaining clause merely defers to an external schema. There is no wasted prose in the padding sense, but the sentence does not earn much of its space either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool whose only parameter is a nested JSON:API body object, with no output schema and no annotations, the description leaves the agent unable to construct the payload. Pointing to an OpenAPI schema that is not exposed in the tool does not close that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter with 100% schema description coverage, so the baseline is 3. The description adds nothing beyond confirming the JSON:API envelope and deferring to components.schemas.InAppPurchaseOfferCodeCustomCodeCreateRequest, which is not itself included in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name and title by giving the HTTP verb and URL path (POST /v1/inAppPurchaseOfferCodeCustomCodes). It confirms a create operation on offer code custom codes but never explains what a custom code is or what creating one accomplishes, so it is close to tautological against the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. With many adjacent siblings (in_app_purchase_offer_code_one_time_use_codes_create_instance, in_app_purchase_offer_codes_create_instance, the subscription equivalents), the description never clarifies when a custom code is appropriate versus a one-time-use code.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_code_custom_codes_get_instanceD
GET /v1/inAppPurchaseOfferCodeCustomCodes/{id} (GET /v1/inAppPurchaseOfferCodeCustomCodes/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_actors | No | the fields to include for returned resources of type actors | |
| fields_inAppPurchaseOfferCodeCustomCodes | No | the fields to include for returned resources of type inAppPurchaseOfferCodeCustomCodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing about behavior. It does not state that this is a read-only single-resource fetch, nor anything about auth, enclosing, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the only content is the same path repeated verbatim in parentheses, which is pure redundancy rather than concise communication. There is no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and 4 parameters, the description needs to do real work but provides none. A bare URL leaves the agent without the information needed to confidently select or invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, fields_actors, and fields_inAppPurchaseOfferCodeCustomCodes. The description adds no meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the REST path restated twice, with no plain-language statement of what the tool does. The name already encodes 'get instance' of an in-app purchase offer code custom code, so the description is a tautological restatement rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as in_app_purchase_offer_codes_custom_codes_get_to_many_related or in_app_purchase_offer_code_custom_codes_create_instance. No prerequisites, no context, no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_code_custom_codes_update_instanceC
PATCH /v1/inAppPurchaseOfferCodeCustomCodes/{id} (PATCH /v1/inAppPurchaseOfferCodeCustomCodes/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseOfferCodeCustomCodeUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseOfferCodeCustomCodeUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It reveals only that the body must follow an OpenAPI JSON:API envelope, but says nothing about required permissions, what fields are mutable, reversibility, or side effects of a PATCH.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint is stated twice in redundant parentheses ('PATCH /v1/... (PATCH /v1/...)'), which is pure duplication rather than useful structure. The remainder is a bare schema pointer, so the single sentence is not front-loaded with actionable meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description should explain what is being updated and any constraints. Instead it delegates entirely to an external OpenAPI reference an agent may not have, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no meaning beyond the schema by merely pointing at components.schemas.InAppPurchaseOfferCodeCustomCodeUpdateRequest, which is already referenced in the body parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path ('PATCH /v1/inAppPurchaseOfferCodeCustomCodes/{id}') rather than stating in plain language that it updates an in-app purchase offer code custom code. It is effectively a tautology of the tool name, offering no differentiation from sibling update tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as in_app_purchase_offer_code_custom_codes_get_instance or the create/delete siblings. No prerequisites, no conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_code_one_time_use_codes_create_instanceD
POST /v1/inAppPurchaseOfferCodeOneTimeUseCodes (POST /v1/inAppPurchaseOfferCodeOneTimeUseCodes) Body shape: see OpenAPI components.schemas.InAppPurchaseOfferCodeOneTimeUseCodeCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseOfferCodeOneTimeUseCodeCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about behavior: whether codes are generated server-side, how many, whether they are returned, permission requirements, or rate limits. A mutation endpoint is described only by its HTTP method and path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the identical method and path, wasting the only space available, and the sentence is not front-loaded with any statement of purpose. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested JSON:API envelope, no annotations, no output schema, and only an external schema reference, the description is wholly inadequate. An agent cannot know what the tool produces or what the body must contain without leaving the definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and schema description coverage is 100%, so the baseline is 3. The description adds only a pointer to the external OpenAPI schema (InAppPurchaseOfferCodeOneTimeUseCodeCreateRequest) rather than conveying any field-level meaning itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path (POST /v1/inAppPurchaseOfferCodeOneTimeUseCodes), effectively duplicating the tool name. It never states in plain terms that it creates one-time-use codes for an in-app purchase offer code, nor how it differs from the sibling in_app_purchase_offer_code_custom_codes_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as the custom-codes create sibling, no prerequisites, and no indication of when it should not be used. The agent is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_code_one_time_use_codes_get_instanceC
GET /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id} (GET /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_actors | No | the fields to include for returned resources of type actors | |
| fields_inAppPurchaseOfferCodeOneTimeUseCodes | No | the fields to include for returned resources of type inAppPurchaseOfferCodeOneTimeUseCodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only implies read-only via the 'GET' token. It says nothing about authentication requirements, rate limits, error behavior for missing ids, or what relationship fields the include parameter actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is wasted: the same path string is printed twice with no additional information. Brevity here comes from under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and four parameters including relationship-include options, the description should explain what the resource represents and what the include/fields options return. It provides none of that, leaving an agent with only the endpoint path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, fields_actors, fields_inAppPurchaseOfferCodeOneTimeUseCodes) are already documented in the schema. The description adds no syntax, default, or interaction details beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint path and repeats itself in parentheses, adding nothing beyond the tool name. It does encode 'GET' plus the resource, so it is not entirely empty, but it is essentially tautological and does not distinguish this instance fetch from the sibling in_app_purchase_offer_code_one_time_use_codes_values_get_to_one_related or the one_time_use_codes update/create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of prerequisites such as which id is valid, and no routing to alternatives like the collection endpoint or the related values resource. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_code_one_time_use_codes_update_instanceC
PATCH /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id} (PATCH /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseOfferCodeOneTimeUseCodeUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseOfferCodeOneTimeUseCodeUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals only that this is a PATCH mutation and points at a request-body schema; it says nothing about permissions, whether the update replaces or merges the underlying one-time-use code set, reversibility, or what the response contains. For a mutation endpoint this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the route front-loaded, which is efficient. The parenthetical repeats the exact same route string verbatim, wasting one of the only two sentences on pure duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no annotations, no output schema, and a nested opaque body, the description should explain the mutation's effect and any auth or replacement semantics. It covers only the endpoint identity and a pointer to the body schema, leaving the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two parameters, so the schema already documents id and body. The description's reference to components.schemas.InAppPurchaseOfferCodeOneTimeUseCodeUpdateRequest duplicates the schema's own body description rather than adding field-level or format-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific HTTP verb and resource path (PATCH /v1/inAppPurchaseOfferCodeOneTimeUseCodes/{id}), so an agent can tell this updates a one-time-use code resource. However it is essentially the REST route restated, with no plain-language statement of what the update does or how it differs from near-identical siblings like subscription_offer_code_one_time_use_codes_update_instance beyond the URL segment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no routing to alternatives among the many update_instance siblings. The only implicit signal is that the verb is PATCH rather than GET or POST.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_codes_create_instanceC
POST /v1/inAppPurchaseOfferCodes (POST /v1/inAppPurchaseOfferCodes) Body shape: see OpenAPI components.schemas.InAppPurchaseOfferCodeCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseOfferCodeCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states nothing about required permissions, whether the created offer code starts active or in draft, idempotency, side effects, or error behavior — only the HTTP verb and path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated in parentheses and the schema reference repeats what the input schema already states, so the few words present are partly redundant rather than front-loaded value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating create tool with no annotations and no output schema, the description should explain the resource and the request envelope. Instead it defers the entire body shape to an external OpenAPI component reference, leaving an agent unable to construct a valid request from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single body parameter already points to components.schemas.InAppPurchaseOfferCodeCreateRequest), so the baseline is 3. The description merely repeats the same schema pointer verbatim and adds no syntax, required-field, or envelope detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a tautology: 'POST /v1/inAppPurchaseOfferCodes' restates the tool name (create_instance for in_app_purchase_offer_codes) without saying what an offer code is or what creating one accomplishes. It gives no distinction from siblings like subscription_offer_codes_create_instance or in_app_purchase_offer_code_custom_codes_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives, despite a large family of sibling create_instance tools for offer codes. The agent must infer everything 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.
in_app_purchase_offer_codes_custom_codes_get_to_many_relationshipC
GET /v1/inAppPurchaseOfferCodes/{id}/relationships/customCodes (GET /v1/inAppPurchaseOfferCodes/{id}/relationships/customCodes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the verb GET. It does not mention pagination behavior (despite the limit parameter), auth/permission requirements, or the fact that this returns a relationship linkage rather than full resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the same path is duplicated in parentheses, adding characters without adding information. There is no front-loaded statement of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a relationship endpoint whose semantics (linkage vs. included resources, pagination) matter, the description is completely inadequate. An agent cannot determine from this text alone what the call returns or when to prefer it over its sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the schema does the heavy lifting. The description adds no additional meaning about the id's expected format or how limit interacts with pagination, which matches the baseline 3 for a fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated twice, restating the tool name rather than explaining what it does. It names a resource (inAppPurchaseOfferCodes/{id}/relationships/customCodes) and a verb (GET), but offers no plain-language statement of purpose and gives nothing to distinguish it from the near-identical sibling in_app_purchase_offer_codes_custom_codes_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or how it differs from the *_related variant or the one_time_use_codes relationships. The agent is left to infer everything from the URL path alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_codes_get_instanceD
GET /v1/inAppPurchaseOfferCodes/{id} (GET /v1/inAppPurchaseOfferCodes/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_prices | No | maximum number of related prices returned (when they are included) | |
| limit_customCodes | No | maximum number of related customCodes returned (when they are included) | |
| limit_oneTimeUseCodes | No | maximum number of related oneTimeUseCodes returned (when they are included) | |
| fields_inAppPurchaseOfferCodes | No | the fields to include for returned resources of type inAppPurchaseOfferCodes | |
| fields_inAppPurchaseOfferPrices | No | the fields to include for returned resources of type inAppPurchaseOfferPrices | |
| fields_inAppPurchaseOfferCodeCustomCodes | No | the fields to include for returned resources of type inAppPurchaseOfferCodeCustomCodes | |
| fields_inAppPurchaseOfferCodeOneTimeUseCodes | No | the fields to include for returned resources of type inAppPurchaseOfferCodeOneTimeUseCodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not that this is a read-only fetch, not any auth/scope requirements, not rate limits, not what the include/limit parameters change about the response. The route string adds no behavioral context at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is literally duplicated ('GET /v1/inAppPurchaseOfferCodes/{id}' twice), so half the text is waste and there is no front-loaded explanation of what the call returns. Brevity here reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-instance tool with nine parameters, relationship includes, and no output schema, the definition should at least name the resource and note that include/limit shape the response. None of that is present, leaving the agent dependent entirely on the schema and name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all nine parameters (id, include, three limits, four fields_* selectors) are individually documented in the schema, so the baseline of 3 applies. The description contributes zero additional parameter meaning, but the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route 'GET /v1/inAppPurchaseOfferCodes/{id}' repeated twice, which largely restates the tool name rather than stating in plain language what is retrieved. An agent can infer 'fetch one offer code by id', but nothing distinguishes it from siblings such as in_app_purchase_offer_codes_update_instance or the related-relationship getters beyond the raw path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives (e.g., the custom-codes or one-time-use-codes relationship getters). The agent is left to 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.
in_app_purchase_offer_codes_one_time_use_codes_get_to_many_relationshipD
GET /v1/inAppPurchaseOfferCodes/{id}/relationships/oneTimeUseCodes (GET /v1/inAppPurchaseOfferCodes/{id}/relationships/oneTimeUseCodes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not whether the 'relationship' returns linkage data versus full resources, not pagination behavior, not auth requirements. The endpoint string alone conveys no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the two identical path strings in parentheses are pure duplication that earns nothing. The content is not under-specified so much as empty, and no useful information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool in a dense family of near-identical siblings, the definition omits everything an agent needs: the relationship-vs-related distinction, what is returned, and pagination semantics. With no output schema and no annotations, the description should do far more and instead does nothing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the required 'id' and the optional 'limit'. The description adds no parameter meaning at all, so the baseline of 3 applies rather than any credit for elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path repeated twice, with no natural-language verb+resource statement. It restates the endpoint encoded in the name rather than explaining what the tool returns or does, so it is essentially a tautology. The endpoint path does hint that it fetches the oneTimeUseCodes relationship for an offer code, but no explicit statement is made.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever. Critically, it does not distinguish this from the sibling in_app_purchase_offer_codes_one_time_use_codes_get_to_many_related (the 'related' variant) or from the offer-code instance tools, leaving the agent to guess which of these near-identical tools to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_codes_prices_get_to_many_relationshipD
GET /v1/inAppPurchaseOfferCodes/{id}/relationships/prices (GET /v1/inAppPurchaseOfferCodes/{id}/relationships/prices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not the pagination model, not the required authorization/scope, not whether the resource must exist, and not what the response body contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every token is redundant: the endpoint string appears twice and the parenthetical repetition adds no information. Brevity here reflects under-specification rather than efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-list tool in a very large sibling set with no annotations and no output schema, the description should at minimum explain what the price relationship represents and how paging works. It supplies none of that, leaving the agent to guess from the URL alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id = "the id of the requested resource", limit = "maximum resources per page"), so the schema already documents both parameters fully. The description adds no syntax or format detail, which matches the baseline 3 for a fully-covered schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP verb and path, duplicated in parentheses: "GET /v1/inAppPurchaseOfferCodes/{id}/relationships/prices (GET .../prices)". It technically conveys a read of the offer-code price linkage, but it is essentially a restatement of the tool name rather than an explanation, and it gives no way to tell this apart from the sibling in_app_purchase_offer_codes_prices_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance at all. An agent cannot learn from this text whether to prefer this relationship endpoint over the *_related variant or when the endpoint is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_offer_codes_update_instanceD
PATCH /v1/inAppPurchaseOfferCodes/{id} (PATCH /v1/inAppPurchaseOfferCodes/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseOfferCodeUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseOfferCodeUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about mutation semantics, required scopes/auth, whether changes are reversible, or side effects on related offer-code resources, leaving PATCH as the only implicit signal of a write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes it on a verbatim duplicated endpoint: 'PATCH /v1/inAppPurchaseOfferCodes/{id} (PATCH /v1/inAppPurchaseOfferCodes/{id})'. The parenthetical repetition earns no place and crowds out any genuinely useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested body object, the description is inadequate: it defers entirely to an external OpenAPI schema reference and explains nothing about the update's scope or consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented in the schema), so the baseline is 3. The description merely points to components.schemas.InAppPurchaseOfferCodeUpdateRequest without adding field-level meaning beyond what the schema already declares.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP endpoint (PATCH /v1/inAppPurchaseOfferCodes/{id}) rather than describing the operation in domain terms. It conveys 'update an offer code' only implicitly via the path, and gives no differentiation from siblings like subscription_offer_codes_update_instance or in_app_purchase_offer_code_custom_codes_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for selecting it. The agent is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_price_points_equalizations_get_to_many_relationshipD
GET /v1/inAppPurchasePricePoints/{id}/relationships/equalizations (GET /v1/inAppPurchasePricePoints/{id}/relationships/equalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and it delivers none of it. It does not disclose that this is a read-only operation, that results are relationship linkage objects rather than full resources (the relationship/related distinction), that pagination via limit applies, or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is the same string printed twice, which is pure redundancy rather than front-loaded value. Nothing is prioritized or explained; the repetition consumes the whole budget.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool sitting in a family of hundreds of near-identical relationship endpoints, with no annotations and no output schema, the description needs to explain the resource and the relationship semantics. Instead it supplies only the raw route, leaving an agent unable to distinguish this tool from its siblings or predict its return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the input schema, so baseline 3 applies. The description contributes nothing beyond the schema — it does not restate or clarify the id path binding or pagination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the tool name rendered as an HTTP path, duplicated inside parentheses: 'GET /v1/inAppPurchasePricePoints/{id}/relationships/equalizations (GET /v1/inAppPurchasePricePoints/{id}/relationships/equalizations)'. It identifies a method and route but never explains what an 'equalization' of a price point actually is, so it effectively restates the name rather than stating a purpose. No differentiation from the many sibling price-point relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. Nothing tells the agent how this differs from in_app_purchase_price_points_equalizations_get_to_many_related or subscription_price_points_equalizations_get_to_many_relationship, whose names are nearly identical and which are plausible alternatives for the same data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_price_schedules_automatic_prices_get_to_many_relationshipC
GET /v1/inAppPurchasePriceSchedules/{id}/relationships/automaticPrices (GET /v1/inAppPurchasePriceSchedules/{id}/relationships/automaticPrices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers almost nothing. The GET verb implies a safe read, but pagination behavior (relevant given the limit parameter), auth requirements, and the fact that this returns resource linkage/relationship data rather than full resources are all undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire path is duplicated verbatim inside parentheses, which is pure waste rather than front-loaded signal. No sentence in it earns its place by adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the agent is left without pagination semantics, response shape, or prerequisites. The 100%-covered parameter schema helps, but the description does nothing to compensate for the missing behavioral and output context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both id and limit documented in the schema, so the baseline of 3 applies. The description adds no format, syntax, or default information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP method plus path, which effectively restates the tool name (in_app_purchase_price_schedules_automatic_prices_get_to_many_relationship). It does imply a read of the automaticPrices relationship collection, but supplies no plain-language verb or resource statement beyond what the identifier already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. The path weakly implies this fetches related automatic prices for a price schedule id, but there is no routing guidance toward the manual_prices or base_territory siblings or the _related variant of this same operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_price_schedules_base_territory_get_to_one_relationshipD
GET /v1/inAppPurchasePriceSchedules/{id}/relationships/baseTerritory (GET /v1/inAppPurchasePriceSchedules/{id}/relationships/baseTerritory)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the entire burden of behavioral disclosure, and it provides none. It never states that this is a read-only operation, what a relationship endpoint actually returns (linkage identifiers vs. full resources), whether the response is paginated, or what authorization is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but consists of the identical route string duplicated inside parentheses, which is pure redundancy rather than conciseness. Nothing is front-loaded with meaningful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the description should at minimum explain that it returns linkage data for the baseTerritory relationship. Instead it provides nothing beyond the endpoint path, leaving the agent unable to distinguish it from its 'related' sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents its meaning; baseline is 3. The description adds no additional syntax or format detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP route string repeated verbatim inside parentheses, which only restates the tool name rather than explaining what the tool does in agent terms. It does convey that a GET of the 'baseTerritory' relationship for a given price schedule occurs, but offers no plain-language statement of purpose and no differentiation from the sibling 'base_territory_get_to_one_related'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is present. The sibling list contains both '..._get_to_one_relationship' and '..._get_to_one_related' variants for the same resource, and the description does nothing to explain which to choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_price_schedules_create_instanceC
POST /v1/inAppPurchasePriceSchedules (POST /v1/inAppPurchasePriceSchedules) Body shape: see OpenAPI components.schemas.InAppPurchasePriceScheduleCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchasePriceScheduleCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but discloses almost nothing: no auth requirements, no side effects, no indication of whether an existing schedule is replaced, and no success/failure behavior. The only value is a pointer to where the body schema lives, which is parameter information rather than behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the exact same path verbatim, which is pure waste, and the remaining sentence delegates all substance to an external schema reference rather than front-loading useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a nested JSON:API body, no output schema, and no annotations, the description is far from sufficient. It neither describes the resource being created nor explains the envelope it points to, leaving the agent unable to call it correctly from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'body' parameter, so the baseline is 3. The description merely repeats the schema's own pointer to components.schemas.InAppPurchasePriceScheduleCreateRequest without adding envelope structure, required JSON:API fields, or examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the operation identity ('POST /v1/inAppPurchasePriceSchedules'), which is a tautological echo of the tool name. It never explains what a price schedule is or what creating one accomplishes, and it does nothing to distinguish this tool from the many other in_app_purchase create_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no mention of related operations. The agent is given no routing signal at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_price_schedules_get_instanceD
GET /v1/inAppPurchasePriceSchedules/{id} (GET /v1/inAppPurchasePriceSchedules/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| limit_manualPrices | No | maximum number of related manualPrices returned (when they are included) | |
| limit_automaticPrices | No | maximum number of related automaticPrices returned (when they are included) | |
| fields_inAppPurchasePrices | No | the fields to include for returned resources of type inAppPurchasePrices | |
| fields_inAppPurchasePriceSchedules | No | the fields to include for returned resources of type inAppPurchasePriceSchedules |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the word GET: no read-only confirmation, no permission/scoping requirements, no pagination behavior, no indication of what a missing id returns. Nothing here is actionable that isn't already implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the identical path is pure noise and no sentence earns its place. Conciseness here reflects under-specification rather than disciplined writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter GET with no annotations and no output schema, the definition omits everything an agent would want: what the resource represents, whether auth is required, and how included relationships affect the response. The rich schema compensates for parameter gaps, but the overall definition remains inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters, including the required id and the include/fields_*/limit_* relationship options, are fully documented in the schema at 100% coverage. The description adds nothing on top, which meets the baseline of 3 when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw REST path restated twice ('GET /v1/inAppPurchasePriceSchedules/{id} (GET /v1/inAppPurchasePriceSchedules/{id})'), which technically names a verb and resource but is effectively a tautology of the tool name. It provides no prose meaning of what a price schedule is or why an agent would fetch one, and it does nothing to distinguish this tool from the many sibling get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites or authentication, and no reference to any alternative tool. The parenthetical duplication adds no routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_price_schedules_manual_prices_get_to_many_relationshipD
GET /v1/inAppPurchasePriceSchedules/{id}/relationships/manualPrices (GET /v1/inAppPurchasePriceSchedules/{id}/relationships/manualPrices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and delivers nothing. It does not state that this is a read-only listing, whether results are paginated, what a manual price resource contains, or any permission/auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but not concise in a useful way: the entire path string is duplicated verbatim in a parenthetical, so half the content is pure redundancy. Front-loading is absent because there is only a raw route with no prose lead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should at least indicate that this returns a collection of manual price resources and how the 'limit' interacts with paging. Instead it provides only the route, leaving return shape, pagination, and relationship semantics unexplained for a nested relationship endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only 'id' and 'limit' documented ('the id of the requested resource', 'maximum resources per page'). The description adds no meaning beyond the schema, but with full coverage plus two simple parameters the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the tool name and the raw path 'GET /v1/inAppPurchasePriceSchedules/{id}/relationships/manualPrices' with the identical string in parentheses. It conveys only the HTTP verb and endpoint, which the name already encodes, and offers no plain-language statement like 'list the manual prices attached to a price schedule'. Tautological restatement of the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. There is a sibling 'in_app_purchase_price_schedules_manual_prices_get_to_many_related' plus automatic_prices and base_territory relationship tools, and the description never distinguishes manual vs automatic prices or relationship vs related endpoints. The agent must guess 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.
in_app_purchases_get_instanceC
[DEPRECATED] GET /v1/inAppPurchases/{id} (GET /v1/inAppPurchases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_apps | No | maximum number of related apps returned (when they are included) | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only deprecation, saying nothing about authentication requirements, whether the resource may be absent, or how the include/limit relationship expansions behave for a GET-by-id call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line with the deprecation warning front-loaded, so there is no padding. But brevity here reflects under-specification rather than efficiency, since the line adds almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter resource-fetch tool with no annotations and no output schema, the description is nearly empty: it never explains the returned inAppPurchase representation or how the include/fields parameters shape the response. An agent must rely entirely on the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all five parameters (id, include, limit_apps, fields_apps, fields_inAppPurchases) documented inline in the schema. The description contributes nothing beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states GET plus the resource path and the {id} placeholder, so the verb and resource are identifiable. However, it is effectively a restatement of the tool name with no added meaning beyond the deprecation tag, and it does not distinguish this v1 endpoint from the sibling in_app_purchases_v2_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'[DEPRECATED]' signals an agent should probably avoid this tool, which is real guidance, but no replacement is named even though in_app_purchases_v2_get_instance exists among the siblings. There is no statement of when this tool is still appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_submissions_create_instanceD
POST /v1/inAppPurchaseSubmissions (POST /v1/inAppPurchaseSubmissions) Body shape: see OpenAPI components.schemas.InAppPurchaseSubmissionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseSubmissionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about the mutation: no required permissions, no side effects, no reversibility, no rate limits, no response behavior. A POST create tool with zero annotation coverage and zero behavioral context scores at the floor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is duplicated verbatim in parentheses ('POST /v1/inAppPurchaseSubmissions (POST /v1/inAppPurchaseSubmissions)'), which is pure waste. The single useful sentence, pointing to the request schema, is not front-loaded as a purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is grossly incomplete. It explains neither the create semantics, the envelope expectations, nor the resulting behavior, so an agent cannot confidently invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is only one parameter (body), so the schema already documents the shape. The description merely points at the same OpenAPI component the schema references, adding no syntax or field-level meaning beyond what is already structured. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP endpoint ('POST /v1/inAppPurchaseSubmissions') which mirrors the tool name rather than explaining what an in-app purchase submission is or does. There is no plain-language verb+resource framing, and nothing distinguishes it from sibling create tools like in_app_purchase_versions_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, no prerequisites, no mention of alternatives such as in_app_purchase_versions_create_instance or subscription_submissions_create_instance. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_app_store_review_screenshot_get_to_one_relationshipC
GET /v2/inAppPurchases/{id}/relationships/appStoreReviewScreenshot (GET /v2/inAppPurchases/{id}/relationships/appStoreReviewScreenshot)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it says nothing about read-only semantics, linkage/identifier return behavior, or what happens if the relationship is empty. The 'GET' token is the sole hint that this is a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same string is duplicated in parentheses with zero added information, and nothing is front-loaded beyond a raw path. Terseness here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite its brevity, the definition is technically complete for this tool: the single required 'id' is schema-documented, the path template is exactly what an agent needs to construct the call, and the correct sibling (the '_get_to_one_related' variant) is available by name for the related-resource form. What is missing is redundant given the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as the requested resource id. The description adds no further meaning beyond the path template, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP path string, repeated verbatim in parentheses. It does convey GET plus the resource chain (inAppPurchase → appStoreReviewScreenshot relationship), but it restates the name rather than explaining in plain language what the tool returns or does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool rather than the nearly identical sibling in_app_purchases_v2_app_store_review_screenshot_get_to_one_related, nor any mention of prerequisites or exclusions. The only implied usage comes from parsing the URL path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_content_get_to_one_relationshipD
GET /v2/inAppPurchases/{id}/relationships/content (GET /v2/inAppPurchases/{id}/relationships/content)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, but it discloses nothing beyond the HTTP verb. It does not say what the relationship returns, whether it can be empty, or any auth/pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than efficiency: the path is duplicated in parentheses, adding zero information while omitting everything an agent would need.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a terse schema, the description should explain what the content relationship returns and how it differs from the _related sibling. It does none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (id) and schema description coverage is 100%, so the schema already documents it. The description adds no extra meaning, but baseline 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path 'GET /v2/inAppPurchases/{id}/relationships/content' repeated twice. It technically conveys a read of the content relationship, but it is essentially a restatement of the tool name with no explanation of what 'content' means for an in-app purchase.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus the closely named sibling in_app_purchases_v2_content_get_to_one_related, or versus in_app_purchase_contents_get_instance. The agent is left to 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.
in_app_purchases_v2_create_instanceC
POST /v2/inAppPurchases (POST /v2/inAppPurchases) Body shape: see OpenAPI components.schemas.InAppPurchaseV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden, but it only restates the HTTP method and points to an external schema. It does not disclose authentication needs, side effects, what resource is created, whether creation is idempotent, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, but it contains redundant repetition of the endpoint and provides almost no information beyond a schema pointer. It is concise to the point of being under-specified rather than usefully structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a nested-object mutation with no annotations and no output schema, so the description needs to explain the create behavior and body expectations more fully. Pointing to an external OpenAPI component is not enough because the referenced schema definition is not included, leaving the agent unable to understand required JSON:API envelope details from the tool definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single body parameter is already documented in the schema as a JSON body matching components.schemas.InAppPurchaseV2CreateRequest. The description repeats that reference but adds no additional meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the HTTP operation (POST /v2/inAppPurchases) and the tool name indicates a create-instance operation, so an agent can infer this creates an in-app purchase v2 resource. However, it never states the purpose in plain language, and it does not distinguish this create tool from neighboring v2 update/delete or v1 create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool, prerequisites, or alternatives such as in_app_purchases_v2_update_instance or the v1 create path. The agent must infer usage entirely from the tool name and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_delete_instanceD
DELETE /v2/inAppPurchases/{id} (DELETE /v2/inAppPurchases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no permanence/irreversibility, no cascading effects on related resources, no required permissions or auth scopes, no side effects. For a destructive DELETE with zero annotation coverage this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is short but wasteful: the same route is printed twice, once outside and once inside parentheses, which adds no information and looks like a template artifact. Brevity here reflects under-specification, not efficient concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a destructive operation, the description should at minimum say that the referenced in-app purchase is permanently removed and note any constraints. Instead it provides only the route, leaving an agent unable to judge safety or consequences of calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single parameter whose schema already documents it as "the id of the requested resource." The description adds nothing beyond the path template {id}, so the baseline 3 for high coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route ("DELETE /v2/inAppPurchases/{id}"), duplicated verbatim in parentheses. It does convey verb+resource, but gives no indication of what an "inAppPurchase v2" instance is or how it differs from the v1 delete sibling (in_app_purchases_get_instance / in_app_purchases_v2_get_instance). That is tautology-level detail rather than a real statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to delete a v2 in-app purchase versus alternatives, no mention of prerequisites (e.g. submission/review state), and no warning that this is irreversible. An agent must infer everything from the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_get_instanceC
GET /v2/inAppPurchases/{id} (GET /v2/inAppPurchases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_images | No | maximum number of related images returned (when they are included) | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| limit_offerCodes | No | maximum number of related offerCodes returned (when they are included) | |
| limit_pricePoints | No | maximum number of related pricePoints returned (when they are included) | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| fields_promotedPurchases | No | the fields to include for returned resources of type promotedPurchases | |
| fields_inAppPurchaseImages | No | the fields to include for returned resources of type inAppPurchaseImages | |
| fields_inAppPurchaseContents | No | the fields to include for returned resources of type inAppPurchaseContents | |
| fields_inAppPurchaseVersions | No | the fields to include for returned resources of type inAppPurchaseVersions | |
| fields_inAppPurchaseOfferCodes | No | the fields to include for returned resources of type inAppPurchaseOfferCodes | |
| fields_inAppPurchasePricePoints | No | the fields to include for returned resources of type inAppPurchasePricePoints | |
| limit_inAppPurchaseLocalizations | No | maximum number of related inAppPurchaseLocalizations returned (when they are included) | |
| fields_inAppPurchaseLocalizations | No | the fields to include for returned resources of type inAppPurchaseLocalizations | |
| fields_inAppPurchaseAvailabilities | No | the fields to include for returned resources of type inAppPurchaseAvailabilities | |
| fields_inAppPurchasePriceSchedules | No | the fields to include for returned resources of type inAppPurchasePriceSchedules | |
| fields_inAppPurchaseAppStoreReviewScreenshots | No | the fields to include for returned resources of type inAppPurchaseAppStoreReviewScreenshots |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It signals only that this is an HTTP GET; it says nothing about authentication/permission requirements, error behavior for a missing id, or how the include/fields/limit parameters affect the response. For a tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the parenthetical repeats the identical string already stated before it, so a portion of the text is pure redundancy rather than earned content. There is no front-loaded explanation of the resource to justify the brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 18 parameters, including relationship includes and sparse fieldset selectors, no output schema, and no annotations. The description supplies none of the context an agent would need — what an in-app purchase v2 is, what the id refers to, or how to use includes — so it is inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 18 parameters (id, include, fields_*, limit_*) are already documented in the schema itself. The description adds no syntax, format, or semantic detail beyond the path template, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the endpoint path restated twice — 'GET /v2/inAppPurchases/{id} (GET /v2/inAppPurchases/{id})' — which is essentially a tautology of the tool name. It does imply a read of a single in-app purchase v2 resource, but it never explains what that resource is and gives no differentiation from siblings such as in_app_purchases_get_instance or in_app_purchases_v2_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no mention of any alternative tool. An agent must infer entirely from the name that this fetches one IAP v2 by id rather than the v1 variant or a relationship endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_iap_price_schedule_get_to_one_relationshipC
GET /v2/inAppPurchases/{id}/relationships/iapPriceSchedule (GET /v2/inAppPurchases/{id}/relationships/iapPriceSchedule)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The HTTP 'GET' verb weakly implies a read-only fetch, but nothing is said about return format, pagination, or linkage semantics for this relationship endpoint — for a tool with zero annotation coverage this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but the entire content is the same URL template duplicated inside parentheses, which is pure redundancy rather than concision. The line is not front-loaded with a purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a single id parameter, the description carries the burden of orienting the agent for a relationship endpoint, and it supplies only the route. An agent cannot tell what this returns or how it differs from its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single 'id' parameter is documented in the schema), so the baseline of 3 applies. The description adds no syntax, format, or meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw URL template repeated twice verbatim, which restates the tool name rather than explaining in plain language what the relationship endpoint returns. It does not clarify what an 'iapPriceSchedule' relationship is or distinguish this from the sibling in_app_purchases_v2_iap_price_schedule_get_to_one_related (the equivalent 'related' endpoint).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative guidance is given. A sibling route (in_app_purchases_v2_iap_price_schedule_get_to_one_related) exists, and there is no explanation of when to request a 'relationship' endpoint versus the 'related' one, leaving the agent to infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_images_get_to_many_relationshipC
GET /v2/inAppPurchases/{id}/relationships/images (GET /v2/inAppPurchases/{id}/relationships/images)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses essentially nothing. It does not say whether the call is read-only (only implied by 'GET'), what permissions are needed, how pagination behaves, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the same URL is printed twice in parentheses, so there is literal redundancy rather than economy. Nothing is front-loaded beyond the raw path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must convey enough for correct invocation, and it does not. It omits what the relationship returns, whether pagination via limit is required for large sets, and how it differs from the '_related' sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (id and limit) are already documented in the schema. The description adds no syntax, format, or meaning beyond that, which is the baseline case of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint path, which is itself a restatement of the tool name. An agent can infer it fetches the 'images' relationship for an in-app purchase, but nothing is stated beyond the identifier itself, so this is tautology rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as in_app_purchases_v2_images_get_to_many_related or in_app_purchase_versions_images_get_to_many_relationship. The relationship-vs-related distinction is left entirely to the agent to infer from naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_in_app_purchase_availability_get_to_one_relationshipC
GET /v2/inAppPurchases/{id}/relationships/inAppPurchaseAvailability (GET /v2/inAppPurchases/{id}/relationships/inAppPurchaseAvailability)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the implicit read-only nature of a GET. It omits auth requirements, pagination, and what the relationship linkage actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely wasted: the identical path string is printed twice, once bare and once in parentheses. There is no front-loaded purpose statement, only a duplicated endpoint string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and no parameter elaboration, the description is completely inadequate. It does not tell the agent what resource is returned or how to interpret the relationship result, leaving the definition effectively unusable for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'id' parameter already documented as 'the id of the requested resource'. The description adds no syntax or meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path 'GET /v2/inAppPurchases/{id}/relationships/inAppPurchaseAvailability', which merely restates the tool name as a URL rather than stating a plain-language verb+resource. An agent can infer it fetches an in-app-purchase availability relationship, but the definition adds no interpretive value over the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, prerequisite, or alternative guidance. Critically, the sibling 'in_app_purchases_v2_in_app_purchase_availability_get_to_one_related' is not mentioned or contrasted, so the agent has no basis for choosing between the 'relationship' and 'related' variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_in_app_purchase_localizations_get_to_many_relationshipD
GET /v2/inAppPurchases/{id}/relationships/inAppPurchaseLocalizations (GET /v2/inAppPurchases/{id}/relationships/inAppPurchaseLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a read-only relationship endpoint, not pagination behavior despite the 'limit' parameter, not auth requirements, not whether it returns resource identifiers only versus full objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure duplication of the path with a redundant parenthetical copy — no information is front-loaded because no information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing endpoint with no annotations and no output schema, the description should at minimum explain what relationship is being fetched and that results are paginated. It explains nothing, leaving the agent unable to distinguish this from dozens of near-identical siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents 'id' and 'limit'; the baseline of 3 applies. The description contributes no additional parameter meaning such as id format or limit defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the HTTP route (duplicated in parentheses) and adds nothing beyond the tool name, which already encodes the same path. It technically names a GET on in-app purchase localizations, but it is tautological rather than explanatory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool versus the many sibling variants, such as in_app_purchases_v2_in_app_purchase_localizations_get_to_many_related or in_app_purchase_localizations_v2_get_instance. The agent must infer the relationship-vs-related distinction 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.
in_app_purchases_v2_offer_codes_get_to_many_relationshipC
GET /v2/inAppPurchases/{id}/relationships/offerCodes (GET /v2/inAppPurchases/{id}/relationships/offerCodes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load, and it discloses essentially nothing. The 'GET' prefix hints at a read, but there is no statement about pagination behavior (despite a limit param), permissions, or what the relationship linkage looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a duplicated URL with the identical string repeated in parentheses — pure redundancy with zero informational payoff. Brevity here reflects under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description should explain the shape of the returned relationship data and any traversal constraints. Instead it is a bare endpoint, leaving an agent unable to predict the response or confirm this is a side-effect-free read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (id, limit) are documented in the schema itself, so the baseline of 3 applies. The description adds nothing beyond echoing the {id} path segment, but it also does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a raw HTTP path ('GET /v2/inAppPurchases/{id}/relationships/offerCodes'), repeated verbatim in parentheses. It implies a read of the offerCodes relationship on an in-app purchase, but never says so in plain language and gives no basis for distinguishing this from sibling relationship tools like in_app_purchases_v2_offer_codes_get_to_many_related except by decoding the URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer (e.g. 'get_to_many_related' vs 'get_to_many_relationship' vs the offer code instance tools). The agent must infer usage purely from the endpoint string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_price_points_get_to_many_relationshipD
GET /v2/inAppPurchases/{id}/relationships/pricePoints (GET /v2/inAppPurchases/{id}/relationships/pricePoints)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' verb weakly implies a safe read, but nothing is said about pagination (despite a limit parameter), rate limits, or what the relationship traversal returns. This is far short of what an unannotated tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only content by duplicating the identical path inside parentheses, adding zero information. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and two parameters, the description should explain the traversal semantics and return shape. Instead it provides nothing beyond the endpoint string, leaving the agent unable to invoke it confidently relative to its many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'limit'. The description adds no parameter meaning whatsoever, but the baseline for high coverage with no description contribution is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint string 'GET /v2/inAppPurchases/{id}/relationships/pricePoints' repeated verbatim in parentheses. It conveys the verb and resource path, but it is essentially a restatement of the tool name rather than an explanation of what the tool does or returns. No plain-language purpose is given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no differentiation from the very similar siblings such as in_app_purchases_v2_price_points_get_to_many_related or in_app_purchases_v2_offer_codes_get_to_many_relationship. The agent is left to infer everything from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_promoted_purchase_get_to_one_relationshipD
GET /v2/inAppPurchases/{id}/relationships/promotedPurchase (GET /v2/inAppPurchases/{id}/relationships/promotedPurchase)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this returns relationship linkage (type/id) rather than a full promotedPurchase resource, not the read-only nature, not error behavior for a missing id. The endpoint string alone conveys no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is accidental: the sentence is a pure duplicate of the route path, with the parenthetical repeating the same string. Not one word adds information, so it is under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description would need to explain what a 'relationship' GET returns and how it differs from the 'related' sibling. Neither is covered, leaving the agent to infer the return shape entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it as 'the id of the requested resource'. Per the baseline rule for high coverage, 3 is appropriate since the description neither adds nor detracts from parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP route string repeated verbatim inside parentheses: "GET /v2/inAppPurchases/{id}/relationships/promotedPurchase". It restates the tool name (get_to_one_relationship) rather than explaining that it retrieves the promoted-purchase linkage for an in-app purchase. No differentiation from the near-identical sibling in_app_purchases_v2_promoted_purchase_get_to_one_related is offered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no mention of the sibling 'related' variant or any alternative. An agent has only the URL path to guess intent from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_update_instanceD
PATCH /v2/inAppPurchases/{id} (PATCH /v2/inAppPurchases/{id}) Body shape: see OpenAPI components.schemas.InAppPurchaseV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and fails: it never states that this is a mutation, whether the update is partial or full, whether fields are required, what permissions are needed, or whether changes are reversible. The bare HTTP method is the only hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short but defective: the endpoint string is duplicated verbatim in parentheses, which earns nothing, and the remaining sentence only points elsewhere. Brevity here reflects under-specification rather than efficient, front-loaded communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested externally-defined body, the description is far too thin — it omits updatable fields, permission/scope expectations, and partial-update behavior. The agent can form the request shape from the schema but not understand the operation's consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both `id` and `body` are documented in the schema, including the same InAppPurchaseV2UpdateRequest reference the description cites. The description therefore adds no parameter meaning beyond the schema, which is the baseline-3 case for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a near-tautological restatement of the endpoint (PATCH /v2/inAppPurchases/{id}) given twice, plus a schema pointer. It conveys no verb+resource meaning beyond what the tool name and HTTP method already imply, and gives no sense of what an 'update' actually changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no differentiation from siblings like in_app_purchases_v2_create_instance, in_app_purchases_v2_get_instance, or in_app_purchases_v2_delete_instance. The agent gets nothing to decide whether this is the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchases_v2_versions_get_to_many_relationshipD
GET /v2/inAppPurchases/{id}/relationships/versions (GET /v2/inAppPurchases/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior (despite a limit parameter), no auth/permission requirements, no response shape. It is a bare URL, not a behavioral description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes at the cost of all substance, and the parenthetical repeats the exact same path verbatim, which is pure waste. There is no front-loaded statement of purpose to structure around.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated to-many relationship fetch with no annotations and no output schema, the description should at minimum state what is returned and that results are paginated. Neither is present, leaving the agent to infer everything from the route string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema — it doesn't explain that id is an in-app purchase identifier or how limit interacts with pagination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route, 'GET /v2/inAppPurchases/{id}/relationships/versions', duplicated inside parentheses. It conveys a read on a sub-resource named versions, but adds no explanation of what an in-app purchase version is or how this differs from siblings like in_app_purchases_v2_versions_get_to_many_related. This is effectively a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling list contains near-identical relationship tools (get_to_many_relationship vs get_to_many_related, offer_codes, price_points, images, localizations variants) and nothing here helps an agent choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_versions_create_instanceC
POST /v1/inAppPurchaseVersions (POST /v1/inAppPurchaseVersions) Body shape: see OpenAPI components.schemas.InAppPurchaseVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.InAppPurchaseVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/permission requirements, no note on side effects or what state the new version starts in, no mention of validation rules or error behavior. For a mutating create operation this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence duplicates the identical route string inside parentheses, which is pure waste and does not earn its place. The second sentence is a terse external pointer, so the definition is short but not efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a nested JSON:API body, no annotations, and no output schema, the description is far too thin. The pointer to the OpenAPI request schema gives some body-shape access, but nothing explains required relationships, auth, or expected outcome, leaving the agent under-equipped at call time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100%, so the schema already documents 'body' and its components.schemas.InAppPurchaseVersionCreateRequest shape. The description merely repeats the same pointer rather than adding meaning, which lands at the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The route 'POST /v1/inAppPurchaseVersions' does convey a create operation on an in-app-purchase-version resource, so the purpose is inferable. However, it is stated only as a mechanical URL, with no prose explaining what an in-app purchase version is or what creating one does, and nothing distinguishes it from sibling create tools like in_app_purchases_v2_create_instance or in_app_purchase_versions_create_instance's relationship to in_app_purchase_versions_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives anywhere in the description. An agent cannot tell from this text when creating an in-app purchase version is the right call versus updating or fetching one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_versions_get_instanceC
GET /v1/inAppPurchaseVersions/{id} (GET /v1/inAppPurchaseVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_images | No | maximum number of related images returned (when they are included) | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| fields_inAppPurchaseImages | No | the fields to include for returned resources of type inAppPurchaseImages | |
| fields_inAppPurchaseVersions | No | the fields to include for returned resources of type inAppPurchaseVersions | |
| fields_inAppPurchaseLocalizations | No | the fields to include for returned resources of type inAppPurchaseLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read via 'GET' but says nothing about authentication requirements, pagination, rate limits, or what the resource represents. For a tool with zero annotation coverage, this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the sole content is a path repeated twice in parentheses with no informational value. Brevity here comes from omission rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no annotations and no output schema, the description does not establish what an in-app-purchase version is, when it should be fetched, or how the include/fields parameters shape the response. The schema covers parameters, but the tool's role in the broader API remains unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the eight parameters (id, include, limit_*, fields_*) are fully documented in the schema. The description adds no parameter meaning beyond that, which is the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name and endpoint: 'GET /v1/inAppPurchaseVersions/{id}', duplicated verbatim in parentheses. It conveys only that this is a read of an in-app-purchase version by id, which the name already implies, and offers no differentiation from siblings like in_app_purchases_v2_get_instance or in_app_purchase_versions_image_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, no mention of alternatives, and no prerequisites. An agent gets no help deciding between this and the many adjacent in-app-purchase getters in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_versions_image_get_to_one_relationshipC
GET /v1/inAppPurchaseVersions/{id}/relationships/image (GET /v1/inAppPurchaseVersions/{id}/relationships/image)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about what is returned, whether the relationship can be empty/null, pagination, or any prerequisite (e.g., that the version must have an image assigned). Nothing is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is the same URL path repeated twice, which is pure redundancy rather than conciseness. No sentence in it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain what this relationship fetch returns and how it relates to the 'related' sibling. The bare endpoint path identifies the resource but leaves an agent unable to predict the response shape or choose correctly between siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (id) and schema description coverage is 100%, so the schema already documents it. Per the baseline rule for high coverage, a 3 is appropriate; the description adds no additional meaning about what id refers to (the in-app purchase version).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a literal restatement of the tool's operation ID and URL path, duplicated verbatim in parentheses. It conveys the HTTP verb and resource path, but nothing about what the 'image' relationship actually is or how it differs from sibling in_app_purchase_versions_image_get_to_one_related (the 'related' variant). This is a tautology rather than an explanation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which alternative to prefer. The relationship-vs-related sibling pair is the single most important distinction an agent needs here, and it is left entirely unaddressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
in_app_purchase_versions_images_get_to_many_relationshipD
GET /v1/inAppPurchaseVersions/{id}/relationships/images (GET /v1/inAppPurchaseVersions/{id}/relationships/images)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing: not that this is a safe read-only GET, not pagination behavior despite a 'limit' parameter, not auth requirements, and not what the relationship payload looks like. A bare URL path provides zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it consists of the same route string printed twice, so half of it is pure redundancy rather than earned content. Brevity here reflects under-specification, not effective concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description that only echoes the endpoint path, an agent cannot tell from this definition alone what the call returns or how it differs from the many near-identical 'images_get_to_many_relationship' tools. This is inadequate even for a simple two-parameter read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema itself, so the baseline of 3 applies. The description adds no additional meaning about the id format or pagination semantics, but it does not need to since the schema already covers both fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw HTTP route '/v1/inAppPurchaseVersions/{id}/relationships/images' duplicated in parentheses, which is essentially a restatement of the tool name. It never states in plain language what the call returns or why an agent would use it, though a reader can infer it lists images related to an in-app purchase version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling '.../image_get_to_one_related' or the v2 image relationship alternatives, and no exclusions or preconditions. The agent is left to guess 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.
in_app_purchase_versions_localizations_get_to_many_relationshipC
GET /v1/inAppPurchaseVersions/{id}/relationships/localizations (GET /v1/inAppPurchaseVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing about read-only nature beyond the implied GET, pagination behavior, or what the relationship endpoint returns in contrast to the full resource endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely short, but the only content is the same URL repeated twice in parentheses, which is redundant rather than usefully concise. No front-loaded explanation of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a bare URL restatement, an agent lacks key information (return shape, pagination, difference from the 'related' variant) needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and limit are both documented), so the baseline is 3. The description adds no syntax, format, or relationship-specific meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb and resource in REST form (GET /v1/inAppPurchaseVersions/{id}/relationships/localizations), so the operation is identifiable. However it merely restates the tool name/path with no explanation of what a 'localizations relationship' returns, and it does not distinguish this from the near-identical sibling in_app_purchase_versions_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this tool versus alternatives. The presence of a nearly identical sibling (_get_to_many_related) makes differentiation essential, and the description offers none.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_search_details_create_instanceC
POST /v1/marketplaceSearchDetails (POST /v1/marketplaceSearchDetails) Body shape: see OpenAPI components.schemas.MarketplaceSearchDetailCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.MarketplaceSearchDetailCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing about authentication, side effects, idempotency, or what state the create leaves behind. The single useful hint is that the body follows a JSON:API envelope, which is a minor behavioral disclosure at best.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is needlessly repeated verbatim in parentheses and the sentence is not front-loaded with any meaningful purpose. There is no waste of length, but also no information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a body schema that is an unconstrained object, the description should explain the resource being created and the required envelope. Deferring entirely to an external OpenAPI component leaves an agent unable to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter, so baseline is 3. The description does not elaborate on the body's fields; it only defers to components.schemas.MarketplaceSearchDetailCreateRequest, and the schema itself is a free-form object with additionalProperties, so the pointer adds little practical detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('POST /v1/marketplaceSearchDetails'), which duplicates the tool name 'marketplace_search_details_create_instance'. It never says what a MarketplaceSearchDetail is or what creating one accomplishes, so an agent learns nothing beyond the already-encoded operation type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as marketplace_search_details_update_instance or marketplace_search_details_delete_instance, nor any prerequisite (e.g. an existing app or merchant ID). The agent must infer the usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_search_details_delete_instanceD
DELETE /v1/marketplaceSearchDetails/{id} (DELETE /v1/marketplaceSearchDetails/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the bare route. It does not state that the operation is destructive, whether deletion is reversible, what permissions are required, or how related resources are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is not concise in a useful sense: the same route string is printed twice in parentheses, which is redundant filler. There is no front-loaded explanation of purpose or effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no annotations, no output schema, and no parameter guidance in the description, the definition is completely inadequate. An agent has no information about consequences, permissions, or expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it fully and the baseline of 3 applies. The description adds nothing beyond echoing the path placeholder, offering no syntax, format, or identifier-source guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name as a raw HTTP route, 'DELETE /v1/marketplaceSearchDetails/{id}', duplicated in parentheses. While the HTTP verb hints at a deletion of a marketplace search detail resource, it offers no differentiation from the many sibling delete_instance tools and no explanation of what the resource is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool, what prerequisites exist, or what alternatives (e.g., update_instance, create_instance) exist among the siblings. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_search_details_update_instanceC
PATCH /v1/marketplaceSearchDetails/{id} (PATCH /v1/marketplaceSearchDetails/{id}) Body shape: see OpenAPI components.schemas.MarketplaceSearchDetailUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.MarketplaceSearchDetailUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and fails: it doesn't state that this is a partial update, whether unspecified fields are preserved, what permissions are required, or how errors surface. The only useful bit is the pointer to components.schemas.MarketplaceSearchDetailUpdateRequest, which tells the agent where the payload shape lives but not what it means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, so there is little waste, but the endpoint string is duplicated inside parentheses with no added information. It is under-specified rather than bloated; the brevity stems from missing content, not from tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with a nested JSON:API body, no annotations, and no output schema, so the description must carry substantial context. It supplies neither update semantics nor the envelope details an agent needs, leaving only an external schema reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the two parameters, so the baseline is 3. The description repeats the schema's pointer to MarketplaceSearchDetailUpdateRequest without adding any field-level meaning, constraints, or the JSON:API envelope structure it references.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the endpoint (PATCH /v1/marketplaceSearchDetails/{id}) with the path repeated twice. It names no domain object meaning beyond the URL and does not say what a 'marketplace search detail' is or what the update changes. Sibling tools like marketplace_search_details_create_instance and delete_instance are not distinguished beyond the implied HTTP verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternative guidance is provided. The only implicit signal is that PATCH means update rather than create/delete, which the tool name already conveys. An agent has no condition under which to prefer this over the sibling marketplace_search_details_create_instance or delete_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_webhooks_create_instanceC
[DEPRECATED] POST /v1/marketplaceWebhooks (POST /v1/marketplaceWebhooks) Body shape: see OpenAPI components.schemas.MarketplaceWebhookCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.MarketplaceWebhookCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: it says the call is deprecated but never covers auth/permission requirements, side effects of creating a webhook, or error behavior. Deprecation is one useful trait, but a mutating POST with a nested JSON:API body needs far more.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence that leads with [DEPRECATED], which is good. But the parenthetical '(POST /v1/marketplaceWebhooks)' is a pure restatement of the preceding path and wastes space, so it is efficient without being tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a nested-object body, the description offloads the essential body shape to an external OpenAPI reference rather than being self-contained. An agent gets deprecation status but not enough to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'body' parameter is already documented, and the description only echoes the schema by pointing to components.schemas.MarketplaceWebhookCreateRequest. It adds no syntax, field, or format detail beyond what the schema provides, matching the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation mechanically as POST /v1/marketplaceWebhooks, which maps to 'create a marketplace webhook' and distinguishes it from the sibling delete/update tools. However it never explains semantically what a marketplace webhook is or what creating one accomplishes, so it is a restatement of the name rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the [DEPRECATED] tag, which implies 'prefer something else,' but no alternative tool or migration path is named despite siblings like webhooks_create_instance existing. There is no statement of when this tool is or isn't appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_webhooks_delete_instanceC
[DEPRECATED] DELETE /v1/marketplaceWebhooks/{id} (DELETE /v1/marketplaceWebhooks/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: no statement that this is destructive/irreversible, whether related resources (e.g. webhook deliveries) are affected, or what auth is required. The deprecation marker is the lone behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loading '[DEPRECATED]' is good, but the path text is duplicated verbatim inside the parentheses, which is pure waste, and the brevity comes from missing content rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive operation with no annotations, no output schema, and a bare path string leaves the agent without the prerequisites, side effects, or replacement guidance it needs. The deprecation note is not enough to make this complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter with 100% schema coverage, so the schema already documents 'id' fully. Baseline is 3 when the schema does the heavy lifting; the description adds no format, constraint, or meaning beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The REST path 'DELETE /v1/marketplaceWebhooks/{id}' does identify the verb and resource, so an agent can infer this deletes a marketplace webhook by id. But it never says so in plain language, relying entirely on REST convention, and it is not differentiated from the many other *_delete_instance siblings beyond the resource token in the path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the '[DEPRECATED]' tag, which weakly signals 'prefer something else' but names no replacement and gives no when-to-use or when-not-to-use condition. Nothing tells the agent which alternative tool to use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_webhooks_get_collectionC
[DEPRECATED] GET /v1/marketplaceWebhooks (GET /v1/marketplaceWebhooks)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| fields_marketplaceWebhooks | No | the fields to include for returned resources of type marketplaceWebhooks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden, yet it discloses nothing about pagination defaults, response shape, required scopes, or what deprecation means operationally (removal date, error behavior). Only the deprecation label adds any behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short, but the brevity is under-specification rather than conciseness. The parenthetical '(GET /v1/marketplaceWebhooks)' is pure redundancy with the preceding text, so the only content is a deprecation tag plus a repeated URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deprecated collection endpoint with no annotations and no output schema, the description should at minimum say what is returned or point to a replacement. It does neither, leaving an agent unable to judge whether this tool is safe or useful to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (limit, fields_marketplaceWebhooks) have their own descriptions, so the schema does the work. The description adds no meaning beyond the schema, fitting the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives only the HTTP path 'GET /v1/marketplaceWebhooks', which implies a list operation on marketplace webhooks, plus a [DEPRECATED] tag. It never states in words what the tool does or what marketplace webhooks are, and there is no differentiation from siblings like marketplace_webhooks_create_instance beyond the implicit GET-method mapping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The [DEPRECATED] prefix hints the tool should be avoided, but there is no explicit instruction about when to use it, when not to, or which non-deprecated tool replaces it (e.g., webhooks_get_collection or marketplace_webhooks_update_instance siblings). The agent is left to infer everything.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
marketplace_webhooks_update_instanceC
[DEPRECATED] PATCH /v1/marketplaceWebhooks/{id} (PATCH /v1/marketplaceWebhooks/{id}) Body shape: see OpenAPI components.schemas.MarketplaceWebhookUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.MarketplaceWebhookUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a meaningful behavioral trait beyond structured data — the deprecation status — and flags that the body follows a JSON:API envelope. It is silent, though, on auth requirements, side effects, and reversibility for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the important [DEPRECATED] marker, but the path is needlessly duplicated ('PATCH /v1/marketplaceWebhooks/{id} (PATCH /v1/marketplaceWebhooks/{id})'), which is wasted space in a two-sentence definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a free-form nested body that defers to an external OpenAPI schema not included here, the description is too thin. It never indicates which fields are updatable, what authorization is needed, or what the operation returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, and the description's pointer to MarketplaceWebhookUpdateRequest duplicates the schema's own reference. It adds only the marginal 'full JSON:API envelope' framing, which is the correct baseline-3 outcome when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource (PATCH /v1/marketplaceWebhooks/{id}), so an agent can infer it partially updates a marketplace webhook. However, it never states the purpose in plain language and largely restates the endpoint implied by the tool name, so it sits at the 'vague purpose' tier rather than clearly distinguishing itself from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, prerequisite, or alternative routing. The [DEPRECATED] marker functions as an implied 'when not to use' signal, which is useful, but it never says what to use instead, leaving usage only partly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merchant_ids_certificates_get_to_many_relationshipD
GET /v1/merchantIds/{id}/relationships/certificates (GET /v1/merchantIds/{id}/relationships/certificates)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no pagination behavior despite the 'limit' parameter, no auth/permission requirements, no return shape information. A bare endpoint string is not sufficient for a read tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the length reflects under-specification rather than conciseness; the entire content is a duplicated URL string and the parenthetical repeat adds nothing. No front-loaded purpose statement exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description consisting solely of the endpoint path, the definition is wholly inadequate for a relationship-list tool. An agent has no basis to call it correctly or know what it returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'limit'. The description adds no parameter meaning beyond echoing '{id}' in the path, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path 'GET /v1/merchantIds/{id}/relationships/certificates' repeated twice, which restates the tool name rather than explaining what the tool does. An agent cannot tell from this why it would fetch certificates for a merchant ID nor how it differs from the very similar sibling merchant_ids_certificates_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is present. The existence of the near-identical sibling merchant_ids_certificates_get_to_many_related makes disambiguation essential, and the description offers nothing to distinguish them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merchant_ids_create_instanceD
POST /v1/merchantIds (POST /v1/merchantIds) Body shape: see OpenAPI components.schemas.MerchantIdCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.MerchantIdCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that this is a mutating POST, not what gets created or destroyed, not whether existing merchant IDs conflict, and not what authorization is required. The only content is the route and a pointer to an external schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, which is good, but it wastes its only sentence by duplicating the same route twice ('POST /v1/merchantIds (POST /v1/merchantIds)'). Under-specification rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with zero annotations, no output schema, and a nested JSON:API body delegated to an external OpenAPI component, the description is far too thin. It should at minimum state what resource is created, the required envelope members, and any auth or side-effect expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single 'body' property is described), so the baseline is 3 per the rubric. The description repeats the same pointer and hints that the body is a full JSON:API envelope, which adds marginal meaning, but the referenced components.schemas.MerchantIdCreateRequest is not expanded anywhere in the definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP route ('POST /v1/merchantIds') and adds nothing about what a merchant ID instance actually is or what creating one accomplishes. It is effectively a tautology against the name, and it does not distinguish itself from the many sibling create tools (e.g. pass_type_ids_create_instance, merchant_ids_update_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to call this versus merchant_ids_get_instance, merchant_ids_update_instance, or merchant_ids_delete_instance, nor any precondition, auth requirement, or idempotency note. An agent is left to infer everything 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.
merchant_ids_delete_instanceC
DELETE /v1/merchantIds/{id} (DELETE /v1/merchantIds/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. For a destructive DELETE operation it says nothing about irreversibility, cascade effects on related certificates, required auth scopes, or error behavior — a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is tiny, but it wastes space duplicating the identical route string twice in parentheses with zero added information. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations and no output schema, the description should at minimum explain what gets deleted and any caveats. Instead it is a bare route echo, leaving the agent without the behavioral context needed to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter and schema description coverage is 100% ('the id of the requested resource'), so the schema already documents it. The description adds nothing, but the baseline of 3 applies when the schema does the heavy lifting for a one-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as a REST route ('DELETE /v1/merchantIds/{id}'), which is essentially a tautology of the identifier. It conveys the HTTP verb and resource path, so it is not misleading, but it adds no differentiation beyond what the name 'merchant_ids_delete_instance' already implies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as merchant_ids_update_instance, merchant_ids_get_instance, or pass_type_ids_delete_instance. No prerequisites, no exclusions, no alternative routing is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merchant_ids_get_collectionD
GET /v1/merchantIds (GET /v1/merchantIds)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_name | No | filter by attribute 'name' | |
| filter_identifier | No | filter by attribute 'identifier' | |
| fields_merchantIds | No | the fields to include for returned resources of type merchantIds | |
| limit_certificates | No | maximum number of related certificates returned (when they are included) | |
| fields_certificates | No | the fields to include for returned resources of type certificates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not say whether results are paginated, whether authentication/permissions are required, or what happens with large collections — all of which matter for a collection endpoint with a limit parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency — the same route string is duplicated in parentheses, which is pure waste with no informational content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter collection endpoint with pagination, relationship inclusion, filtering, and sparse fieldsets, and with no output schema to fall back on, a duplicated URL path is completely inadequate. An agent cannot tell what this tool yields or how to shape the query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 optional parameters (sort, limit, include, filters, sparse fieldsets). Per the baseline rule, 3 is the ceiling when the schema does the heavy lifting, and the description adds no parameter meaning whatsoever on top of it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the route echoed twice: 'GET /v1/merchantIds (GET /v1/merchantIds)'. It restates the tool name and HTTP verb rather than describing what a merchant ID resource is or what the collection returns, which is a tautology rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this collection endpoint versus siblings such as merchant_ids_get_instance (single lookup) or merchant_ids_certificates_get_to_many_related. The agent is given no conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merchant_ids_get_instanceC
GET /v1/merchantIds/{id} (GET /v1/merchantIds/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_merchantIds | No | the fields to include for returned resources of type merchantIds | |
| limit_certificates | No | maximum number of related certificates returned (when they are included) | |
| fields_certificates | No | the fields to include for returned resources of type certificates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it only names the HTTP verb. It says nothing about authentication requirements, rate limits, error/404 behavior, or that the call is a read-only, side-effect-free fetch of a single merchant ID resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes its only content by repeating the same path twice ('GET /v1/merchantIds/{id} (GET /v1/merchantIds/{id})'). There is no front-loaded statement of what the tool returns or does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET-by-id tool with a rich input schema but no output schema and no annotations, the description is a bare endpoint stub. It omits expected return shape context, authentication needs, and any behavioral notes, leaving the agent with little beyond the URL to act on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have full schema descriptions (100% coverage), including id, include, fields_merchantIds, limit_certificates, and fields_certificates, so the schema does the heavy lifting. The description adds no parameter meaning beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim REST endpoint ('GET /v1/merchantIds/{id}'), which restates the tool name merchant_ids_get_instance rather than explaining the purpose in natural language. It does imply a single-resource read versus the collection sibling, but only via the raw path, and the path is duplicated in parentheses with no added value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. required auth/API key), and no comparison to alternatives like merchant_ids_get_collection for lists or merchant_ids_certificates_get_to_many_related for related resources. The agent must infer selection purely from the endpoint syntax.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merchant_ids_update_instanceC
PATCH /v1/merchantIds/{id} (PATCH /v1/merchantIds/{id}) Body shape: see OpenAPI components.schemas.MerchantIdUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.MerchantIdUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden and largely drops it. It conveys only that this is a PATCH (partial mutation) and points at components.schemas.MerchantIdUpdateRequest for the body, but says nothing about what gets modified, whether the change is reversible, required permissions, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicate of the path and verb is pure waste, and the string splits into two fragments rather than a front-loaded statement of intent. Nothing is padded, but nothing is prioritized either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with zero annotations, no output schema, and an opaque free-form body object, the description should at minimum explain the JSON:API envelope and the effect of the update. Pointing at an external OpenAPI component that may not be reachable at call time leaves the agent without enough to construct the body correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — both id and body are documented in the schema, including the components.schemas.MerchantIdUpdateRequest reference — so the baseline is 3. The description repeats that same schema pointer rather than adding syntax, format, or field-level detail beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as an HTTP call (PATCH /v1/merchantIds/{id}), duplicating the same path twice in parentheses. It never says in plain language what a merchant ID is or what updating one changes, and it names no siblings such as merchant_ids_get_instance or merchant_ids_delete_instance, so it adds nothing the name and schema do not already convey.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of merchant_ids_create_instance, merchant_ids_get_instance, or merchant_ids_delete_instance, and no prerequisites (permissions, preconditions on the existing record) are mentioned. The only signal is the HTTP verb, which the agent must interpret unaided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nominations_create_instanceC
POST /v1/nominations (POST /v1/nominations) Body shape: see OpenAPI components.schemas.NominationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.NominationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication, side effects, idempotency, or what a successful creation returns. Only the POST verb hints that this is a write operation, which is minimal disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it redundantly repeats the same route twice ('POST /v1/nominations (POST /v1/nominations)') and is under-specified rather than genuinely concise. The schema pointer is the only substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-object create tool with no annotations and no output schema, the description defers almost entirely to an external OpenAPI document the agent may not have. It lacks any explanation of the request semantics or expected outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the baseline is 3. The description points to components.schemas.NominationCreateRequest, which is useful but merely redirects to an external document rather than adding envelope or field meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP route 'POST /v1/nominations', from which an agent can infer creation of a nomination, and the verb implicitly distinguishes it from the get/update/delete nomination siblings. However it never states in words what a nomination is or what creating one accomplishes, so the purpose is only vaguely conveyed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling tools (nominations_get_collection, nominations_update_instance, nominations_delete_instance). The agent gets no routing information beyond the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nominations_delete_instanceC
DELETE /v1/nominations/{id} (DELETE /v1/nominations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. 'DELETE' implies a destructive, likely irreversible mutation, but there is no statement about permissions, confirmation requirements, side effects on related resources, or error behavior for a nonexistent id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the exact same string verbatim, so the entire second half is pure waste rather than information. Structure is technically front-loaded, yet the content is too thin to be considered efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations, no output schema, and no surrounding documentation, the description is not complete enough. An agent gets no confirmation of consequences, auth requirements, or what a successful delete returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single id parameter, so the schema already documents it ('the id of the requested resource'). The description adds no syntax, format, or ID-type detail, which is the expected baseline of 3 when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the REST path 'DELETE /v1/nominations/{id}', which is essentially a restatement of the tool name nominations_delete_instance rather than an explanation of what deleting a nomination means. It does convey the HTTP verb and resource, so a sibling like nominations_get_instance is distinguishable, but no purpose beyond the name is added.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus nominations_get_instance, nominations_update_instance, or any related sibling, nor any stated preconditions. The path alone implies 'use this to delete by id', but nothing is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nominations_get_collectionD
GET /v1/nominations (GET /v1/nominations)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| filter_type | No | filter by attribute 'type' | |
| filter_state | No | filter by attribute 'state' | |
| fields_actors | No | the fields to include for returned resources of type actors | |
| fields_appEvents | No | the fields to include for returned resources of type appEvents | |
| limit_inAppEvents | No | maximum number of related inAppEvents returned (when they are included) | |
| limit_relatedApps | No | maximum number of related relatedApps returned (when they are included) | |
| fields_nominations | No | the fields to include for returned resources of type nominations | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| filter_relatedApps | No | filter by id(s) of related 'relatedApps' | |
| filter_hasInAppEvents | No | filter by attribute 'hasInAppEvents' | |
| limit_supportedTerritories | No | maximum number of related supportedTerritories returned (when they are included) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about pagination, read-only semantics, auth requirements, rate limits, or what a collection response looks like — only a bare HTTP verb and path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the same endpoint string is duplicated in parentheses, and no useful information is front-loaded because there is none.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter collection endpoint with no annotations and no output schema, the description is completely inadequate — an agent has no idea what a nomination is, what the collection returns, or how the many filter/include/field parameters relate to the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 15 parameters (sort, limit, include, fields_*, filters, limits), so the schema already documents every parameter. The description adds nothing, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'GET /v1/nominations (GET /v1/nominations)' — a raw endpoint restated twice. It conveys no more meaning than the tool name already does and gives no verb+resource framing beyond 'GET'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this collection endpoint versus siblings such as nominations_get_instance or nominations_create_instance, nor any conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nominations_get_instanceD
GET /v1/nominations/{id} (GET /v1/nominations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_actors | No | the fields to include for returned resources of type actors | |
| fields_appEvents | No | the fields to include for returned resources of type appEvents | |
| limit_inAppEvents | No | maximum number of related inAppEvents returned (when they are included) | |
| limit_relatedApps | No | maximum number of related relatedApps returned (when they are included) | |
| fields_nominations | No | the fields to include for returned resources of type nominations | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| limit_supportedTerritories | No | maximum number of related supportedTerritories returned (when they are included) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not that it is a read-only operation, not that the 'include' and 'fields_*' parameters expand related resources, not any auth or 404 behavior. The description adds zero behavioral context beyond the URL path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness: the same path is printed twice with no useful content. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no annotations and no output schema, the description is completely inadequate. It never explains the sparse-fieldset/include semantics a caller must understand to use the parameters correctly, nor what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents id, include, the fields_* sparse-fieldset parameters, and the limit_* paging parameters in detail. Baseline 3 applies because the description contributes no additional parameter meaning on top of the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name/path ("GET /v1/nominations/{id}"), duplicated parenthetically. It implies fetching a single nomination by id, but it is essentially a tautology and never explains what a nomination resource actually is or what the agent gets back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to the sibling nominations_get_collection or the update/delete instance tools. The agent is given nothing to distinguish this retrieval from any other GET in a set of hundreds of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nominations_update_instanceD
PATCH /v1/nominations/{id} (PATCH /v1/nominations/{id}) Body shape: see OpenAPI components.schemas.NominationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.NominationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the route: no indication that this is a mutating PATCH, no note on partial-update semantics, reversibility, or auth requirements. It merely defers to an external OpenAPI schema that the agent cannot see.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the route is needlessly duplicated as 'PATCH /v1/nominations/{id} (PATCH /v1/nominations/{id})', and the one substantive addition (the schema reference) is buried in the parenthetical. Little information is delivered for the space used.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations, no output schema, and an opaque nested body, the definition is far too thin. An agent gets no sense of what fields are updatable, what the response looks like, or any side-effect context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (id, body) are documented in the schema, so the baseline is 3. The description adds only a pointer to 'components.schemas.NominationUpdateRequest' for the opaque body, which gives orientation but no field-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP route 'PATCH /v1/nominations/{id}' rather than saying in agent terms that it updates an existing nomination. The resource and verb are inferable from the route, but nothing explains what a nomination is or what 'updating' it entails, so it is effectively a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many siblings such as nominations_create_instance, nominations_get_instance, or nominations_delete_instance. There are no prerequisites, no exclusions, and no mention of required permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pass_type_ids_certificates_get_to_many_relationshipD
GET /v1/passTypeIds/{id}/relationships/certificates (GET /v1/passTypeIds/{id}/relationships/certificates)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no mention of pagination, auth requirements, or what the relationship response contains. A duplicated URL conveys no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every character is wasted: the endpoint is printed twice with no explanatory content, which is redundancy rather than front-loaded substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no annotations and no output schema, the description provides nothing an agent needs to call it correctly. It is completely inadequate given the burden it must carry.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and limit parameters are already documented in the input schema ('the id of the requested resource', 'maximum resources per page'). The description adds no semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw HTTP endpoint path, duplicated verbatim in parentheses. It restates the tool name (pass_type_ids_certificates_get_to_many_relationship) without a natural-language statement of what the operation returns or how it differs from the sibling pass_type_ids_certificates_get_to_many_related. An agent can only infer 'list certificates for a pass type ID' by decoding the URL, not from any prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool, when not to, or which sibling (e.g., the *_related variant) to prefer. The agent is left to guess from the endpoint alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pass_type_ids_create_instanceC
POST /v1/passTypeIds (POST /v1/passTypeIds) Body shape: see OpenAPI components.schemas.PassTypeIdCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.PassTypeIdCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses nothing about side effects, required permissions, whether the created resource is returned, or failure modes; the only added value is pointing to the OpenAPI schema for the request body shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short, but 'POST /v1/passTypeIds (POST /v1/passTypeIds)' is a verbatim self-duplication that wastes half the text. Structure is front-loaded but the content is redundant rather than dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, and a body typed only as a free-form object (additionalProperties), the description does not say enough: it never explains what a pass type ID is, what the JSON:API envelope requires, or what happens on success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the schema already documents the parameter. The description's pointer to components.schemas.PassTypeIdCreateRequest largely duplicates the schema's own description text rather than adding new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives an HTTP verb and resource ('POST /v1/passTypeIds'), so an agent can infer creation of a pass type ID, but it never states the purpose in plain language or distinguishes itself from siblings like pass_type_ids_update_instance or pass_type_ids_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the update, delete, or get siblings, nor any prerequisite or precondition. The HTTP method is the only signal, and it is not framed as usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pass_type_ids_delete_instanceC
DELETE /v1/passTypeIds/{id} (DELETE /v1/passTypeIds/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: not that the operation is irreversible, not whether associated certificates are revoked or invalidated, not permission requirements, not the response. For a destructive endpoint this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the entire content is the route repeated verbatim inside parentheses, so the second half adds zero information. Brevity here reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A destructive delete tool with no annotations and no output schema needs the description to explain consequences and safety context; instead it supplies only the endpoint. An agent cannot judge whether calling it is safe.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter documented in the schema at 100% coverage, so the schema already explains 'the id of the requested resource'. The description adds nothing beyond mirroring the path template, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text names a concrete HTTP verb (DELETE) and resource path (/v1/passTypeIds/{id}), which is enough to tell it apart from siblings like pass_type_ids_get_instance or pass_type_ids_update_instance. But it is a raw endpoint string with no plain-language statement of what a pass type ID is or what deletion means for it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus pass_type_ids_update_instance or other removal paths, and no mention of prerequisites or consequences. Only the implicit 'it's a DELETE' signal hints at usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pass_type_ids_get_collectionD
GET /v1/passTypeIds (GET /v1/passTypeIds)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| filter_name | No | filter by attribute 'name' | |
| filter_identifier | No | filter by attribute 'identifier' | |
| fields_passTypeIds | No | the fields to include for returned resources of type passTypeIds | |
| limit_certificates | No | maximum number of related certificates returned (when they are included) | |
| fields_certificates | No | the fields to include for returned resources of type certificates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not state pagination behavior (despite limit/limit_certificates params), auth requirements, default sort, or what is returned; a bare endpoint echo for a 9-parameter list tool is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplication of the same endpoint string is pure waste that earns no place. There is no front-loaded statement of value, only a repeated route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET-collection endpoint with 9 filterable/sortable/includeable parameters, no annotations, and no output schema, the description should explain scope (e.g., related certificate inclusions) and usage context. It explains none of this, leaving the agent with only the route to infer intent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 9 parameters (sort, filter_*, include, fields_*, limit) is already documented in the schema. Per the baseline rule for high coverage, a 3 is appropriate even though the description adds no parameter meaning on its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP route: 'GET /v1/passTypeIds' repeated twice in parentheses. It conveys the verb and resource only in the most literal endpoint sense and provides no explanation of what a pass type ID is or what the tool returns. There is no differentiation from siblings like pass_type_ids_get_instance or pass_type_ids_certificates_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this collection endpoint versus the single-instance or relationship siblings. No conditions, prerequisites, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pass_type_ids_get_instanceD
GET /v1/passTypeIds/{id} (GET /v1/passTypeIds/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_passTypeIds | No | the fields to include for returned resources of type passTypeIds | |
| limit_certificates | No | maximum number of related certificates returned (when they are included) | |
| fields_certificates | No | the fields to include for returned resources of type certificates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it offers nothing: no mention of authentication requirements, pagination, or what 'include'/'limit' do. It states neither safety profile nor side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it is a degenerate duplication of the same endpoint string with zero informative content and no front-loaded explanation of purpose. Brevity here reflects under-specification rather than conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no output schema, the description provides no usable context at all. Nothing an agent needs to call it correctly beyond the schema itself is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (id, include, fields_passTypeIds, limit_certificates, fields_certificates) are already documented in the schema. The description adds nothing beyond the schema, which is the expected baseline of 3 in this situation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP endpoint 'GET /v1/passTypeIds/{id}' duplicated, which essentially restates the tool name pass_type_ids_get_instance. It conveys the resource and that it is a single-instance fetch only by inference from the URL path, with no plain-language statement of what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as pass_type_ids_get_collection, pass_type_ids_update_instance, or pass_type_ids_delete_instance. The agent is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pass_type_ids_update_instanceC
PATCH /v1/passTypeIds/{id} (PATCH /v1/passTypeIds/{id}) Body shape: see OpenAPI components.schemas.PassTypeIdUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.PassTypeIdUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals only that this is a PATCH (mutation) and points to components.schemas.PassTypeIdUpdateRequest for the body, but says nothing about permissions, whether changes are partial or full replacement, reversibility, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicates the exact endpoint that precedes it, and the second sentence offloads the entire body definition to an external spec. There is wasted duplication and the useful content is deferred rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested body whose real shape lives in an external OpenAPI component, the description leaves an agent unable to construct a valid request. It should at minimum summarize the updatable fields or the:API envelope requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both the id and body parameters. The description merely repeats the schema's own pointer to components.schemas.PassTypeIdUpdateRequest, adding no syntax or format detail beyond structured data, which matches the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and resource path (PATCH /v1/passTypeIds/{id}), from which an agent can infer that it updates a pass type ID. However, it never states the purpose in plain language and instead restates the endpoint twice, so the action itself must be reverse-engineered from the URL and the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings such as pass_type_ids_create_instance, pass_type_ids_get_instance, or pass_type_ids_delete_instance. The agent gets no prerequisites, no conditions, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_release_versions_app_get_to_one_relationshipD
GET /v1/preReleaseVersions/{id}/relationships/app (GET /v1/preReleaseVersions/{id}/relationships/app)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not explain that relationship endpoints typically return linkage/identifier data rather than the full app resource, nor mention auth requirements or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string appears twice with no added information, which is redundancy rather than conciseness. Nothing is front-loaded because there is no explanatory content at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should at minimum clarify the relationship-vs-related distinction and what the payload contains. As written, an agent cannot distinguish this tool from its many near-identical siblings in the catalog.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter and the schema documents it at 100% coverage ('the id of the requested resource'), so the baseline of 3 applies. The description contributes no additional meaning about the id's format or provenance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint path, duplicated verbatim inside parentheses, so it effectively restates the tool name rather than explaining purpose. An agent can infer 'GET the app relationship of a pre-release version' from the path, but the text adds no clarification about what a relationship endpoint returns versus the sibling pre_release_versions_app_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or which sibling to prefer. With both pre_release_versions_app_get_to_one_relationship and pre_release_versions_app_get_to_one_related present, the absence of any routing advice is a serious omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_release_versions_builds_get_to_many_relationshipD
GET /v1/preReleaseVersions/{id}/relationships/builds (GET /v1/preReleaseVersions/{id}/relationships/builds)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not that it is a read-only linkage endpoint, not pagination behavior despite the 'limit' parameter, not authentication requirements, and not whether it returns resource identifiers or full objects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is the same path string duplicated twice with no added information, so length is not earned. There is no front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship GET with no annotations and no output schema, the description omits anything an agent needs: what a 'relationship' response contains, pagination semantics, or how it differs from the related-resource endpoint. It is not adequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two parameters (id, limit), so the schema already documents them and the baseline is 3. The description adds no syntax, format, or meaning beyond the path, so it neither helps nor hurts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the tool name as an HTTP path, naming the resource (preReleaseVersions -> builds relationship) without describing in prose what the operation does. An agent can infer 'fetch builds linked to a pre-release version' only by parsing the URL, not from a stated purpose. It is close to a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this relationship endpoint versus the sibling 'pre_release_versions_builds_get_to_many_related' or 'builds_get_collection'. The near-identical sibling names make differentiation essential, and none is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_release_versions_get_collectionD
GET /v1/preReleaseVersions (GET /v1/preReleaseVersions)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| filter_builds | No | filter by id(s) of related 'builds' | |
| filter_version | No | filter by attribute 'version' | |
| filter_platform | No | filter by attribute 'platform' | |
| filter_builds_expired | No | filter by attribute 'builds.expired' | |
| filter_builds_version | No | filter by attribute 'builds.version' | |
| fields_preReleaseVersions | No | the fields to include for returned resources of type preReleaseVersions | |
| filter_builds_processingState | No | filter by attribute 'builds.processingState' | |
| filter_builds_buildAudienceType | No | filter by attribute 'builds.buildAudienceType' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no read/mutation profile, no pagination behavior, no authentication or scope requirements, no notes on the include/filter semantics that make this endpoint non-trivial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity is under-specification rather than conciseness — the single 'sentence' is the endpoint path duplicated in parentheses, which conveys no information an agent could not infer from the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter collection endpoint with no annotations, no output schema, and no guidance, the definition is completely inadequate. The agent has no way to know what it will receive (a list of pre-release versions with optional included builds/app relationships?) or when the call is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 15 parameters, so the schema alone documents sort, limit, include, and every filter and sparse-fieldset option. Per the rubric that yields a baseline of 3, and the description adds nothing on top of it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the HTTP path repeated twice: 'GET /v1/preReleaseVersions (GET /v1/preReleaseVersions)'. It restates the tool name and endpoint without saying what a pre-release version collection is, what it contains, or how it differs from siblings like pre_release_versions_get_instance or pre_release_versions_builds_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is mentioned. An agent cannot tell from this text whether to use this collection endpoint versus the app-scoped relationship endpoint (apps_pre_release_versions_get_to_many_relationship) or the single-instance getter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pre_release_versions_get_instanceD
GET /v1/preReleaseVersions/{id} (GET /v1/preReleaseVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_builds | No | maximum number of related builds returned (when they are included) | |
| fields_builds | No | the fields to include for returned resources of type builds | |
| fields_preReleaseVersions | No | the fields to include for returned resources of type preReleaseVersions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that this is a read-only operation, what permissions or scopes are needed, how include/fields affect the response, or what errors occur for a bad id. Repeating the path conveys no behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the parenthetical duplicate of the same path is pure waste, and the remaining text is under-specified rather than economical. Nothing is front-loaded beyond an HTTP verb and route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with six parameters including sparse-fieldset and relationship-inclusion options, no output schema, and zero annotation coverage, the description should explain what is returned and how the include/fields parameters shape it. It provides none of that, leaving the agent to infer everything from parameter names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all six parameters, each with its own description (id, include, fields_apps, limit_builds, fields_builds, fields_preReleaseVersions). Per the rubric, high coverage establishes a baseline of 3 even though the description itself adds nothing about parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path 'GET /v1/preReleaseVersions/{id}' repeated twice, which effectively restates the tool name. It implies retrieving a single pre-release version, but offers no plain-language statement of the purpose and no differentiation from siblings like pre_release_versions_get_collection or pre_release_versions_builds_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this single-instance fetch versus the collection endpoint or the relationship endpoints. The path alone implies 'fetch by id', but no alternatives, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_bundle_id_get_to_one_relationshipC
GET /v1/profiles/{id}/relationships/bundleId (GET /v1/profiles/{id}/relationships/bundleId)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden of behavioral disclosure. The only signal is the implicit HTTP GET semantics (a safe read), which merely duplicates the tool name; nothing is said about permissions, what the relationship payload contains, or error behavior for invalid ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency. The same path is printed twice in a redundant parenthetical, which is pure waste rather than useful front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with full schema coverage and no output schema, the bar is low, but the description still omits what a profile-to-bundleId relationship is and how it differs from the parallel 'related' endpoint. An agent has no basis for choosing correctly among the many profiles_* siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds nothing about the parameter, so the baseline 3 applies since the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and URL path, repeated twice ('GET /v1/profiles/{id}/relationships/bundleId (GET /v1/profiles/{id}/relationships/bundleId)'). It conveys no meaning beyond the identifier itself and never explains what the 'bundleId relationship' of a profile represents, nor distinguishes it from the sibling profiles_bundle_id_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot tell from this text why it would call this tool instead of the near-identical *_get_to_one_related sibling, which differs by a subtle naming convention that is nowhere explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_certificates_get_to_many_relationshipC
GET /v1/profiles/{id}/relationships/certificates (GET /v1/profiles/{id}/relationships/certificates)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses only that the call is a GET (implying a read). It says nothing about pagination despite the limit parameter, nothing about authentication or scopes, and nothing about what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string is duplicated inside parentheses, which is pure waste rather than conciseness. There is no front-loaded explanation of purpose or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a crowded sibling namespace of relationship tools, the description does not supply the context needed to call this correctly or to prefer it over profiles_certificates_get_to_many_related.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3. The description adds no parameter detail whatsoever beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is the HTTP path 'GET /v1/profiles/{id}/relationships/certificates' repeated verbatim in parentheses, which mostly restates the tool name rather than explaining what the tool returns. It never distinguishes this 'relationship' variant from the sibling profiles_certificates_get_to_many_related, so an agent gains no selection signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite, and no mention of the near-identical sibling profiles_certificates_get_to_many_related. Nothing tells an agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_create_instanceC
POST /v1/profiles (POST /v1/profiles) Body shape: see OpenAPI components.schemas.ProfileCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.ProfileCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It does not state that this is a mutating create operation, what permissions are needed, what side effects occur, or what the response contains. The only behavioral hint is a pointer to the OpenAPI schema for the request body shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeat of 'POST /v1/profiles' is pure redundancy and the sentence is not front-loaded with purpose. It is adequately sized but wastes its limited space on duplication rather than on useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with no annotations, a freeform body object (additionalProperties: {}), and no output schema, the description should explain the required envelope fields and the operation's effect. It instead delegates entirely to an external OpenAPI reference, leaving the agent without enough context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only a minor hint ('full JSON:API envelope') beyond the schema's own reference to components.schemas.ProfileCreateRequest; it does not enumerate the meaningful fields (bundleId, certificates, devices) that a profile requires.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the endpoint ('POST /v1/profiles') and duplicates it in parentheses. It never says what a profile is or what creating one accomplishes, so an agent gets no functional understanding beyond the tautological name. It is effectively a restatement of the tool name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings like profiles_get_instance, profiles_delete_instance, or profiles_get_collection. No prerequisites, no conditions, no alternatives are named. The agent must infer everything 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.
profiles_delete_instanceC
DELETE /v1/profiles/{id} (DELETE /v1/profiles/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing beyond the fact of deletion. It does not state that the operation is irreversible, what related resources (certificates, devices, bundle id) are affected, or what permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but contains a verbatim duplicated parenthetical, which is pure noise rather than useful brevity. It is under-specified rather than concise: nothing beyond the endpoint string is present to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible-by-nature operation with no annotations and no output schema, the definition should at minimum describe consequences or required permissions. The raw route leaves the agent without the context needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents the input fully. The description adds no format, source, or lookup guidance beyond the raw path template, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name expanded into an HTTP route: 'DELETE /v1/profiles/{id}' restates 'profiles_delete_instance' with no added meaning. It conveys the verb and resource, but does not distinguish this from the many other *_delete_instance siblings or explain what a profile is in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to delete a profile versus other operations (e.g., profiles_get_instance, profiles_create_instance), no prerequisites, and no warning about side effects. Only the barest implied usage ('delete the profile with this id') can be inferred from the route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_devices_get_to_many_relationshipD
GET /v1/profiles/{id}/relationships/devices (GET /v1/profiles/{id}/relationships/devices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it delivers almost nothing. The embedded 'GET' is the only behavioral signal (implying a read-only fetch); there is no mention of pagination, return shape, or whether the linkage is versioned or filtered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency, and the path is duplicated verbatim in parentheses, which is pure waste. Nothing is front-loaded because there is no intent statement to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a bare-path description, the definition is insufficient for a paginated relationship endpoint. It does not explain what the relationship resources contain, how pagination via 'limit' behaves, or how this differs from the 'related' sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and limit), so the schema already does the documentation work and the baseline is 3. The description adds no syntax, format, or relationship-specific meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing but the raw endpoint path repeated twice inside parentheses, so it effectively restates the tool name rather than explaining the operation. An agent can infer it fetches the devices relationship of a profile, but no verb-and-resource statement is actually provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling profiles_devices_get_to_many_related covers the same linkage from the 'related' perspective, and nothing here distinguishes the two or states any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_get_collectionD
GET /v1/profiles (GET /v1/profiles)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| filter_name | No | filter by attribute 'name' | |
| limit_devices | No | maximum number of related devices returned (when they are included) | |
| fields_devices | No | the fields to include for returned resources of type devices | |
| fields_profiles | No | the fields to include for returned resources of type profiles | |
| fields_bundleIds | No | the fields to include for returned resources of type bundleIds | |
| filter_profileType | No | filter by attribute 'profileType' | |
| limit_certificates | No | maximum number of related certificates returned (when they are included) | |
| fields_certificates | No | the fields to include for returned resources of type certificates | |
| filter_profileState | No | filter by attribute 'profileState' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it discloses nothing. It says nothing about pagination, auth scopes, rate limits, whether results are limited by team/account, or what the collection returns. "GET" weakly implies a safe read, but that is inference, not disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness — the single line duplicates the tool name/route and carries no payload beyond what the name already encodes. Every word is redundant with structured metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter collection endpoint with no annotations and no output schema, the description should at minimum explain that it lists profiles and how the many filter/include/fields parameters shape the response. Nothing an agent needs to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 13 parameters (sort, limit, include, filter_*, fields_*), so the schema already documents them fully. The description adds zero parameter meaning, but per the high-coverage baseline a 3 is the ceiling-appropriate score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route "GET /v1/profiles (GET /v1/profiles)", which tautologically restates the tool name rather than describing what the tool does in human terms. An agent can infer it lists provisioning profiles, but there is no verb+resource phrasing that distinguishes it from siblings like profiles_get_instance or profiles_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over profiles_get_instance, and no prerequisites or context. The endpoint string conveys nothing about selection between alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profiles_get_instanceC
GET /v1/profiles/{id} (GET /v1/profiles/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_devices | No | maximum number of related devices returned (when they are included) | |
| fields_devices | No | the fields to include for returned resources of type devices | |
| fields_profiles | No | the fields to include for returned resources of type profiles | |
| fields_bundleIds | No | the fields to include for returned resources of type bundleIds | |
| limit_certificates | No | maximum number of related certificates returned (when they are included) | |
| fields_certificates | No | the fields to include for returned resources of type certificates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The bare 'GET' implies a read-only, non-destructive call, but there is no statement about whether sparse fieldsets or relationship includes affect the response, or what the returned profile looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical '(GET /v1/profiles/{id})' is a verbatim duplicate of the preceding text and earns nothing. The one sentence present conveys no information beyond the method and path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, relationship includes, and sparse-fieldset options, the description explains none of the retrieval semantics, and there is no output schema or annotations to compensate. The structured schema carries the load, but the description itself is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 8 parameters (id, include, limit_*, fields_*), so the schema already documents each one. The description adds no parameter meaning of its own, which puts it at the baseline for fully-covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw endpoint 'GET /v1/profiles/{id}', repeated verbatim in parentheses. It restates what the tool name already conveys without explaining that it fetches a single profile resource or how it differs from profiles_get_collection, profiles_devices_get_to_many_relationship, or profiles_bundle_id_get_to_one_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of required permissions or scopes, and no routing to sibling tools such as profiles_get_collection for listing. The only implicit signal is the HTTP GET verb, which the agent must infer from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promoted_purchases_create_instanceD
POST /v1/promotedPurchases (POST /v1/promotedPurchases) Body shape: see OpenAPI components.schemas.PromotedPurchaseCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.PromotedPurchaseCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing about side effects, required scopes/credentials, or what happens on success. Stating the HTTP verb and path conveys essentially no behavioral information beyond what the name already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wastes space by duplicating the same path twice ('POST /v1/promotedPurchases (POST /v1/promotedPurchases)'). It is front-loaded but not informative, so it is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation/create tool with no annotations, no output schema, and a body whose shape lives entirely in an external OpenAPI document the agent may not have. The description does not compensate, leaving the agent without the information needed to construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter, so the schema itself documents the parameter shape; the baseline for high coverage is 3. The description only redirects to an external OpenAPI component schema, adding no meaning beyond the structured field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP endpoint (POST /v1/promotedPurchases) rather than describing the tool's purpose in plain language. It effectively repeats the name/title and does not differentiate this tool from the many other create_instance siblings. An agent gets the gist that it creates a promoted purchase, but nothing more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of related tools like promoted_purchases_update_instance or promoted_purchases_delete_instance. The agent is left to infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promoted_purchases_delete_instanceC
DELETE /v1/promotedPurchases/{id} (DELETE /v1/promotedPurchases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing beyond the raw HTTP verb. The DELETE method does signal a destructive, likely irreversible operation, but there is no disclosure of required permissions, referential side effects, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, but the parenthetical repetition of the same path is pure noise rather than useful concision. The brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations and no output schema, the description should state at minimum what is destroyed and any auth/relationship implications. None of that is present, leaving the agent to infer the blast radius of the call entirely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) with 100% schema description coverage, so the schema already documents its meaning. The description adds nothing beyond the path template, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP verb and the endpoint path that the tool name (promoted_purchases_delete_instance) already encodes, and even duplicates that line verbatim in parentheses. It is effectively a tautology of the name rather than an explanation of what deleting a promoted purchase means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus siblings such as promoted_purchases_update_instance or apps_promoted_purchases_replace_to_many_relationship. There is no mention of prerequisites, or of what should happen to the parent app's promoted-purchase relationship after deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promoted_purchases_get_instanceC
GET /v1/promotedPurchases/{id} (GET /v1/promotedPurchases/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_inAppPurchases | No | the fields to include for returned resources of type inAppPurchases | |
| fields_promotedPurchases | No | the fields to include for returned resources of type promotedPurchases |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state that this is a read-only lookup, whether authentication/entitlements are required, whether the resource may 404, or how paging/sparse-fieldset behavior works for the include/fields_* parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but achieves brevity through omission rather than economy: a route string repeated twice with zero information gain. This is under-specification, not concise structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an instance-fetch tool with five parameters (including relationship inclusion and sparse fieldsets), no output schema, and no annotations, the description supplies none of the context an agent needs. It is not misleading, but it leaves the definition reliant entirely on the structured schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, and the fields_* sparse-fieldset parameters in detail. The description adds nothing beyond the path placeholder '{id}', so baseline 3 is the correct ceiling.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw route 'GET /v1/promotedPurchases/{id}' duplicated verbatim in parentheses. It restates the endpoint path already implied by the tool name promoted_purchases_get_instance, adding no human-readable statement of what a 'promoted purchase instance' is or what is retrieved. An agent can infer a read-by-id operation, but only from the name and path, not from any explanatory prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over promoted_purchases_create_instance, promoted_purchases_update_instance, or the apps_promoted_purchases_get_to_many_relationship sibling, and no prerequisites stated. The HTTP verb and path are the only cues the agent gets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promoted_purchases_update_instanceC
PATCH /v1/promotedPurchases/{id} (PATCH /v1/promotedPurchases/{id}) Body shape: see OpenAPI components.schemas.PromotedPurchaseUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.PromotedPurchaseUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and delivers almost nothing: it does not state that this is a mutation, whether it is a partial or full replacement, what auth/permission requirements exist, whether unspecified fields are preserved or cleared, or what the response looks like. The only behavioral hint is the implicit PATCH semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence and front-loads the endpoint, but the PATCH path is printed twice (once bare, once in parentheses), which is pure redundancy that earns no place. Still, it is not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a free-form body object, the description is far too thin. It defers the entire request envelope to an external OpenAPI document the agent may not have access to, and says nothing about what the update affects or returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'body', and the body description itself points at components.schemas.PromotedPurchaseUpdateRequest. The description repeats that same pointer rather than adding meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb (PATCH) and the resource path (promotedPurchases/{id}), which implies a partial update of a promoted purchase. However, it is essentially a restatement of the endpoint already encoded in the tool name 'promoted_purchases_update_instance', and it never names the action in words or distinguishes it from sibling promoted-purchase tools like create/delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description never mentions promoted_purchases_create_instance or promoted_purchases_delete_instance, nor any precondition for updating an existing promoted purchase, so the agent must infer usage purely from the endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submission_items_create_instanceD
POST /v1/reviewSubmissionItems (POST /v1/reviewSubmissionItems) Body shape: see OpenAPI components.schemas.ReviewSubmissionItemCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.ReviewSubmissionItemCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it contributes nothing: no auth/permission requirements, no idempotency or side-effect notes, no ordering constraints relative to the parent review submission. The only mutation signal comes from the word 'POST', which merely duplicates the name 'create_instance'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but structurally wasteful: 'POST /v1/reviewSubmissionItems' is repeated verbatim inside parentheses with zero added information. Front-loading the route is fine, yet the sentence spends its whole budget on redundancy and an external reference instead of an actual statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a fully opaque nested request body, the agent is given nothing actionable. It cannot tell what fields the body needs, which parent resource the item belongs to, or what will be created.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter whose schema entry is an opaque object ('additionalProperties: {}') with no documented properties, and the description just re-points to components.schemas.ReviewSubmissionItemCreateRequest. Even though schema description coverage is nominally 100%, that coverage is a pointer to an external spec rather than usable field semantics, so the description fails to compensate for the opaque nested body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP route 'POST /v1/reviewSubmissionItems' and never states in plain language that it creates a review submission item. That route mechanically restates the tool name, so an agent learns nothing it could not infer from the identifier, and there is no differentiation from siblings like review_submission_items_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus review_submission_items_update_instance, review_submissions_items_get_to_many_relationship, or review_submissions_create_instance. Nothing indicates prerequisites such as needing an existing review submission to attach the item to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submission_items_delete_instanceC
DELETE /v1/reviewSubmissionItems/{id} (DELETE /v1/reviewSubmissionItems/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only discloses the HTTP verb DELETE. It says nothing about irreversibility, required scopes/permissions, cascading effects on the parent review submission, or the response (e.g., 204 No Content). The verb alone hints at a destructive operation, but that is the sole signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise: the identical route string is printed twice, which is pure duplication with zero informational value. It is under-specified rather than efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter delete with no annotations and no output schema, the description should at least confirm the operation's effect and outcome. Instead it leaves the agent to infer everything from the verb and path, which is inadequate even for a simple mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is exactly one parameter and schema description coverage is 100%, so the schema already documents 'id' as 'the id of the requested resource'. The description adds nothing beyond restating it as a path placeholder, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the tool name in HTTP form: 'DELETE /v1/reviewSubmissionItems/{id}', repeated verbatim in parentheses. It does convey a delete operation on review submission items, but it is tautological rather than an explanatory statement, and it does not distinguish this tool from siblings like review_submission_items_update_instance or review_submission_items_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or what alternatives exist. An agent gets no indication of prerequisites (e.g., the parent review submission must exist) or the sibling tool to use for other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submission_items_update_instanceC
PATCH /v1/reviewSubmissionItems/{id} (PATCH /v1/reviewSubmissionItems/{id}) Body shape: see OpenAPI components.schemas.ReviewSubmissionItemUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.ReviewSubmissionItemUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals only that the operation is a PATCH (partial update) and points to an external schema for the body, saying nothing about what fields are mutable, permission requirements, side effects, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes space by duplicating the same endpoint string in back-to-back parentheses, and it does not front-load a plain-language statement of purpose. The signal-to-noise ratio is poor despite the brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutated resource with a nested JSON:API body, no output schema, and only a reference to an external OpenAPI schema, the description leaves the agent without the field-level context needed to call it correctly. Deferring everything to components.schemas.ReviewSubmissionItemUpdateRequest is insufficient on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both id and body, including the additionalProperties-permitting body object. The description adds only a pointer to the OpenAPI component name, which does not enrich semantics beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description exposes the HTTP verb and resource (PATCH /v1/reviewSubmissionItems/{id}), so an agent can infer an update operation on a review submission item. However it merely restates the endpoint rather than describing the effect in plain terms, and gives no sibling differentiation beyond what the tool name already conveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as review_submission_items_create_instance or review_submission_items_delete_instance. The agent is left to infer usage entirely from the name and HTTP method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submissions_create_instanceC
POST /v1/reviewSubmissions (POST /v1/reviewSubmissions) Body shape: see OpenAPI components.schemas.ReviewSubmissionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.ReviewSubmissionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only names the endpoint. It says nothing about authentication scope, whether the submission triggers review, side effects on related resources, or idempotency of a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical '(POST /v1/reviewSubmissions)' redundantly repeats the sentence's own opening, so not every token earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create mutation with a nested JSON:API body, no annotations, and no output schema, the description leaves the agent without purpose, prerequisites, or behavioral expectations. It provides the path and a schema pointer but is far from complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description merely repeats the schema's pointer to components.schemas.ReviewSubmissionCreateRequest and adds no format, required-field, or envelope detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb (POST) and resource (reviewSubmissions), so the create operation is inferable, but it never states in plain terms what a review submission is or what creating one accomplishes. It largely restates the tool name plus endpoint, and offers no differentiation from siblings like review_submissions_get_instance or review_submission_items_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as review_submissions_update_instance or the related item/submission endpoints. No prerequisites, no mention of required app/version context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submissions_get_collectionD
GET /v1/reviewSubmissions (GET /v1/reviewSubmissions)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_app | No | filter by id(s) of related 'app' | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_items | No | maximum number of related items returned (when they are included) | |
| filter_state | No | filter by attribute 'state' | |
| fields_actors | No | the fields to include for returned resources of type actors | |
| filter_platform | No | filter by attribute 'platform' | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_reviewSubmissions | No | the fields to include for returned resources of type reviewSubmissions | |
| fields_reviewSubmissionItems | No | the fields to include for returned resources of type reviewSubmissionItems |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the HTTP verb. It does not mention pagination, default page size, filter/field inclusion semantics, or read-only nature for an 11-parameter list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicate adds no information and the single fragment is under-specified rather than concise. Nothing is front-loaded because there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter collection endpoint with no annotations and no output schema, an agent needs at least a statement of what resource set is returned and how filters combine. The description provides none of this, leaving the definition materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (limit, include, filter_app, filter_state, filter_platform, fields_*) is already documented in the schema. The description adds nothing, but per the baseline rule for fully-covered schemas a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'GET /v1/reviewSubmissions (GET /v1/reviewSubmissions)' merely restates the HTTP method and path that the tool name already encodes. It conveys no scope, filtering behavior, or distinction from sibling collection tools like pre_release_versions_get_collection, making it effectively tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this collection listing versus the sibling relationship endpoints (e.g., apps_review_submissions_get_to_many_related) or the single-instance getter. An agent receives nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submissions_get_instanceD
GET /v1/reviewSubmissions/{id} (GET /v1/reviewSubmissions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_items | No | maximum number of related items returned (when they are included) | |
| fields_actors | No | the fields to include for returned resources of type actors | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_reviewSubmissions | No | the fields to include for returned resources of type reviewSubmissions | |
| fields_reviewSubmissionItems | No | the fields to include for returned resources of type reviewSubmissionItems |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing beyond the HTTP method. It does not say whether authentication is required, what the sparse-fieldset/include parameters actually change in the response, or what happens on a missing/invalid id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency, and the route string is needlessly duplicated in parentheses. Nothing is front-loaded because there is nothing informative to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a get-instance endpoint with eight parameters (relationship inclusion, sparse fieldsets for five resource types, related-item limits) and no output schema, the description is completely inadequate. An agent cannot know the response shape or the purpose of including relationships from this text.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all eight parameters including the include relationships and fields_* sparse fieldsets; the baseline for full coverage is 3. The description contributes no additional parameter meaning whatsoever.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route 'GET /v1/reviewSubmissions/{id}' (duplicated verbatim in parentheses), which is a tautology of the operation rather than a statement of purpose. It gives no indication of what a review submission is or how this differs from the sibling review_submissions_get_collection, aside from the implicit single-vs-many shape of the path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to call this tool versus alternatives such as review_submissions_get_collection, review_submissions_items_get_to_many_related, or review_submissions_update_instance. The agent must infer usage purely from the tool name and route.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submissions_items_get_to_many_relationshipC
GET /v1/reviewSubmissions/{id}/relationships/items (GET /v1/reviewSubmissions/{id}/relationships/items)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden but discloses nothing: no pagination semantics, no auth/permission requirements, no description of the relationship nature. It is a bare endpoint string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the exact same path string, which is pure waste rather than useful concision. Nothing is front-loaded beyond the method and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-list GET with no output schema and no annotations, the description should explain what the relationship returns and how it differs from the 'related' sibling. It provides none of this, leaving the agent with only the endpoint signature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'limit'. The description adds no parameter meaning, but the baseline of 3 applies when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is little more than an echo of the tool name as a raw HTTP method and path, duplicated verbatim in parentheses. It conveys that this GETs the 'items' relationship of a reviewSubmission, but offers no explanatory verb or scope beyond restating the endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus the near-identical sibling review_submissions_items_get_to_many_related, nor any prerequisites. The agent is left to infer usage entirely from the name and URL.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_submissions_update_instanceD
PATCH /v1/reviewSubmissions/{id} (PATCH /v1/reviewSubmissions/{id}) Body shape: see OpenAPI components.schemas.ReviewSubmissionUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.ReviewSubmissionUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no partial-update semantics for PATCH, no required vs optional body fields, no permission/auth requirements, and no indication of side effects or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the route string is duplicated verbatim in parentheses and the single content sentence defers entirely to an external OpenAPI reference, so the brevity comes at the cost of usefulness rather than from efficient editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API body, no annotations, and no output schema, the description is completely inadequate. An agent cannot know what is being changed, what the body must contain, or what will be returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and body), so the schema already documents them; the description merely points at components.schemas.ReviewSubmissionUpdateRequest without adding any field-level meaning, which matches the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP route ('PATCH /v1/reviewSubmissions/{id}') repeated twice. It implies an update of a review submission but never states in plain language what a review submission is or what updating it accomplishes, so an agent gets no more than the name already conveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. With close siblings like review_submissions_create_instance, review_submissions_get_instance, and review_submission_items_update_instance, the definition offers nothing about when this update should be chosen over those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routing_app_coverages_create_instanceC
POST /v1/routingAppCoverages (POST /v1/routingAppCoverages) Body shape: see OpenAPI components.schemas.RoutingAppCoverageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.RoutingAppCoverageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states nothing about permissions/authentication required, side effects, idempotency, or what the create operation returns. Pointing at an OpenAPI schema is a request-shape pointer, not behavioral context, leaving a mutation tool with essentially zero disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with the endpoint front-loaded, which is efficient. But the parenthetical literally repeats the same path given immediately before it, which is wasteful redundancy rather than earned conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a required nested JSON:API body, no annotations, and no output schema, the description should at minimum indicate what goes in the body or what the operation affects. Instead the actual body shape is deferred entirely to an unresolved external schema reference, leaving an agent unable to construct a correct call from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3 applies. However the single body parameter is described only as a reference ("Shape: components.schemas.RoutingAppCoverageCreateRequest") in both schema and description, and the schema itself is an additionalProperties:{} bag with no concrete shape, so the description adds no real meaning beyond repeating the same reference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially an HTTP route restatement ("POST /v1/routingAppCoverages") of what the tool name already encodes via the create_instance suffix. It never explains in plain terms what a routing app coverage is or what creating one accomplishes. This is tautological rather than a specific verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. The agent must infer from POST semantics alone that this creates a resource, and nothing distinguishes it from the many other *_create_instance siblings. No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routing_app_coverages_delete_instanceC
DELETE /v1/routingAppCoverages/{id} (DELETE /v1/routingAppCoverages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the verb. It does not state that deletion is irreversible, what else is affected (e.g. the app store version's routing coverage linkage), or what auth/permissions are required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short but not efficient: it repeats the identical path twice in parentheses, which consumes space without adding meaning. Brevity here reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description should at minimum flag irreversibility and side effects. As written it leaves an agent with only the HTTP route, which is insufficient to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. The description adds nothing, but the baseline is 3 when the schema fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the endpoint path and HTTP verb already encoded in the tool name: 'DELETE /v1/routingAppCoverages/{id}'. It conveys no information about what a routing app coverage is or why one would delete it, so it is essentially a tautology of the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling operations (routing_app_coverages_get_instance, update_instance, create_instance) that an agent must choose between. The only implied usage is what the DELETE verb already signals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routing_app_coverages_get_instanceD
GET /v1/routingAppCoverages/{id} (GET /v1/routingAppCoverages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_appStoreVersions | No | the fields to include for returned resources of type appStoreVersions | |
| fields_routingAppCoverages | No | the fields to include for returned resources of type routingAppCoverages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about auth requirements, error behavior, or what the returned coverage represents. The endpoint string conveys only that a read occurs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is short but wastes its entire length by duplicating the same endpoint twice in parentheses, providing zero informational value. Brevity here reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource-fetch tool with no annotations and no output schema, the description should explain what a routing app coverage is and how it relates to app store versions. None of that context is present, leaving the agent to infer everything from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, fields_appStoreVersions, fields_routingAppCoverages) are documented in the schema itself. The description adds nothing, but per the high-coverage baseline a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP endpoint ('GET /v1/routingAppCoverages/{id}') duplicated verbatim, which essentially repeats what the tool name already conveys. It does identify a verb and resource, but adds no distinguishing detail versus siblings like routing_app_coverages_update_instance or routing_app_coverages_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as routing_app_coverages_create_instance, routing_app_coverages_update_instance, or app_store_versions_routing_app_coverage_get_to_one_relationship. No prerequisites, context, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
routing_app_coverages_update_instanceD
PATCH /v1/routingAppCoverages/{id} (PATCH /v1/routingAppCoverages/{id}) Body shape: see OpenAPI components.schemas.RoutingAppCoverageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.RoutingAppCoverageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers almost nothing. It does not disclose what fields can be changed, whether the operation requires specific permissions, whether it is partial or full replacement, or what happens to fields omitted from the body. Only the implicit PATCH semantics hint that it is a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loaded, but it wastes space by duplicating the route as a parenthetical ('PATCH /v1/routingAppCoverages/{id} (PATCH /v1/routingAppCoverages/{id})'). The one substantive clause points at an external schema rather than explaining anything.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested-object body, no annotations, and no output schema, the description is inadequate. Pointing at an external OpenAPI component is a start but does not tell the agent what is updatable or how to shape the JSON:API request beyond a schema name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema, so baseline 3 applies. The description adds only marginal value by referring to 'the full JSON:API envelope' and the RoutingAppCoverageUpdateRequest component, which the body property already references.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: 'PATCH /v1/routingAppCoverages/{id}'. It names a verb (PATCH, implying update) and a resource, but adds no explanation of what a routing app coverage is or what updating it accomplishes. It borders on tautology with the tool name 'routing_app_coverages_update_instance'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Siblings like routing_app_coverages_create_instance, routing_app_coverages_delete_instance, and routing_app_coverages_get_instance exist, but nothing routes the agent between them or states prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sales_reports_downloadA
Download a sales report and return its parsed TSV contents. Wraps GET /v1/salesReports, decodes the gzip, and optionally parses the TSV into rows. See https://developer.apple.com/documentation/appstoreconnectapi/download_sales_and_trends_reports for filter parameter values.
| Name | Required | Description | Default |
|---|---|---|---|
| parse | No | ||
| filter_version | No | ||
| filter_frequency | Yes | ||
| filter_reportDate | No | ||
| filter_reportType | Yes | ||
| filter_vendorNumber | Yes | ||
| filter_reportSubType | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does disclose real mechanics an agent could not guess: it wraps GET /v1/salesReports, decodes the gzip payload, and optionally parses the TSV into rows (explaining the effect of `parse`). It omits auth requirements and error/failure behavior, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded, then mechanism, then the reference link. Nothing is padded or repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations, so the description has to cover return shape and behavior — it does describe the TSV/parsed-rows return and gzip decoding. But for a 7-parameter tool with zero schema descriptions, the absence of any parameter semantics leaves a meaningful gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate — but it only refers the reader to an external Apple doc for filter values. It explains `parse` implicitly, yet gives no meaning for filter_frequency, filter_reportType, filter_reportSubType, filter_vendorNumber, filter_reportDate, or filter_version beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource: 'Download a sales report and return its parsed TSV contents,' plus the underlying endpoint. It clearly reads as a report-file fetch rather than a metadata collection, but it never names the close siblings (sales_reports_get_collection, finance_reports_download) to draw the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the tool downloads report contents, so an agent can infer it is for retrieving actual report data. There is no explicit 'use this instead of sales_reports_get_collection when…' or note on prerequisites. The pointer to Apple docs for filter values is helpful context but is not when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sales_reports_get_collectionD
GET /v1/salesReports (GET /v1/salesReports)
| Name | Required | Description | Default |
|---|---|---|---|
| filter_version | No | filter by attribute 'version' | |
| filter_frequency | No | filter by attribute 'frequency' | |
| filter_reportDate | No | filter by attribute 'reportDate' | |
| filter_reportType | No | filter by attribute 'reportType' | |
| filter_vendorNumber | No | filter by attribute 'vendorNumber' | |
| filter_reportSubType | No | filter by attribute 'reportSubType' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about authentication requirements, rate limits, pagination behavior, or what the response contains. A bare endpoint restatement is the weakest possible form of behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is pure restatement with zero information value. This is under-specification masquerading as brevity rather than earned conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter collection endpoint with no annotations and no output schema, the description is completely inadequate: it omits return format, pagination, required auth, and the relationship between filtering and downloading reports.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six filter parameters (version, frequency, reportDate, reportType, vendorNumber, reportSubType) are documented in the schema itself. The description adds nothing, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP operation ('GET /v1/salesReports (GET /v1/salesReports)'), adding nothing beyond the tool name. It does not explain what a sales report is, what the collection contains, or how it differs from siblings like sales_reports_download or finance_reports_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the obvious alternative (sales_reports_download) for retrieving the actual report data. An agent has no basis for choosing this over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_testers_clear_purchase_history_request_v2_create_instanceD
POST /v2/sandboxTestersClearPurchaseHistoryRequest (POST /v2/sandboxTestersClearPurchaseHistoryRequest) Body shape: see OpenAPI components.schemas.SandboxTestersClearPurchaseHistoryRequestV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SandboxTestersClearPurchaseHistoryRequestV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers nothing: it does not disclose that this is a destructive, likely irreversible clearing of sandbox tester purchase history, whether it requires specific auth/permissions, or what happens to existing data. A one-line endpoint restatement is inadequate for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the first clause is verbatim duplication of the same path, wasting a full half of the sentence. The schema pointer sentence at least earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive POST with no annotations, no output schema, and a body whose shape is deferred to an unresolvable named schema, the description omits the essentials: what the call does, its side effects, and its auth requirements. The external schema reference does not substitute for in-band behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and schema description coverage is 100%, so the baseline is 3. The description merely points to components.schemas.SandboxTestersClearPurchaseHistoryRequestV2CreateRequest, duplicating what the schema already says without adding any field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path in duplicate form ('POST /v2/sandboxTestersClearPurchaseHistoryRequest (POST /v2/sandboxTestersClearPurchaseHistoryRequest)') without ever stating in plain language what the operation accomplishes, e.g. that it clears purchase history for sandbox testers. The destructive intent has to be inferred from the tool name, not the description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sandbox tester siblings (sandbox_testers_v2_get_collection, sandbox_testers_v2_update_instance). The agent is left to guess the triggering scenario entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_testers_v2_get_collectionD
GET /v2/sandboxTesters (GET /v2/sandboxTesters)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| fields_sandboxTesters | No | the fields to include for returned resources of type sandboxTesters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not pagination behavior (despite a limit parameter), not the fact that this is a read-only operation, not response shape, not auth requirements. A bare path echoes no behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but this is under-specification rather than conciseness: a duplicated route string is the entire content, with no front-loaded purpose sentence for an agent to anchor on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must supply the missing context for a paginated collection read, but it supplies none. The schema documents inputs only, leaving return shape, pagination semantics, and scope unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both limit ("maximum resources per page") and fields_sandboxTesters (sparse-fieldset selection) fully documented in the schema, including the enum of selectable fields. Per the rubric, high coverage sets a baseline of 3; the description adds nothing beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route restated twice: "GET /v2/sandboxTesters (GET /v2/sandboxTesters)". It conveys that this is a collection read of sandbox testers, but it is essentially a tautology of the tool name and adds no natural-language statement of what the resource represents or what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this versus siblings such as sandbox_testers_v2_update_instance, or versus other tester-collection endpoints (beta_testers_get_collection). Nothing distinguishes the sandbox tester population from beta testers or explains prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sandbox_testers_v2_update_instanceC
PATCH /v2/sandboxTesters/{id} (PATCH /v2/sandboxTesters/{id}) Body shape: see OpenAPI components.schemas.SandboxTesterV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SandboxTesterV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is a PATCH endpoint and points to an external OpenAPI schema for the body, but does not describe mutation effects, required permissions, idempotency, partial-update semantics, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loads the endpoint, but it redundantly repeats the same PATCH path in parentheses. It is concise but too sparse to add much explanatory value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested request body, no annotations, and no output schema, the description is incomplete. Referencing an external OpenAPI schema does not give an agent the field-level detail needed to construct a valid update body.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both the id and body parameters. The description adds little beyond repeating the body-schema reference, which is acceptable given the high coverage but does not meaningfully clarify parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP method and resource path, making clear that this updates a sandbox tester v2 by ID. It is specific enough to distinguish the resource from read or clear-history siblings, but it never states the purpose in prose or explains what fields can be updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives, nor any preconditions, required permissions, or scenarios where it should not be used. The agent must infer usage entirely from the endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_git_references_get_instanceD
GET /v1/scmGitReferences/{id} (GET /v1/scmGitReferences/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_scmRepositories | No | the fields to include for returned resources of type scmRepositories | |
| fields_scmGitReferences | No | the fields to include for returned resources of type scmGitReferences |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. For a GET there is no mention of permissions, error behavior, or what the include/fields parameters actually change about the response. The description adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in the useful sense — it is under-specified, and the parenthetical duplicate of the same route adds no information. Brevity here reflects missing content rather than efficient editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters, no output schema, and no annotations, the description should explain the resource and the effect of the sparse-fieldset/include options. It provides none of this, leaving the definition inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters (id, include, fields_scmRepositories, fields_scmGitReferences) carry descriptions with enumerated values, so the schema does the heavy lifting. The description adds no parameter meaning beyond that, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the tool name as an HTTP route ('GET /v1/scmGitReferences/{id}'), duplicated verbatim in parentheses. It conveys only that this is a read of one resource keyed by id, with no explanation of what an SCM git reference is or how it relates to the many sibling read tools. This is tautology rather than a stated purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives such as scm_repositories_git_references_get_to_many_relationship or scm_pull_requests_get_instance. Nothing is stated, so an 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.
scm_providers_get_collectionD
GET /v1/scmProviders (GET /v1/scmProviders)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| fields_scmProviders | No | the fields to include for returned resources of type scmProviders |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and discloses nothing: no auth/permission requirements, no pagination semantics despite a limit parameter, no statement about what is returned or whether it is a safe read. The redundant path string adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in the meaningful sense: the same endpoint string is duplicated inside parentheses, adding no information. Under-specification rather than economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list endpoint with no annotations and no output schema, the description should at minimum explain what an SCM provider is, the pagination model, and how the fields parameter shapes the response. None of that is present, leaving the agent unable to use the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents limit ("maximum resources per page") and fields_scmProviders (including the enum of selectable fields). Per the rubric, high coverage sets a baseline of 3 even with no parameter discussion in the description. The description adds nothing further, so it does not exceed that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description literally restates the endpoint path twice: "GET /v1/scmProviders (GET /v1/scmProviders)". It is a tautology that repeats the tool name's verb and resource without saying what an SCM provider is or what the collection returns. It also fails to distinguish itself from siblings like scm_providers_get_instance or scm_repositories_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives, no prerequisites. An agent cannot tell from this text whether to call this to enumerate all providers, whether pagination is needed, or how it differs from scm_providers_get_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_providers_get_instanceC
GET /v1/scmProviders/{id} (GET /v1/scmProviders/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_scmProviders | No | the fields to include for returned resources of type scmProviders |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. The GET verb implies a read-only operation, but the description omits authentication requirements, permissions, error behavior, and what exactly is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, but it wastes its only sentence by repeating the identical endpoint path twice in parentheses. It is front-loaded with the path but contains no useful explanatory content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should provide enough context for correct invocation. It gives only the raw endpoint path and omits what a scmProvider instance represents and what the returned payload contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both the required id and optional fields_scmProviders parameter. The description adds no additional meaning beyond what the schema provides, which matches the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific endpoint (GET /v1/scmProviders/{id}), which hints that it retrieves an SCM provider by ID. However, it simply restates the path twice and does not distinguish this operation from sibling tools like scm_providers_get_collection or scm_providers_repositories_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instance-retrieval tool versus the collection or relationship tools. No prerequisites, alternatives, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_providers_repositories_get_to_many_relationshipC
GET /v1/scmProviders/{id}/relationships/repositories (GET /v1/scmProviders/{id}/relationships/repositories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. The 'GET' token weakly implies a read-only fetch, but nothing is said about pagination despite a limit parameter, authentication requirements, or the shape/size of the returned collection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical merely duplicates the path verbatim, so the second half earns nothing. There is no front-loaded plain-language summary of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-list endpoint with no annotations and no output schema, the description leaves the agent without meaning, usage context, or pagination behavior. It is far short of what an agent needs to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id and limit, establishing the baseline of 3. The description adds no format, syntax, or default-value detail beyond the raw path placeholder.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path repeated twice, so it effectively restates the tool name rather than explaining what the call does. An agent can infer 'list repositories related to an SCM provider' from the path segments, but no plain-language verb+resource statement or sibling differentiation is offered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance whatsoever. The sibling scm_providers_repositories_get_to_many_related appears to cover the same relationship, and the description gives no basis to choose between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_pull_requests_get_instanceD
GET /v1/scmPullRequests/{id} (GET /v1/scmPullRequests/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_scmPullRequests | No | the fields to include for returned resources of type scmPullRequests | |
| fields_scmRepositories | No | the fields to include for returned resources of type scmRepositories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing: no note on authentication, rate limits, whether the resource is cached, or whether a missing id errors. The endpoint string conveys only the HTTP verb, which the tool name already implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line duplicates itself verbatim inside parentheses, which is pure waste rather than conciseness. There is no front-loading of purpose or scope because no purpose statement exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a read-one tool with a rich four-parameter schema (include relationships, sparse fieldsets) and no output schema. The description supplies none of the context an agent needs—no indication of what gets returned when include=repository, no note on sparse-fieldset behavior—leaving the schema to do all the work.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies: the schema already documents id, include, and the two fields_* sparse-fieldset parameters with enum options. The description adds no syntax, format, or interaction detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint string 'GET /v1/scmPullRequests/{id}' repeated twice in parentheses. It restates the tool name and reveals nothing about what a 'scm pull request' instance fetch actually yields or how it differs from siblings like scm_repositories_pull_requests_get_to_many_relationship. This is effectively a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no prerequisites. An agent cannot tell from this text why it would call this rather than the related-collection sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_repositories_get_collectionC
GET /v1/scmRepositories (GET /v1/scmRepositories)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| filter_id | No | filter by id(s) | |
| fields_scmProviders | No | the fields to include for returned resources of type scmProviders | |
| fields_scmRepositories | No | the fields to include for returned resources of type scmRepositories | |
| fields_scmGitReferences | No | the fields to include for returned resources of type scmGitReferences |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, but it only exposes the HTTP verb 'GET', which weakly implies a non-mutating read. It says nothing about pagination behavior (despite a 'limit' parameter), authentication requirements, rate limits, or default result size — all material for a collection endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is short but wastes its only sentence by duplicating the route twice in parentheses. This is under-specification rather than genuine conciseness — brevity is achieved by omitting information an agent needs, not by removing filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter collection endpoint with no output schema and no annotations, the definition is far too thin. It leaves an agent without the basics: that it returns a paginated list of SCM repositories, how filtering via filter_id interacts with include/fields_* sparse fieldsets, or what the collection contains relative to scm_repositories_get_instance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (limit, include, filter_id, fields_*) are already documented in the schema. The description adds no syntax, defaults, or interaction hints beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is literally just the HTTP route "GET /v1/scmRepositories (GET /v1/scmRepositories)", which restates the tool name rather than describing the purpose in prose. An agent can infer it lists SCM repository resources, but only by decoding the name and route — no verb+resource statement is given, and it is not distinguished from siblings such as scm_repositories_get_instance or scm_providers_repositories_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no usage guidance whatsoever: no when-to-use, no when-not-to-use, no mention of the sibling retrieval tools it competes with. Nothing in the text helps an agent decide between this collection endpoint and the to-one/to-many relationship variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_repositories_get_instanceD
GET /v1/scmRepositories/{id} (GET /v1/scmRepositories/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_scmProviders | No | the fields to include for returned resources of type scmProviders | |
| fields_scmRepositories | No | the fields to include for returned resources of type scmRepositories | |
| fields_scmGitReferences | No | the fields to include for returned resources of type scmGitReferences |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no auth requirements, no note that this is a read-only fetch, no indication of what is returned or whether missing ids error. A raw endpoint string is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in the useful sense: the same endpoint string is repeated verbatim in parentheses, adding zero information. This is under-specification, not economical phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five parameters including relationship/field-expansion options, the description is completely inadequate. An agent gets no help understanding what the endpoint returns or how to shape the request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter (id, include, fields_*) is documented in the schema itself. The description adds nothing beyond the path template, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP endpoint 'GET /v1/scmRepositories/{id}' duplicated in parentheses. It does convey a verb (GET) and a resource path, but it is essentially a restatement of the tool name rather than an explanation of what the tool returns or how it differs from siblings like scm_repositories_get_collection or scm_git_references_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the collection endpoint, the git references endpoint, or other SCM reads. The agent must infer usage purely from the tool name and path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_repositories_git_references_get_to_many_relationshipC
GET /v1/scmRepositories/{id}/relationships/gitReferences (GET /v1/scmRepositories/{id}/relationships/gitReferences)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior (relevant given the 'limit' param and the to_many relationship), no auth/permission requirements, no rate limits, and no indication of what is returned. A bare URL gives the agent no behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but contains zero informational content beyond the path, and the parenthetical repeats the identical string a second time, which is pure waste. Brevity here reflects under-specification, not disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations exist, so the description must carry the tool's context, and it does not. For a paginated relationship-fetch where the distinction from the '..._to_many_related' sibling matters, omitting all framing leaves the definition incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline is 3 regardless of the description. The description adds nothing about parameter semantics, so it neither helps nor harms beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP endpoint path duplicated verbatim in parentheses, with no prose stating what the tool does. A reader can decode 'GET .../gitReferences' to infer it fetches Git references, but that is restating the tool name rather than explaining purpose. It does not distinguish itself from sibling scm_repositories_git_references_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-selection guidance whatsoever. With closely named siblings like scm_repositories_git_references_get_to_many_related and scm_repositories_pull_requests_get_to_many_relationship, the agent gets no help choosing between them. No misleading content, but no guidance either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scm_repositories_pull_requests_get_to_many_relationshipC
GET /v1/scmRepositories/{id}/relationships/pullRequests (GET /v1/scmRepositories/{id}/relationships/pullRequests)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden, and it does not. The 'GET' verb implies a read, but there is no mention of auth requirements, pagination behavior tied to the limit parameter, error cases, or the relationship-data semantics that distinguish 'relationship' endpoints from 'related' ones.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a verbatim duplication of the same path string in parentheses, which adds no information. Brevity here reflects under-specification rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a sibling that differs only by 'related' vs 'relationship', the description should explain what this call returns and how it differs. It supplies none of that, leaving an agent unable to choose confidently between the two nearly identical tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (id, limit) are fully documented in the schema at 100% coverage, so the baseline of 3 applies. The description contributes no additional semantics such as ID format expectations or what 'limit' does when omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the raw endpoint path 'GET /v1/scmRepositories/{id}/relationships/pullRequests' twice, which restates the tool name rather than explaining what it does. An agent can infer 'fetch pull requests belonging to an SCM repository', but nothing distinguishes it from the near-identical sibling scm_repositories_pull_requests_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus scm_repositories_pull_requests_get_to_many_related, scm_pull_requests_get_instance, or scm_repositories_get_instance. The only cue is the URL shape, leaving the agent to guess based on naming conventions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_app_store_review_screenshots_create_instanceC
POST /v1/subscriptionAppStoreReviewScreenshots (POST /v1/subscriptionAppStoreReviewScreenshots) Body shape: see OpenAPI components.schemas.SubscriptionAppStoreReviewScreenshotCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionAppStoreReviewScreenshotCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only implies mutation via 'POST'. It does not state authentication requirements, that it creates a new resource, whether the body must include a relationship to a subscription, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but wasteful: the same POST path appears twice in a row (once bare, once in parentheses), and the only substantive content is a schema pointer that the schema already contains.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with a nested JSON:API body and no output schema, the definition is incomplete. It omits what resource is being created, what the body must contain beyond a schema name, and any lifecycle or relationship context an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required body parameter with 100% schema description coverage, so the baseline is 3. The description's pointer to components.schemas.SubscriptionAppStoreReviewScreenshotCreateRequest duplicates the schema's own description text rather than adding meaning about envelope structure or required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path (POST /v1/subscriptionAppStoreReviewScreenshots) which is effectively the tool name rendered as a URL. It never explains in human terms what a subscription App Store review screenshot is or what creating one accomplishes, so it is close to a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites (e.g. an existing subscription to attach the screenshot to), and no differentiation from sibling create tools such as in_app_purchase_app_store_review_screenshots_create_instance or subscription_images_create_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_app_store_review_screenshots_delete_instanceD
DELETE /v1/subscriptionAppStoreReviewScreenshots/{id} (DELETE /v1/subscriptionAppStoreReviewScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that the operation is destructive/irreversible, not whether it requires authentication or specific roles, not whether deleting the screenshot affects the parent subscription review. The verb 'DELETE' is the only signal, and it is already in the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is duplicated in parentheses ('(DELETE /v1/subscriptionAppStoreReviewScreenshots/{id})'), so half the text is pure redundancy with zero informational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive endpoint with no annotations and no output schema, an agent needs at minimum a warning about irreversibility and permission requirements. The description supplies none, leaving the definition barely adequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter ('the id of the requested resource'), so the schema already documents the input. The description adds no format, source, or constraint detail beyond it; baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as an HTTP route: 'DELETE /v1/subscriptionAppStoreReviewScreenshots/{id}'. It identifies the verb and resource but adds no scope, target semantics, or differentiation from siblings such as subscription_app_store_review_screenshots_get_instance or update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent learns nothing about when deletion is appropriate versus updating or replacing the screenshot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_app_store_review_screenshots_get_instanceC
GET /v1/subscriptionAppStoreReviewScreenshots/{id} (GET /v1/subscriptionAppStoreReviewScreenshots/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_subscriptionAppStoreReviewScreenshots | No | the fields to include for returned resources of type subscriptionAppStoreReviewScreenshots |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about safety, auth requirements, rate limits, or what is returned. The only signal is the implicit read-only nature of the HTTP GET verb in the path string, which is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: the identical path appears twice in parentheses, adding no information. It is not front-loaded with any purpose statement an agent could act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should compensate for the missing behavioral and return-value context, but it offers only a bare endpoint. For a 4-parameter resource-fetch tool, this leaves the agent without enough to invoke it confidently beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the four parameters (id, include, fields_subscriptions, fields_subscriptionAppStoreReviewScreenshots) are already documented in the schema. The description adds no meaning beyond the path template's {id}, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP endpoint 'GET /v1/subscriptionAppStoreReviewScreenshots/{id}', duplicated in parentheses. It restates the tool name rather than stating a purpose in natural language; an agent learns only that this is a read of a single review screenshot by id, which the name already conveys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites or permissions, and no routing to alternatives such as the create/update/delete siblings or the related subscriptions endpoint. Nothing tells the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_app_store_review_screenshots_update_instanceC
PATCH /v1/subscriptionAppStoreReviewScreenshots/{id} (PATCH /v1/subscriptionAppStoreReviewScreenshots/{id}) Body shape: see OpenAPI components.schemas.SubscriptionAppStoreReviewScreenshotUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionAppStoreReviewScreenshotUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It implies a mutation via PATCH and points to the OpenAPI request schema, but says nothing about required permissions, whether the update is idempotent, what happens to omitted fields, or any auth/rate-limit considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the endpoint, but it redundantly repeats the identical PATCH path twice in parentheses, which is wasted space in an otherwise one-sentence definition. The body-shape pointer is useful but the duplication detracts from otherwise tight structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a nested, opaque body object (additionalProperties) with no output schema and no annotations, the description at least redirects the agent to the canonical OpenAPI request schema, which is the main thing it can convey. However, it gives no sense of what a screenshot update entails (file/checksum expectations) or what the response returns, leaving the definition minimally sufficient for a complex mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both the id and body parameters already documented in the schema. The description only repeats the body-shape pointer that the schema itself already contains, adding no new syntax or semantic detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP method and resource path (PATCH subscriptionAppStoreReviewScreenshots), which unambiguously identifies a partial update of a subscription App Store review screenshot resource. It distinguishes itself from sibling create/get/delete operations through the PATCH verb, though it never explains the resource in plain language or calls out siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling create/get/delete variants, and no prerequisites or conditions are provided. The reader must infer usage entirely from the HTTP method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_availabilities_available_territories_get_to_many_relationshipC
[DEPRECATED] GET /v1/subscriptionAvailabilities/{id}/relationships/availableTerritories (GET /v1/subscriptionAvailabilities/{id}/relationships/availableTerritories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it only flags deprecation. It does not disclose that this is a read-only relationship fetch, whether auth is required, or how the 'limit' pagination behaves. Deprecation notice is real value, but the behavioral surface is otherwise bare.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short only because it is nearly empty, and it wastes the little space it has by repeating the identical URL twice in parentheses. Front-loading is irrelevant when no substantive content exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a minimal description, an agent lacks essential info: what the response contains, whether pagination via 'limit' exists beyond the raw param, and what migration path the deprecation implies. This is inadequate for a deprecated relationship endpoint with 2 params.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for 2 params ('id' and 'limit'), so the structured schema already documents both. The description adds no syntax, format, or relationship semantics beyond what the schema provides, making baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the tool's HTTP path echoed twice, with no natural-language statement of what it does. The path implies fetching the availableTerritories relationship for a subscription availability, but the agent gains nothing beyond the tool name and endpoint string. It borders on tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '[DEPRECATED]' tag is the only guidance offered, and it does not say what to use instead (e.g. the sibling subscription_availabilities_available_territories_get_to_many_related). There is no when-to-use or when-not-to-use context, and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_availabilities_create_instanceC
[DEPRECATED] POST /v1/subscriptionAvailabilities (POST /v1/subscriptionAvailabilities) Body shape: see OpenAPI components.schemas.SubscriptionAvailabilityCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionAvailabilityCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for a mutation tool. It discloses deprecation but nothing about permissions, idempotency, conflict behavior, or what is created beyond the raw path; for an unannotated POST this is a thin behavioral story.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the deprecation warning, which is good. But the path is printed twice verbatim ('POST /v1/subscriptionAvailabilities (POST /v1/subscriptionAvailabilities)'), which is pure redundancy in a one-sentence description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The body is a nested JSON:API envelope, and pointing to the named OpenAPI schema is appropriate since no output schema exists. Still, for a deprecated create tool with no annotations, the definition offers no migration path or creation side effects, leaving it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one body parameter and schema description coverage is 100%, so the schema already documents it, giving a baseline of 3. The pointer to components.schemas.SubscriptionAvailabilityCreateRequest is helpful for locating the JSON:API envelope but adds no semantic detail about the fields themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The POST path and resource name convey a create action on subscriptionAvailabilities, and the [DEPRECATED] tag adds a useful qualifier. However, it never explains in plain language what a subscription availability is or how it differs from siblings like subscription_plan_availabilities_create_instance. The purpose is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Marking the tool [DEPRECATED] is a genuine usage signal that steers an agent toward alternatives, which is more than most definitions offer. But it names no replacement tool and gives no positive when-to-use condition, so the guidance stops at 'probably avoid this'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_availabilities_get_instanceC
[DEPRECATED] GET /v1/subscriptionAvailabilities/{id} (GET /v1/subscriptionAvailabilities/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| limit_availableTerritories | No | maximum number of related availableTerritories returned (when they are included) | |
| fields_subscriptionAvailabilities | No | the fields to include for returned resources of type subscriptionAvailabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that the operation is a GET (implying read-only) and that it is deprecated, but says nothing about authentication requirements, rate limits, permissions, or what happens on an unknown id. The deprecation notice is the only meaningful behavioral addition beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the deprecation flag, which is good. However, the parenthetical '(GET /v1/subscriptionAvailabilities/{id})' redundantly repeats the endpoint already stated before it, adding no information. That duplication is wasted space, preventing a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should do more to explain what the endpoint returns or what an agent should do instead given the deprecation. It provides only the HTTP method, path, and deprecation flag, leaving the return shape and migration path unstated. This is inadequate for a 5-parameter GET tool, though the complete parameter schema mitigates some risk.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the input schema. The description does not add any parameter semantics (e.g., format of `id`, effect of `include` or `limit_availableTerritories`). The baseline of 3 applies when the schema does the heavy lifting and the description adds nothing further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name expanded into REST syntax: 'subscription_availabilities_get_instance' becomes 'GET /v1/subscriptionAvailabilities/{id}'. It repeats the operation identifier rather than stating in plain terms what a subscription availability is or why an agent would retrieve one. This is tautological rather than a clear purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the '[DEPRECATED]' tag, which warns against use but does not name an alternative tool or explain when the deprecated endpoint might still be needed. There is no guidance on when to choose this tool over siblings like subscription_availabilities_available_territories_get_to_many_relationship or subscription_availabilities_create_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_grace_periods_get_instanceD
GET /v1/subscriptionGracePeriods/{id} (GET /v1/subscriptionGracePeriods/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_subscriptionGracePeriods | No | the fields to include for returned resources of type subscriptionGracePeriods |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers nothing: no read-only assurance, no permission/scope requirements, no mention of what is returned or whether the grace period can be scoped by app. The duplicated route text adds no behavioral information at all.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceedingly short, but its content is a literal duplication of the same route string in parentheses, so the second half is pure waste. Brevity here reflects under-specification rather than effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A two-parameter lookup tool with no annotations and no output schema needs the description to cover at least the returned resource shape and auth expectations; none of that is present. Given the tool's low complexity and full schema coverage the gap is not catastrophic, but the definition is still inadequate for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the required id and the fields_subscriptionGracePeriods sparse-fieldset parameter are already documented in the schema. The description adds no syntax, format, or sparse-fieldset semantics beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP route, duplicated verbatim in parentheses, which effectively repeats the tool name rather than explaining what the tool does. It does convey a read of a single subscriptionGracePeriods resource by id, but it offers no distinction from the very large set of sibling *_get_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as subscription_grace_periods_update_instance or the collection-level accessor, and no prerequisites or auth context. An agent is left to infer everything from the route string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_grace_periods_update_instanceC
PATCH /v1/subscriptionGracePeriods/{id} (PATCH /v1/subscriptionGracePeriods/{id}) Body shape: see OpenAPI components.schemas.SubscriptionGracePeriodUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGracePeriodUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing about required permissions, whether the update is partial or full, reversibility, or side effects. Pointing to the OpenAPI schema name for the body is a minor aid but not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the PATCH path is duplicated verbatim in parentheses, which is pure redundancy. The schema reference sentence is the only substantive content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested body object, no annotations, and no output schema, the description is inadequate: it neither inlines nor summarizes the update payload and says nothing about effects or responses. An agent must leave the tool definition to find out what a valid update looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and body both documented), so the schema already handles parameter meaning; baseline 3 applies. The description adds a reference to the SubscriptionGracePeriodUpdateRequest component for the body shape, which slightly helps but does not go beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific HTTP verb and resource path ('PATCH /v1/subscriptionGracePeriods/{id}'), which signals an update to a subscription grace period and is distinguishable from the sibling get_instance by name. However, it never explains in plain language what a grace period update does or which fields are mutable, so the purpose is only implied through the raw endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as subscription_grace_periods_get_instance or the app-level grace period relationship tools. The PATCH verb weakly implies 'use this to modify,' but no prerequisites, context, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_create_instanceC
POST /v1/subscriptionGroupLocalizations (POST /v1/subscriptionGroupLocalizations) Body shape: see OpenAPI components.schemas.SubscriptionGroupLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that this is a POST request and points to the OpenAPI body schema; it does not describe side effects, authentication/permission requirements, idempotency, or what happens on success/failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the duplicated '(POST /v1/subscriptionGroupLocalizations)' parenthetical is wasted text and the second sentence merely points elsewhere without adding explanatory value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API envelope, the description is too thin. Pointing to the OpenAPI schema is useful, but it leaves out critical context such as required permissions, expected response behavior, and the relationship to sibling versions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single body parameter is already documented via the schema reference. The description adds no further meaning about the body beyond what the schema already states, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP endpoint 'POST /v1/subscriptionGroupLocalizations' and does not state in plain language what is being created. It restates the operation implied by the tool name rather than clarifying the resource or distinguishing it from sibling create tools such as subscription_group_localizations_v2_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention the v2 create sibling, nor does it say when to choose create over get/update/delete or what prerequisites are required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_delete_instanceD
DELETE /v1/subscriptionGroupLocalizations/{id} (DELETE /v1/subscriptionGroupLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that the operation is destructive and irreversible, not whether related data cascades, not whether it acts on a live localization vs. a versioned one, and not any permission requirement. The 'DELETE' token in the route is the only behavioral signal, and it comes from the name, not added description text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it wastes its only opportunity by repeating the identical method-and-path string twice in parentheses instead of using that space for anything an agent needs. Brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, zero-annotation, no-output-schema operation with a same-named v2 sibling, the description provides no consequence information, no distinction between the v1 and v2 endpoints, and no confirmation semantics. It is an auto-generated route stub rather than a usable tool definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter ('the id of the requested resource'), so the structured schema already documents it. The description adds nothing about what kind of id is expected (a localization resource id vs. a group id), which would have been genuinely useful given the v1/v2 variants, so this sits at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool's own name and HTTP surface: 'DELETE /v1/subscriptionGroupLocalizations/{id}', duplicated verbatim in parentheses. It never says in plain language that it deletes a subscription group localization, nor does it distinguish itself from the near-identical sibling subscription_group_localizations_v2_delete_instance. This is tautology plus a route string, not a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of any alternative such as the v2 delete tool or the update/get siblings. The agent is given no basis on which to prefer this tool over the v2 variant or to know when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_get_instanceC
GET /v1/subscriptionGroupLocalizations/{id} (GET /v1/subscriptionGroupLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptionGroups | No | the fields to include for returned resources of type subscriptionGroups | |
| fields_subscriptionGroupLocalizations | No | the fields to include for returned resources of type subscriptionGroupLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, yet it only reveals that the operation is a GET. It says nothing about authentication, whether the response is a single resource, error behavior for a missing id, or what the include/fields expansions actually do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but half of it is a pure duplicate of the other half, which is wasted space. It is front-loaded only in the sense that there is nothing to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter read tool with no annotations and no output schema, the description says nothing about the returned resource shape, the effect of the include/fields parameters, or expected failure modes. It is far short of what an agent needs to call this correctly on first attempt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (id, include, fields_subscriptionGroups, fields_subscriptionGroupLocalizations) are documented in the schema itself. The description adds nothing beyond naming {id} in the path, so the baseline of 3 applies; no compensation was needed but no value was added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as a raw path: "GET /v1/subscriptionGroupLocalizations/{id} (GET /v1/subscriptionGroupLocalizations/{id})". It implies fetching one localization resource, but the parenthetical duplicates the same string and no plain-language statement of intent is given; it does not distinguish this from subscription_group_localizations_v2_get_instance or the collection/get_instance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative routing is provided. An agent cannot tell from this text why it would call this rather than the v2 variant or the to-many relationship tool on subscription_groups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_update_instanceC
PATCH /v1/subscriptionGroupLocalizations/{id} (PATCH /v1/subscriptionGroupLocalizations/{id}) Body shape: see OpenAPI components.schemas.SubscriptionGroupLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it falls well short. It implies a mutation via PATCH but says nothing about whether the update is partial or full, what fields are mutable, whether changes are reversible, what auth/permissions are required, or what happens to unnamed fields. Pointing at an OpenAPI schema name is a reference, not disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint is needlessly duplicated in the parenthetical (PATCH /v1/subscriptionGroupLocalizations/{id} appears twice), which is pure waste. The only value-bearing content is the schema pointer, so the 'conciseness' masks under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a nested-body mutation tool with no annotations and no output schema, so the description must explain what can actually be updated and what the JSON:API envelope requires. Instead it defers everything to an external OpenAPI document, leaving an agent unable to construct a correct body or predict the result from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters and the baseline is 3. The description adds only a pointer to components.schemas.SubscriptionGroupLocalizationUpdateRequest for the body envelope, which restates the schema's own description rather than adding syntax, field semantics, or format details beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb and resource path (PATCH /v1/subscriptionGroupLocalizations/{id}), which tells an agent this performs a partial update of a subscription group localization. However, it is essentially a restatement of the endpoint/name rather than a plain-language explanation, and it does nothing to distinguish this from siblings like subscription_group_localizations_v2_update_instance, which is a real risk given the near-identical name. Vague-but-decipherable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. In a catalog containing subscription_group_localizations_v2_update_instance, subscription_group_localizations_create_instance, and delete_instance variants, the description offers no routing condition whatsoever. Usage must be entirely inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_v2_create_instanceC
POST /v2/subscriptionGroupLocalizations (POST /v2/subscriptionGroupLocalizations) Body shape: see OpenAPI components.schemas.SubscriptionGroupLocalizationV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupLocalizationV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication/scope requirements, side effects, or what the response contains. Its one useful disclosure is that the body must follow the JSON:API envelope defined by components.schemas.SubscriptionGroupLocalizationV2CreateRequest, which is a genuine hint about request shape but far short of what a mutation tool with zero annotations needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, which is good, but the parenthetical duplicates the route verbatim ('(POST /v2/subscriptionGroupLocalizations)') and consumes space without adding information. The remaining sentence is useful but the whole thing is a single sentence of low density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must at minimum tell an agent how to build a valid request. The body is a nested object with additionalProperties: {}, and the only guidance is 'see OpenAPI components.schemas...' — an external pointer the agent may not be able to resolve. Nothing about required JSON:API attributes, relationships, or success behavior is included, leaving a significant gap for a create operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and the schema description already covers it at 100% by pointing to the same component schema. The description simply repeats that pointer, adding no new semantics (no field-level detail, no required relationships). Baseline 3 applies because the schema is doing the documentation work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the route and the tool name ('POST /v2/subscriptionGroupLocalizations') rather than saying what a subscription group localization is or what creating one accomplishes. The verb 'create' is only inferable from the tool name, not stated as intent, and nothing distinguishes it from the many sibling *_create_instance tools. This is close to a tautology of the identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no differentiation from alternatives such as subscription_group_localizations_create_instance (the v1 variant) or subscription_group_localizations_v2_get_instance/update_instance. The only implicit signal is that a POST endpoint means creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_v2_delete_instanceD
DELETE /v2/subscriptionGroupLocalizations/{id} (DELETE /v2/subscriptionGroupLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for an irreversible destructive operation. It says nothing about permanence, required permissions/roles, whether related resources are cascaded, precondition states (e.g., a localization tied to a live version), or error behavior on a missing id.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief but wasteful: the same route string is emitted twice inside parentheses, duplicating itself rather than adding information. It is under-specified rather than concise — the available space is spent on redundancy instead of the scoping detail an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete with no annotations, no output schema, and a large family of near-identical v1/v2 siblings, the definition supplies none of the context required to call it correctly or safely. Nothing about scope, prerequisites, or consequences is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'id' parameter is already documented as 'the id of the requested resource'. The {id} path placeholder marginally confirms that the parameter is a path segment, but no format, source, or example is added. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is essentially the tool name restated as a raw HTTP route: 'DELETE /v2/subscriptionGroupLocalizations/{id}'. While the verb and resource are technically present, an agent learns nothing beyond what the identifier 'subscription_group_localizations_v2_delete_instance' already encodes, and there is no plain-language statement of what a 'subscription group localization' is or what deleting one means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to use this tool. Critically, the sibling list contains both 'subscription_group_localizations_v2_delete_instance' and 'subscription_group_localizations_delete_instance' (the non-v2 variant), plus get/update/create counterparts, and the description does nothing to help an agent choose between the v1 and v2 delete paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_v2_get_instanceC
GET /v2/subscriptionGroupLocalizations/{id} (GET /v2/subscriptionGroupLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptionGroupVersions | No | the fields to include for returned resources of type subscriptionGroupVersions | |
| fields_subscriptionGroupLocalizations | No | the fields to include for returned resources of type subscriptionGroupLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only confirmation, no auth/scope requirements, no pagination or error behavior, no statement that a missing id yields 404. A bare URL template adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a single path repeated twice in parentheses, which is pure redundancy rather than concision. Nothing is front-loaded because there is nothing substantive to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-resource fetch with four parameters and no output schema, the description should at minimum say what resource is returned and that sparse fieldsets/includes can expand it. With no annotations and no return documentation, an agent has to open the schema and guess the semantics of include and fields_*.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3: id, include, and the two sparse-fieldset parameters are all documented in the schema itself. The description adds no syntax or format detail beyond that, but the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP path already encoded in the tool name (subscription_group_localizations_v2_get_instance), duplicated verbatim in parentheses. It conveys 'fetch one subscription group localization by id' only by inference from the URL, not by stating purpose in words. No differentiation from siblings such as subscription_group_localizations_get_instance or subscription_group_localizations_v2_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent cannot tell from this text when to prefer this v2 instance fetch over the v1 sibling or over the relationship endpoints (subscription_groups_subscription_group_localizations_get_to_many_related). Only the implicit 'GET by id' is available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_localizations_v2_update_instanceC
PATCH /v2/subscriptionGroupLocalizations/{id} (PATCH /v2/subscriptionGroupLocalizations/{id}) Body shape: see OpenAPI components.schemas.SubscriptionGroupLocalizationV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupLocalizationV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not whether PATCH merges or replaces unspecified fields, not required permissions or auth scope, not whether the change is reversible, not what the response contains. Pointing at an external OpenAPI component name is not usable disclosure for an agent that has no access to that document at call time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical duplicate of the same path is pure waste, and the single remaining sentence is a pointer to external documentation rather than an explanation. Front-loading is fine but the content is hollow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with zero annotations, no output schema, and a nested JSON:API body whose shape is only referenced by name, the description should at minimum explain the update semantics and the envelope requirement. It defers everything to an OpenAPI document that is not part of the tool definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: 'id' is documented as the resource id and 'body' is documented as a JSON:API envelope pointing at the same schema component. The description adds nothing beyond repeating the body pointer, so the baseline 3 for fully covered schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as a URL: 'PATCH /v2/subscriptionGroupLocalizations/{id}', duplicated verbatim in parentheses. It conveys only that this is a PATCH on a subscription group localization v2 resource, with no plain-language statement of what is being updated (display name, locale, description, etc.). It is essentially a tautology of the identifier rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisite (e.g. the localization must already exist), and no mention of the v1 sibling subscription_group_localizations_update_instance or when the v2 variant is preferred. The only implied usage is that an existing resource is being modified, which the agent must infer from 'PATCH'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_groups_create_instanceD
POST /v1/subscriptionGroups (POST /v1/subscriptionGroups) Body shape: see OpenAPI components.schemas.SubscriptionGroupCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses nothing beyond the HTTP verb — no auth/permission requirements, no side effects, no indication of what gets created or whether the operation is reversible. For a create/mutation endpoint this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical '(POST /v1/subscriptionGroups)' is a verbatim duplication of the text immediately preceding it, which is pure waste. The remaining content is a single pointer sentence, so there is little to restructure but also no front-loaded value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with a nested JSON:API body, no annotations, and no output schema, the description is far too thin. It never explains the envelope, required fields, or what a successful response yields, leaving the agent to reverse-engineer everything from an external schema reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 100% schema description coverage, the schema already documents the body. The description only adds a pointer to the external components.schemas.SubscriptionGroupCreateRequest shape, which is a reference rather than added semantic meaning. Baseline 3 for high schema coverage is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name as an HTTP call: 'POST /v1/subscriptionGroups'. It names the resource but never states in plain terms what creating a subscription group accomplishes or what the resource represents. An agent learns the endpoint, not the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like subscription_groups_update_instance, subscription_group_submissions_create_instance, or subscriptions_create_instance. No prerequisites, no context, no alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_groups_delete_instanceC
DELETE /v1/subscriptionGroups/{id} (DELETE /v1/subscriptionGroups/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the deletion is permanent or reversible, not what related resources (localizations, subscriptions, versions) are cascaded, and not what permissions are required. A destructive operation documented only by its HTTP route leaves the agent with no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but the parenthetical duplicate of the same endpoint string earns nothing and indicates a mechanical template rather than deliberate structuring of information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, annotation-free tool with no output schema, the description should at minimum state permanence and side effects. As written, an agent can technically call it with the required id but has no basis to judge consequences before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage, the schema already documents the required 'id'. The description adds no format hints (e.g. whether id is an opaque resource ID) beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb and resource ('DELETE /v1/subscriptionGroups/{id}'), so the action and target are identifiable. However, it adds nothing beyond the tool name and simply restates the name in a duplicated parenthetical, giving no differentiation from the many sibling *_delete_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as subscription_groups_update_instance or subscription_groups_get_instance. Deletion intent is implied only by the word DELETE; no prerequisites, exclusions, or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_groups_get_instanceD
GET /v1/subscriptionGroups/{id} (GET /v1/subscriptionGroups/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| limit_subscriptions | No | maximum number of related subscriptions returned (when they are included) | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_subscriptionGroups | No | the fields to include for returned resources of type subscriptionGroups | |
| fields_subscriptionGroupVersions | No | the fields to include for returned resources of type subscriptionGroupVersions | |
| limit_subscriptionGroupLocalizations | No | maximum number of related subscriptionGroupLocalizations returned (when they are included) | |
| fields_subscriptionGroupLocalizations | No | the fields to include for returned resources of type subscriptionGroupLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, yet it reveals nothing beyond the HTTP method. It does not state that this is a read-only fetch, nor describe include/limit behavior, pagination, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but the brevity reflects under-specification rather than efficiency, and the duplicated path in parentheses is pure redundancy that earns no place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with nine parameters, no annotations, and no output schema, the description should explain the resource and what is returned. It supplies none of this, leaving the definition wholly inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the nine parameters (id, include, limit_*, fields_*) are already documented in the schema. The description adds no parameter meaning beyond what the schema provides, which is the baseline 3 for full-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a verbatim restatement of the endpoint ('GET /v1/subscriptionGroups/{id}'), duplicated parenthetically. Only the resource name and the GET verb let an agent infer it retrieves a subscription group; no plain-language statement of purpose is given, making it close to a tautology that merely restates the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no differentiation from the many sibling tools (e.g., subscription_groups_subscriptions_get_to_many_related or subscription_groups_update_instance). 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.
subscription_groups_subscription_group_localizations_get_to_many_relationshipD
GET /v1/subscriptionGroups/{id}/relationships/subscriptionGroupLocalizations (GET /v1/subscriptionGroups/{id}/relationships/subscriptionGroupLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing: no pagination behavior (despite a 'limit' parameter), no statement that this returns relationship linkage data rather than resource attributes, and no auth or scoping notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire content is the same URL string written twice — once as the body and once inside parentheses — which is pure redundancy rather than conciseness. No information is front-loaded because there is essentially no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral context, yet it omits the one thing an agent needs to know about a 'relationship' endpoint: that it returns resource identifier linkages (with pagination via 'limit') rather than the localization objects themselves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline of 3 applies. The description adds no format, default, or pagination semantics beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the tool name as an HTTP verb plus URL path, with the same path duplicated in parentheses. It identifies the resource (subscriptionGroupLocalizations under subscriptionGroups) but adds no semantic explanation of what the call returns or how it differs from the sibling 'subscription_groups_subscription_group_localizations_get_to_many_related' endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the closely named sibling that fetches the related resources instead of the relationship linkage. The only implied context is what the URL path itself reveals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_groups_subscriptions_get_to_many_relationshipC
GET /v1/subscriptionGroups/{id}/relationships/subscriptions (GET /v1/subscriptionGroups/{id}/relationships/subscriptions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no pagination behavior despite a 'limit' parameter, no note that this is a read-only operation, no rate-limit or auth context, and no description of the returned linkage data. Only the HTTP verb 'GET' hints at a read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but entirely wasted: it repeats the identical URL string twice with no added information, which is duplication rather than conciseness. No useful content is front-loaded because there is no useful content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a sibling that differs only by 'related' vs 'relationship', the description should at minimum explain the difference and the shape of the returned collection. It explains neither, leaving the agent unable to call this correctly versus its near-twin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline of 3 applies. The description adds no meaning beyond the schema — it does not explain the id's scope or pagination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as a URL path, duplicated twice in parentheses. It conveys no purpose beyond what the name already encodes (list subscriptions related to a subscription group), and it does nothing to distinguish this from the sibling subscription_groups_subscriptions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the closely-named 'related' sibling, and no indication of when this relationship endpoint is preferred over the related endpoint or over fetching the subscription group itself. Only the URL path implies any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_submissions_create_instanceC
POST /v1/subscriptionGroupSubmissions (POST /v1/subscriptionGroupSubmissions) Body shape: see OpenAPI components.schemas.SubscriptionGroupSubmissionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupSubmissionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about auth requirements, side effects, or rate limits. It only notes the operation is a POST and where the body schema lives, which is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wasteful, duplicating the path in parentheses and then deferring entirely to an external schema reference. It is not front-loaded with any actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a body shape referenced only externally, the description leaves too much unexplained. It does not state what fields the request requires or what the creation affects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter whose schema already points to components.schemas.SubscriptionGroupSubmissionCreateRequest. The description repeats the same pointer, adding no meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name and URL ('POST /v1/subscriptionGroupSubmissions'), which is a tautology rather than an explanation. It conveys that the tool creates a subscription group submission but does not explain what that resource is or distinguish it from sibling creators like subscription_submissions_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative tools are mentioned. The sibling list contains numerous *_create_instance tools, and nothing here helps an agent choose among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_groups_update_instanceC
PATCH /v1/subscriptionGroups/{id} (PATCH /v1/subscriptionGroups/{id}) Body shape: see OpenAPI components.schemas.SubscriptionGroupUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and delivers almost nothing: no mention of required permissions, whether the PATCH is partial or full replacement, reversibility, rate limits, or error behavior. Only the HTTP verb hints at partial-update semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and endpoint-first, but the parenthetical (PATCH /v1/subscriptionGroups/{id}) duplicates the preceding clause verbatim with zero added information, wasting roughly half the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, and no output schema, the description is far too thin. It never states what the update affects, what constitutes a successful response, or how failures surface, leaving an agent without the context needed to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and body both documented), so the baseline is 3. The description adds only a pointer to the external OpenAPI SubscriptionGroupUpdateRequest schema for the body envelope, which does not actually resolve the body's field semantics for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives the HTTP verb and resource path (PATCH /v1/subscriptionGroups/{id}), so an agent can infer it updates a subscription group instance. However, this largely restates the tool name in URL form and adds no semantic detail about what a subscription group is or which fields are mutable, so it barely distinguishes itself from the many sibling *_update_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no routing to alternatives. An agent gets no signal about whether this is the right tool versus subscription_groups_create_instance, subscription_groups_delete_instance, or the version/localization update tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_groups_versions_get_to_many_relationshipD
GET /v1/subscriptionGroups/{id}/relationships/versions (GET /v1/subscriptionGroups/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the implied HTTP GET. There is no information about pagination (despite the limit parameter), auth requirements, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wasteful: the same endpoint string is printed twice, once as the body and once in parentheses, adding no information. Brevity here reflects under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read relationship endpoint, an agent still needs to know it returns the paginated list of versions linked to a subscription group and how limit behaves. Neither is stated, and with no output schema and no annotations the definition is too thin to call it correctly with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two simple parameters (id, limit), so the schema already documents them fully. The description adds nothing on top, which makes the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path duplicated in parentheses, essentially restating the tool name rather than explaining what the operation does. It does not clarify what a 'versions relationship' of a subscription group returns or how it differs from the sibling subscription_groups_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the related-vs-relationship sibling distinction, and no prerequisites or alternatives are given. The agent must infer everything 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.
subscription_group_versions_create_instanceD
POST /v1/subscriptionGroupVersions (POST /v1/subscriptionGroupVersions) Body shape: see OpenAPI components.schemas.SubscriptionGroupVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionGroupVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no note that this is a mutating create, no permission/scope requirements, no mention of what happens on success or failure, no side effects. Pointing at an OpenAPI schema is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the POST route is duplicated verbatim inside parentheses and the only substantive content is an external schema pointer, so the single sentence does not fully earn its place. Not bloated, but wasteful repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create endpoint with a nested JSON:API body, no annotations, and no output schema, the description should at minimum explain the envelope and the parent linkage. Deferring entirely to an OpenAPI component leaves the agent without enough to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter and schema description coverage is 100%, so the schema already documents the body. The description merely repeats the schema reference (components.schemas.SubscriptionGroupVersionCreateRequest) without adding format, required-field, or envelope guidance, which is the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP route 'POST /v1/subscriptionGroupVersions' and never states in plain language what the tool does (create a subscription group version) or what a subscription group version is. It is effectively a machine-generated restatement of the name/endpoint rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like subscription_groups_create_instance, subscription_group_versions_get_instance, or subscription_versions_create_instance. No prerequisites, no context about the parent resource that must exist first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_versions_get_instanceC
GET /v1/subscriptionGroupVersions/{id} (GET /v1/subscriptionGroupVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_subscriptionGroups | No | the fields to include for returned resources of type subscriptionGroups | |
| fields_subscriptionGroupVersions | No | the fields to include for returned resources of type subscriptionGroupVersions | |
| fields_subscriptionGroupLocalizations | No | the fields to include for returned resources of type subscriptionGroupLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses only that the operation is an HTTP GET (implying a read). It says nothing about return payload, related-resource inclusion behavior, pagination, or permissions — the same minimal level as the MID calibration example.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is needlessly duplicated inside parentheses, and the extreme brevity reflects under-specification rather than economy — there is essentially no content to front-load. Wasteful redundancy combined with zero informational payload.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with no annotations and no output schema, the description provides nothing an agent needs: it does not describe the resource, the returned object, or the effect of the include/fields parameters. It is completely inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (id, include, limit_localizations, and the three fields_* filters) are already documented in the schema. The description adds no syntax or semantic detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a raw endpoint spec, 'GET /v1/subscriptionGroupVersions/{id}', which merely restates the tool name (get_instance on subscriptionGroupVersions) in URL form. It never explains what a subscription group version is or what fetching one yields, so an agent gets no purpose information beyond what the name already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus the many sibling getters (e.g. subscription_group_versions_localizations_get_to_many_related, subscription_groups_get_instance). No prerequisites, no exclusions, no routing to alternatives — the agent must infer everything from the endpoint string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_group_versions_localizations_get_to_many_relationshipC
GET /v1/subscriptionGroupVersions/{id}/relationships/localizations (GET /v1/subscriptionGroupVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The 'GET' prefix weakly implies a read operation, but nothing is said about pagination behavior despite a limit parameter, about what the relationship linkage returns, or about auth requirements. For an unannotated tool this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the identical path string verbatim, which is pure redundancy rather than conciseness. There is no front-loaded purpose statement, only a raw URL.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The operation is low-complexity (a to-many relationship read, 2 params, full schema coverage, no output schema), so the bar is modest, but the description still omits any indication of what a 'relationship' endpoint returns and how it differs from the '_related' sibling, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id and limit are both documented in the schema), so the baseline is 3. The description adds no syntax, format, or meaning beyond what the schema already states, but it does not need to compensate for any coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP path and duplicates it verbatim in parentheses: 'GET /v1/subscriptionGroupVersions/{id}/relationships/localizations (GET ...)'. It names a verb and a resource, so it is not meaningless, but it is a tautology of the tool name with no natural-language statement of what the operation returns or why an agent would call it over the sibling *_get_to_many_related variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no distinction from the nearly identical 'subscription_group_versions_localizations_get_to_many_related' sibling, and no prerequisites. The only implicit signal is the 'relationship' suffix versus the 'related' sibling, which 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.
subscription_images_create_instanceD
POST /v1/subscriptionImages (POST /v1/subscriptionImages) Body shape: see OpenAPI components.schemas.SubscriptionImageCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionImageCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses nothing about permissions, idempotency, side effects, or response shape. For a POST/create mutation this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes its one sentence by printing the route twice ('POST /v1/subscriptionImages (POST /v1/subscriptionImages)') and by front-loading a path instead of a purpose. Brevity here is under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create mutation with no annotations and no output schema, the description should explain what a subscription image is and the effect of creating one. All it offers is an external OpenAPI schema reference and a duplicated route.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'body' parameter is already documented as components.schemas.SubscriptionImageCreateRequest, so the schema does the heavy lifting. The description merely repeats that same pointer, adding no extra meaning, which places it at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description just restates the tool name as an HTTP route: 'POST /v1/subscriptionImages' duplicates the tool's own create_instance/subscription_images semantics and never states in natural language that it registers a subscription image. The verb is only inferable from the POST method, and nothing distinguishes it from the sibling subscription_images_v2_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of when to prefer this v1 endpoint over the v2 sibling that appears in the tool list. The agent is given no routing information at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_images_delete_instanceC
DELETE /v1/subscriptionImages/{id} (DELETE /v1/subscriptionImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not say the operation is irreversible, what permissions or auth are required, what happens to dependent resources, or how failures are reported — all critical for a destructive DELETE endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the exact same string already stated in the first half, so roughly half the description is pure duplication rather than information. Not overlong, just non-informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive DELETE tool with no annotations and no output schema, the description omits everything an agent needs: idempotency, reversibility, permission requirements, and side effects. A bare method-and-path restatement is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single id parameter is fully documented in the schema, so the baseline is 3. The description only repeats the path template and contributes no additional parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (DELETE) and resource (subscriptionImages/{id}), so an agent can tell it is a delete-by-id operation. However, it adds nothing beyond the tool name plus HTTP metadata, and it does not distinguish this tool from the very similar sibling subscription_images_v2_delete_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of when to prefer the closely related delete tools (subscription_images_v2_delete_instance, subscription_images_delete_instance variants). The agent must infer everything from the HTTP verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_images_get_instanceD
GET /v1/subscriptionImages/{id} (GET /v1/subscriptionImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_subscriptionImages | No | the fields to include for returned resources of type subscriptionImages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden, and it discloses nothing: not whether this is a safe read, not what happens on a missing/invalid id, not whether the response is cached or paginated. Repeating the endpoint path adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The string is short but not concise in any useful sense — the parenthetical is a verbatim duplicate of the text before it, pure redundancy. There is no front-loaded statement of purpose because there is no purpose statement at all.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a resource-fetch endpoint with no output schema and no annotations, the description must at minimum say what the returned subscription image contains or how it relates to a subscription. It says nothing, leaving the agent unable to judge the result of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all four parameters (id, include, fields_subscriptions, fields_subscriptionImages) documented in the schema itself, so the baseline of 3 applies. The description adds no additional meaning about id format, the sparse-fieldset semantics, or the relationship-inclusion behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a restatement of the tool name: an HTTP verb plus the same URL path repeated twice in parentheses. It tells the agent this is a GET on /v1/subscriptionImages/{id} but never says what a 'subscription image' resource actually is, nor how it differs from the sibling subscription_images_v2_get_instance. This is close to tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance whatsoever on when to call this instead of alternatives. The sibling list contains subscription_images_v2_get_instance, subscription_images_create_instance, subscription_images_update_instance, and subscription_images_delete_instance, and nothing routes the agent among them. The agent is left to 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.
subscription_images_update_instanceC
PATCH /v1/subscriptionImages/{id} (PATCH /v1/subscriptionImages/{id}) Body shape: see OpenAPI components.schemas.SubscriptionImageUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionImageUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden for a mutation tool. It mentions the JSON:API envelope requirement, which is useful, but says nothing about permissions, partial-update semantics, side effects, validation, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but includes a redundant duplication of the endpoint and delegates the substantive body details to an external OpenAPI reference. It is concise to the point of being under-specified rather than efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested body object, no output schema, and no annotations, the description provides too little context. Pointing to an external OpenAPI schema does not make the definition self-contained enough for an agent to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description adds only the JSON:API envelope context for the body, which is useful but does not meaningfully expand parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description largely restates the endpoint and tool name as 'PATCH /v1/subscriptionImages/{id}' rather than explaining what updating a subscription image actually does. It does not distinguish this tool from closely related siblings such as subscription_images_v2_update_instance or subscription_images_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, such as the v2 update endpoint or the create/delete subscription image tools. The agent is left to infer usage entirely from the name and HTTP method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_images_v2_create_instanceC
POST /v2/subscriptionImages (POST /v2/subscriptionImages) Body shape: see OpenAPI components.schemas.SubscriptionImageV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionImageV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states nothing about authentication, required scopes, what the create does to existing resources, whether it is idempotent, or what the response contains. For a mutation endpoint with zero annotation coverage this is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its opening on a literal duplication of the endpoint — 'POST /v2/subscriptionImages (POST /v2/subscriptionImages)' — before the only useful sentence. Brevity here reflects under-specification rather than disciplined concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a nested JSON:API body, the description needs to do heavy lifting. It offers only an external schema reference and does not explain the envelope composition or any create-time preconditions, leaving the agent dependent on out-of-band OpenAPI knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter with 100% schema description coverage, so the baseline is 3. The description adds only a pointer to components.schemas.SubscriptionImageV2CreateRequest, which roughly duplicates the schema's own description rather than adding new meaning about the envelope's contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb and resource path (POST /v2/subscriptionImages), so an agent can infer this creates a subscription image. However, it does nothing to distinguish this v2 create from the sibling subscription_images_create_instance (v1) or the other v2 instance tools, and the operational meaning is only implied by the REST convention rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the v1 create or the v2 update/get/delete siblings. The agent is given a URL and a pointer to a schema, nothing about context of use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_images_v2_delete_instanceC
DELETE /v2/subscriptionImages/{id} (DELETE /v2/subscriptionImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a destructive mutation via DELETE but does not state irreversibility, cascade/attachment effects, required permissions, or error behavior for a missing id — all critical for a delete operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical literally duplicates the first string character-for-character, which is pure waste rather than added structure. Brevity is achieved by omission, not by tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive DELETE with no annotations and no output schema, the definition is too thin: it never says what resource the image belongs to, whether deletion is reversible, or what the agent should expect. The schema covers the id, but nothing else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema coverage, and the schema already documents 'id' as the requested resource id. The description adds nothing beyond this, so the baseline 3 for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name rendered as an HTTP route: 'DELETE /v2/subscriptionImages/{id}', repeated verbatim inside parentheses. It restates the name rather than explaining the purpose; an agent gets no more than it already infers from 'subscription_images_v2_delete_instance'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives such as subscription_images_delete_instance, subscription_images_v2_update_instance, or the v1 delete. No prerequisites (parent subscription version, app association) or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_images_v2_get_instanceC
GET /v2/subscriptionImages/{id} (GET /v2/subscriptionImages/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| fields_subscriptionImages | No | the fields to include for returned resources of type subscriptionImages |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. The 'GET' verb weakly implies a read-only fetch, which is the only behavioral information conveyed; nothing is said about permissions, error behavior, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but the content is a redundant self-duplication of the same path string. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a fetch-by-id tool with no annotations and no output schema, the description should explain what resource is returned and how the fields parameter behaves. None of that is present, leaving the agent with only the URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both the required 'id' and the fields_subscriptionImages sparse-fieldset parameter documented in the schema. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a restated HTTP path, 'GET /v2/subscriptionImages/{id}', duplicated in parentheses. It signals a retrieval of a subscription image by id but does nothing to distinguish it from close siblings like subscription_images_get_instance, subscription_images_v2_update_instance, or _delete_instance, all of which share the same resource name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. The agent gets no signal for choosing this over subscription_images_get_instance or any of the many v2 image siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_images_v2_update_instanceC
PATCH /v2/subscriptionImages/{id} (PATCH /v2/subscriptionImages/{id}) Body shape: see OpenAPI components.schemas.SubscriptionImageV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionImageV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses nothing beyond the HTTP verb. PATCH implies partial-update semantics, but the description does not state which fields are mutable, whether unspecified fields are cleared, what permissions are required, or what the operation returns for a mutating call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the path is needlessly duplicated in parentheses ('PATCH /v2/subscriptionImages/{id} (PATCH /v2/subscriptionImages/{id})'), which is pure redundancy and does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with a nested, untyped body (additionalProperties: {}), no annotations, and no output schema, the description is inadequate: it offloads the entire request shape to an external OpenAPI document the agent may not have access to and explains none of the mutation's effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are documented there, so the baseline is 3. The description's pointer to 'components.schemas.SubscriptionImageV2UpdateRequest' merely duplicates what the body parameter's schema description already says, adding no new parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name as an HTTP route: 'PATCH /v2/subscriptionImages/{id}'. It conveys update semantics and the resource path, but no plain-language statement of what is being updated, and it does nothing to distinguish this from siblings like subscription_images_update_instance or subscription_images_v2_get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this v2 endpoint versus the v1 subscription_images_update_instance, nor any mention of prerequisites, authorization, or state conditions. The agent is left to 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.
subscription_introductory_offers_create_instanceC
POST /v1/subscriptionIntroductoryOffers (POST /v1/subscriptionIntroductoryOffers) Body shape: see OpenAPI components.schemas.SubscriptionIntroductoryOfferCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionIntroductoryOfferCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It is a mutation (POST/create) but says nothing about authentication needs, side effects, whether the operation is idempotent, or what happens on failure. The only added context is a pointer to the OpenAPI request schema, which is a partial aid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint path is duplicated verbatim ('POST /v1/subscriptionIntroductoryOffers' twice), which is wasteful. The remaining content is a single terse pointer to the OpenAPI schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a required nested JSON:API body, no output schema, and no annotations, the description is thin. It does not explain the resource, required payload semantics, or return expectations, leaving the agent to resolve everything through the external OpenAPI document.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single 'body' parameter whose schema already documents the shape reference. The description merely repeats that pointer (components.schemas.SubscriptionIntroductoryOfferCreateRequest), adding little beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP verb and endpoint (POST /v1/subscriptionIntroductoryOffers), which implies creating a subscription introductory offer resource. However, it never uses a natural-language verb like 'create', and it offers no differentiation from siblings such as subscription_introductory_offers_update_instance or subscription_introductory_offers_delete_instance. It is essentially a restatement of the name plus path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this tool versus update/delete siblings, nor any prerequisite or context about what an introductory offer is. The agent must infer usage entirely from the name and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_introductory_offers_delete_instanceD
DELETE /v1/subscriptionIntroductoryOffers/{id} (DELETE /v1/subscriptionIntroductoryOffers/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about irreversibility, cascade effects on the parent subscription, required permissions, or error behavior. The only behavioral signal, 'DELETE', is already implied by the tool name 'delete_instance'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its only content by repeating the identical path string twice in parentheses, adding no information the first occurrence did not already carry. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete endpoint with no annotations, no output schema, and no other context, the description provides nothing an agent needs: no confirmation of destructive semantics, no prerequisites, no return or status information. It is inadequate for the operation's risk profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'id' parameter is documented in the schema as 'the id of the requested resource'. Per the baseline for high coverage, the schema does the heavy lifting and the description contributes nothing additional, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as a REST path plus HTTP verb: 'DELETE /v1/subscriptionIntroductoryOffers/{id}', duplicated in parentheses. It conveys the resource and operation type but adds no plain-language statement of what the operation accomplishes, and gives no differentiation from siblings such as subscriptions_introductory_offers_delete_to_many_relationship or subscription_introductory_offers_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, no mention of alternatives, and no conditions for selecting it over sibling endpoints. An agent receives zero routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_introductory_offers_update_instanceC
PATCH /v1/subscriptionIntroductoryOffers/{id} (PATCH /v1/subscriptionIntroductoryOffers/{id}) Body shape: see OpenAPI components.schemas.SubscriptionIntroductoryOfferUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionIntroductoryOfferUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only the HTTP method and that the body follows a JSON:API envelope defined in the OpenAPI schema; it says nothing about partial-update semantics, required permissions, side effects, or reversibility of changing an introductory offer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the endpoint, but the path is redundantly duplicated in parentheses and the second sentence is a bare pointer to an external schema, so some of the limited text is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation endpoint with a nested JSON:API body, no annotations, no output schema, and no domain explanation, the description delegates everything to the OpenAPI spec. An agent gains no understanding of what can be updated or what the update affects, which is inadequate for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no meaning beyond the schema: the id parameter is already documented as 'the id of the requested resource' and the body only points back to the same OpenAPI component the schema references.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a method and resource (PATCH on subscriptionIntroductoryOffers), so an agent can tell it is an update of that resource. However, it is essentially a mechanical restatement of the name as an HTTP path, with no domain-level explanation of what updating an introductory offer means, and no differentiation from the create/delete siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The PATCH verb implies an update operation, but the description gives no explicit when-to-use, when-not-to-use, or alternatives (e.g. create vs delete vs the parent subscription's offer relationship). No prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_localizations_create_instanceC
POST /v1/subscriptionLocalizations (POST /v1/subscriptionLocalizations) Body shape: see OpenAPI components.schemas.SubscriptionLocalizationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionLocalizationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, yet it discloses almost nothing: no auth requirements, no confirmation of what resource is created or returned, no error behavior. The only behavioral hint is that the body must conform to a named schema, which is a pointer rather than disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wasteful: it repeats the identical route twice in parentheses and then defers entirely to an external document. Nothing is front-loaded that helps an agent decide or act.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create operation with a required nested JSON:API body, no annotations, and no output schema, the description should at least summarize the body envelope or the created resource. Instead it outsources everything to an unnamed OpenAPI file, leaving the agent unable to construct a call from the tool definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and schema description coverage is 100%, so the baseline is 3. The description only repeats the schema's pointer to components.schemas.SubscriptionLocalizationCreateRequest, adding no field-level meaning beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP route 'POST /v1/subscriptionLocalizations' rather than describing the operation in plain terms. Creation is only inferred from the 'POST' verb and the '_create_instance' name; it never states 'creates a subscription localization.' With ~400 near-identical sibling endpoints, a REST-path echo does not differentiate this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of relevant alternatives such as subscription_localizations_v2_create_instance or subscription_group_localizations_create_instance. The agent gets nothing about which localization endpoint to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_localizations_delete_instanceD
DELETE /v1/subscriptionLocalizations/{id} (DELETE /v1/subscriptionLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether the delete is permanent or reversible, what side effects it has on the parent subscription, or what permissions/preconditions apply. The only signal (destructive HTTP DELETE) is already in the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Only one line, and half of it is a pointless duplicate of the same path in parentheses. It is short but not concisely informative—brevity here reflects under-specification, not efficient structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description should at minimum identify the resource being destroyed and its consequences. It omits everything an agent needs beyond the raw HTTP path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is exactly one required parameter ('id'), whose meaning is documented in the schema itself. The description adds no syntax, format, or scoping detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name as an HTTP path ('DELETE /v1/subscriptionLocalizations/{id}'), which is tautological rather than explanatory. It never says what a 'subscription localization' is or how this differs from the many sibling delete tools (subscription_localizations_v2_delete_instance, subscription_group_localizations_delete_instance, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or what alternatives exist. With 500+ sibling tools including several near-identical localization deletes, an agent gets zero routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_localizations_get_instanceC
GET /v1/subscriptionLocalizations/{id} (GET /v1/subscriptionLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_subscriptionLocalizations | No | the fields to include for returned resources of type subscriptionLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The 'GET' prefix weakly implies a read-only fetch, but that merely echoes the tool name; there is no mention of authentication needs, error behavior for invalid IDs, or whether the include/fields parameters alter the payload shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but not concise in a useful sense: the entire content is the identical endpoint string repeated twice in parentheses, which is pure redundancy with zero informational payload. There is no front-loaded statement of purpose to earn the space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter instance-fetch tool with no output schema and no annotations, the description should at minimum explain what the resource represents and what the include/fields parameters affect. It supplies none of that; only the input schema prevents this from being uncallable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'id', 'include', and both 'fields_*' parameters fully documented in the schema, so the baseline is 3. The description adds no syntax, defaults, or format hints beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the endpoint URL, duplicated in parentheses, with no explanation of what a 'subscription localization' resource actually is. The GET verb does indicate retrieval, but the text is functionally a tautology of the tool name and gives no way to distinguish it from subscription_localizations_v2_get_instance or subscriptions_subscription_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever. Nothing tells the agent when to fetch a subscription localization directly versus via a relationship or collection endpoint, and no prerequisites or context are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_localizations_update_instanceC
PATCH /v1/subscriptionLocalizations/{id} (PATCH /v1/subscriptionLocalizations/{id}) Body shape: see OpenAPI components.schemas.SubscriptionLocalizationUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionLocalizationUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It states PATCH and points at a body schema, but says nothing about permissions, partial-vs-full update semantics, side effects, idempotency, or response behavior for this mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the HTTP route, but the route is duplicated verbatim in parentheses, wasting space. It reads as an auto-generated route reference rather than a task-oriented sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an update mutation with a nested JSON:API body, no annotations, and no output schema, the description is too thin. It defers all field-level semantics to an external OpenAPI component and omits what the tool returns or requires operationally.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; both id and body are already documented in the schema. The description only restates the HTTP path id and repeats the body schema reference already present in the schema, adding no extra parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific HTTP verb and resource path (PATCH /v1/subscriptionLocalizations/{id}) and names the request body schema. However, it never says in plain language that this updates an existing subscription localization, and it does not distinguish this v1 tool from the v2 update sibling, so an agent must infer the operation from REST conventions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, prerequisites, or alternatives are provided. The PATCH path implies an update, but nothing routes the agent between this tool and subscription_localizations_v2_update_instance or explains when a PATCH is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_localizations_v2_create_instanceC
POST /v2/subscriptionLocalizations (POST /v2/subscriptionLocalizations) Body shape: see OpenAPI components.schemas.SubscriptionLocalizationV2CreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionLocalizationV2CreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about mutation side effects, required permissions, idempotency, or what the response contains. Its only substantive content is a pointer to the OpenAPI request schema, which is marginally useful but not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence wastes its opening by duplicating the path in parentheses and then defers all real content to an external schema reference. It is short but not information-dense, and the duplication signals machine-generated padding rather than deliberate structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested-object body, the description is far too thin: it does not describe the JSON:API envelope, required attributes, relationships, or the returned instance. Pointing at an external OpenAPI component leaves the agent without the information needed to construct a valid call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'body' parameter, so the baseline is 3. The description only restates the schema's own reference (components.schemas.SubscriptionLocalizationV2CreateRequest) without adding any meaning, required fields, or envelope details beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a method and path (POST /v2/subscriptionLocalizations), which implies creating a subscription localization resource, so the verb+resource is recoverable. However, it never states the purpose in natural language and offers no differentiation from the sibling subscription_localizations_create_instance (v1) or subscription_group_localizations_v2_create_instance. The parenthetical repeats the same path verbatim, adding no clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives despite many near-identical create-instance siblings (v1 localizations, subscription group localizations, in-app purchase localizations). 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.
subscription_localizations_v2_delete_instanceC
DELETE /v2/subscriptionLocalizations/{id} (DELETE /v2/subscriptionLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about irreversibility, cascading effects, required permissions, or error behavior for a destructive DELETE operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the entire description duplicates the identical route string twice in parentheses, which is pure waste rather than front-loaded value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, zero-annotation tool with no output schema, the description should explain consequences and safe usage. Restating the endpoint leaves an agent without enough context to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) with 100% schema description coverage, so the schema already documents it. The description adds no format, provenance, or constraint information beyond what the schema provides, warranting the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb and resource (DELETE /v2/subscriptionLocalizations/{id}), so an agent can tell it deletes a subscription localization. But it only restates the tool name/route, adding no scope, no explanation of what a subscription localization is, and no differentiation from the numerous sibling delete_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as subscription_localizations_delete_instance (v1) or the v2 update/get variants. No prerequisites or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_localizations_v2_get_instanceD
GET /v2/subscriptionLocalizations/{id} (GET /v2/subscriptionLocalizations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptionVersions | No | the fields to include for returned resources of type subscriptionVersions | |
| fields_subscriptionLocalizations | No | the fields to include for returned resources of type subscriptionLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers nothing: no statement about idempotency, permissions, what the response contains, or how sparse fieldsets/include behave. The endpoint path alone discloses nothing an agent cannot infer from the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, which is good, but the entire second half is a pointless verbatim duplication of the path in parentheses. Every character here fails the 'earns its place' test since it conveys zero additional information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter retrieval tool with no annotations and no output schema, the description should explain what resource is returned and how the sparse-fieldset parameters behave. It provides none of that, and the sibling set is far too crowded for a bare endpoint string to be sufficient context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (id, include, fields_subscriptionVersions, fields_subscriptionLocalizations all documented in the schema), so the structured field already does the work and the baseline is 3. The description adds no semantics on top of the schema, but no gap is left unaddressed either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the tool name/path: 'GET /v2/subscriptionLocalizations/{id}', duplicated verbatim in parentheses. It implies retrieval of a subscription localization by id, but adds no vocabulary that distinguishes it from the many sibling get_instance tools (e.g., subscription_localizations_get_instance, subscription_group_localizations_v2_get_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool versus alternatives. With dozens of sibling localization retrieval tools (subscription_localizations_get_instance, subscription_localizations_v2_* family, subscriptions_subscription_localizations_get_to_many_relationship), an agent gets no signal for choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_localizations_v2_update_instanceC
PATCH /v2/subscriptionLocalizations/{id} (PATCH /v2/subscriptionLocalizations/{id}) Body shape: see OpenAPI components.schemas.SubscriptionLocalizationV2UpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionLocalizationV2UpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. PATCH implies a partial mutation, but the description does not say what fields can be changed, whether omitted fields are preserved or cleared, what permissions are required, or what the response contains. The only added context is a pointer to the OpenAPI request schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the route is duplicated verbatim in parentheses, which is pure waste, and the rest defers to an external OpenAPI document rather than conveying information itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no annotations and no output schema, the description is thin. It relies on the agent having access to components.schemas.SubscriptionLocalizationV2UpdateRequest, which is not part of the provided schema, leaving the actual updatable fields undisclosed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, body) are documented in the schema. The description merely restates the body schema reference that the schema already contains, adding no meaning about the JSON:API envelope contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the HTTP route PATCH /v2/subscriptionLocalizations/{id}, from which an agent can infer this updates a v2 subscription localization. However, it never states the operation in plain language and offers no differentiation from the many sibling update tools (e.g. subscription_localizations_update_instance, subscription_group_localizations_v2_update_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, prerequisites, or which alternative (the non-v2 subscription_localizations_update_instance) applies. The agent must infer everything from the route string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_code_custom_codes_create_instanceD
POST /v1/subscriptionOfferCodeCustomCodes (POST /v1/subscriptionOfferCodeCustomCodes) Body shape: see OpenAPI components.schemas.SubscriptionOfferCodeCustomCodeCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionOfferCodeCustomCodeCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no auth requirements, no statement about what is created or whether it is reversible, no validation or error behavior, and no note that this is a write operation with side effects. Pointing at an OpenAPI schema is not a substitute for behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the endpoint, which is good, but it wastes space by repeating the path verbatim twice inside parentheses and echoing the schema reference already present in the input schema. It is brief without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation tool with no annotations, no output schema, and a nested JSON:API body whose real shape lives in an external component, the description leaves critical gaps: what fields are required, what the response contains, and what happens on conflict. It defers entirely to external documentation rather than making the tool callable on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single body parameter, so the schema already names the request component. The description adds only the note that the body is a 'full JSON:API envelope', a marginal hint beyond the schema's own reference, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply restates the HTTP method and URL path (POST /v1/subscriptionOfferCodeCustomCodes) that the tool name already encodes, giving no human-readable explanation of what a custom code is or what creating one accomplishes. It does not distinguish this tool from siblings like subscription_offer_code_one_time_use_codes_create_instance or in_app_purchase_offer_code_custom_codes_create_instance. This is effectively a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, what prerequisites exist (e.g., an existing offer code parent), or how it differs from the one-time-use-code and get/update siblings in the same family. The agent is left to infer everything from the endpoint name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_code_custom_codes_get_instanceC
GET /v1/subscriptionOfferCodeCustomCodes/{id} (GET /v1/subscriptionOfferCodeCustomCodes/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptionOfferCodes | No | the fields to include for returned resources of type subscriptionOfferCodes | |
| fields_subscriptionOfferCodeCustomCodes | No | the fields to include for returned resources of type subscriptionOfferCodeCustomCodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing. The 'GET' verb weakly signals a read-only operation, but there is no mention of authorization requirements, rate limits, error behavior, or response shape for what is a mutation-adjacent API surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it is not front-loaded with anything useful and the parenthetical simply repeats the path verbatim, so the text contains redundant material rather than earning each token. Brevity here reflects under-specification, not discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a GET-instance tool with four parameters and no output schema, the description should at minimum identify the resource being fetched. It gives no indication of what a subscriptionOfferCodeCustomCode is, so an agent cannot confidently distinguish it from the many similar offer-code tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters (id, include, and the two fields_* sparse-fieldset params) are documented in the schema itself, so the baseline is 3. The description adds no parameter meaning beyond echoing '{id}' from the path, which the schema already covers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw REST path 'GET /v1/subscriptionOfferCodeCustomCodes/{id}' repeated twice in parentheses. It implicitly conveys a single-resource read by id, but it never states in words what the resource is or what the tool returns, and the duplication is pure noise rather than clarification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over the sibling subscription_offer_codes_custom_codes_get_to_many_relationship or subscription_offer_code_custom_codes_update_instance, and no prerequisites. The agent is left to infer everything from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_code_custom_codes_update_instanceC
PATCH /v1/subscriptionOfferCodeCustomCodes/{id} (PATCH /v1/subscriptionOfferCodeCustomCodes/{id}) Body shape: see OpenAPI components.schemas.SubscriptionOfferCodeCustomCodeUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionOfferCodeCustomCodeUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full behavioral burden, and it says almost nothing beyond the PATCH verb, which weakly implies partial-update semantics. It omits permissions/auth needs, what happens to unspecified fields, and whether the custom code must already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the sentence is padded by repeating the identical endpoint in parentheses and by offloading body shape to an external reference instead of stating it. The core information is front-loaded but redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a body typed only as an empty free-form object pointing at an external OpenAPI schema. The description does nothing to compensate, leaving the agent without updatable fields, required envelope structure, or side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented in the schema), so baseline 3 applies. The description adds only a pointer to the same OpenAPI component name the schema already cites, contributing no extra syntax or field-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the HTTP endpoint (PATCH /v1/subscriptionOfferCodeCustomCodes/{id}), duplicated verbatim in parentheses. It restates the name/title as a route rather than describing in prose what the tool does, so an agent gets only a tautological restatement plus the REST verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of sibling tools such as subscription_offer_code_custom_codes_create_instance or the corresponding get_instance. An agent must infer the selection context 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.
subscription_offer_code_one_time_use_codes_create_instanceD
POST /v1/subscriptionOfferCodeOneTimeUseCodes (POST /v1/subscriptionOfferCodeOneTimeUseCodes) Body shape: see OpenAPI components.schemas.SubscriptionOfferCodeOneTimeUseCodeCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionOfferCodeOneTimeUseCodeCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it discloses almost nothing: no auth/scope requirements, no note that this is an irreversible mutation, no rate limits, and no statement of what the created resource looks like. The one useful hint is that the payload follows a JSON:API envelope, but that is a schema pointer rather than behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is short but wastes space duplicating the endpoint, including a redundant parenthetical repetition of 'POST /v1/subscriptionOfferCodeOneTimeUseCodes'. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation/create tool with no annotations, no output schema, and a nested JSON:API body object, the description is essentially a URL echo. An agent gets no idea of required body fields, side effects, or success/failure behavior, leaving it far short of what is needed to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single `body` parameter, so the schema already documents it. The description points at `components.schemas.SubscriptionOfferCodeOneTimeUseCodeCreateRequest` for the envelope shape, which is marginally helpful but duplicates what the schema property description already says; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as an HTTP path: 'POST /v1/subscriptionOfferCodeOneTimeUseCodes'. It conveys an implicit create action but adds no semantic purpose — nothing about what a one-time-use offer code is or why one would create it — and gives no differentiation from the many sibling `*_offer_code_*_create_instance` tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description never mentions the sibling `subscription_offer_code_custom_codes_create_instance` or `in_app_purchase_offer_code_one_time_use_codes_create_instance`, nor any precondition for creating a one-time-use code.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_code_one_time_use_codes_get_instanceD
GET /v1/subscriptionOfferCodeOneTimeUseCodes/{id} (GET /v1/subscriptionOfferCodeOneTimeUseCodes/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_subscriptionOfferCodes | No | the fields to include for returned resources of type subscriptionOfferCodes | |
| fields_subscriptionOfferCodeOneTimeUseCodes | No | the fields to include for returned resources of type subscriptionOfferCodeOneTimeUseCodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not that it is a read operation, not whether it requires authentication, and not what happens with unknown IDs. A raw URL path conveys no behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a verbatim duplicate of the path with no additive information, so brevity here reflects under-specification rather than economical writing. Nothing is front-loaded because there is nothing to load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must carry the semantics of a parameterized single-resource GET (sparse fieldsets via 'fields_*', relationship inclusion via 'include'), and it does not. The schema covers the parameters, but the description leaves an agent with no picture of the response or usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — 'id', 'include', 'fields_subscriptionOfferCodes' and 'fields_subscriptionOfferCodeOneTimeUseCodes' are each documented in the schema — so the baseline of 3 applies even though the description adds no parameter meaning of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP path repeated twice: 'GET /v1/subscriptionOfferCodeOneTimeUseCodes/{id}'. It does name a verb and a resource path, so it is not entirely meaningless, but it is essentially a tautological restatement of the tool name with no plain-language explanation of what the endpoint returns or why an agent would call it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all on when to use this tool versus the many sibling 'get_instance'/'get_to_many_relationship' tools for subscription offer code one-time use codes (create, update, values_get_to_one_related). No prerequisites or context are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_code_one_time_use_codes_update_instanceC
PATCH /v1/subscriptionOfferCodeOneTimeUseCodes/{id} (PATCH /v1/subscriptionOfferCodeOneTimeUseCodes/{id}) Body shape: see OpenAPI components.schemas.SubscriptionOfferCodeOneTimeUseCodeUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionOfferCodeOneTimeUseCodeUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a PATCH mutation but says nothing about permissions, whether the update is partial or full, what happens to unspecified fields, or rate limits. Pointing to an OpenAPI component name is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded with the endpoint, but the parenthetical duplication of the path is pure waste, and the OpenAPI reference is a schema pointer rather than useful prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, a nested body object, and no output schema, the description is far too thin. It never explains what fields can be updated or what the response will contain, leaving the agent dependent on external OpenAPI knowledge it may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there are only 2 parameters, so the baseline is 3. The description adds nothing about the id format or the JSON:API envelope beyond the schema's own pointer, though the body shape hint is marginally consistent with the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path, plus a pointer to an OpenAPI schema name. It never says in plain language that this updates a one-time-use code for a subscription offer, nor does it distinguish itself from sibling subscription_offer_code_one_time_use_codes_create_instance or _get_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, no mention of the sibling update tools (e.g. subscription_offer_code_custom_codes_update_instance) that an agent must choose between. The path alone is the only routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_codes_create_instanceD
POST /v1/subscriptionOfferCodes (POST /v1/subscriptionOfferCodes) Body shape: see OpenAPI components.schemas.SubscriptionOfferCodeCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionOfferCodeCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication needs, side effects of creating an offer code, idempotency, or rate limits. It only points to an external OpenAPI schema for the request body.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but wastes space by duplicating the same endpoint twice, once bare and once in parentheses. The body-shape pointer is front-loaded, but the redundant repetition is pure filler rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body object, the description is far from complete. It defers entirely to an external OpenAPI component, leaving an agent without the envelope structure or any guidance needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter with 100% schema description coverage, and the description merely reinforces that the body shape is defined by components.schemas.SubscriptionOfferCodeCreateRequest. This matches the baseline of 3 when the schema does the heavy lifting; the description adds no syntax, field, or envelope details of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path (POST /v1/subscriptionOfferCodes), which is a tautological restatement of the tool name rather than a plain-language statement of what it does. It gives no verb+resource description that would distinguish it from siblings like subscription_offer_codes_get_instance, subscription_offer_code_custom_codes_create_instance, or subscription_offer_code_one_time_use_codes_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives such as the custom-code or one-time-use-code variants of offer codes. An agent gets zero help choosing this tool over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_codes_custom_codes_get_to_many_relationshipC
GET /v1/subscriptionOfferCodes/{id}/relationships/customCodes (GET /v1/subscriptionOfferCodes/{id}/relationships/customCodes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The only disclosure is the implied read-only nature of GET; it says nothing about required parent-resource scope, pagination behavior despite a limit parameter, or what the relationship response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line, but the URL is printed twice, once in the path form and again verbatim in parentheses, so half the text is pure redundancy. It is front-loaded but the second half does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain the read behavior and return shape, and it does neither. An agent cannot tell from this line what a JSON:API relationship GET returns or how the limit parameter affects the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (id, limit) are documented in the schema itself, so this is the baseline case. The description only repeats the id placeholder in the URL and adds no meaning about the limit parameter's paging semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw endpoint path with the HTTP verb, restating what the tool name already encodes. It never explains what this relationship represents (the custom codes tied to a subscription offer code) or how it differs from the sibling subscription_offer_codes_custom_codes_get_to_many_related, which appears to hit the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when to prefer the get_to_many_related variant, or what prerequisite (a valid subscription offer code id) is needed. The endpoint path implies a read, but nothing guides tool selection against the many near-identical relationship siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_codes_get_instanceC
GET /v1/subscriptionOfferCodes/{id} (GET /v1/subscriptionOfferCodes/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_prices | No | maximum number of related prices returned (when they are included) | |
| limit_customCodes | No | maximum number of related customCodes returned (when they are included) | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| limit_oneTimeUseCodes | No | maximum number of related oneTimeUseCodes returned (when they are included) | |
| fields_subscriptionOfferCodes | No | the fields to include for returned resources of type subscriptionOfferCodes | |
| fields_subscriptionOfferCodePrices | No | the fields to include for returned resources of type subscriptionOfferCodePrices | |
| fields_subscriptionOfferCodeCustomCodes | No | the fields to include for returned resources of type subscriptionOfferCodeCustomCodes | |
| fields_subscriptionOfferCodeOneTimeUseCodes | No | the fields to include for returned resources of type subscriptionOfferCodeOneTimeUseCodes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The bare HTTP verb 'GET' weakly implies a read-only operation, but nothing is said about permissions, auth requirements, error behavior, or that 'include' expansions trigger extra fetches. For a 10-parameter read tool with zero annotation coverage this is inadequate disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than economy: the identical path string is duplicated in parentheses, adding no information. There is no front-loaded statement of what the tool returns or does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 10 parameters, no output schema, and no annotations, so the description needs to carry meaning about the returned resource and the include/fields expansion behavior. Instead it only echoes the URL, leaving an agent to reconstruct usage entirely from schema field names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each of the 10 parameters (id, include, limit_*, fields_*) has its own schema description, so the schema does the explanatory work. The description adds nothing beyond the path template, but the baseline of 3 applies when the schema is fully documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the endpoint path repeated twice verbatim: 'GET /v1/subscriptionOfferCodes/{id} (GET /v1/subscriptionOfferCodes/{id})'. It conveys that this fetches a single subscription offer code by ID, but that is effectively a restatement of the tool name with no plain-language purpose, no differentiation from siblings such as subscription_offer_codes_get_collection or the *_get_to_many_related variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The only implicit signal is the {id} path parameter, from which an agent can infer 'retrieve one resource', but nothing states prerequisites, when to prefer the relationship endpoints, or when to use the collection endpoint instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_codes_one_time_use_codes_get_to_many_relationshipD
GET /v1/subscriptionOfferCodes/{id}/relationships/oneTimeUseCodes (GET /v1/subscriptionOfferCodes/{id}/relationships/oneTimeUseCodes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, yet it discloses nothing beyond the implied GET. It says nothing about read-only safety, pagination behavior, or what the relationship returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is a duplicated copy of the tool's own endpoint path in parentheses, providing zero additional information. It is short only because it is empty, not because it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no output schema and no annotations, the description should explain what is returned and how pagination works. It provides none of that, leaving the agent unable to understand the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the 'id' and 'limit' parameters are documented in the schema. The description adds no parameter meaning, which is acceptable given full coverage, retaining the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP path restated twice: 'GET /v1/subscriptionOfferCodes/{id}/relationships/oneTimeUseCodes (GET /v1/subscriptionOfferCodes/{id}/relationships/oneTimeUseCodes)'. It implies a read of the one-time-use-codes relationship for a subscription offer code, but it offers no prose explanation and does not differentiate from the near-identical sibling subscription_offer_codes_one_time_use_codes_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the many sibling relationship tools. There is no mention of prerequisites, alternatives, or exclusions — only a bare endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_codes_prices_get_to_many_relationshipD
GET /v1/subscriptionOfferCodes/{id}/relationships/prices (GET /v1/subscriptionOfferCodes/{id}/relationships/prices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about pagination, auth, or that this is a read-only relationship listing. A bare path is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is a redundant restatement of the name with the path repeated twice in parentheses. Nothing is front-loaded with useful information because there is no useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing tool with no output schema and no annotations, the description should at least explain what a 'prices' relationship returns and how to page it. As written, an agent has only the raw endpoint to work from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the baseline of 3 applies; the description adds no syntax, format, or pagination semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name as a URL path: 'GET /v1/subscriptionOfferCodes/{id}/relationships/prices'. It technically conveys a GET on the prices relationship of a subscription offer code, but gives no plain-language statement of purpose and nothing that distinguishes it from siblings such as subscription_offer_codes_prices_get_to_many_related or in_app_purchase_offer_codes_prices_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the near-identical sibling tools the agent must choose between. The agent is left to infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_offer_codes_update_instanceC
PATCH /v1/subscriptionOfferCodes/{id} (PATCH /v1/subscriptionOfferCodes/{id}) Body shape: see OpenAPI components.schemas.SubscriptionOfferCodeUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionOfferCodeUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it largely fails to: it does not state that this is a mutation with irreversible effects, does not mention auth/permission requirements, and says nothing about partial vs. full replacement semantics. The only behavioral hint is that the body must follow a JSON:API envelope, which is minimal but nonzero.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its content on a verbatim duplication of the PATCH path in parentheses, which adds nothing. It is not front-loaded with purpose or usage; the only informational payload is the pointer to an external schema name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a free-form nested body object, the description should explain what fields can be updated and what the operation affects. Instead it defers everything to 'components.schemas.SubscriptionOfferCodeUpdateRequest', a reference the agent cannot resolve from the provided material, leaving it unable to construct a correct request with confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies — the schema already labels both parameters ('the id of the requested resource', 'JSON body. Shape: components.schemas.SubscriptionOfferCodeUpdateRequest.'). The description adds no field-level meaning; it repeats the ID by implication and points to the same schema name. However, since the body is an unconstrained object whose real shape is only defined in an external OpenAPI document not supplied to the agent, the description does not compensate for that opacity either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (PATCH) and resource path (/v1/subscriptionOfferCodes/{id}), so an agent can tell this is an update of an existing subscription offer code rather than the sibling get/create tools. However, it never states the purpose in plain language — what an offer code update accomplishes — and merely echoes the HTTP method line. This is minimally identifiable but not genuinely descriptive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g., required role, whether the offer code must be in a draft state), and no pointer to alternatives such as subscription_offer_codes_create_instance or subscription_offer_code_custom_codes_update_instance. The agent must infer 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.
subscription_plan_availabilities_available_territories_get_to_many_relationshipC
GET /v1/subscriptionPlanAvailabilities/{id}/relationships/availableTerritories (GET /v1/subscriptionPlanAvailabilities/{id}/relationships/availableTerritories)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The 'GET' token implies a read, but there is no mention of pagination behavior (a limit parameter exists), auth requirements, or what the response contains. Near-zero added context beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same endpoint string is duplicated in parentheses, which is pure waste. No front-loaded purpose statement precedes the technical path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a to-many relationship endpoint with no annotations and no output schema, the description should at least explain what is being listed and any pagination/auth expectations. It provides only the URL, leaving the agent to infer everything from the path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id, limit), so the schema already documents them fully. The description contributes nothing beyond the schema, which is the baseline-3 case rather than a deficit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP method plus the URL path, printed verbatim twice. It restates the tool name in path form rather than stating in plain language what the tool does (list the territories where a subscription plan availability is offered). A reader can infer the resource from the path, but no explanatory value is added.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. The siblings include subscription_plan_availabilities_available_territories_get_to_many_related and _replace_to_many_relationship, and nothing here explains which to choose or when. Only the raw path hints at the target resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_plan_availabilities_available_territories_replace_to_many_relationshipC
PATCH /v1/subscriptionPlanAvailabilities/{id}/relationships/availableTerritories (PATCH /v1/subscriptionPlanAvailabilities/{id}/relationships/availableTerritories) Body shape: see OpenAPI components.schemas.SubscriptionPlanAvailabilityAvailableTerritoriesLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionPlanAvailabilityAvailableTerritoriesLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the entire burden of behavioral disclosure, and it does not meet it. PATCH is disclosed only implicitly through the raw HTTP line, and nothing states that this is a full-set replacement (additions and removals), whether it is destructive to existing linkages, or what authorization the plan availability requires. Pointing at the request schema tells the agent the body shape but nothing about behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one substantive sentence duplicates the same PATCH endpoint twice in parentheses, which is pure waste, and the body-shape pointer leads with an OpenAPI component name rather than a human-readable purpose. The purpose is not front-loaded, and the text is a schema reference rather than a usable instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating relationship-replacement tool with no output schema and no annotations, the description should at minimum explain what replacing the available territories means and what the request envelope expects. Instead it delegates everything to an out-of-band OpenAPI component reference an agent cannot dereference, leaving the call semantics effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (id and body), and the schema already points the body at components.schemas.SubscriptionPlanAvailabilityAvailableTerritoriesLinkagesRequest, which the description merely echoes. Per the baseline rule for high schema coverage, a 3 is appropriate; the description contributes no additional parameter meaning such as the accepted JSON:API linkage format or id semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply repeats the name and the PATCH path verbatim ('PATCH /v1/subscriptionPlanAvailabilities/{id}/relationships/availableTerritories') twice. There is no plain-language statement of what the operation accomplishes, e.g. that it replaces the full set of territories in which a subscription plan availability is offered. The path implies a verb+resource, but the definition adds nothing beyond what the name already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given and no alternatives are named, even though obvious siblings exist (subscription_plan_availabilities_available_territories_get_to_many_relationship, ..._get_to_many_related, and the other *_replace_to_many_relationship tools). An agent must infer that this is the write counterpart to those reads. There is no statement of prerequisites or side effects to help select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_plan_availabilities_create_instanceC
POST /v1/subscriptionPlanAvailabilities (POST /v1/subscriptionPlanAvailabilities) Body shape: see OpenAPI components.schemas.SubscriptionPlanAvailabilityCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionPlanAvailabilityCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing beyond the POST verb implying a mutation. It does not state permissions required, side effects, whether creation requires a parent subscription reference, or idempotency behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint string is duplicated verbatim ("POST /v1/subscriptionPlanAvailabilities (POST /v1/subscriptionPlanAvailabilities)"), which is wasted space, and the text leads with mechanics rather than purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested request body, the description is inadequate. Pointing the agent to an external OpenAPI component (which the agent may not be able to resolve) leaves the payload construction effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single body parameter at 100% schema description coverage, the baseline is 3. The description adds a marginal hint about the JSON:API envelope, but otherwise only repeats the schema pointer already present in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the HTTP method and endpoint ("POST /v1/subscriptionPlanAvailabilities"), which is a tautology of the tool name's create_instance/POST semantics. It never explains in business terms what a 'subscription plan availability' is or what creating one accomplishes, so it does not distinguish itself from sibling create_instance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as subscription_plan_availabilities_update_instance or the GET/relationship siblings. The agent is left to infer context 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.
subscription_plan_availabilities_get_instanceD
GET /v1/subscriptionPlanAvailabilities/{id} (GET /v1/subscriptionPlanAvailabilities/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| limit_availableTerritories | No | maximum number of related availableTerritories returned (when they are included) | |
| fields_subscriptionPlanAvailabilities | No | the fields to include for returned resources of type subscriptionPlanAvailabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The HTTP GET method implies a read-only operation, which is some signal. However, with no annotations, the description fails to disclose return format, permissions, error behavior, or any details about the resource itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but redundantly duplicates the same endpoint twice. It is concise yet fails to use that brevity to convey any useful information, making it structurally weak rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters, no output schema, and no annotations, so the description carries the full burden of explaining the resource, behavior, and usage. It provides nothing beyond the raw endpoint, leaving the agent unable to understand what is being fetched.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all five parameters, so the schema already documents their meaning. The description adds nothing beyond the endpoint signature, which is acceptable given the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description simply repeats the HTTP endpoint and resource path, essentially restating the tool name. It does not explain what a 'subscriptionPlanAvailability' is or how this differs from sibling tools beyond the literal path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool, what it retrieves, or what alternatives exist. The agent is left to infer everything 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.
subscription_plan_availabilities_update_instanceC
PATCH /v1/subscriptionPlanAvailabilities/{id} (PATCH /v1/subscriptionPlanAvailabilities/{id}) Body shape: see OpenAPI components.schemas.SubscriptionPlanAvailabilityUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionPlanAvailabilityUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that the body follows a 'JSON:API envelope' per an external schema reference, but says nothing about partial vs full update semantics, required permissions, reversibility, or side effects on territory availabilities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence front-loads the endpoint but immediately duplicates it in a redundant parenthetical ('PATCH /v1/subscriptionPlanAvailabilities/{id} (PATCH /v1/subscriptionPlanAvailabilities/{id})'), which is pure noise and wastes the limited space available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a body defined as an empty schema object, the description should explain the update behavior and actual body fields. Instead it defers to an external OpenAPI reference the agent likely cannot resolve, leaving the call under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats the schema's own pointer to 'components.schemas.SubscriptionPlanAvailabilityUpdateRequest', which is marginally useful given the body parameter is defined only as an opaque object, but it does not explain any actual field semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb and resource path (PATCH /v1/subscriptionPlanAvailabilities/{id}), which tells the agent it mutates an existing subscription plan availability. However, this largely restates what the tool name 'subscription_plan_availabilities_update_instance' already implies and provides no stated scope beyond the endpoint, so it is adequate but not sharp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling update/create tools (e.g. subscription_plan_availabilities_create_instance or _get_instance), no prerequisites or permissions noted, and no exclusions. The agent must infer usage 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.
subscription_price_points_equalizations_get_to_many_relationshipD
GET /v1/subscriptionPricePoints/{id}/relationships/equalizations (GET /v1/subscriptionPricePoints/{id}/relationships/equalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not that this is a read-only relationship traversal, not pagination behavior, not whether equalizations are returned as identifiers or full resources. The duplicated path adds zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant, repeating the same method and path twice with no informational gain. It is under-specified rather than concise, and nothing is front-loaded that an agent could use.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a relationship endpoint that has multiple near-identical siblings, the description should explain what equalizations are and how this differs from the related variant. It provides none of that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with two documented parameters (id and limit), so the schema already carries the parameter semantics and the description need not compensate. The description adds nothing beyond the schema, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and URL path, duplicated verbatim in parentheses. It conveys no purpose beyond what the tool name already encodes, and it does nothing to distinguish this tool from siblings like subscription_price_points_equalizations_get_to_many_related or subscription_price_points_adjusted_equalizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the closely named related/relationship siblings, no prerequisites, and no context about the subscription price point resource being traversed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_price_points_get_instanceC
GET /v1/subscriptionPricePoints/{id} (GET /v1/subscriptionPricePoints/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_territories | No | the fields to include for returned resources of type territories | |
| fields_subscriptionPricePoints | No | the fields to include for returned resources of type subscriptionPricePoints |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it delivers almost nothing. The 'GET' verb implies a read, but there is no mention of authentication requirements, rate limits, whether the resource is cached, or what the include/fields expansions do at runtime. For a 4-parameter tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is very short and front-loaded, which is good, but the parenthetical duplicate of the same path is pure waste that earns nothing. It is concise by omission rather than by discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and four parameters, the description needs to explain what the endpoint returns and how the include/fields parameters shape the response. It supplies none of that, leaving an agent to infer everything from the path alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, fields_territories, and fields_subscriptionPricePoints. The description adds no semantics beyond the schema, so the baseline of 3 applies rather than a penalty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is 'GET /v1/subscriptionPricePoints/{id} (GET /v1/subscriptionPricePoints/{id})', which restates the tool name in URL form and repeats it verbatim in parentheses. It never explains what a subscription price point is or why an agent would fetch one. Only the verb+resource embedded in the path keeps it above a pure tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the many plausible alternatives (subscriptions_price_points_get_to_many_relationship, subscription_price_points_equalizations_get_to_many_relationship, in_app_purchases_v2_price_points_get_to_many_related). The URL implies fetching a single resource by id, which is the only implicit usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_prices_create_instanceC
POST /v1/subscriptionPrices (POST /v1/subscriptionPrices) Body shape: see OpenAPI components.schemas.SubscriptionPriceCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionPriceCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only names the endpoint and points at the request schema. It says nothing about authentication requirements, side effects, idempotency, or the consequences of creating a price, which matters for a mutating POST.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the endpoint, but it wastes space duplicating the path in parentheses ("POST /v1/subscriptionPrices (POST /v1/subscriptionPrices)") and the schema pointer does not compensate for the missing purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a loosely-typed nested body (additionalProperties: {}), the description is too thin: it does not explain required body fields, relationships, or outcomes, leaving the agent under-informed about how to construct a valid create call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'body' parameter, and the description usefully redirects to components.schemas.SubscriptionPriceCreateRequest. Baseline 3 applies since the schema does the heavy lifting and the description adds only a pointer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ("POST /v1/subscriptionPrices"), which essentially repeats what the tool name 'subscription_prices_create_instance' already conveys. It never explains what a subscription price is or what the operation actually accomplishes, so an agent gets no purpose beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this tool versus related siblings such as subscription_prices_delete_instance or the subscriptions_prices_get_to_many_relationship family, nor any note on prerequisites (e.g., which subscription or price point the body must reference). No usage guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_prices_delete_instanceD
DELETE /v1/subscriptionPrices/{id} (DELETE /v1/subscriptionPrices/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it says nothing about the consequences of deletion (irreversibility, cascade to related price records), required permissions, or expected response. A destructive operation is described only by its HTTP verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely wasted: the same path expression appears twice in parentheses, which is redundant padding rather than front-loaded information. No sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, unannotated endpoint with no output schema, the description provides no information an agent needs — what gets deleted, side effects, or error/return behavior. It is inadequate for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already documents it. The description adds nothing beyond the path placeholder, which matches the baseline of 3 when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name and merely repeats the HTTP path twice ('DELETE /v1/subscriptionPrices/{id} (DELETE /v1/subscriptionPrices/{id})'). It technically conveys verb and resource, but adds no differentiation from the many sibling *_delete_instance tools and reads as a tautology of the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as subscriptions_prices_delete_to_many_relationship or the other price-delete siblings. No prerequisites, no context, no conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_promotional_offers_create_instanceC
POST /v1/subscriptionPromotionalOffers (POST /v1/subscriptionPromotionalOffers) Body shape: see OpenAPI components.schemas.SubscriptionPromotionalOfferCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionPromotionalOfferCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses only that this is a POST (a mutation). It says nothing about required permissions/scopes, side effects, idempotency, or whether the offer becomes immediately active — all critical for a mutation endpoint with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes half of itself on a verbatim parenthetical duplicate of the endpoint ('(POST /v1/subscriptionPromotionalOffers)'). It is not front-loaded with actionable content and contains no sentence that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and a nested body object whose actual fields are not described anywhere in the tool surface (the schema just says additionalProperties: {} and defers to an external OpenAPI component). An agent cannot tell from the definition alone what must go in the body or what it will get back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required body parameter at 100% schema coverage, and the schema already names the shape (components.schemas.SubscriptionPromotionalOfferCreateRequest). The description merely repeats that same pointer, adding no field-level meaning beyond the schema, which matches the baseline 3 for a fully covered parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description amounts to restating the HTTP method and path ('POST /v1/subscriptionPromotionalOffers') already encoded in the tool name, with no explanation of what a subscription promotional offer is or what creating one accomplishes. It does not distinguish this operation from sibling creation tools such as subscription_promotional_offers_get_instance or win_back_offers_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool, what preconditions exist (e.g. an existing subscription and available price points), or which sibling to prefer. The description offers no conditions, exclusions, or alternative routes to a create operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_promotional_offers_delete_instanceD
DELETE /v1/subscriptionPromotionalOffers/{id} (DELETE /v1/subscriptionPromotionalOffers/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about destructiveness, irreversibility, cascade effects on related price/offer data, or required permissions. The raw 'DELETE' token is the only hint of a mutation, which the tool name already conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but redundant: the same path 'DELETE /v1/subscriptionPromotionalOffers/{id}' appears twice, once in parentheses. The duplication wastes space rather than front-loading useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations and no output schema, the description should explain permanence, permissions, and error behavior. None of that is present, leaving the agent with no operational context for invoking a delete correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter 'id' with 100% schema description coverage ('the id of the requested resource'), so the schema already documents it fully. The description adds no syntax, format, or sourcing detail beyond that, which lands at the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only echoes the HTTP method and path for the same resource named in the tool ID, so it restates rather than explains purpose. It does not distinguish this delete from its obvious siblings (subscription_promotional_offers_get_instance, subscription_promotional_offers_update_instance) beyond the verb implied by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as the get or update variants on the same resource. The agent gets nothing about when deletion is appropriate versus updating the promotional offer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_promotional_offers_get_instanceC
GET /v1/subscriptionPromotionalOffers/{id} (GET /v1/subscriptionPromotionalOffers/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_prices | No | maximum number of related prices returned (when they are included) | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_subscriptionPromotionalOffers | No | the fields to include for returned resources of type subscriptionPromotionalOffers | |
| fields_subscriptionPromotionalOfferPrices | No | the fields to include for returned resources of type subscriptionPromotionalOfferPrices |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. The literal GET verb weakly implies a read-only, non-destructive call, but there is no mention of authentication scope, pagination, error behavior, or whether include/sparse-fieldset queries have side costs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the sole sentence is duplicated verbatim in parentheses, which is pure waste rather than conciseness. Nothing is front-loaded because there is no explanatory content at all, leaving the definition under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter endpoint involving relationship includes, price limits, and sparse fieldsets, the description explains none of that behavior, and there is no output schema to lean on. An agent learns only the HTTP method and path, which it could largely infer from the name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, limit_prices, and the three sparse-fieldset parameters. The description adds nothing beyond the path placeholder {id}, so the baseline 3 for high-coverage schemas applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only a REST path restated twice ("GET /v1/subscriptionPromotionalOffers/{id} (GET /v1/subscriptionPromotionalOffers/{id})"), which essentially repeats the tool name's get_instance semantics. It implies retrieval of one promotional offer but offers no readable statement of purpose and does not distinguish this from sibling create/update/delete or the prices relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or named alternatives appear anywhere. Siblings such as subscription_promotional_offers_prices_get_to_many_related, subscription_promotional_offers_update_instance, and subscription_promotional_offers_delete_instance exist, yet the description gives zero routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_promotional_offers_prices_get_to_many_relationshipC
GET /v1/subscriptionPromotionalOffers/{id}/relationships/prices (GET /v1/subscriptionPromotionalOffers/{id}/relationships/prices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it supplies almost none. The 'GET' verb implies a read, but there is nothing about pagination behavior (implied by the limit parameter), authentication requirements, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short line, so there is no padding to trim, but the line is pure duplication of the name and path, meaning no sentence earns its place by adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read endpoint with no annotations and no output schema, the description should at least clarify the relationship fetch semantics and pagination via limit. It leaves the agent without the context needed to choose this tool over its _related twin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline of 3 applies. The description adds no syntax, format, or usage nuance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is a verbatim restatement of the tool name and URL path, so it adds no meaning beyond what the identifier already conveys. It does not explain what a prices relationship for a subscription promotional offer is, nor distinguish it from the almost identically named subscription_promotional_offers_prices_get_to_many_related sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the relationship-vs-related alternative that sits right next to it in the tool list. The agent must infer usage entirely from the endpoint shape.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_promotional_offers_update_instanceC
PATCH /v1/subscriptionPromotionalOffers/{id} (PATCH /v1/subscriptionPromotionalOffers/{id}) Body shape: see OpenAPI components.schemas.SubscriptionPromotionalOfferUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionPromotionalOfferUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no indication of whether updates are partial or full-replacement (PATCH semantics), what fields are mutable, or side effects on related prices. Pointing to an external OpenAPI component is a schema reference, not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but the endpoint is stated twice in immediate succession ('PATCH /v1/subscriptionPromotionalOffers/{id} (PATCH /v1/subscriptionPromotionalOffers/{id})'), which is pure redundancy. Remaining content is front-loaded, so it is a minor structural flaw rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body pointing only at an external schema reference, the description does far too little. It neither explains the request payload nor what the response returns, leaving the agent without enough to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description merely repeats the schema's own pointer to components.schemas.SubscriptionPromotionalOfferUpdateRequest, adding no syntax or format detail beyond what the id and body properties already document. The body remains an opaque free-form object in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP method (PATCH) and the exact resource endpoint (/v1/subscriptionPromotionalOffers/{id}), so an agent can infer this updates a single subscription promotional offer. However, it is essentially a restatement of the tool name in path form with no plain-language framing, and it does not distinguish itself from siblings such as subscription_promotional_offers_create_instance or delete_instance beyond the path. The duplicated parenthetical adds no clarifying detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling create/get/delete instance tools or the promotional-offer relationship tools. No prerequisites, no exclusions, no alternative routing. The agent must infer usage entirely from the name and path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_app_store_review_screenshot_get_to_one_relationshipD
GET /v1/subscriptions/{id}/relationships/appStoreReviewScreenshot (GET /v1/subscriptions/{id}/relationships/appStoreReviewScreenshot)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the route: not that it is a read-only fetch, not authorization requirements, not pagination or error behavior, not the fact it returns a relationship linkage. The bare 'GET' is the only behavioral hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but every character is waste: the same URL string appears twice, the second time pointlessly wrapped in parentheses. There is no front-loaded plain-language statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter relationship fetch this could be adequate, but with no annotations and no output schema the description should at least state that it returns the App Store review screenshot resource for a subscription. As written, the agent must infer purpose entirely from the path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single 'id' parameter already documented as 'the id of the requested resource', so the baseline is 3. The description adds no meaning beyond the schema — it does not clarify that the id is the subscription's id rather than the screenshot's.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP route 'GET /v1/subscriptions/{id}/relationships/appStoreReviewScreenshot' repeated verbatim inside parentheses. It restates the tool name/path rather than explaining in words that it retrieves the App Store review screenshot associated with a subscription. An agent gets a verb and a resource path but no human-readable statement of purpose, and there are several near-identical siblings (e.g. subscriptions_app_store_review_screenshot_get_to_one_related, in_app_purchases_v2_app_store_review_screenshot_get_to_one_relationship) that it cannot be distinguished from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus the many sibling relationship tools, no prerequisites, and no mention of alternatives. The parenthetical duplication provides no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_create_instanceC
POST /v1/subscriptions (POST /v1/subscriptions) Body shape: see OpenAPI components.schemas.SubscriptionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a create (POST) and points at the request envelope, but discloses nothing about authentication, side effects, idempotency, or what happens on success/failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical '(POST /v1/subscriptions)' duplicates the route already given at the start, so a full sentence is spent restating the same information rather than adding value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation endpoint with no annotations and no output schema, and the description does not compensate: it omits auth requirements, side effects, and any hint of the response. For a create tool in a large API surface, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single body parameter, so the schema already documents it. The pointer to components.schemas.SubscriptionCreateRequest adds a marginal locator but no field-level semantics beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route 'POST /v1/subscriptions' (twice), which the tool name subscriptions_create_instance already conveys. It never explains what a subscription is or how creating one differs from sibling create tools like subscription_groups_create_instance or subscription_versions_create_instance, so it reads as a tautology rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives despite hundreds of sibling create tools. An agent gets no help deciding whether this is the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_delete_instanceC
DELETE /v1/subscriptions/{id} (DELETE /v1/subscriptions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether deletion is irreversible, what happens to existing subscribers or related resources (localizations, prices, offer codes), or what permissions are required. Only the HTTP verb hints at mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loaded, but the same method and path are repeated twice in parentheses with zero added information, which is wasted text rather than earned conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, single-parameter operation with no annotations and no output schema, the description should at minimum state irreversibility and any cascading effects. It supplies none of that, leaving the agent reliant on inference from the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents "the id of the requested resource." The description adds no format, constraint, or semantic detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The text is essentially the tool name restated as an HTTP method plus path ("DELETE /v1/subscriptions/{id}"), duplicated verbatim in parentheses. It signals a delete on the subscriptions resource, but adds no scope, no differentiation from the many sibling delete_instance tools, and no insight beyond the identifier already in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is given. An agent cannot tell from the description when deleting a subscription is appropriate versus updating or archiving it, nor what prerequisites apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_get_instanceD
GET /v1/subscriptions/{id} (GET /v1/subscriptions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_images | No | maximum number of related images returned (when they are included) | |
| limit_prices | No | maximum number of related prices returned (when they are included) | |
| limit_versions | No | maximum number of related versions returned (when they are included) | |
| limit_offerCodes | No | maximum number of related offerCodes returned (when they are included) | |
| limit_winBackOffers | No | maximum number of related winBackOffers returned (when they are included) | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_winBackOffers | No | the fields to include for returned resources of type winBackOffers | |
| limit_promotionalOffers | No | maximum number of related promotionalOffers returned (when they are included) | |
| fields_promotedPurchases | No | the fields to include for returned resources of type promotedPurchases | |
| limit_introductoryOffers | No | maximum number of related introductoryOffers returned (when they are included) | |
| limit_planAvailabilities | No | maximum number of related planAvailabilities returned (when they are included) | |
| fields_subscriptionGroups | No | the fields to include for returned resources of type subscriptionGroups | |
| fields_subscriptionImages | No | the fields to include for returned resources of type subscriptionImages | |
| fields_subscriptionPrices | No | the fields to include for returned resources of type subscriptionPrices | |
| fields_subscriptionVersions | No | the fields to include for returned resources of type subscriptionVersions | |
| fields_subscriptionOfferCodes | No | the fields to include for returned resources of type subscriptionOfferCodes | |
| limit_subscriptionLocalizations | No | maximum number of related subscriptionLocalizations returned (when they are included) | |
| fields_subscriptionLocalizations | No | the fields to include for returned resources of type subscriptionLocalizations | |
| fields_subscriptionAvailabilities | No | the fields to include for returned resources of type subscriptionAvailabilities | |
| fields_subscriptionPromotionalOffers | No | the fields to include for returned resources of type subscriptionPromotionalOffers | |
| fields_subscriptionIntroductoryOffers | No | the fields to include for returned resources of type subscriptionIntroductoryOffers | |
| fields_subscriptionPlanAvailabilities | No | the fields to include for returned resources of type subscriptionPlanAvailabilities | |
| fields_subscriptionAppStoreReviewScreenshots | No | the fields to include for returned resources of type subscriptionAppStoreReviewScreenshots |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no read-only/safety profile, no auth requirements, no error behavior for a missing id, and no explanation of how the numerous include/limit/fields parameters affect the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is brief, but the parenthetical literally repeats the string before it, so half the text does not earn its place. Brevity here reflects under-specification rather than efficient concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 25 parameters, no annotations, and no output schema, the description is nowhere near adequate. It gives the agent nothing about the resource, its relationships, or expected return shape for a complex SPIs endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (25 params, all with descriptions), so the schema already documents id, include, limits, and field selectors. The description adds no meaning beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route 'GET /v1/subscriptions/{id}' duplicated in parentheses. It restates the tool name (subscriptions_get_instance) in URL form without explaining what a subscription resource is or what the call returns, so it is effectively a tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this single-resource fetch versus siblings such as subscriptions_create_instance, subscriptions_update_instance, or the many subscriptions_*_get_to_many_relationship tools. 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.
subscriptions_images_get_to_many_relationshipD
GET /v1/subscriptions/{id}/relationships/images (GET /v1/subscriptions/{id}/relationships/images)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not pagination behavior (despite a limit parameter), not auth/permission requirements, not whether results are filtered or sorted. It also doesn't mention the read-only nature that the HTTP method implies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency — the single sentence is a duplicated URL with zero informational content and no front-loaded explanation of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-relationship tool with no annotations and no output schema, the description should at least state that it returns the images associated with a subscription and how paging works. It supplies neither, leaving the agent to guess from the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'id' and 'limit'. The description adds nothing beyond the path, but per the baseline rule for high-coverage schemas, 3 is the appropriate ceiling here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw HTTP path echoed twice, with no verb or plain-language statement of what the tool does. An agent can infer it retrieves the images relationship for a subscription from the URL, but that is reconstruction, not description — this is essentially a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative guidance is offered. Notably, the sibling subscriptions_images_get_to_many_related (the 'related' variant) is never distinguished, so the agent has no basis to choose between the two.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_introductory_offers_delete_to_many_relationshipC
DELETE /v1/subscriptions/{id}/relationships/introductoryOffers (DELETE /v1/subscriptions/{id}/relationships/introductoryOffers) Body shape: see OpenAPI components.schemas.SubscriptionIntroductoryOffersLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionIntroductoryOffersLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosure. It signals a destructive DELETE, but does not state what is actually removed (relationship linkages vs. the introductory offers themselves), whether the change is reversible, or any auth/rate-limit behavior. For a mutation tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description wastes its opening by duplicating the identical URL twice in a row (once bare, once in parentheses), which adds no information. The remaining sentence is a pointer to an external schema rather than a front-loaded explanation of the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a delete-relationship tool with a nested-object JSON:API body, no annotations, and no output schema, the description is thin. Pointing to components.schemas.SubscriptionIntroductoryOffersLinkagesRequest covers body shape, but the effect of the operation, required auth, and semantics of unlinking are all absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents both `id` and `body` (including the SubscriptionIntroductoryOffersLinkagesRequest shape). The description adds nothing beyond pointing to the same OpenAPI component, so the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys a specific verb (DELETE) and resource (the introductoryOffers relationship on a subscription), and the DELETE prefix distinguishes it from the sibling subscriptions_introductory_offers_get_to_many_relationship. However, it is essentially a restatement of the tool name in URL form rather than a natural-language statement of what the operation accomplishes, so the purpose is deducible rather than clearly explained.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no mention of prerequisites (e.g. that it detaches rather than deletes the offers), and no explicit contrast or exclusions relative to alternatives. The only hint of usage is the HTTP DELETE verb embedded in the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_introductory_offers_get_to_many_relationshipD
GET /v1/subscriptions/{id}/relationships/introductoryOffers (GET /v1/subscriptions/{id}/relationships/introductoryOffers)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior — no auth requirements, no pagination semantics (despite a 'limit' param), no indication of what the relationship linkage returns. A bare HTTP verb and path is not behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is short but structurally defective: the identical path string is duplicated inside parentheses, wasting the only content it has. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch endpoint with no annotations and no output schema, the description should explain what the relation represents and how results are shaped. It provides none of this, leaving the agent unable to call it knowledgeably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the 'id' and 'limit' params are already documented in the schema, establishing the baseline of 3. The description adds nothing about parameter meaning beyond embedding the {id} placeholder in the path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP path 'GET /v1/subscriptions/{id}/relationships/introductoryOffers', which merely restates the tool name in URL form. It doesn't add a plain-language statement of what the endpoint returns or how it differs from the many sibling 'get_to_many' endpoints. An agent learns nothing beyond what the name already encodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus alternatives. In particular, the sibling subscriptions_introductory_offers_get_to_many_related exists, and the relationship-vs-related distinction is never explained, leaving the selection ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_offer_codes_get_to_many_relationshipD
GET /v1/subscriptions/{id}/relationships/offerCodes (GET /v1/subscriptions/{id}/relationships/offerCodes)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior, no auth/permission requirements, no return shape. The bare 'GET' verb weakly implies a read, but that is already in the tool name, not added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but not concise in a useful sense: the identical endpoint string is repeated in parentheses, which is redundant padding rather than information. Nothing is front-loaded because there is no substance to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-listing tool with no annotations, no output schema, and no prose, the description is completely inadequate. An agent cannot tell what an 'offerCode' relationship contains, how results are paginated, or when this differs from the many related sibling endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both 'id' and 'limit' documented in the schema, so the baseline of 3 applies. The description adds no syntax or format detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route 'GET /v1/subscriptions/{id}/relationships/offerCodes' twice, which is effectively a tautology of the tool name. It does not state in prose what the tool returns or distinguishes it from siblings like subscriptions_offer_codes_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives (e.g., the '..._get_to_many_related' variant or subscription_offer_codes_get_instance). The agent must infer everything from the endpoint path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_plan_availabilities_get_to_many_relationshipC
GET /v1/subscriptions/{id}/relationships/planAvailabilities (GET /v1/subscriptions/{id}/relationships/planAvailabilities)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. There is no mention of authentication requirements, pagination behavior (despite a limit parameter), ordering, or what the returned relationship objects contain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single line is not concise in a useful sense: the parenthetical duplicates the identical string already given, so every token is redundant rather than informative. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of behavioral context, and it supplies none. For a relationship-listing endpoint, an agent gets no idea what the returned plan availabilities represent or how they relate to the parent subscription.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are already documented in the schema and the description need not duplicate them. The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the URL path repeated verbatim in parentheses, which restates the tool name rather than explaining it. It does not say what a 'plan availability' relationship is or what listing them yields, so an agent cannot distinguish it from siblings like subscriptions_plan_availabilities_get_to_many_related or subscription_plan_availabilities_available_territories_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no guidance on choosing between this and the many adjacent relationship tools. The HTTP path implies a read of a related collection, but nothing in the text tells the agent when this tool is the right one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_price_points_get_to_many_relationshipC
GET /v1/subscriptions/{id}/relationships/pricePoints (GET /v1/subscriptions/{id}/relationships/pricePoints)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about pagination, ordering, permissions, or what the list contains. It is a bare endpoint echo.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a duplicated URL with the parenthetical repeating the exact same string, which is pure waste and not front-loaded with useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should explain the relationship and return shape, but it says nothing. For a list-relationship endpoint, an agent gets no indication of what comes back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema, but it does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only repeats the HTTP path 'GET /v1/subscriptions/{id}/relationships/pricePoints' verbatim, including a redundant parenthetical copy. It effectively restates the tool name rather than stating in words what the tool returns, so purpose is inferred only from the URL tokens.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as subscriptions_price_points_get_to_many_related or subscription_price_points_get_instance. The only clue is the GET verb implying a read of a relationship list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_prices_delete_to_many_relationshipC
DELETE /v1/subscriptions/{id}/relationships/prices (DELETE /v1/subscriptions/{id}/relationships/prices) Body shape: see OpenAPI components.schemas.SubscriptionPricesLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionPricesLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It only implies mutation via the DELETE verb; it does not say what is destroyed (the relationship only, or the underlying price objects), whether it is reversible, what permissions are needed, or how the JSON:API linkage body affects the result. That is a significant gap for a destructive to-many delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the endpoint path is repeated twice with zero added value, and it leads with a URL rather than a purpose statement. Brevity is present but not well spent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive relationship-delete with a nested, opaque JSON:API body, no annotations, and no output schema, the description leaves the agent without the essentials: what actually happens to the prices, or an inline description of the linkage payload the agent must construct. Pointing at an external OpenAPI component the agent cannot see does not fill the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'body' documented in the schema, so the baseline is 3. The description's reference to components.schemas.SubscriptionPricesLinkagesRequest duplicates the schema's own body description and adds no new syntax or meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description conveys an HTTP verb (DELETE) on a specific resource path (subscriptions/{id}/relationships/prices), so the operation is inferable. However it is stated only as a raw endpoint URL, duplicated verbatim, with no plain-language statement of what is being removed (price linkages vs. price records) and no differentiation from the sibling subscriptions_prices_get_to_many_relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling GET/replace operations. The agent is given only the endpoint and must guess the context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_prices_get_to_many_relationshipC
GET /v1/subscriptions/{id}/relationships/prices (GET /v1/subscriptions/{id}/relationships/prices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The HTTP verb GET implies a read-only operation, but the description does not disclose pagination behavior, authorization requirements, response shape, or any other operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but consists of a duplicated endpoint path with no explanatory content. It is not front-loaded with useful information, and the repetition wastes the only sentence it has.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter relationship list tool with no annotations and no output schema, the description is far too thin. It does not explain what prices are returned, how pagination works, or what the id refers to beyond the schema's minimal note.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the id and limit parameters are already documented in the schema. The description adds no additional meaning for either parameter; baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only repeats the HTTP method and path, effectively restating the tool name rather than explaining the operation in natural language. It hints at retrieving the prices relationship for a subscription, but it offers no clarification or differentiation from the sibling subscriptions_prices_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as the related endpoint or other subscription price tools. The agent must infer everything from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_promoted_purchase_get_to_one_relationshipC
GET /v1/subscriptions/{id}/relationships/promotedPurchase (GET /v1/subscriptions/{id}/relationships/promotedPurchase)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and delivers none of it. It does not state that this is a read-only operation, what the response shape is (to-one relationship linkage vs. full resource), or any auth/scope requirement beyond the raw path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repetition of the exact same endpoint string is pure waste with zero informational value. Nothing is front-loaded because there is no content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and one param, the description needed to explain the return semantics of a to-one relationship endpoint. Instead it only echoes the URL, leaving the agent unable to tell what it will receive or how it differs from the 'related' variant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so the schema already documents it fully and the baseline is 3. The description adds no format, source, or meaning beyond what the schema supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the HTTP route restated twice ('GET /v1/subscriptions/{id}/relationships/promotedPurchase (GET /v1/subscriptions/{id}/relationships/promotedPurchase)'). It conveys the verb and path but adds no explanation of what the call actually does, and it makes no attempt to distinguish itself from its near-identical sibling subscriptions_promoted_purchase_get_to_one_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the 'related' sibling that would be the obvious alternative. The agent must infer from the name alone that this returns a relationship linkage rather than the promoted purchase resource itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_promotional_offers_get_to_many_relationshipD
GET /v1/subscriptions/{id}/relationships/promotionalOffers (GET /v1/subscriptions/{id}/relationships/promotionalOffers)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it delivers almost nothing: no auth requirements, no pagination behavior despite a limit parameter existing, no statement of what the payload contains (linkage identifiers vs. full resources). The only signal is the implicit read-only nature of an HTTP GET, which is thin credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same URL string is printed twice with zero added information, which is pure redundancy rather than conciseness. There is no front-loaded explanation of intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship endpoint with no annotations and no output schema, the agent has no idea whether the response is a list of resource IDs or full objects, how pagination works, or how it differs from the sibling 'related' tool. Nothing an agent needs in order to call it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (id, limit) are documented in the schema, so the baseline of 3 applies. The description adds no syntax, format, or default information beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare URL restatement of the tool name, duplicated verbatim in parentheses. It does encode a verb (GET) and a resource path (subscriptions/{id}/relationships/promotionalOffers), so an agent can dimly infer it lists promotional-offer relationships for a subscription, but there is no prose explaining the operation and nothing distinguishes it from the sibling subscriptions_promotional_offers_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of the near-identical 'related' sibling that also returns promotional offers. The agent is left to guess which of the two endpoints it should call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_subscription_availability_get_to_one_relationshipC
[DEPRECATED] GET /v1/subscriptions/{id}/relationships/subscriptionAvailability (GET /v1/subscriptions/{id}/relationships/subscriptionAvailability)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the deprecation warning: no auth requirements, no indication of whether the availability object is included, no pagination or rate-limit context. The deprecation flag is the single piece of added behavioral information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the URL is duplicated verbatim inside parentheses with no added value, which is wasted space. Front-loading the deprecation notice is the one structural positive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations mean the description must carry more weight, yet it supplies only a deprecation warning with no migration pointer to the non-deprecated sibling. For a relationship-fetch tool the agent needs to know what happens to the id and where to go instead, both absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already documents it fully. The description adds nothing about id semantics, which is acceptable at baseline when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw URL path restated twice, with no plain-language verb-and-resource statement. An agent can infer it retrieves the subscriptionAvailability relationship for a subscription, but the description is a tautological restatement of the tool name rather than an explanation of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the [DEPRECATED] tag, which usefully signals avoidance but does not name the replacement — despite subscriptions_subscription_availability_get_to_one_related existing as a clear sibling. No when-to-use or when-not-to-use context beyond the deprecation marker.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_subscription_localizations_get_to_many_relationshipC
GET /v1/subscriptions/{id}/relationships/subscriptionLocalizations (GET /v1/subscriptions/{id}/relationships/subscriptionLocalizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses almost nothing. 'GET' implies a read, but pagination behavior, response shape, and the relationship-vs-related distinction are all unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single line is pure duplication of the endpoint path stated twice, so nothing is front-loaded or earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and two parameters, an adequate description would need to explain that this returns a paged to-many relationship collection; none of that is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are already documented in the schema. The description adds no meaning beyond that, which matches the baseline of 3 for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the name and path: it repeats 'GET /v1/subscriptions/{id}/relationships/subscriptionLocalizations' twice with no verb or resource explanation. From the path an agent can infer 'list the localizations relationship of a subscription', but nothing distinguishes it from the sibling subscriptions_subscription_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the near-identical _get_to_many_related sibling that exists for this same resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_submissions_create_instanceC
POST /v1/subscriptionSubmissions (POST /v1/subscriptionSubmissions) Body shape: see OpenAPI components.schemas.SubscriptionSubmissionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionSubmissionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, yet it only implies a write via the POST verb (already implied by the name). It says nothing about state prerequisites, side effects, permissions, idempotency, or the fact that this initiates App Store review.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical repeats the exact same URL verbatim, which is pure waste; one clean sentence would have sufficed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create/mutation operation with no annotations and no output schema, the description is thin: it never tells the agent what the call returns, what state the target subscription version must be in, or what happens on success. The OpenAPI pointer is the only substantive content.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single body param is documented in the schema, so baseline 3 applies. The description's only parameter content is a pointer to components.schemas.SubscriptionSubmissionCreateRequest, which duplicates the schema's own description rather than adding format or envelope details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource (POST /v1/subscriptionSubmissions) so the operation is identifiable, but it merely restates the endpoint (twice) and never explains what a subscription submission is or how it differs from siblings like subscription_group_submissions_create_instance or in_app_purchase_submissions_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this create tool versus the many other submission-creation siblings, no prerequisites (e.g., the subscription version must be in a submit-ready state), and no conditions or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_update_instanceC
PATCH /v1/subscriptions/{id} (PATCH /v1/subscriptions/{id}) Body shape: see OpenAPI components.schemas.SubscriptionUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.SubscriptionUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no auth requirements, no note on partial vs full update semantics, no mention of side effects or reversibility. The one useful hint is pointing at components.schemas.SubscriptionUpdateRequest for the body envelope, but that is parameter guidance rather than behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loads the endpoint, but the parenthetical '(PATCH /v1/subscriptions/{id})' duplicates the preceding text verbatim, wasting the one sentence it has. Concise, but not information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested, free-form JSON:API body (additionalProperties: {}), no annotations, and no output schema, the description is far too thin. An agent gets no help on what the update actually changes or how to construct the opaque body beyond a schema reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented in the schema), so the baseline is 3. The description adds only the pointer to the OpenAPI component for the JSON:API body envelope, which largely duplicates the schema's own 'Shape: components.schemas.SubscriptionUpdateRequest' note and provides no syntax or field-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the raw HTTP endpoint (PATCH /v1/subscriptions/{id}), which does convey a specific verb and resource and lets an agent distinguish it from subscriptions_get_instance / create_instance / delete_instance. However, it never states in prose what an 'update' of a subscription means or what fields are mutable, so it reads as a route restatement rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives or related tools (e.g., update vs create vs delete, or the subscription_offer_codes_update_instance sibling). The only routing signal is the implicit PATCH verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_versions_get_to_many_relationshipC
GET /v1/subscriptions/{id}/relationships/versions (GET /v1/subscriptions/{id}/relationships/versions)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it delivers almost nothing. The 'GET' token weakly signals a read-only, non-destructive operation, but there is no mention of pagination behavior (despite a limit parameter), authentication needs, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the identical path, so a full half of the content is pure duplication that earns no place. It is also front-loaded with nothing useful — no purpose statement precedes the endpoint string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no annotations and no output schema, the description should at minimum state what collection is returned and how pagination works. Neither is present, leaving the agent to infer the entire contract from the URL.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'id' and 'limit' documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema — it does not clarify that 'id' is the subscription identifier (the schema only says 'the id of the requested resource') or how 'limit' paginates the versions list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the endpoint path, duplicated verbatim in parentheses: 'GET /v1/subscriptions/{id}/relationships/versions (GET /v1/subscriptions/{id}/relationships/versions)'. It restates the identifier rather than explaining that it retrieves the versions associated with a subscription, and it gives no basis for distinguishing it from the many other *_get_to_many_relationship siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the related sibling subscriptions_versions_get_to_many_related, and no indication of prerequisites or when this relationship endpoint is preferred over fetching the resource directly. The path alone does not tell an agent when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscriptions_win_back_offers_get_to_many_relationshipD
GET /v1/subscriptions/{id}/relationships/winBackOffers (GET /v1/subscriptions/{id}/relationships/winBackOffers)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing: not pagination behavior (despite a limit param), not auth/permission requirements, not what the response contains. Only the HTTP verb is implied by the path string.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the only content is the endpoint path duplicated twice — the parenthetical repetition earns nothing. Brevity here reflects under-specification rather than efficient conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a name that requires parsing, the description leaves an agent with almost nothing: no resource meaning, no pagination or relationship semantics, no guidance on the near-identical 'related' sibling. It is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'id' and 'limit' are documented in the schema), so the schema already does the work. The description adds no parameter meaning at all, which lands at the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the raw HTTP path 'GET /v1/subscriptions/{id}/relationships/winBackOffers' repeated verbatim in parentheses. It restates the tool name rather than stating in plain language what the tool does (retrieve the win-back offers related to a subscription). An agent must decode the URL to infer purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this tool versus alternatives. Notably, the sibling 'subscriptions_win_back_offers_get_to_many_related' exists, and the description gives no basis for choosing between the 'relationship' and 'related' variants, nor any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_versions_create_instanceD
POST /v1/subscriptionVersions (POST /v1/subscriptionVersions) Body shape: see OpenAPI components.schemas.SubscriptionVersionCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.SubscriptionVersionCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth/scope requirements, no note on side effects or whether creation is re-runnable, no indication of what is created or what happens on conflict. It gives only the route and a schema pointer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The sentence is short but structurally wasteful: the same route string appears twice in immediate succession ("POST /v1/subscriptionVersions (POST /v1/subscriptionVersions)"), and nothing that follows adds information. It is terse without being informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested JSON:API body, the description should at minimum name the resource being created and note the required envelope/relationships. It instead outsources everything to an unspecified external OpenAPI document, leaving the agent unable to call this correctly from the definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single body parameter at 100% schema description coverage, so the schema already carries the documentation load, which sets the baseline at 3. The description's "Body shape: see OpenAPI components.schemas.SubscriptionVersionCreateRequest" merely duplicates the schema's own text word-for-word rather than adding required-field or envelope semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the raw HTTP route ("POST /v1/subscriptionVersions") and repeats it verbatim in parentheses. It never states in plain language that it creates a subscription version, nor what a subscription version is, and it offers no differentiation from the many sibling create-instance tools (subscriptions_create_instance, subscription_group_versions_create_instance, in_app_purchase_versions_create_instance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, no mention of required relationships or identifiers, and no named alternative. Given the huge set of near-identical create_instance siblings in this server, an agent has nothing to route on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_versions_get_instanceD
GET /v1/subscriptionVersions/{id} (GET /v1/subscriptionVersions/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_images | No | maximum number of related images returned (when they are included) | |
| limit_localizations | No | maximum number of related localizations returned (when they are included) | |
| fields_subscriptions | No | the fields to include for returned resources of type subscriptions | |
| fields_subscriptionImages | No | the fields to include for returned resources of type subscriptionImages | |
| fields_subscriptionVersions | No | the fields to include for returned resources of type subscriptionVersions | |
| fields_subscriptionLocalizations | No | the fields to include for returned resources of type subscriptionLocalizations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no permission requirements, no note that a non-existent id returns 404, no explanation of how include/fields side-loading affects the response. Only the bare HTTP verb is inferable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wasteful rather than concise: the entire content is the same path string printed twice in parentheses, adding zero information. Brevity here reflects under-specification, not efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter endpoint with no annotations and no output schema, the description should at minimum say what is returned and how sparse-fieldset/include parameters shape the payload. It supplies none of this, leaving the agent dependent entirely on schema field names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (id, include, limit_images, limit_localizations, fields_*) is already documented in the schema. The description adds no syntax or usage detail beyond it, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name's implied operation and HTTP path, with the same string duplicated inside parentheses. It names no resource meaning (what a subscription version is) and gives no way to distinguish it from siblings like subscription_versions_create_instance or subscriptions_versions_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance of any kind. An agent cannot tell from this text whether to call this tool versus list subscription versions or fetch the relationship endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_versions_image_get_to_one_relationshipC
GET /v1/subscriptionVersions/{id}/relationships/image (GET /v1/subscriptionVersions/{id}/relationships/image)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. "GET" implies a non-destructive read, but the description says nothing about return shape, pagination, permissions, or that relationship endpoints return linkage objects rather than the image itself. The route echo conveys essentially nothing behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is duplicated verbatim inside parentheses, which is pure waste. There is no front-loaded explanatory sentence, only a raw route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and dozens of near-identical relationship/related siblings, the description leaves an agent unable to choose correctly or predict the response. It should clarify that this returns the to-one image linkage for a subscription version.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (id) whose schema description coverage is 100%, so the schema already explains it. Per the baseline rule, a 3 is appropriate since the description adds no parameter meaning but nothing is missing either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP route repeated twice: "GET /v1/subscriptionVersions/{id}/relationships/image". It names the resource (subscription version image relationship) but never states in prose what the call does or returns, so the agent must reverse-engineer intent from a path string.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs the close sibling subscription_versions_image_get_to_one_related, whose distinction (linkage IDs vs full resource) is exactly what an agent needs. Nothing about prerequisites or alternatives is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_versions_images_get_to_many_relationshipC
GET /v1/subscriptionVersions/{id}/relationships/images (GET /v1/subscriptionVersions/{id}/relationships/images)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the URL. There is no mention of pagination (despite a limit param), auth requirements, or what the relationship payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the second half is a pure duplicate of the path in parentheses, which earns no place. Redundancy rather than useful conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relationship-fetch tool with no annotations and no output schema, the description should at least hint at the returned resource or pagination. It says nothing, leaving the agent to infer everything from the path and schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'id' and 'limit' both documented in the schema, so the baseline of 3 applies. The description adds no parameter semantics of its own.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is the raw HTTP path 'GET /v1/subscriptionVersions/{id}/relationships/images' repeated verbatim in parentheses. It conveys only what the tool name already encodes (a GET of the images relationship for a subscription version), adding no distinguishing detail versus sibling relationship endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives, no prerequisites are stated. There are numerous sibling relationship/related tools (e.g., in_app_purchase_versions_images_get_to_many_relationship, subscription_versions_images_get_to_many_related) and nothing routes the agent between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscription_versions_localizations_get_to_many_relationshipC
GET /v1/subscriptionVersions/{id}/relationships/localizations (GET /v1/subscriptionVersions/{id}/relationships/localizations)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the whole burden and it discloses almost nothing: the GET verb weakly implies a read, but there is no mention of pagination, page-size behavior, or whether the response is a relationship linkage object. The presence of a limit parameter implies pagination that the description never acknowledges.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is one short line with no filler, though the parenthetical simply repeats the identical route, which is waste rather than signal. Brevity here reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must explain return shape and pagination behavior, and it explains neither. It also fails to route between the relationship and related siblings, leaving an agent with an ambiguous choice in a very large tool set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both id ("the id of the requested resource") and limit ("maximum resources per page") documented in the schema. The description adds nothing beyond echoing the path template, so the baseline 3 for full schema coverage is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the HTTP route restated twice, e.g. "GET /v1/subscriptionVersions/{id}/relationships/localizations". It technically exposes the verb and resource, but reads as a tautology of the tool name rather than a plain-language statement of what it returns, and it does nothing to distinguish it from the sibling subscription_versions_localizations_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance at all about when to use this tool, when not to, or which sibling to prefer. Given that an almost identically named sibling (subscription_versions_localizations_get_to_many_related) exists, the absence of any disambiguation is a real risk.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
territories_get_collectionC
GET /v1/territories (GET /v1/territories)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | maximum resources per page | |
| fields_territories | No | the fields to include for returned resources of type territories |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing: no pagination behavior, no auth requirements, no response shape, no rate limits. For a list endpoint with zero structured safety metadata this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a duplicated parenthetical route string that conveys no additional information. Brevity here reflects under-specification rather than efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should carry everything, yet it provides only the raw route. An agent gets no sense of what a territory record contains, how results are paginated, or why it would call this instead of a territory relationship tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so 'limit' and 'fields_territories' are already documented in the schema. The description adds no parameter meaning of its own, but baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP route restated twice, 'GET /v1/territories (GET /v1/territories)', which is effectively a tautology of the tool name. An agent can infer that it lists territories, but no verb/resource phrasing or scope distinguishes it from sibling collection getters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, what alternatives exist, or any preconditions. The agent is left to infer from the name alone that this is the unfiltered territory list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
territory_availabilities_update_instanceC
PATCH /v1/territoryAvailabilities/{id} (PATCH /v1/territoryAvailabilities/{id}) Body shape: see OpenAPI components.schemas.TerritoryAvailabilityUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.TerritoryAvailabilityUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, yet it says nothing about mutation semantics, required permissions, whether the update is partial or full, or side effects. It only points at an OpenAPI schema reference for the body, which is a pointer rather than behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but wastes space by duplicating the same method and path twice in parentheses, and it substitutes a schema pointer for actual content. Front-loading is fine, but the redundancy and lack of substance undermine it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested object body, the description should explain effects and prerequisites. Instead it defers entirely to an external OpenAPI reference, leaving the agent without enough to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both id and body are documented in the schema), so the baseline is 3. The description adds nothing beyond what the schema already states, only repeating the reference to components.schemas.TerritoryAvailabilityUpdateRequest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the HTTP verb and resource path (PATCH /v1/territoryAvailabilities/{id}), which identifies the action and target, but it is essentially a restatement of the tool name with no explanation of what an update to a territory availability actually changes. There is no differentiation from the many sibling update_instance tools beyond the path itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as creating or deleting territory availabilities. The agent is left to infer usage entirely from the path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
user_invitations_create_instanceD
POST /v1/userInvitations (POST /v1/userInvitations) Body shape: see OpenAPI components.schemas.UserInvitationCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.UserInvitationCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden of behavioral disclosure yet says nothing beyond the HTTP method. It omits whether an email/invitation is actually sent, what permissions are required, side effects, or idempotency behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wastes its single sentence on a redundant parenthetical repetition of the same path '(POST /v1/userInvitations)' and never front-loads an actual purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and an opaque nested body, the description is far too thin. An agent cannot determine the effect of the call, required auth, or response from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter with 100% schema description coverage, so the schema baseline of 3 applies. The description merely echoes the schema pointer (components.schemas.UserInvitationCreateRequest) without adding any syntax, required-field, or envelope detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP endpoint (POST /v1/userInvitations) and does not state in plain language that it creates a user invitation or what one is. It is essentially a tautological restatement of the tool name rather than an explanation of the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as beta_tester_invitations_create_instance or the various other create_instance siblings. No prerequisites, context, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
user_invitations_delete_instanceC
DELETE /v1/userInvitations/{id} (DELETE /v1/userInvitations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. The word 'DELETE' implies a destructive operation, but it does not state whether the deletion is irreversible, what related data is affected (e.g., visible apps relationships), or what authorization is required. This is a significant gap for a mutation tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but wastes its limited space on a redundant parenthetical that repeats the same verb and path verbatim. Nothing is front-loaded beyond the endpoint string itself, so it is neither verbose nor informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description should at least signal irreversibility, side effects, and auth requirements. It supplies none of these, leaving an agent without enough context to invoke the tool confidently in a production App Store Connect workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter with 100% schema description coverage ('the id of the requested resource'), so the schema already documents it fully. The description's path template confirms the id is a path parameter but adds no meaning beyond what the schema provides, matching the baseline 3 for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the HTTP method and path (DELETE /v1/userInvitations/{id}), which does identify a verb and resource, but it adds no semantic content beyond the tool name itself. An agent learns only that this deletes a user invitation by id, with no distinction from siblings like user_invitations_get_instance or user_invitations_visible_apps_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool, no prerequisites, and no mention of alternatives among the many user_invitations_* siblings. It is purely a restatement of the endpoint with zero contextual routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
user_invitations_get_collectionD
GET /v1/userInvitations (GET /v1/userInvitations)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| filter_email | No | filter by attribute 'email' | |
| filter_roles | No | filter by attribute 'roles' | |
| limit_visibleApps | No | maximum number of related visibleApps returned (when they are included) | |
| filter_visibleApps | No | filter by id(s) of related 'visibleApps' | |
| fields_userInvitations | No | the fields to include for returned resources of type userInvitations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it says nothing beyond the raw HTTP route. It does not mention pagination, sorting defaults, authentication requirements, or what the collection contains — all of which matter for a 9-parameter list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not concise in the useful sense — it is under-specified and redundantly restates the path twice. Every character duplicates information already present in the tool name, so nothing earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter collection tool with no annotations and no output schema, the description should explain scope, filtering, and return shape. It provides none of this, leaving the definition effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all 9 parameters (sort, limit, include, filters, field selectors) documented directly in the schema, so the baseline is 3. The description adds no parameter meaning at all, but the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely echoes the tool name and HTTP verb ('GET /v1/userInvitations') with the path repeated twice in parentheses. It implies listing user invitations, but provides no verb beyond the HTTP method and no differentiation from siblings such as user_invitations_get_instance or user_invitations_create_instance. This is essentially a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this collection endpoint versus user_invitations_get_instance or user_invitations_visible_apps_get_to_many_related, and no mention of prerequisites or filters. The agent is left to infer everything 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.
user_invitations_get_instanceD
GET /v1/userInvitations/{id} (GET /v1/userInvitations/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| limit_visibleApps | No | maximum number of related visibleApps returned (when they are included) | |
| fields_userInvitations | No | the fields to include for returned resources of type userInvitations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it states nothing about auth requirements, error behavior for missing ids, or what the response contains. A raw endpoint string is not behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the brevity comes from under-specification rather than efficiency, and the same route is redundantly repeated twice with no added information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter endpoint with no annotations and no output schema, an agent gets zero usable context about selection, behavior, or returns. The definition is entirely inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the five parameters (id, include, fields_apps, limit_visibleApps, fields_userInvitations) are already documented in the schema. The description adds nothing beyond the path, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a bare restatement of the HTTP route 'GET /v1/userInvitations/{id}', duplicated verbatim. It conveys the resource and that a single instance is fetched only because the name already does, adding no distinguishing purpose over the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like user_invitations_get_collection or user_invitations_visible_apps_get_to_many_related. No context, no conditions, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
user_invitations_visible_apps_get_to_many_relationshipC
GET /v1/userInvitations/{id}/relationships/visibleApps (GET /v1/userInvitations/{id}/relationships/visibleApps)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about authentication, pagination behavior (despite a limit param), or the shape of returned data. For a relationship-fetch tool with zero annotation coverage this is a complete gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same path is duplicated in parentheses with no added information, so neither sentence earns its place. This is under-specification masquerading as brevity rather than genuine conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple relationship GET the schema is complete, but with no annotations and no output schema the description should at least indicate what the visibleApps relationship represents and how results are returned. None of that context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'id' and 'limit' are already documented in the schema, and the baseline for high coverage is 3. The description adds no syntax, format, or meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path repeated verbatim inside parentheses, adding no verb or explanation. An agent can infer it fetches the 'visibleApps' relationship of a user invitation only by parsing the URL, which is tautological restatement rather than a statement of purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus siblings like user_invitations_visible_apps_get_to_many_related or users_visible_apps_get_to_many_relationship. The path implies it targets a specific invitation's related apps, but no conditions, prerequisites, or alternatives are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_delete_instanceC
DELETE /v1/users/{id} (DELETE /v1/users/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden for a destructive mutation. The word 'DELETE' signals a write/destructive operation, but there is no disclosure of irreversibility, required permissions/roles, cascade effects on related resources (e.g. visible apps), or failure modes. This is a significant gap for a delete endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is very short and front-loaded, which is good, but the parenthetical '(DELETE /v1/users/{id})' simply repeats the text immediately preceding it word for word, so half the description is pure redundancy rather than earned content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive one-parameter mutation with no annotations and no output schema, the description should explain consequences and prerequisites. Instead it only echoes the route, leaving the agent without the context needed to call this safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single required 'id' parameter, so the baseline is 3. The path template /v1/users/{id} does add one useful fact — that 'id' is a path parameter and identifies the user to delete — but no format, example, or constraint detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (DELETE) and resource path (/v1/users/{id}), so an agent can infer it deletes a user by id. However, it is essentially a restatement of the HTTP method and path with a redundant duplicate parenthetical, and it does nothing to distinguish this tool from the many other *_delete_instance siblings in the namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as users_update_instance or the visible-apps delete operations. The agent is left to infer everything about applicability 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.
users_get_collectionD
GET /v1/users (GET /v1/users)
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | comma-separated list of sort expressions; resources will be sorted as specified | |
| limit | No | maximum resources per page | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_users | No | the fields to include for returned resources of type users | |
| filter_roles | No | filter by attribute 'roles' | |
| filter_username | No | filter by attribute 'username' | |
| limit_visibleApps | No | maximum number of related visibleApps returned (when they are included) | |
| filter_visibleApps | No | filter by id(s) of related 'visibleApps' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no mutation/read semantics beyond the implied GET, no pagination behavior, no rate limits, no authentication requirements, no note on how sort/limit/include interact. A bare endpoint string is insufficient for a 9-parameter operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single string is short but not concise in the useful sense — it is under-specified and redundant, repeating the path twice in parentheses. Brevity here reflects missing content rather than efficient front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, zero-required collection endpoint with no annotations and no output schema, the description supplies neither purpose, usage context, nor response shape. Almost everything an agent needs to invoke this correctly must be inferred from the tool name and schema keys.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema itself documents all nine parameters (sort, limit, include, field selections, role/username/app filters) with descriptions and enums. The description adds nothing beyond the schema, but the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the raw HTTP path 'GET /v1/users', which duplicates the tool name and title without saying in plain language what it returns (a paginated list of users). An agent can infer 'list users', but there is no differentiation from close siblings such as users_get_instance, users_visible_apps_get_to_many_relationship, or user_invitations_get_collection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of required privileges or scope, and no indication that this is the collection-level listing operation rather than the single-user retrieve. The agent is left to guess 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.
users_get_instanceD
GET /v1/users/{id} (GET /v1/users/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_users | No | the fields to include for returned resources of type users | |
| limit_visibleApps | No | maximum number of related visibleApps returned (when they are included) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that it is a read-only operation, not its auth requirements, not that id must reference an existing user, and not what happens on a missing id. 'GET /v1/users/{id}' conveys no behavior beyond the HTTP verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the text 'GET /v1/users/{id} (GET /v1/users/{id})' needlessly duplicates the identical path string in parentheses, so the one fragment present does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and five parameters including relationship/filter options, the description should at minimum state that it retrieves a single user and how the sparse-fieldset and include parameters shape the response. It supplies none of that, leaving an agent nothing to work with.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the enum lists for 'include', 'fields_apps', and 'fields_users' and the meaning of 'limit_visibleApps' are already documented in the schema. The description adds nothing on top, which is the baseline 3 for a fully documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (GET) and resource path (/v1/users/{id}), so an agent can infer it fetches a single user. However, it is a bare route restatement with no plain-language framing and offers no differentiation from siblings such as users_get_collection or users_visible_apps_get_to_many_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever about when to use this tool versus alternatives. It does not mention users_get_collection (for listing) or the relationship endpoints, nor any prerequisite such as needing a valid user id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_update_instanceC
PATCH /v1/users/{id} (PATCH /v1/users/{id}) Body shape: see OpenAPI components.schemas.UserUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.UserUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it does not say whether this is a partial or full replacement, what permissions are required, what happens to omitted fields, or whether the change is reversible. The only added detail is that the body follows a JSON:API envelope defined in an external OpenAPI component, which is a small but real protocol hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short, but it wastes space on a literal duplicate of the same route string in parentheses and on a generic pointer, rather than spending those tokens on what the tool actually does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and an opaque nested body (additionalProperties only, shape defined elsewhere), the description should explain what can be updated and the semantics of the operation. It leaves the agent without enough context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds no parameter meaning beyond what the schema already states, so the baseline of 3 applies. Pointing to components.schemas.UserUpdateRequest for the nested body is mildly useful but is already echoed in the body parameter's own schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives an HTTP method and resource path (PATCH /v1/users/{id}), which implies updating a user, but it never states the purpose in plain language and does nothing to distinguish it from the many other *_update_instance siblings such as merchant_ids_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus users_get_instance, users_delete_instance, or any other update tool, and no prerequisites or preconditions are mentioned. The agent is left to infer everything from the route string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_visible_apps_create_to_many_relationshipC
POST /v1/users/{id}/relationships/visibleApps (POST /v1/users/{id}/relationships/visibleApps) Body shape: see OpenAPI components.schemas.UserVisibleAppsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.UserVisibleAppsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden yet discloses nothing beyond the endpoint. It does not say that this is an additive relationship mutation, whether it requires specific scopes/auth, what happens on duplicates, or how it differs from a replace. This is a significant gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded with the endpoint, but the parentheses literally repeat the same path verbatim, which is pure waste. There is little else, so conciseness is achieved at the cost of substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. It omits the relationship semantics (append vs replace), any auth/permission context, and the effect on the user's visible apps list, leaving the agent under-informed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both the id and body parameters are already documented structurally. The description points to the components.schemas.UserVisibleAppsLinkagesRequest envelope, but the schema body description already says this, so no new meaning is added. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP method and path, essentially duplicating itself in parentheses. The resource (users' visibleApps relationships) and the create/add semantics are inferable from the name and path, but the prose never states in plain language what the tool does or distinguishes it from replace/delete/get siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance about when to use this additive relationship call versus the sibling users_visible_apps_replace_to_many_relationship, users_visible_apps_delete_to_many_relationship, or users_visible_apps_get_to_many_relationship. The agent is left to infer that this appends visible apps rather than replacing them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_visible_apps_delete_to_many_relationshipC
DELETE /v1/users/{id}/relationships/visibleApps (DELETE /v1/users/{id}/relationships/visibleApps) Body shape: see OpenAPI components.schemas.UserVisibleAppsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.UserVisibleAppsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It conveys only that the operation is a DELETE (implying mutation), but says nothing about what is destroyed, whether the operation is idempotent, what authorization is required, or what the response looks like. The duplicated endpoint string adds no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The endpoint string is repeated verbatim in parentheses, wasting the opening clause, and the body-shape sentence duplicates the input schema's description almost word for word. The result is short but not information-dense; no sentence earns its place beyond the raw path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating relationship-delete tool with no annotations and no output schema, the description should explain what happens on success, what the body must contain, and any auth/permission requirements. Instead it defers entirely to an external OpenAPI schema the agent may not have access to, leaving the agent unable to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the 'id' path parameter and 'body' object are both documented in the schema. The description's only parameter-related content is a pointer to components.schemas.UserVisibleAppsLinkagesRequest, which nearly restates the schema's own body description. Baseline 3 applies since the schema does the work and the description adds no syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific HTTP verb and resource path (DELETE /v1/users/{id}/relationships/visibleApps), which lets an agent infer it removes entries from a user's visible-apps relationship. However, it never states the purpose in plain language ('remove apps from a user's visible apps'), so the agent must decode REST semantics. Sibling tools like users_visible_apps_create/replace are distinguishable only by the verb in the path, not by any explanatory text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of the sibling tools (users_visible_apps_create_to_many_relationship, users_visible_apps_replace_to_many_relationship, users_visible_apps_get_to_many_related). The agent is left to infer that DELETE vs create vs replace are the alternatives. Nothing routes the agent between these near-identical siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_visible_apps_get_to_many_relationshipC
GET /v1/users/{id}/relationships/visibleApps (GET /v1/users/{id}/relationships/visibleApps)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only implies read-only via the 'GET' token. It says nothing about pagination behavior (despite a limit parameter), permissions needed to read another user's visible apps, or response shape. The 'GET' prefix is the only behavioral signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the content is a verbatim duplicate of the same URL in parentheses, which wastes the only structural real estate available. Front-loaded but zero informational value per sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, one required, no output schema), but with no annotations and no explanation of what relationship data is returned or how paging over visible apps works, an agent cannot confidently invoke it. The endpoint string alone is a thin substitute for a description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both id ('the id of the requested resource') and limit ('maximum resources per page') are documented in the schema. The description adds no meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is nothing more than the raw REST path repeated twice, 'GET /v1/users/{id}/relationships/visibleApps'. An agent can reverse-engineer that it retrieves the list of apps visible to a given user, but that parsing is inference from the endpoint string, not a stated purpose. It does not distinguish read-relationship semantics from sibling relationship verbs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance whatsoever. Siblings like users_visible_apps_get_to_many_related, users_visible_apps_create/replace/delete_to_many_relationship, and user_invitations_visible_apps_get_to_many_relationship are indistinguishable from the description alone. Nothing tells the agent which variant to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
users_visible_apps_replace_to_many_relationshipC
PATCH /v1/users/{id}/relationships/visibleApps (PATCH /v1/users/{id}/relationships/visibleApps) Body shape: see OpenAPI components.schemas.UserVisibleAppsLinkagesRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.UserVisibleAppsLinkagesRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies mutation via PATCH but does not disclose that this is a full-set replacement (and therefore removes any currently-linked apps not in the payload), nor any permission, rate-limit, or reversibility information. The only added value is a pointer to the request schema component.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and front-loads the endpoint, which is good. But the path is repeated verbatim inside parentheses, wasting the only space available, and the sentence never resolves into a plain-language action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation relationship tool with no annotations and no output schema, the description should at minimum explain replace semantics and consequences. Instead it defers almost everything to an external OpenAPI component, leaving the agent without enough context to invoke it correctly and safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the id and body parameters are already documented in the input schema. The description's reference to components.schemas.UserVisibleAppsLinkagesRequest duplicates the body field's own description rather than adding format or example detail. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description pairs the HTTP verb PATCH with the resource path /v1/users/{id}/relationships/visibleApps, so an agent can infer it modifies a user's visible-apps linkage. However, it never states in words that this REPLACES the entire set, leaving the crucial distinction from siblings users_visible_apps_create_to_many_relationship and users_visible_apps_delete_to_many_relationship to be guessed from the tool name. It is essentially a raw endpoint echo rather than a purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the create/delete/get variants of the same relationship. The agent gets no conditions, no prerequisites, and no alternatives, even though four near-identical siblings exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webhook_deliveries_create_instanceC
POST /v1/webhookDeliveries (POST /v1/webhookDeliveries) Body shape: see OpenAPI components.schemas.WebhookDeliveryCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.WebhookDeliveryCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and delivers almost none of it. It does not state that this is a write/mutation, whether auth or a specific role is required, whether the operation is idempotent, or what a successful creation returns. Pointing at 'components.schemas.WebhookDeliveryCreateRequest' is a pointer, not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but not efficient: 'POST /v1/webhookDeliveries (POST /v1/webhookDeliveries)' duplicates the identical path in parentheses, which is pure waste. The one substantive clause merely defers to an external spec, so the brief length reflects under-specification rather than tight writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, this description is grossly incomplete. It provides no information about effects, permissions, or results, and it offloads everything to an OpenAPI document the calling agent may not even have access to.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'body' parameter is already documented by the schema. The description's reference to the same schema adds no syntax or field-level meaning beyond what the structured data provides, which lands at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP verb and path ('POST /v1/webhookDeliveries'), which is essentially a tautology of the tool name. It never explains what a webhook delivery is or what creating one accomplishes, and it does nothing to distinguish this from siblings like webhook_pings_create_instance or webhooks_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no reference to alternatives. The agent is left to infer from the name alone that this creates a webhook delivery record, with no context on when that is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webhook_pings_create_instanceD
POST /v1/webhookPings (POST /v1/webhookPings) Body shape: see OpenAPI components.schemas.WebhookPingCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.WebhookPingCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses nothing: no auth requirements, no idempotency or side-effect behavior, no rate limits, no error semantics for a mutation endpoint. Referencing an external OpenAPI component is not behavioral context the agent actually receives.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but it duplicates the POST path verbatim in parentheses and spends its remaining words deferring to an external OpenAPI document rather than front-loading any useful information. Brevity here comes from under-specification, not efficient editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with zero annotations, a nested-object body, and no output schema, the definition is far too thin. Pointing at components.schemas.WebhookPingCreateRequest does not help an agent that cannot open the OpenAPI spec, leaving the call effectively undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single required 'body' parameter whose schema already notes the WebhookPingCreateRequest shape, so the baseline is 3. The description adds only a pointer to the same component name, giving no field-level or envelope detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the tool name as a raw HTTP call (POST /v1/webhookPings), which is a tautology of the operation rather than an explanation of what a webhook ping is or what creating one accomplishes. It never states the effect on the system or distinguishes itself from siblings like webhooks_create_instance or webhook_deliveries_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, no mention of alternatives such as the nearby webhook and webhook delivery tools. The agent is given an endpoint and nothing else.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webhooks_create_instanceC
POST /v1/webhooks (POST /v1/webhooks) Body shape: see OpenAPI components.schemas.WebhookCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.WebhookCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and discloses almost nothing: no auth requirements, no side effects, no idempotency or rate-limit notes, no indication of what is returned. The only concrete hint is that the body follows the WebhookCreateRequest OpenAPI schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short and front-loaded, but wastes tokens by duplicating the endpoint in parentheses ('POST /v1/webhooks (POST /v1/webhooks)'), which reads as a generation artifact rather than useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested free-form body object, the description punts entirely to an external OpenAPI spec. An agent cannot determine what creating a webhook entails or what a valid body contains from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single 'body' parameter and schema description coverage is 100%, so the baseline is 3. The description adds a marginal pointer to components.schemas.WebhookCreateRequest for the full JSON:API envelope, but no field-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'POST /v1/webhooks' conveys the operation only through REST convention: POST on the webhooks collection means create. An agent must infer 'creates a webhook' rather than being told directly, and nothing distinguishes it from siblings like webhooks_update_instance or marketplace_webhooks_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as webhooks_update_instance or webhook_pings_create_instance, and no stated prerequisites. The REST endpoint is given but no contextual routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webhooks_delete_instanceC
DELETE /v1/webhooks/{id} (DELETE /v1/webhooks/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, and it discloses nothing beyond the HTTP verb. It does not say the deletion is permanent/irreversible, what happens to existing deliveries or pings tied to the webhook, or whether special permissions are required. The raw method implies mutation but gives no consequence detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short but its only content is the method-plus-path repeated identically inside parentheses, meaning roughly half the text is pure duplication with zero informational value. It is not padded with prose, but it does not earn its own tokens.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-resource delete with no annotations and no output schema, an agent needs at minimum to know the action is irreversible and tied to a valid webhook id. None of that is present, so the definition is inadequate for its complexity and safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents 'id'. The description adds no format, uniqueness, or sourcing detail beyond what the schema provides, which is the baseline for fully covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb (DELETE) and a resource path (/v1/webhooks/{id}), so the operation is identifiable. However it is essentially the tool name restated as a route, with the route duplicated verbatim in parentheses, and it offers no differentiation from the sibling marketplace_webhooks_delete_instance. This lands at 'vague purpose' rather than a clearly articulated intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives or the surrounding webhook lifecycle (create/get/update). The operation is inferable from the name alone, but the description itself supplies nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webhooks_deliveries_get_to_many_relationshipD
GET /v1/webhooks/{id}/relationships/deliveries (GET /v1/webhooks/{id}/relationships/deliveries)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no pagination behavior, no return shape, no auth/permission requirements, no rate-limit notes. Only the HTTP verb is inferable from the path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the single sentence is the same path printed twice in parentheses, which is pure noise rather than front-loaded information. It is under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and a description consisting only of a duplicated URL, an agent has no basis for correct invocation beyond the raw parameters. Nothing about this tool's behavior or placement among siblings is conveyed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with 'id' and 'limit' both documented in the schema, so the baseline is 3. The description adds nothing beyond the schema, but nothing is missing either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is just the raw endpoint path repeated twice, with no plain-language statement of what the tool does. An agent can infer 'GET the deliveries relationship for a webhook' from the URL, but this restates the tool name rather than explaining the operation. It is a tautology of the name/title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool. Critically, the sibling webhooks_deliveries_get_to_many_related exists and the description gives no hint of the difference between the 'relationship' and 'related' variants, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webhooks_get_instanceD
GET /v1/webhooks/{id} (GET /v1/webhooks/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| fields_apps | No | the fields to include for returned resources of type apps | |
| fields_webhooks | No | the fields to include for returned resources of type webhooks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: no auth/permission requirements, no note that this is a safe read, no info on pagination or what the response contains. The route string conveys zero behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical merely repeats the same route verbatim, so the second half earns no place. Brevity without substance—under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with a rich 4-parameter schema and no output schema, the description should at least summarize the returned webhook resource and its includable relationships. Neither is present, leaving an agent to infer everything from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, fields_apps, and fields_webhooks. The description adds nothing about parameters, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only the HTTP route echoed twice, "GET /v1/webhooks/{id} (GET /v1/webhooks/{id})", which restates the tool name webhooks_get_instance in URL form rather than stating in plain language what is retrieved. It implies a single-resource fetch by id, but adds no scope or distinguishing detail versus siblings like webhooks_deliveries_get_to_many_related or webhooks_update_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, no prerequisites, and no mention of alternatives such as the collection endpoint or related-resource tools. An agent gets nothing to help choose between this and the many adjacent webhook tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webhooks_update_instanceC
PATCH /v1/webhooks/{id} (PATCH /v1/webhooks/{id}) Body shape: see OpenAPI components.schemas.WebhookUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.WebhookUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and largely drops it. The PATCH verb implies mutation of an existing resource, but there is no mention of required permissions, which fields are mutable, whether the update is a merge or replace, or any side effects (e.g., re-triggering webhook delivery).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the path is duplicated verbatim in parentheses ("(PATCH /v1/webhooks/{id})"), which is pure noise. The content is a pointer to an external schema rather than a front-loaded statement of purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a nested-object body, the description is far too thin. It omits what fields are updatable, permission requirements, and error behavior, leaving the agent dependent on an external OpenAPI document it may not have.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both `id` and `body` are documented in the schema, so the baseline is 3. The description's pointer to components.schemas.WebhookUpdateRequest merely duplicates what the schema already says, adding no new syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool's identity as a raw HTTP route ("PATCH /v1/webhooks/{id}"), echoing the name rather than stating in plain terms that it updates an existing webhook's configuration. It does not distinguish this from sibling tools like webhooks_get_instance, webhooks_delete_instance, or webhooks_create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the other webhook tools, nor any prerequisites. The PATCH verb weakly implies a partial-update intent, but nothing states what can be changed or under what conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
win_back_offers_create_instanceD
POST /v1/winBackOffers (POST /v1/winBackOffers) Body shape: see OpenAPI components.schemas.WinBackOfferCreateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | JSON body. Shape: components.schemas.WinBackOfferCreateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no required permissions, no side effects, no note that this is a mutation, and no indication of what a successful create returns. A single endpoint path is all that is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the parenthetical repeats the identical POST path verbatim, which is pure redundancy rather than concision. No sentence earns its place beyond naming the route.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with a nested JSON:API envelope body, no annotations, and no output schema, the description is far too thin. It neither describes the envelope shape nor compensates for the missing behavioral and parameter context an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter at 100% schema description coverage, the baseline of 3 applies. The description points to components.schemas.WinBackOfferCreateRequest, but the schema's own body description already names that same schema, so no meaning is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially a restatement of the name: 'POST /v1/winBackOffers' maps POST to create and winBackOffers to win_back_offers, which the name already conveys. It gives no explanation of what a win-back offer is or how creating one differs from the sibling update/delete/get win_back_offers tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent is given no signal about when to create a win-back offer versus updating one or attaching offers via the subscription relationship tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
win_back_offers_delete_instanceD
DELETE /v1/winBackOffers/{id} (DELETE /v1/winBackOffers/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not that the operation is destructive, whether deletion is permanent or reversible, what happens to dependent prices (win_back_offers_prices_*), or any auth requirements. The raw HTTP route string is not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the same route string is repeated twice with zero informational gain, and no front-loaded purpose statement precedes it. Redundant duplication rather than concision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no annotations, no output schema, and no supporting description, the definition is completely inadequate — an agent gets no indication of irreversibility, side effects, or failure modes before invoking a delete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (id) and the schema already documents it at 100% coverage ('the id of the requested resource'), so the baseline is 3. The description adds no format, lookup, or sourcing guidance for the id even though that would be the one place it could add value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is essentially the tool name restated as an HTTP route: 'DELETE /v1/winBackOffers/{id}', duplicated verbatim in parentheses. It conveys a delete on a winBackOffers resource but adds no plain-language verb or scope beyond what the name already encodes, and gives no differentiation from win_back_offers_get_instance / update_instance / create_instance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative guidance is provided. An agent cannot tell from the description whether this is the right tool for a given deletion intent versus any other destructive sibling such as win_back_offers_update_instance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
win_back_offers_get_instanceD
GET /v1/winBackOffers/{id} (GET /v1/winBackOffers/{id})
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| include | No | comma-separated list of relationships to include | |
| limit_prices | No | maximum number of related prices returned (when they are included) | |
| fields_winBackOffers | No | the fields to include for returned resources of type winBackOffers | |
| fields_winBackOfferPrices | No | the fields to include for returned resources of type winBackOfferPrices |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it discloses nothing: no auth requirements, no side-effect profile, no rate limits, no mention of the relationship-inclusion behavior implied by the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short, but the second half is a pure duplication of the same route in parentheses, so no sentence earns its place. Brevity here comes from under-specification rather than good editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A 5-parameter read tool with relationship includes, sparse fieldsets, no annotations, and no output schema gets nothing from this description; an agent has no idea what resource it is fetching or what the include/fields parameters will yield.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents id, include, limit_prices, and the two sparse-fieldset parameters. The description adds no parameter meaning beyond that, which is the baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the HTTP route 'GET /v1/winBackOffers/{id}', which is already encoded in the tool name. It is effectively a tautology: it identifies the endpoint but never says what a win-back offer is or what the agent gets back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the sibling collection tool (subscriptions_win_back_offers_get_to_many_related), and no indication of when to prefer this single-instance fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
win_back_offers_prices_get_to_many_relationshipD
GET /v1/winBackOffers/{id}/relationships/prices (GET /v1/winBackOffers/{id}/relationships/prices)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| limit | No | maximum resources per page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not mention read-only safety, pagination behavior (despite a limit param), rate limits, or what the relationship response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short but entirely redundant, repeating the same URL path twice in a parenthetical echo. There is no front-loaded purpose statement; the only content is a duplicated endpoint string.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a bare endpoint restatement, the description is completely inadequate. An agent cannot tell what the relationship returns or when this call is appropriate relative to the vast set of sibling relationship tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for both parameters (id and limit), so the schema already documents them adequately. The description adds nothing about parameter meaning, which is acceptable at baseline 3 given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description merely restates the URL path and duplicates it in parentheses: "GET /v1/winBackOffers/{id}/relationships/prices". It conveys only the HTTP verb and endpoint, which the tool name (win_back_offers_prices_get_to_many_relationship) already encodes. It does not explain what a win-back offer price relationship is or how it differs from the many sibling relationship tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance whatsoever on when to use this tool versus alternatives like win_back_offers_prices_get_to_many_related or win_back_offers_get_instance. No prerequisites, no context, 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.
win_back_offers_update_instanceC
PATCH /v1/winBackOffers/{id} (PATCH /v1/winBackOffers/{id}) Body shape: see OpenAPI components.schemas.WinBackOfferUpdateRequest for the full JSON:API envelope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | the id of the requested resource | |
| body | Yes | JSON body. Shape: components.schemas.WinBackOfferUpdateRequest. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about permissions, whether PATCH is a merge or replace, what happens to fields not included, or impact on live subscribers. The duplicated path gives no behavioral context beyond 'this is a PATCH'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is short but wasteful: the endpoint is printed twice verbatim in parentheses, and the second half is a pointer to an external document rather than content. No front-loaded statement of what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, no output schema, and a body defined only by an out-of-band schema reference, the description supplies none of the information an agent needs to invoke it safely or correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Top-level schema coverage is 100%, but the only parameter of consequence, 'body', is an untyped object with additionalProperties: {} whose real shape lives in an external OpenAPI component. The description merely redirects to that reference without describing any field, so it adds nothing usable and leaves the nested payload opaque to the caller.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The path segment 'winBackOffers' plus the PATCH verb identify the resource and operation well enough that an agent can distinguish this from win_back_offers_create_instance, get_instance and delete_instance. However, the description never states in plain language that it modifies an existing win-back offer, and the parenthetical merely repeats the same endpoint string instead of clarifying intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus the create/delete siblings, nor prerequisites such as owning the offer or the subscription it belongs to. Only the implicit HTTP-verb semantics of PATCH hint at partial modification.
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.
1316 tool updates
v0.5.0- First observed
accessibility_declarations_create_instance - First observed
accessibility_declarations_delete_instance - First observed
accessibility_declarations_get_instance - First observed
accessibility_declarations_update_instance - First observed
accounts_add - First observed
accounts_current - First observed
accounts_list - First observed
accounts_remove - First observed
accounts_switch - First observed
accounts_update - First observed
actors_get_collection - First observed
actors_get_instance - First observed
age_rating_declarations_update_instance - First observed
alternative_distribution_domains_create_instance - First observed
alternative_distribution_domains_delete_instance - First observed
alternative_distribution_domains_get_collection - First observed
alternative_distribution_domains_get_instance - First observed
alternative_distribution_keys_create_instance - First observed
alternative_distribution_keys_delete_instance - First observed
alternative_distribution_keys_get_collection - First observed
alternative_distribution_keys_get_instance - First observed
alternative_distribution_package_deltas_get_instance - First observed
alternative_distribution_package_variants_get_instance - First observed
alternative_distribution_package_versions_deltas_get_to_many_related - First observed
alternative_distribution_package_versions_deltas_get_to_many_relationship - First observed
alternative_distribution_package_versions_get_instance - First observed
alternative_distribution_package_versions_variants_get_to_many_related - First observed
alternative_distribution_package_versions_variants_get_to_many_relationship - First observed
alternative_distribution_packages_create_instance - First observed
alternative_distribution_packages_get_instance - First observed
alternative_distribution_packages_versions_get_to_many_related - First observed
alternative_distribution_packages_versions_get_to_many_relationship - First observed
analytics_report_instance_wait - First observed
analytics_report_instances_get_instance - First observed
analytics_report_instances_segments_get_to_many_related - First observed
analytics_report_instances_segments_get_to_many_relationship - First observed
analytics_report_requests_create_instance - First observed
analytics_report_requests_delete_instance - First observed
analytics_report_requests_get_instance - First observed
analytics_report_requests_reports_get_to_many_related - First observed
analytics_report_requests_reports_get_to_many_relationship - First observed
analytics_report_segments_get_instance - First observed
analytics_reports_get_instance - First observed
analytics_reports_instances_get_to_many_related - First observed
analytics_reports_instances_get_to_many_relationship - First observed
android_to_ios_app_mapping_details_create_instance - First observed
android_to_ios_app_mapping_details_delete_instance - First observed
android_to_ios_app_mapping_details_get_instance - First observed
android_to_ios_app_mapping_details_update_instance - First observed
app_asset_libraries_get_instance - First observed
app_asset_libraries_images_get_to_many_related - First observed
app_asset_libraries_images_get_to_many_relationship - First observed
app_asset_libraries_videos_get_to_many_related - First observed
app_asset_libraries_videos_get_to_many_relationship - First observed
app_asset_library_images_create_instance - First observed
app_asset_library_images_delete_instance - First observed
app_asset_library_images_get_instance - First observed
app_asset_library_images_placements_get_to_many_related - First observed
app_asset_library_images_placements_get_to_many_relationship - First observed
app_asset_library_images_update_instance - First observed
app_asset_library_placement_ordering_requests_create_instance - First observed
app_asset_library_placements_create_instance - First observed
app_asset_library_placements_delete_instance - First observed
app_asset_library_placements_get_instance - First observed
app_asset_library_ref_data_get_collection - First observed
app_asset_library_ref_data_get_instance - First observed
app_asset_library_videos_create_instance - First observed
app_asset_library_videos_delete_instance - First observed
app_asset_library_videos_get_instance - First observed
app_asset_library_videos_placements_get_to_many_related - First observed
app_asset_library_videos_placements_get_to_many_relationship - First observed
app_asset_library_videos_update_instance - First observed
app_availabilities_v2_create_instance - First observed
app_availabilities_v2_get_instance - First observed
app_availabilities_v2_territory_availabilities_get_to_many_related - First observed
app_availabilities_v2_territory_availabilities_get_to_many_relationship - First observed
app_categories_get_collection - First observed
app_categories_get_instance - First observed
app_categories_parent_get_to_one_related - First observed
app_categories_parent_get_to_one_relationship - First observed
app_categories_subcategories_get_to_many_related - First observed
app_categories_subcategories_get_to_many_relationship - First observed
app_clip_advanced_experience_images_create_instance - First observed
app_clip_advanced_experience_images_get_instance - First observed
app_clip_advanced_experience_images_update_instance - First observed
app_clip_advanced_experiences_create_instance - First observed
app_clip_advanced_experiences_get_instance - First observed
app_clip_advanced_experiences_update_instance - First observed
app_clip_app_store_review_details_create_instance - First observed
app_clip_app_store_review_details_get_instance - First observed
app_clip_app_store_review_details_update_instance - First observed
app_clip_default_experience_localizations_app_clip_header_image_get_to_one_related - First observed
app_clip_default_experience_localizations_app_clip_header_image_get_to_one_relationship - First observed
app_clip_default_experience_localizations_create_instance - First observed
app_clip_default_experience_localizations_delete_instance - First observed
app_clip_default_experience_localizations_get_instance - First observed
app_clip_default_experience_localizations_update_instance - First observed
app_clip_default_experiences_app_clip_app_store_review_detail_get_to_one_related - First observed
app_clip_default_experiences_app_clip_app_store_review_detail_get_to_one_relationship - First observed
app_clip_default_experiences_app_clip_default_experience_localizations_get_to_many_related - First observed
app_clip_default_experiences_create_instance - First observed
app_clip_default_experiences_delete_instance - First observed
app_clip_default_experiences_get_instance - First observed
app_clip_default_experiences_localizations_get_to_many_relationship - First observed
app_clip_default_experiences_release_with_app_store_version_get_to_one_related - First observed
app_clip_default_experiences_release_with_app_store_version_get_to_one_relationship - First observed
app_clip_default_experiences_release_with_app_store_version_update_to_one_relationship - First observed
app_clip_default_experiences_update_instance - First observed
app_clip_header_images_create_instance - First observed
app_clip_header_images_delete_instance - First observed
app_clip_header_images_get_instance - First observed
app_clip_header_images_update_instance - First observed
app_clips_app_clip_advanced_experiences_get_to_many_related - First observed
app_clips_app_clip_advanced_experiences_get_to_many_relationship - First observed
app_clips_app_clip_default_experiences_get_to_many_related - First observed
app_clips_app_clip_default_experiences_get_to_many_relationship - First observed
app_clips_get_instance - First observed
app_custom_product_page_localizations_app_preview_sets_get_to_many_related - First observed
app_custom_product_page_localizations_app_preview_sets_get_to_many_relationship - First observed
app_custom_product_page_localizations_app_screenshot_sets_get_to_many_related - First observed
app_custom_product_page_localizations_app_screenshot_sets_get_to_many_relationship - First observed
app_custom_product_page_localizations_create_instance - First observed
app_custom_product_page_localizations_delete_instance - First observed
app_custom_product_page_localizations_get_instance - First observed
app_custom_product_page_localizations_placements_get_to_many_related - First observed
app_custom_product_page_localizations_placements_get_to_many_relationship - First observed
app_custom_product_page_localizations_search_keywords_create_to_many_relationship - First observed
app_custom_product_page_localizations_search_keywords_delete_to_many_relationship - First observed
app_custom_product_page_localizations_search_keywords_get_to_many_related - First observed
app_custom_product_page_localizations_search_keywords_get_to_many_relationship - First observed
app_custom_product_page_localizations_update_instance - First observed
app_custom_product_page_versions_app_custom_product_page_localizations_get_to_many_related - First observed
app_custom_product_page_versions_create_instance - First observed
app_custom_product_page_versions_get_instance - First observed
app_custom_product_page_versions_localizations_get_to_many_relationship - First observed
app_custom_product_page_versions_update_instance - First observed
app_custom_product_pages_app_custom_product_page_versions_get_to_many_related - First observed
app_custom_product_pages_app_custom_product_page_versions_get_to_many_relationship - First observed
app_custom_product_pages_create_instance - First observed
app_custom_product_pages_delete_instance - First observed
app_custom_product_pages_get_instance - First observed
app_custom_product_pages_update_instance - First observed
app_encryption_declaration_documents_create_instance - First observed
app_encryption_declaration_documents_get_instance - First observed
app_encryption_declaration_documents_update_instance - First observed
app_encryption_declarations_app_encryption_declaration_document_get_to_one_related - First observed
app_encryption_declarations_app_encryption_declaration_document_get_to_one_relationship - First observed
app_encryption_declarations_app_get_to_one_related - First observed
app_encryption_declarations_app_get_to_one_relationship - First observed
app_encryption_declarations_builds_create_to_many_relationship - First observed
app_encryption_declarations_create_instance - First observed
app_encryption_declarations_get_collection - First observed
app_encryption_declarations_get_instance - First observed
app_event_localizations_app_event_screenshots_get_to_many_related - First observed
app_event_localizations_app_event_screenshots_get_to_many_relationship - First observed
app_event_localizations_app_event_video_clips_get_to_many_related - First observed
app_event_localizations_app_event_video_clips_get_to_many_relationship - First observed
app_event_localizations_create_instance - First observed
app_event_localizations_delete_instance - First observed
app_event_localizations_get_instance - First observed
app_event_localizations_placements_get_to_many_related - First observed
app_event_localizations_placements_get_to_many_relationship - First observed
app_event_localizations_update_instance - First observed
app_event_screenshots_create_instance - First observed
app_event_screenshots_delete_instance - First observed
app_event_screenshots_get_instance - First observed
app_event_screenshots_update_instance - First observed
app_event_video_clips_create_instance - First observed
app_event_video_clips_delete_instance - First observed
app_event_video_clips_get_instance - First observed
app_event_video_clips_update_instance - First observed
app_events_create_instance - First observed
app_events_delete_instance - First observed
app_events_get_instance - First observed
app_events_localizations_get_to_many_related - First observed
app_events_localizations_get_to_many_relationship - First observed
app_events_update_instance - First observed
app_info_localizations_create_instance - First observed
app_info_localizations_delete_instance - First observed
app_info_localizations_get_instance - First observed
app_info_localizations_update_instance - First observed
app_infos_age_rating_declaration_get_to_one_related - First observed
app_infos_age_rating_declaration_get_to_one_relationship - First observed
app_infos_app_info_localizations_get_to_many_related - First observed
app_infos_app_info_localizations_get_to_many_relationship - First observed
app_infos_get_instance - First observed
app_infos_primary_category_get_to_one_related - First observed
app_infos_primary_category_get_to_one_relationship - First observed
app_infos_primary_subcategory_one_get_to_one_related - First observed
app_infos_primary_subcategory_one_get_to_one_relationship - First observed
app_infos_primary_subcategory_two_get_to_one_related - First observed
app_infos_primary_subcategory_two_get_to_one_relationship - First observed
app_infos_secondary_category_get_to_one_related - First observed
app_infos_secondary_category_get_to_one_relationship - First observed
app_infos_secondary_subcategory_one_get_to_one_related - First observed
app_infos_secondary_subcategory_one_get_to_one_relationship - First observed
app_infos_secondary_subcategory_two_get_to_one_related - First observed
app_infos_secondary_subcategory_two_get_to_one_relationship - First observed
app_infos_territory_age_ratings_get_to_many_related - First observed
app_infos_territory_age_ratings_get_to_many_relationship - First observed
app_infos_update_instance - First observed
app_preview_sets_app_previews_get_to_many_related - First observed
app_preview_sets_app_previews_get_to_many_relationship - First observed
app_preview_sets_app_previews_replace_to_many_relationship - First observed
app_preview_sets_create_instance - First observed
app_preview_sets_delete_instance - First observed
app_preview_sets_get_instance - First observed
app_previews_create_instance - First observed
app_previews_delete_instance - First observed
app_previews_get_instance - First observed
app_previews_update_instance - First observed
app_price_points_v3_equalizations_get_to_many_related - First observed
app_price_points_v3_equalizations_get_to_many_relationship - First observed
app_price_points_v3_get_instance - First observed
app_price_schedules_automatic_prices_get_to_many_related - First observed
app_price_schedules_automatic_prices_get_to_many_relationship - First observed
app_price_schedules_base_territory_get_to_one_related - First observed
app_price_schedules_base_territory_get_to_one_relationship - First observed
app_price_schedules_create_instance - First observed
app_price_schedules_get_instance - First observed
app_price_schedules_manual_prices_get_to_many_related - First observed
app_price_schedules_manual_prices_get_to_many_relationship - First observed
app_screenshot_sets_app_screenshots_get_to_many_related - First observed
app_screenshot_sets_app_screenshots_get_to_many_relationship - First observed
app_screenshot_sets_app_screenshots_replace_to_many_relationship - First observed
app_screenshot_sets_create_instance - First observed
app_screenshot_sets_delete_instance - First observed
app_screenshot_sets_get_instance - First observed
app_screenshots_create_instance - First observed
app_screenshots_delete_instance - First observed
app_screenshots_get_instance - First observed
app_screenshots_update_instance - First observed
app_store_review_attachments_create_instance - First observed
app_store_review_attachments_delete_instance - First observed
app_store_review_attachments_get_instance - First observed
app_store_review_attachments_update_instance - First observed
app_store_review_details_app_store_review_attachments_get_to_many_related - First observed
app_store_review_details_app_store_review_attachments_get_to_many_relationship - First observed
app_store_review_details_create_instance - First observed
app_store_review_details_get_instance - First observed
app_store_review_details_update_instance - First observed
app_store_version_experiment_treatment_localizations_app_preview_sets_get_to_many_related - First observed
app_store_version_experiment_treatment_localizations_app_screenshot_sets_get_to_many_related - First observed
app_store_version_experiment_treatment_localizations_create_instance - First observed
app_store_version_experiment_treatment_localizations_delete_instance - First observed
app_store_version_experiment_treatment_localizations_get_instance - First observed
app_store_version_experiment_treatment_localizations_placements_get_to_many_related - First observed
app_store_version_experiment_treatment_localizations_placements_get_to_many_relationship - First observed
app_store_version_experiment_treatment_localizations_preview_sets_get_to_many_relationship - First observed
app_store_version_experiment_treatment_localizations_screenshot_sets_get_to_many_relationship - First observed
app_store_version_experiment_treatments_create_instance - First observed
app_store_version_experiment_treatments_delete_instance - First observed
app_store_version_experiment_treatments_get_instance - First observed
app_store_version_experiment_treatments_localizations_get_to_many_related - First observed
app_store_version_experiment_treatments_localizations_get_to_many_relationship - First observed
app_store_version_experiment_treatments_update_instance - First observed
app_store_version_experiments_app_store_version_experiment_treatments_get_to_many_related - First observed
app_store_version_experiments_create_instance - First observed
app_store_version_experiments_delete_instance - First observed
app_store_version_experiments_get_instance - First observed
app_store_version_experiments_treatments_get_to_many_relationship - First observed
app_store_version_experiments_update_instance - First observed
app_store_version_experiments_v2_app_store_version_experiment_treatments_get_to_many_related - First observed
app_store_version_experiments_v2_create_instance - First observed
app_store_version_experiments_v2_delete_instance - First observed
app_store_version_experiments_v2_get_instance - First observed
app_store_version_experiments_v2_treatments_get_to_many_relationship - First observed
app_store_version_experiments_v2_update_instance - First observed
app_store_version_localizations_app_preview_sets_get_to_many_related - First observed
app_store_version_localizations_app_preview_sets_get_to_many_relationship - First observed
app_store_version_localizations_app_screenshot_sets_get_to_many_related - First observed
app_store_version_localizations_app_screenshot_sets_get_to_many_relationship - First observed
app_store_version_localizations_create_instance - First observed
app_store_version_localizations_delete_instance - First observed
app_store_version_localizations_get_instance - First observed
app_store_version_localizations_placements_get_to_many_related - First observed
app_store_version_localizations_placements_get_to_many_relationship - First observed
app_store_version_localizations_search_keywords_create_to_many_relationship - First observed
app_store_version_localizations_search_keywords_delete_to_many_relationship - First observed
app_store_version_localizations_search_keywords_get_to_many_related - First observed
app_store_version_localizations_search_keywords_get_to_many_relationship - First observed
app_store_version_localizations_update_instance - First observed
app_store_version_phased_releases_create_instance - First observed
app_store_version_phased_releases_delete_instance - First observed
app_store_version_phased_releases_update_instance - First observed
app_store_version_promotions_create_instance - First observed
app_store_version_release_requests_create_instance - First observed
app_store_version_submissions_delete_instance - First observed
app_store_versions_alternative_distribution_package_get_to_one_related - First observed
app_store_versions_alternative_distribution_package_get_to_one_relationship - First observed
app_store_versions_app_clip_default_experience_get_to_one_related - First observed
app_store_versions_app_clip_default_experience_get_to_one_relationship - First observed
app_store_versions_app_clip_default_experience_update_to_one_relationship - First observed
app_store_versions_app_store_review_detail_get_to_one_related - First observed
app_store_versions_app_store_review_detail_get_to_one_relationship - First observed
app_store_versions_app_store_version_experiments_get_to_many_related - First observed
app_store_versions_app_store_version_experiments_get_to_many_relationship - First observed
app_store_versions_app_store_version_experiments_v2_get_to_many_related - First observed
app_store_versions_app_store_version_experiments_v2_get_to_many_relationship - First observed
app_store_versions_app_store_version_localizations_get_to_many_related - First observed
app_store_versions_app_store_version_localizations_get_to_many_relationship - First observed
app_store_versions_app_store_version_phased_release_get_to_one_related - First observed
app_store_versions_app_store_version_phased_release_get_to_one_relationship - First observed
app_store_versions_app_store_version_submission_get_to_one_related - First observed
app_store_versions_app_store_version_submission_get_to_one_relationship - First observed
app_store_versions_build_get_to_one_related - First observed
app_store_versions_build_get_to_one_relationship - First observed
app_store_versions_build_update_to_one_relationship - First observed
app_store_versions_create_instance - First observed
app_store_versions_customer_reviews_get_to_many_related - First observed
app_store_versions_customer_reviews_get_to_many_relationship - First observed
app_store_versions_delete_instance - First observed
app_store_versions_game_center_app_version_get_to_one_related - First observed
app_store_versions_game_center_app_version_get_to_one_relationship - First observed
app_store_versions_get_instance - First observed
app_store_versions_routing_app_coverage_get_to_one_related - First observed
app_store_versions_routing_app_coverage_get_to_one_relationship - First observed
app_store_versions_update_instance - First observed
app_tags_territories_get_to_many_related - First observed
app_tags_territories_get_to_many_relationship - First observed
app_tags_update_instance - First observed
apps_accessibility_declarations_get_to_many_related - First observed
apps_accessibility_declarations_get_to_many_relationship - First observed
apps_alternative_distribution_key_get_to_one_related - First observed
apps_alternative_distribution_key_get_to_one_relationship - First observed
apps_analytics_report_requests_get_to_many_related - First observed
apps_analytics_report_requests_get_to_many_relationship - First observed
apps_android_to_ios_app_mapping_details_get_to_many_related - First observed
apps_android_to_ios_app_mapping_details_get_to_many_relationship - First observed
apps_app_availability_v2_get_to_one_related - First observed
apps_app_availability_v2_get_to_one_relationship - First observed
apps_app_clips_get_to_many_related - First observed
apps_app_clips_get_to_many_relationship - First observed
apps_app_custom_product_pages_get_to_many_related - First observed
apps_app_custom_product_pages_get_to_many_relationship - First observed
apps_app_encryption_declarations_get_to_many_related - First observed
apps_app_encryption_declarations_get_to_many_relationship - First observed
apps_app_events_get_to_many_related - First observed
apps_app_events_get_to_many_relationship - First observed
apps_app_infos_get_to_many_related - First observed
apps_app_infos_get_to_many_relationship - First observed
apps_app_price_points_get_to_many_related - First observed
apps_app_price_points_get_to_many_relationship - First observed
apps_app_price_schedule_get_to_one_related - First observed
apps_app_price_schedule_get_to_one_relationship - First observed
apps_app_store_version_experiments_v2_get_to_many_related - First observed
apps_app_store_version_experiments_v2_get_to_many_relationship - First observed
apps_app_store_versions_get_to_many_related - First observed
apps_app_store_versions_get_to_many_relationship - First observed
apps_app_tags_get_to_many_related - First observed
apps_app_tags_get_to_many_relationship - First observed
apps_asset_library_get_to_one_related - First observed
apps_asset_library_get_to_one_relationship - First observed
apps_background_assets_get_to_many_related - First observed
apps_background_assets_get_to_many_relationship - First observed
apps_beta_app_localizations_get_to_many_related - First observed
apps_beta_app_localizations_get_to_many_relationship - First observed
apps_beta_app_review_detail_get_to_one_related - First observed
apps_beta_app_review_detail_get_to_one_relationship - First observed
apps_beta_feedback_crash_submissions_get_to_many_related - First observed
apps_beta_feedback_crash_submissions_get_to_many_relationship - First observed
apps_beta_feedback_screenshot_submissions_get_to_many_related - First observed
apps_beta_feedback_screenshot_submissions_get_to_many_relationship - First observed
apps_beta_groups_get_to_many_related - First observed
apps_beta_groups_get_to_many_relationship - First observed
apps_beta_license_agreement_get_to_one_related - First observed
apps_beta_license_agreement_get_to_one_relationship - First observed
apps_beta_tester_usages_get_metrics - First observed
apps_beta_testers_delete_to_many_relationship - First observed
apps_build_uploads_get_to_many_related - First observed
apps_build_uploads_get_to_many_relationship - First observed
apps_builds_get_to_many_related - First observed
apps_builds_get_to_many_relationship - First observed
apps_ci_product_get_to_one_related - First observed
apps_ci_product_get_to_one_relationship - First observed
apps_customer_review_summarizations_get_to_many_related - First observed
apps_customer_reviews_get_to_many_related - First observed
apps_customer_reviews_get_to_many_relationship - First observed
apps_end_user_license_agreement_get_to_one_related - First observed
apps_end_user_license_agreement_get_to_one_relationship - First observed
apps_game_center_detail_get_to_one_related - First observed
apps_game_center_detail_get_to_one_relationship - First observed
apps_game_center_enabled_versions_get_to_many_related - First observed
apps_game_center_enabled_versions_get_to_many_relationship - First observed
apps_get_collection - First observed
apps_get_instance - First observed
apps_in_app_purchases_get_to_many_related - First observed
apps_in_app_purchases_get_to_many_relationship - First observed
apps_in_app_purchases_v2_get_to_many_related - First observed
apps_in_app_purchases_v2_get_to_many_relationship - First observed
apps_marketplace_search_detail_get_to_one_related - First observed
apps_marketplace_search_detail_get_to_one_relationship - First observed
apps_perf_power_metrics_get_to_many_related - First observed
apps_performance_overviews_get_to_many_related - First observed
apps_pre_release_versions_get_to_many_related - First observed
apps_pre_release_versions_get_to_many_relationship - First observed
apps_promoted_purchases_get_to_many_related - First observed
apps_promoted_purchases_get_to_many_relationship - First observed
apps_promoted_purchases_replace_to_many_relationship - First observed
apps_review_submissions_get_to_many_related - First observed
apps_review_submissions_get_to_many_relationship - First observed
apps_search_keywords_get_to_many_related - First observed
apps_search_keywords_get_to_many_relationship - First observed
apps_subscription_grace_period_get_to_one_related - First observed
apps_subscription_grace_period_get_to_one_relationship - First observed
apps_subscription_groups_get_to_many_related - First observed
apps_subscription_groups_get_to_many_relationship - First observed
apps_update_instance - First observed
apps_webhooks_get_to_many_related - First observed
apps_webhooks_get_to_many_relationship - First observed
asset_upload_file - First observed
auth_revoke_cache - First observed
auth_status - First observed
background_asset_upload_files_create_instance - First observed
background_asset_upload_files_get_instance - First observed
background_asset_upload_files_update_instance - First observed
background_asset_version_app_store_releases_get_instance - First observed
background_asset_version_external_beta_releases_get_instance - First observed
background_asset_version_internal_beta_releases_get_instance - First observed
background_asset_versions_background_asset_upload_files_get_to_many_related - First observed
background_asset_versions_background_asset_upload_files_get_to_many_relationship - First observed
background_asset_versions_create_instance - First observed
background_asset_versions_get_instance - First observed
background_assets_create_instance - First observed
background_assets_get_instance - First observed
background_assets_update_instance - First observed
background_assets_versions_get_to_many_related - First observed
background_assets_versions_get_to_many_relationship - First observed
beta_app_clip_invocation_localizations_create_instance - First observed
beta_app_clip_invocation_localizations_delete_instance - First observed
beta_app_clip_invocation_localizations_update_instance - First observed
beta_app_clip_invocations_create_instance - First observed
beta_app_clip_invocations_delete_instance - First observed
beta_app_clip_invocations_get_instance - First observed
beta_app_clip_invocations_update_instance - First observed
beta_app_localizations_app_get_to_one_related - First observed
beta_app_localizations_app_get_to_one_relationship - First observed
beta_app_localizations_create_instance - First observed
beta_app_localizations_delete_instance - First observed
beta_app_localizations_get_collection - First observed
beta_app_localizations_get_instance - First observed
beta_app_localizations_update_instance - First observed
beta_app_review_details_app_get_to_one_related - First observed
beta_app_review_details_app_get_to_one_relationship - First observed
beta_app_review_details_get_collection - First observed
beta_app_review_details_get_instance - First observed
beta_app_review_details_update_instance - First observed
beta_app_review_submissions_build_get_to_one_related - First observed
beta_app_review_submissions_build_get_to_one_relationship - First observed
beta_app_review_submissions_create_instance - First observed
beta_app_review_submissions_get_collection - First observed
beta_app_review_submissions_get_instance - First observed
beta_build_localizations_build_get_to_one_related - First observed
beta_build_localizations_build_get_to_one_relationship - First observed
beta_build_localizations_create_instance - First observed
beta_build_localizations_delete_instance - First observed
beta_build_localizations_get_collection - First observed
beta_build_localizations_get_instance - First observed
beta_build_localizations_update_instance - First observed
beta_crash_logs_get_instance - First observed
beta_feedback_crash_submissions_crash_log_get_to_one_related - First observed
beta_feedback_crash_submissions_crash_log_get_to_one_relationship - First observed
beta_feedback_crash_submissions_delete_instance - First observed
beta_feedback_crash_submissions_get_instance - First observed
beta_feedback_screenshot_submissions_delete_instance - First observed
beta_feedback_screenshot_submissions_get_instance - First observed
beta_groups_app_get_to_one_related - First observed
beta_groups_app_get_to_one_relationship - First observed
beta_groups_beta_recruitment_criteria_get_to_one_related - First observed
beta_groups_beta_recruitment_criteria_get_to_one_relationship - First observed
beta_groups_beta_recruitment_criterion_compatible_build_check_get_to_one_related - First observed
beta_groups_beta_recruitment_criterion_compatible_build_check_get_to_one_relationship - First observed
beta_groups_beta_tester_usages_get_metrics - First observed
beta_groups_beta_testers_create_to_many_relationship - First observed
beta_groups_beta_testers_delete_to_many_relationship - First observed
beta_groups_beta_testers_get_to_many_related - First observed
beta_groups_beta_testers_get_to_many_relationship - First observed
beta_groups_builds_create_to_many_relationship - First observed
beta_groups_builds_delete_to_many_relationship - First observed
beta_groups_builds_get_to_many_related - First observed
beta_groups_builds_get_to_many_relationship - First observed
beta_groups_create_instance - First observed
beta_groups_delete_instance - First observed
beta_groups_get_collection - First observed
beta_groups_get_instance - First observed
beta_groups_public_link_usages_get_metrics - First observed
beta_groups_update_instance - First observed
beta_license_agreements_app_get_to_one_related - First observed
beta_license_agreements_app_get_to_one_relationship - First observed
beta_license_agreements_get_collection - First observed
beta_license_agreements_get_instance - First observed
beta_license_agreements_update_instance - First observed
beta_recruitment_criteria_create_instance - First observed
beta_recruitment_criteria_delete_instance - First observed
beta_recruitment_criteria_update_instance - First observed
beta_recruitment_criterion_options_get_collection - First observed
beta_tester_invitations_create_instance - First observed
beta_testers_apps_delete_to_many_relationship - First observed
beta_testers_apps_get_to_many_related - First observed
beta_testers_apps_get_to_many_relationship - First observed
beta_testers_beta_groups_create_to_many_relationship - First observed
beta_testers_beta_groups_delete_to_many_relationship - First observed
beta_testers_beta_groups_get_to_many_related - First observed
beta_testers_beta_groups_get_to_many_relationship - First observed
beta_testers_beta_tester_usages_get_metrics - First observed
beta_testers_builds_create_to_many_relationship - First observed
beta_testers_builds_delete_to_many_relationship - First observed
beta_testers_builds_get_to_many_related - First observed
beta_testers_builds_get_to_many_relationship - First observed
beta_testers_create_instance - First observed
beta_testers_delete_instance - First observed
beta_testers_get_collection - First observed
beta_testers_get_instance - First observed
build_beta_details_build_get_to_one_related - First observed
build_beta_details_build_get_to_one_relationship - First observed
build_beta_details_get_collection - First observed
build_beta_details_get_instance - First observed
build_beta_details_update_instance - First observed
build_beta_notifications_create_instance - First observed
build_bundles_app_clip_domain_cache_status_get_to_one_related - First observed
build_bundles_app_clip_domain_cache_status_get_to_one_relationship - First observed
build_bundles_app_clip_domain_debug_status_get_to_one_related - First observed
build_bundles_app_clip_domain_debug_status_get_to_one_relationship - First observed
build_bundles_beta_app_clip_invocations_get_to_many_related - First observed
build_bundles_beta_app_clip_invocations_get_to_many_relationship - First observed
build_bundles_build_bundle_file_sizes_get_to_many_related - First observed
build_bundles_build_bundle_file_sizes_get_to_many_relationship - First observed
build_upload_files_create_instance - First observed
build_upload_files_get_instance - First observed
build_upload_files_update_instance - First observed
build_uploads_build_upload_files_get_to_many_related - First observed
build_uploads_build_upload_files_get_to_many_relationship - First observed
build_uploads_create_instance - First observed
build_uploads_delete_instance - First observed
build_uploads_get_instance - First observed
builds_app_encryption_declaration_get_to_one_related - First observed
builds_app_encryption_declaration_get_to_one_relationship - First observed
builds_app_encryption_declaration_update_to_one_relationship - First observed
builds_app_get_to_one_related - First observed
builds_app_get_to_one_relationship - First observed
builds_app_store_version_get_to_one_related - First observed
builds_app_store_version_get_to_one_relationship - First observed
builds_beta_app_review_submission_get_to_one_related - First observed
builds_beta_app_review_submission_get_to_one_relationship - First observed
builds_beta_build_localizations_get_to_many_related - First observed
builds_beta_build_localizations_get_to_many_relationship - First observed
builds_beta_build_usages_get_metrics - First observed
builds_beta_groups_create_to_many_relationship - First observed
builds_beta_groups_delete_to_many_relationship - First observed
builds_build_beta_detail_get_to_one_related - First observed
builds_build_beta_detail_get_to_one_relationship - First observed
builds_diagnostic_signatures_get_to_many_related - First observed
builds_diagnostic_signatures_get_to_many_relationship - First observed
builds_get_collection - First observed
builds_get_instance - First observed
builds_icons_get_to_many_related - First observed
builds_icons_get_to_many_relationship - First observed
builds_individual_testers_create_to_many_relationship - First observed
builds_individual_testers_delete_to_many_relationship - First observed
builds_individual_testers_get_to_many_related - First observed
builds_individual_testers_get_to_many_relationship - First observed
builds_perf_power_metrics_get_to_many_related - First observed
builds_pre_release_version_get_to_one_related - First observed
builds_pre_release_version_get_to_one_relationship - First observed
builds_update_instance - First observed
bundle_id_capabilities_create_instance - First observed
bundle_id_capabilities_delete_instance - First observed
bundle_id_capabilities_update_instance - First observed
bundle_ids_app_get_to_one_related - First observed
bundle_ids_app_get_to_one_relationship - First observed
bundle_ids_bundle_id_capabilities_get_to_many_related - First observed
bundle_ids_bundle_id_capabilities_get_to_many_relationship - First observed
bundle_ids_create_instance - First observed
bundle_ids_delete_instance - First observed
bundle_ids_get_collection - First observed
bundle_ids_get_instance - First observed
bundle_ids_profiles_get_to_many_related - First observed
bundle_ids_profiles_get_to_many_relationship - First observed
bundle_ids_update_instance - First observed
certificates_create_instance - First observed
certificates_delete_instance - First observed
certificates_get_collection - First observed
certificates_get_instance - First observed
certificates_pass_type_id_get_to_one_related - First observed
certificates_pass_type_id_get_to_one_relationship - First observed
certificates_update_instance - First observed
ci_artifacts_get_instance - First observed
ci_build_actions_artifacts_get_to_many_related - First observed
ci_build_actions_artifacts_get_to_many_relationship - First observed
ci_build_actions_build_run_get_to_one_related - First observed
ci_build_actions_build_run_get_to_one_relationship - First observed
ci_build_actions_get_instance - First observed
ci_build_actions_issues_get_to_many_related - First observed
ci_build_actions_issues_get_to_many_relationship - First observed
ci_build_actions_test_results_get_to_many_related - First observed
ci_build_actions_test_results_get_to_many_relationship - First observed
ci_build_run_wait - First observed
ci_build_runs_actions_get_to_many_related - First observed
ci_build_runs_actions_get_to_many_relationship - First observed
ci_build_runs_builds_get_to_many_related - First observed
ci_build_runs_builds_get_to_many_relationship - First observed
ci_build_runs_create_instance - First observed
ci_build_runs_get_instance - First observed
ci_issues_get_instance - First observed
ci_mac_os_versions_get_collection - First observed
ci_mac_os_versions_get_instance - First observed
ci_mac_os_versions_xcode_versions_get_to_many_related - First observed
ci_mac_os_versions_xcode_versions_get_to_many_relationship - First observed
ci_products_additional_repositories_get_to_many_related - First observed
ci_products_additional_repositories_get_to_many_relationship - First observed
ci_products_app_get_to_one_related - First observed
ci_products_app_get_to_one_relationship - First observed
ci_products_build_runs_get_to_many_related - First observed
ci_products_build_runs_get_to_many_relationship - First observed
ci_products_delete_instance - First observed
ci_products_get_collection - First observed
ci_products_get_instance - First observed
ci_products_primary_repositories_get_to_many_related - First observed
ci_products_primary_repositories_get_to_many_relationship - First observed
ci_products_workflows_get_to_many_related - First observed
ci_products_workflows_get_to_many_relationship - First observed
ci_test_results_get_instance - First observed
ci_workflows_build_runs_get_to_many_related - First observed
ci_workflows_build_runs_get_to_many_relationship - First observed
ci_workflows_create_instance - First observed
ci_workflows_delete_instance - First observed
ci_workflows_get_instance - First observed
ci_workflows_repository_get_to_one_related - First observed
ci_workflows_repository_get_to_one_relationship - First observed
ci_workflows_update_instance - First observed
ci_xcode_versions_get_collection - First observed
ci_xcode_versions_get_instance - First observed
ci_xcode_versions_mac_os_versions_get_to_many_related - First observed
ci_xcode_versions_mac_os_versions_get_to_many_relationship - First observed
customer_review_responses_create_instance - First observed
customer_review_responses_delete_instance - First observed
customer_review_responses_get_instance - First observed
customer_reviews_get_instance - First observed
customer_reviews_response_get_to_one_related - First observed
customer_reviews_response_get_to_one_relationship - First observed
devices_create_instance - First observed
devices_get_collection - First observed
devices_get_instance - First observed
devices_update_instance - First observed
diagnostic_signatures_logs_get_to_many_related - First observed
end_app_availability_pre_orders_create_instance - First observed
end_user_license_agreements_create_instance - First observed
end_user_license_agreements_delete_instance - First observed
end_user_license_agreements_get_instance - First observed
end_user_license_agreements_territories_get_to_many_related - First observed
end_user_license_agreements_territories_get_to_many_relationship - First observed
end_user_license_agreements_update_instance - First observed
finance_reports_download - First observed
finance_reports_get_collection - First observed
game_center_achievement_images_create_instance - First observed
game_center_achievement_images_delete_instance - First observed
game_center_achievement_images_get_instance - First observed
game_center_achievement_images_update_instance - First observed
game_center_achievement_images_v2_create_instance - First observed
game_center_achievement_images_v2_delete_instance - First observed
game_center_achievement_images_v2_get_instance - First observed
game_center_achievement_images_v2_update_instance - First observed
game_center_achievement_localizations_create_instance - First observed
game_center_achievement_localizations_delete_instance - First observed
game_center_achievement_localizations_game_center_achievement_get_to_one_related - First observed
game_center_achievement_localizations_game_center_achievement_get_to_one_relationship - First observed
game_center_achievement_localizations_game_center_achievement_image_get_to_one_related - First observed
game_center_achievement_localizations_game_center_achievement_image_get_to_one_relationship - First observed
game_center_achievement_localizations_get_instance - First observed
game_center_achievement_localizations_update_instance - First observed
game_center_achievement_localizations_v2_create_instance - First observed
game_center_achievement_localizations_v2_delete_instance - First observed
game_center_achievement_localizations_v2_get_instance - First observed
game_center_achievement_localizations_v2_image_get_to_one_related - First observed
game_center_achievement_localizations_v2_image_get_to_one_relationship - First observed
game_center_achievement_localizations_v2_update_instance - First observed
game_center_achievement_releases_create_instance - First observed
game_center_achievement_releases_delete_instance - First observed
game_center_achievement_releases_get_instance - First observed
game_center_achievement_versions_v2_create_instance - First observed
game_center_achievement_versions_v2_get_instance - First observed
game_center_achievement_versions_v2_localizations_get_to_many_related - First observed
game_center_achievement_versions_v2_localizations_get_to_many_relationship - First observed
game_center_achievements_activity_update_to_one_relationship - First observed
game_center_achievements_create_instance - First observed
game_center_achievements_delete_instance - First observed
game_center_achievements_get_instance - First observed
game_center_achievements_group_achievement_get_to_one_related - First observed
game_center_achievements_group_achievement_get_to_one_relationship - First observed
game_center_achievements_group_achievement_update_to_one_relationship - First observed
game_center_achievements_localizations_get_to_many_related - First observed
game_center_achievements_localizations_get_to_many_relationship - First observed
game_center_achievements_releases_get_to_many_related - First observed
game_center_achievements_releases_get_to_many_relationship - First observed
game_center_achievements_update_instance - First observed
game_center_achievements_v2_activity_update_to_one_relationship - First observed
game_center_achievements_v2_create_instance - First observed
game_center_achievements_v2_delete_instance - First observed
game_center_achievements_v2_get_instance - First observed
game_center_achievements_v2_update_instance - First observed
game_center_achievements_v2_versions_get_to_many_related - First observed
game_center_achievements_v2_versions_get_to_many_relationship - First observed
game_center_activities_achievements_create_to_many_relationship - First observed
game_center_activities_achievements_delete_to_many_relationship - First observed
game_center_activities_achievements_v2_create_to_many_relationship - First observed
game_center_activities_achievements_v2_delete_to_many_relationship - First observed
game_center_activities_create_instance - First observed
game_center_activities_delete_instance - First observed
game_center_activities_get_instance - First observed
game_center_activities_leaderboards_create_to_many_relationship - First observed
game_center_activities_leaderboards_delete_to_many_relationship - First observed
game_center_activities_leaderboards_v2_create_to_many_relationship - First observed
game_center_activities_leaderboards_v2_delete_to_many_relationship - First observed
game_center_activities_update_instance - First observed
game_center_activities_versions_get_to_many_related - First observed
game_center_activities_versions_get_to_many_relationship - First observed
game_center_activity_images_create_instance - First observed
game_center_activity_images_delete_instance - First observed
game_center_activity_images_get_instance - First observed
game_center_activity_images_update_instance - First observed
game_center_activity_localizations_create_instance - First observed
game_center_activity_localizations_delete_instance - First observed
game_center_activity_localizations_get_instance - First observed
game_center_activity_localizations_image_get_to_one_related - First observed
game_center_activity_localizations_image_get_to_one_relationship - First observed
game_center_activity_localizations_update_instance - First observed
game_center_activity_version_releases_create_instance - First observed
game_center_activity_version_releases_delete_instance - First observed
game_center_activity_version_releases_get_instance - First observed
game_center_activity_versions_create_instance - First observed
game_center_activity_versions_default_image_get_to_one_related - First observed
game_center_activity_versions_default_image_get_to_one_relationship - First observed
game_center_activity_versions_get_instance - First observed
game_center_activity_versions_localizations_get_to_many_related - First observed
game_center_activity_versions_localizations_get_to_many_relationship - First observed
game_center_activity_versions_update_instance - First observed
game_center_app_versions_app_store_version_get_to_one_related - First observed
game_center_app_versions_app_store_version_get_to_one_relationship - First observed
game_center_app_versions_compatibility_versions_create_to_many_relationship - First observed
game_center_app_versions_compatibility_versions_delete_to_many_relationship - First observed
game_center_app_versions_compatibility_versions_get_to_many_related - First observed
game_center_app_versions_compatibility_versions_get_to_many_relationship - First observed
game_center_app_versions_create_instance - First observed
game_center_app_versions_get_instance - First observed
game_center_app_versions_update_instance - First observed
game_center_challenge_images_create_instance - First observed
game_center_challenge_images_delete_instance - First observed
game_center_challenge_images_get_instance - First observed
game_center_challenge_images_update_instance - First observed
game_center_challenge_localizations_create_instance - First observed
game_center_challenge_localizations_delete_instance - First observed
game_center_challenge_localizations_get_instance - First observed
game_center_challenge_localizations_image_get_to_one_related - First observed
game_center_challenge_localizations_image_get_to_one_relationship - First observed
game_center_challenge_localizations_update_instance - First observed
game_center_challenge_version_releases_create_instance - First observed
game_center_challenge_version_releases_delete_instance - First observed
game_center_challenge_version_releases_get_instance - First observed
game_center_challenge_versions_create_instance - First observed
game_center_challenge_versions_default_image_get_to_one_related - First observed
game_center_challenge_versions_default_image_get_to_one_relationship - First observed
game_center_challenge_versions_get_instance - First observed
game_center_challenge_versions_localizations_get_to_many_related - First observed
game_center_challenge_versions_localizations_get_to_many_relationship - First observed
game_center_challenges_create_instance - First observed
game_center_challenges_delete_instance - First observed
game_center_challenges_get_instance - First observed
game_center_challenges_leaderboard_update_to_one_relationship - First observed
game_center_challenges_leaderboard_v2_update_to_one_relationship - First observed
game_center_challenges_update_instance - First observed
game_center_challenges_versions_get_to_many_related - First observed
game_center_challenges_versions_get_to_many_relationship - First observed
game_center_detail_players_update_instance - First observed
game_center_details_achievement_releases_get_to_many_related - First observed
game_center_details_achievement_releases_get_to_many_relationship - First observed
game_center_details_activity_releases_get_to_many_related - First observed
game_center_details_activity_releases_get_to_many_relationship - First observed
game_center_details_blocked_players_get_to_many_related - First observed
game_center_details_blocked_players_get_to_many_relationship - First observed
game_center_details_challenge_releases_get_to_many_related - First observed
game_center_details_challenge_releases_get_to_many_relationship - First observed
game_center_details_challenges_minimum_platform_versions_replace_to_many_relationship - First observed
game_center_details_classic_matchmaking_requests_get_metrics - First observed
game_center_details_create_instance - First observed
game_center_details_game_center_achievements_get_to_many_related - First observed
game_center_details_game_center_achievements_get_to_many_relationship - First observed
game_center_details_game_center_achievements_replace_to_many_relationship - First observed
game_center_details_game_center_achievements_v2_get_to_many_related - First observed
game_center_details_game_center_achievements_v2_get_to_many_relationship - First observed
game_center_details_game_center_achievements_v2_replace_to_many_relationship - First observed
game_center_details_game_center_activities_get_to_many_related - First observed
game_center_details_game_center_activities_get_to_many_relationship - First observed
game_center_details_game_center_app_versions_get_to_many_related - First observed
game_center_details_game_center_app_versions_get_to_many_relationship - First observed
game_center_details_game_center_challenges_get_to_many_related - First observed
game_center_details_game_center_challenges_get_to_many_relationship - First observed
game_center_details_game_center_group_get_to_one_related - First observed
game_center_details_game_center_group_get_to_one_relationship - First observed
game_center_details_game_center_leaderboard_sets_get_to_many_related - First observed
game_center_details_game_center_leaderboard_sets_get_to_many_relationship - First observed
game_center_details_game_center_leaderboard_sets_replace_to_many_relationship - First observed
game_center_details_game_center_leaderboard_sets_v2_get_to_many_related - First observed
game_center_details_game_center_leaderboard_sets_v2_get_to_many_relationship - First observed
game_center_details_game_center_leaderboard_sets_v2_replace_to_many_relationship - First observed
game_center_details_game_center_leaderboards_get_to_many_related - First observed
game_center_details_game_center_leaderboards_get_to_many_relationship - First observed
game_center_details_game_center_leaderboards_replace_to_many_relationship - First observed
game_center_details_game_center_leaderboards_v2_get_to_many_related - First observed
game_center_details_game_center_leaderboards_v2_get_to_many_relationship - First observed
game_center_details_game_center_leaderboards_v2_replace_to_many_relationship - First observed
game_center_details_get_instance - First observed
game_center_details_leaderboard_releases_get_to_many_related - First observed
game_center_details_leaderboard_releases_get_to_many_relationship - First observed
game_center_details_leaderboard_set_releases_get_to_many_related - First observed
game_center_details_leaderboard_set_releases_get_to_many_relationship - First observed
game_center_details_rule_based_matchmaking_requests_get_metrics - First observed
game_center_details_update_instance - First observed
game_center_enabled_versions_compatible_versions_create_to_many_relationship - First observed
game_center_enabled_versions_compatible_versions_delete_to_many_relationship - First observed
game_center_enabled_versions_compatible_versions_get_to_many_related - First observed
game_center_enabled_versions_compatible_versions_get_to_many_relationship - First observed
game_center_enabled_versions_compatible_versions_replace_to_many_relationship - First observed
game_center_groups_create_instance - First observed
game_center_groups_delete_instance - First observed
game_center_groups_game_center_achievements_get_to_many_related - First observed
game_center_groups_game_center_achievements_get_to_many_relationship - First observed
game_center_groups_game_center_achievements_replace_to_many_relationship - First observed
game_center_groups_game_center_achievements_v2_get_to_many_related - First observed
game_center_groups_game_center_achievements_v2_get_to_many_relationship - First observed
game_center_groups_game_center_achievements_v2_replace_to_many_relationship - First observed
game_center_groups_game_center_activities_get_to_many_related - First observed
game_center_groups_game_center_activities_get_to_many_relationship - First observed
game_center_groups_game_center_challenges_get_to_many_related - First observed
game_center_groups_game_center_challenges_get_to_many_relationship - First observed
game_center_groups_game_center_details_get_to_many_related - First observed
game_center_groups_game_center_details_get_to_many_relationship - First observed
game_center_groups_game_center_leaderboard_sets_get_to_many_related - First observed
game_center_groups_game_center_leaderboard_sets_get_to_many_relationship - First observed
game_center_groups_game_center_leaderboard_sets_replace_to_many_relationship - First observed
game_center_groups_game_center_leaderboard_sets_v2_get_to_many_related - First observed
game_center_groups_game_center_leaderboard_sets_v2_get_to_many_relationship - First observed
game_center_groups_game_center_leaderboard_sets_v2_replace_to_many_relationship - First observed
game_center_groups_game_center_leaderboards_get_to_many_related - First observed
game_center_groups_game_center_leaderboards_get_to_many_relationship - First observed
game_center_groups_game_center_leaderboards_replace_to_many_relationship - First observed
game_center_groups_game_center_leaderboards_v2_get_to_many_related - First observed
game_center_groups_game_center_leaderboards_v2_get_to_many_relationship - First observed
game_center_groups_game_center_leaderboards_v2_replace_to_many_relationship - First observed
game_center_groups_get_collection - First observed
game_center_groups_get_instance - First observed
game_center_groups_update_instance - First observed
game_center_leaderboard_entry_submissions_create_instance - First observed
game_center_leaderboard_images_create_instance - First observed
game_center_leaderboard_images_delete_instance - First observed
game_center_leaderboard_images_get_instance - First observed
game_center_leaderboard_images_update_instance - First observed
game_center_leaderboard_images_v2_create_instance - First observed
game_center_leaderboard_images_v2_delete_instance - First observed
game_center_leaderboard_images_v2_get_instance - First observed
game_center_leaderboard_images_v2_update_instance - First observed
game_center_leaderboard_localizations_create_instance - First observed
game_center_leaderboard_localizations_delete_instance - First observed
game_center_leaderboard_localizations_game_center_leaderboard_image_get_to_one_related - First observed
game_center_leaderboard_localizations_game_center_leaderboard_image_get_to_one_relationship - First observed
game_center_leaderboard_localizations_get_instance - First observed
game_center_leaderboard_localizations_update_instance - First observed
game_center_leaderboard_localizations_v2_create_instance - First observed
game_center_leaderboard_localizations_v2_delete_instance - First observed
game_center_leaderboard_localizations_v2_get_instance - First observed
game_center_leaderboard_localizations_v2_image_get_to_one_related - First observed
game_center_leaderboard_localizations_v2_image_get_to_one_relationship - First observed
game_center_leaderboard_localizations_v2_update_instance - First observed
game_center_leaderboard_releases_create_instance - First observed
game_center_leaderboard_releases_delete_instance - First observed
game_center_leaderboard_releases_get_instance - First observed
game_center_leaderboard_set_images_create_instance - First observed
game_center_leaderboard_set_images_delete_instance - First observed
game_center_leaderboard_set_images_get_instance - First observed
game_center_leaderboard_set_images_update_instance - First observed
game_center_leaderboard_set_images_v2_create_instance - First observed
game_center_leaderboard_set_images_v2_delete_instance - First observed
game_center_leaderboard_set_images_v2_get_instance - First observed
game_center_leaderboard_set_images_v2_update_instance - First observed
game_center_leaderboard_set_localizations_create_instance - First observed
game_center_leaderboard_set_localizations_delete_instance - First observed
game_center_leaderboard_set_localizations_get_instance - First observed
game_center_leaderboard_set_localizations_image_get_to_one_related - First observed
game_center_leaderboard_set_localizations_image_get_to_one_relationship - First observed
game_center_leaderboard_set_localizations_update_instance - First observed
game_center_leaderboard_set_localizations_v2_create_instance - First observed
game_center_leaderboard_set_localizations_v2_delete_instance - First observed
game_center_leaderboard_set_localizations_v2_get_instance - First observed
game_center_leaderboard_set_localizations_v2_image_get_to_one_related - First observed
game_center_leaderboard_set_localizations_v2_image_get_to_one_relationship - First observed
game_center_leaderboard_set_localizations_v2_update_instance - First observed
game_center_leaderboard_set_member_localizations_create_instance - First observed
game_center_leaderboard_set_member_localizations_delete_instance - First observed
game_center_leaderboard_set_member_localizations_game_center_leaderboard_get_to_one_related - First observed
game_center_leaderboard_set_member_localizations_get_collection - First observed
game_center_leaderboard_set_member_localizations_leaderboard_get_to_one_relationship - First observed
game_center_leaderboard_set_member_localizations_set_get_to_one_related - First observed
game_center_leaderboard_set_member_localizations_set_get_to_one_relationship - First observed
game_center_leaderboard_set_member_localizations_update_instance - First observed
game_center_leaderboard_set_releases_create_instance - First observed
game_center_leaderboard_set_releases_delete_instance - First observed
game_center_leaderboard_set_releases_get_instance - First observed
game_center_leaderboard_set_versions_v2_create_instance - First observed
game_center_leaderboard_set_versions_v2_get_instance - First observed
game_center_leaderboard_set_versions_v2_localizations_get_to_many_related - First observed
game_center_leaderboard_set_versions_v2_localizations_get_to_many_relationship - First observed
game_center_leaderboard_sets_create_instance - First observed
game_center_leaderboard_sets_delete_instance - First observed
game_center_leaderboard_sets_game_center_leaderboards_create_to_many_relationship - First observed
game_center_leaderboard_sets_game_center_leaderboards_delete_to_many_relationship - First observed
game_center_leaderboard_sets_game_center_leaderboards_get_to_many_related - First observed
game_center_leaderboard_sets_game_center_leaderboards_get_to_many_relationship - First observed
game_center_leaderboard_sets_game_center_leaderboards_replace_to_many_relationship - First observed
game_center_leaderboard_sets_get_instance - First observed
game_center_leaderboard_sets_group_leaderboard_set_get_to_one_related - First observed
game_center_leaderboard_sets_group_leaderboard_set_get_to_one_relationship - First observed
game_center_leaderboard_sets_group_leaderboard_set_update_to_one_relationship - First observed
game_center_leaderboard_sets_localizations_get_to_many_related - First observed
game_center_leaderboard_sets_localizations_get_to_many_relationship - First observed
game_center_leaderboard_sets_releases_get_to_many_related - First observed
game_center_leaderboard_sets_releases_get_to_many_relationship - First observed
game_center_leaderboard_sets_update_instance - First observed
game_center_leaderboard_sets_v2_create_instance - First observed
game_center_leaderboard_sets_v2_delete_instance - First observed
game_center_leaderboard_sets_v2_game_center_leaderboards_create_to_many_relationship - First observed
game_center_leaderboard_sets_v2_game_center_leaderboards_delete_to_many_relationship - First observed
game_center_leaderboard_sets_v2_game_center_leaderboards_get_to_many_related - First observed
game_center_leaderboard_sets_v2_game_center_leaderboards_get_to_many_relationship - First observed
game_center_leaderboard_sets_v2_game_center_leaderboards_replace_to_many_relationship - First observed
game_center_leaderboard_sets_v2_get_instance - First observed
game_center_leaderboard_sets_v2_update_instance - First observed
game_center_leaderboard_sets_v2_versions_get_to_many_related - First observed
game_center_leaderboard_sets_v2_versions_get_to_many_relationship - First observed
game_center_leaderboard_versions_v2_create_instance - First observed
game_center_leaderboard_versions_v2_get_instance - First observed
game_center_leaderboard_versions_v2_localizations_get_to_many_related - First observed
game_center_leaderboard_versions_v2_localizations_get_to_many_relationship - First observed
game_center_leaderboards_activity_update_to_one_relationship - First observed
game_center_leaderboards_challenge_update_to_one_relationship - First observed
game_center_leaderboards_create_instance - First observed
game_center_leaderboards_delete_instance - First observed
game_center_leaderboards_get_instance - First observed
game_center_leaderboards_group_leaderboard_get_to_one_related - First observed
game_center_leaderboards_group_leaderboard_get_to_one_relationship - First observed
game_center_leaderboards_group_leaderboard_update_to_one_relationship - First observed
game_center_leaderboards_localizations_get_to_many_related - First observed
game_center_leaderboards_localizations_get_to_many_relationship - First observed
game_center_leaderboards_releases_get_to_many_related - First observed
game_center_leaderboards_releases_get_to_many_relationship - First observed
game_center_leaderboards_update_instance - First observed
game_center_leaderboards_v2_activity_update_to_one_relationship - First observed
game_center_leaderboards_v2_challenge_update_to_one_relationship - First observed
game_center_leaderboards_v2_create_instance - First observed
game_center_leaderboards_v2_delete_instance - First observed
game_center_leaderboards_v2_game_center_score_moderations_get_to_many_related - First observed
game_center_leaderboards_v2_game_center_score_moderations_get_to_many_relationship - First observed
game_center_leaderboards_v2_get_instance - First observed
game_center_leaderboards_v2_update_instance - First observed
game_center_leaderboards_v2_versions_get_to_many_related - First observed
game_center_leaderboards_v2_versions_get_to_many_relationship - First observed
game_center_matchmaking_queues_create_instance - First observed
game_center_matchmaking_queues_delete_instance - First observed
game_center_matchmaking_queues_experiment_matchmaking_queue_sizes_get_metrics - First observed
game_center_matchmaking_queues_experiment_matchmaking_requests_get_metrics - First observed
game_center_matchmaking_queues_get_collection - First observed
game_center_matchmaking_queues_get_instance - First observed
game_center_matchmaking_queues_matchmaking_queue_sizes_get_metrics - First observed
game_center_matchmaking_queues_matchmaking_requests_get_metrics - First observed
game_center_matchmaking_queues_matchmaking_sessions_get_metrics - First observed
game_center_matchmaking_queues_update_instance - First observed
game_center_matchmaking_rule_set_tests_create_instance - First observed
game_center_matchmaking_rule_sets_create_instance - First observed
game_center_matchmaking_rule_sets_delete_instance - First observed
game_center_matchmaking_rule_sets_get_collection - First observed
game_center_matchmaking_rule_sets_get_instance - First observed
game_center_matchmaking_rule_sets_matchmaking_queues_get_to_many_related - First observed
game_center_matchmaking_rule_sets_matchmaking_queues_get_to_many_relationship - First observed
game_center_matchmaking_rule_sets_rules_get_to_many_related - First observed
game_center_matchmaking_rule_sets_rules_get_to_many_relationship - First observed
game_center_matchmaking_rule_sets_teams_get_to_many_related - First observed
game_center_matchmaking_rule_sets_teams_get_to_many_relationship - First observed
game_center_matchmaking_rule_sets_update_instance - First observed
game_center_matchmaking_rules_create_instance - First observed
game_center_matchmaking_rules_delete_instance - First observed
game_center_matchmaking_rules_matchmaking_boolean_rule_results_get_metrics - First observed
game_center_matchmaking_rules_matchmaking_number_rule_results_get_metrics - First observed
game_center_matchmaking_rules_matchmaking_rule_errors_get_metrics - First observed
game_center_matchmaking_rules_update_instance - First observed
game_center_matchmaking_teams_create_instance - First observed
game_center_matchmaking_teams_delete_instance - First observed
game_center_matchmaking_teams_update_instance - First observed
game_center_player_achievement_submissions_create_instance - First observed
game_center_score_moderations_update_instance - First observed
in_app_purchase_app_store_review_screenshots_create_instance - First observed
in_app_purchase_app_store_review_screenshots_delete_instance - First observed
in_app_purchase_app_store_review_screenshots_get_instance - First observed
in_app_purchase_app_store_review_screenshots_update_instance - First observed
in_app_purchase_availabilities_available_territories_get_to_many_related - First observed
in_app_purchase_availabilities_available_territories_get_to_many_relationship - First observed
in_app_purchase_availabilities_create_instance - First observed
in_app_purchase_availabilities_get_instance - First observed
in_app_purchase_contents_get_instance - First observed
in_app_purchase_images_create_instance - First observed
in_app_purchase_images_delete_instance - First observed
in_app_purchase_images_get_instance - First observed
in_app_purchase_images_update_instance - First observed
in_app_purchase_images_v2_create_instance - First observed
in_app_purchase_images_v2_delete_instance - First observed
in_app_purchase_images_v2_get_instance - First observed
in_app_purchase_images_v2_update_instance - First observed
in_app_purchase_localizations_create_instance - First observed
in_app_purchase_localizations_delete_instance - First observed
in_app_purchase_localizations_get_instance - First observed
in_app_purchase_localizations_update_instance - First observed
in_app_purchase_localizations_v2_create_instance - First observed
in_app_purchase_localizations_v2_delete_instance - First observed
in_app_purchase_localizations_v2_get_instance - First observed
in_app_purchase_localizations_v2_update_instance - First observed
in_app_purchase_offer_code_custom_codes_create_instance - First observed
in_app_purchase_offer_code_custom_codes_get_instance - First observed
in_app_purchase_offer_code_custom_codes_update_instance - First observed
in_app_purchase_offer_code_one_time_use_codes_create_instance - First observed
in_app_purchase_offer_code_one_time_use_codes_get_instance - First observed
in_app_purchase_offer_code_one_time_use_codes_update_instance - First observed
in_app_purchase_offer_code_one_time_use_codes_values_get_to_one_related - First observed
in_app_purchase_offer_codes_create_instance - First observed
in_app_purchase_offer_codes_custom_codes_get_to_many_related - First observed
in_app_purchase_offer_codes_custom_codes_get_to_many_relationship - First observed
in_app_purchase_offer_codes_get_instance - First observed
in_app_purchase_offer_codes_one_time_use_codes_get_to_many_related - First observed
in_app_purchase_offer_codes_one_time_use_codes_get_to_many_relationship - First observed
in_app_purchase_offer_codes_prices_get_to_many_related - First observed
in_app_purchase_offer_codes_prices_get_to_many_relationship - First observed
in_app_purchase_offer_codes_update_instance - First observed
in_app_purchase_price_points_equalizations_get_to_many_related - First observed
in_app_purchase_price_points_equalizations_get_to_many_relationship - First observed
in_app_purchase_price_schedules_automatic_prices_get_to_many_related - First observed
in_app_purchase_price_schedules_automatic_prices_get_to_many_relationship - First observed
in_app_purchase_price_schedules_base_territory_get_to_one_related - First observed
in_app_purchase_price_schedules_base_territory_get_to_one_relationship - First observed
in_app_purchase_price_schedules_create_instance - First observed
in_app_purchase_price_schedules_get_instance - First observed
in_app_purchase_price_schedules_manual_prices_get_to_many_related - First observed
in_app_purchase_price_schedules_manual_prices_get_to_many_relationship - First observed
in_app_purchase_submissions_create_instance - First observed
in_app_purchase_versions_create_instance - First observed
in_app_purchase_versions_get_instance - First observed
in_app_purchase_versions_image_get_to_one_related - First observed
in_app_purchase_versions_image_get_to_one_relationship - First observed
in_app_purchase_versions_images_get_to_many_related - First observed
in_app_purchase_versions_images_get_to_many_relationship - First observed
in_app_purchase_versions_localizations_get_to_many_related - First observed
in_app_purchase_versions_localizations_get_to_many_relationship - First observed
in_app_purchases_get_instance - First observed
in_app_purchases_v2_app_store_review_screenshot_get_to_one_related - First observed
in_app_purchases_v2_app_store_review_screenshot_get_to_one_relationship - First observed
in_app_purchases_v2_content_get_to_one_related - First observed
in_app_purchases_v2_content_get_to_one_relationship - First observed
in_app_purchases_v2_create_instance - First observed
in_app_purchases_v2_delete_instance - First observed
in_app_purchases_v2_get_instance - First observed
in_app_purchases_v2_iap_price_schedule_get_to_one_related - First observed
in_app_purchases_v2_iap_price_schedule_get_to_one_relationship - First observed
in_app_purchases_v2_images_get_to_many_related - First observed
in_app_purchases_v2_images_get_to_many_relationship - First observed
in_app_purchases_v2_in_app_purchase_availability_get_to_one_related - First observed
in_app_purchases_v2_in_app_purchase_availability_get_to_one_relationship - First observed
in_app_purchases_v2_in_app_purchase_localizations_get_to_many_related - First observed
in_app_purchases_v2_in_app_purchase_localizations_get_to_many_relationship - First observed
in_app_purchases_v2_offer_codes_get_to_many_related - First observed
in_app_purchases_v2_offer_codes_get_to_many_relationship - First observed
in_app_purchases_v2_price_points_get_to_many_related - First observed
in_app_purchases_v2_price_points_get_to_many_relationship - First observed
in_app_purchases_v2_promoted_purchase_get_to_one_related - First observed
in_app_purchases_v2_promoted_purchase_get_to_one_relationship - First observed
in_app_purchases_v2_update_instance - First observed
in_app_purchases_v2_versions_get_to_many_related - First observed
in_app_purchases_v2_versions_get_to_many_relationship - First observed
marketplace_search_details_create_instance - First observed
marketplace_search_details_delete_instance - First observed
marketplace_search_details_update_instance - First observed
marketplace_webhooks_create_instance - First observed
marketplace_webhooks_delete_instance - First observed
marketplace_webhooks_get_collection - First observed
marketplace_webhooks_update_instance - First observed
merchant_ids_certificates_get_to_many_related - First observed
merchant_ids_certificates_get_to_many_relationship - First observed
merchant_ids_create_instance - First observed
merchant_ids_delete_instance - First observed
merchant_ids_get_collection - First observed
merchant_ids_get_instance - First observed
merchant_ids_update_instance - First observed
nominations_create_instance - First observed
nominations_delete_instance - First observed
nominations_get_collection - First observed
nominations_get_instance - First observed
nominations_update_instance - First observed
pass_type_ids_certificates_get_to_many_related - First observed
pass_type_ids_certificates_get_to_many_relationship - First observed
pass_type_ids_create_instance - First observed
pass_type_ids_delete_instance - First observed
pass_type_ids_get_collection - First observed
pass_type_ids_get_instance - First observed
pass_type_ids_update_instance - First observed
pre_release_versions_app_get_to_one_related - First observed
pre_release_versions_app_get_to_one_relationship - First observed
pre_release_versions_builds_get_to_many_related - First observed
pre_release_versions_builds_get_to_many_relationship - First observed
pre_release_versions_get_collection - First observed
pre_release_versions_get_instance - First observed
profiles_bundle_id_get_to_one_related - First observed
profiles_bundle_id_get_to_one_relationship - First observed
profiles_certificates_get_to_many_related - First observed
profiles_certificates_get_to_many_relationship - First observed
profiles_create_instance - First observed
profiles_delete_instance - First observed
profiles_devices_get_to_many_related - First observed
profiles_devices_get_to_many_relationship - First observed
profiles_get_collection - First observed
profiles_get_instance - First observed
promoted_purchases_create_instance - First observed
promoted_purchases_delete_instance - First observed
promoted_purchases_get_instance - First observed
promoted_purchases_update_instance - First observed
review_submission_items_create_instance - First observed
review_submission_items_delete_instance - First observed
review_submission_items_update_instance - First observed
review_submissions_create_instance - First observed
review_submissions_get_collection - First observed
review_submissions_get_instance - First observed
review_submissions_items_get_to_many_related - First observed
review_submissions_items_get_to_many_relationship - First observed
review_submissions_update_instance - First observed
routing_app_coverages_create_instance - First observed
routing_app_coverages_delete_instance - First observed
routing_app_coverages_get_instance - First observed
routing_app_coverages_update_instance - First observed
sales_reports_download - First observed
sales_reports_get_collection - First observed
sandbox_testers_clear_purchase_history_request_v2_create_instance - First observed
sandbox_testers_v2_get_collection - First observed
sandbox_testers_v2_update_instance - First observed
scm_git_references_get_instance - First observed
scm_providers_get_collection - First observed
scm_providers_get_instance - First observed
scm_providers_repositories_get_to_many_related - First observed
scm_providers_repositories_get_to_many_relationship - First observed
scm_pull_requests_get_instance - First observed
scm_repositories_get_collection - First observed
scm_repositories_get_instance - First observed
scm_repositories_git_references_get_to_many_related - First observed
scm_repositories_git_references_get_to_many_relationship - First observed
scm_repositories_pull_requests_get_to_many_related - First observed
scm_repositories_pull_requests_get_to_many_relationship - First observed
subscription_app_store_review_screenshots_create_instance - First observed
subscription_app_store_review_screenshots_delete_instance - First observed
subscription_app_store_review_screenshots_get_instance - First observed
subscription_app_store_review_screenshots_update_instance - First observed
subscription_availabilities_available_territories_get_to_many_related - First observed
subscription_availabilities_available_territories_get_to_many_relationship - First observed
subscription_availabilities_create_instance - First observed
subscription_availabilities_get_instance - First observed
subscription_grace_periods_get_instance - First observed
subscription_grace_periods_update_instance - First observed
subscription_group_localizations_create_instance - First observed
subscription_group_localizations_delete_instance - First observed
subscription_group_localizations_get_instance - First observed
subscription_group_localizations_update_instance - First observed
subscription_group_localizations_v2_create_instance - First observed
subscription_group_localizations_v2_delete_instance - First observed
subscription_group_localizations_v2_get_instance - First observed
subscription_group_localizations_v2_update_instance - First observed
subscription_group_submissions_create_instance - First observed
subscription_group_versions_create_instance - First observed
subscription_group_versions_get_instance - First observed
subscription_group_versions_localizations_get_to_many_related - First observed
subscription_group_versions_localizations_get_to_many_relationship - First observed
subscription_groups_create_instance - First observed
subscription_groups_delete_instance - First observed
subscription_groups_get_instance - First observed
subscription_groups_subscription_group_localizations_get_to_many_related - First observed
subscription_groups_subscription_group_localizations_get_to_many_relationship - First observed
subscription_groups_subscriptions_get_to_many_related - First observed
subscription_groups_subscriptions_get_to_many_relationship - First observed
subscription_groups_update_instance - First observed
subscription_groups_versions_get_to_many_related - First observed
subscription_groups_versions_get_to_many_relationship - First observed
subscription_images_create_instance - First observed
subscription_images_delete_instance - First observed
subscription_images_get_instance - First observed
subscription_images_update_instance - First observed
subscription_images_v2_create_instance - First observed
subscription_images_v2_delete_instance - First observed
subscription_images_v2_get_instance - First observed
subscription_images_v2_update_instance - First observed
subscription_introductory_offers_create_instance - First observed
subscription_introductory_offers_delete_instance - First observed
subscription_introductory_offers_update_instance - First observed
subscription_localizations_create_instance - First observed
subscription_localizations_delete_instance - First observed
subscription_localizations_get_instance - First observed
subscription_localizations_update_instance - First observed
subscription_localizations_v2_create_instance - First observed
subscription_localizations_v2_delete_instance - First observed
subscription_localizations_v2_get_instance - First observed
subscription_localizations_v2_update_instance - First observed
subscription_offer_code_custom_codes_create_instance - First observed
subscription_offer_code_custom_codes_get_instance - First observed
subscription_offer_code_custom_codes_update_instance - First observed
subscription_offer_code_one_time_use_codes_create_instance - First observed
subscription_offer_code_one_time_use_codes_get_instance - First observed
subscription_offer_code_one_time_use_codes_update_instance - First observed
subscription_offer_code_one_time_use_codes_values_get_to_one_related - First observed
subscription_offer_codes_create_instance - First observed
subscription_offer_codes_custom_codes_get_to_many_related - First observed
subscription_offer_codes_custom_codes_get_to_many_relationship - First observed
subscription_offer_codes_get_instance - First observed
subscription_offer_codes_one_time_use_codes_get_to_many_related - First observed
subscription_offer_codes_one_time_use_codes_get_to_many_relationship - First observed
subscription_offer_codes_prices_get_to_many_related - First observed
subscription_offer_codes_prices_get_to_many_relationship - First observed
subscription_offer_codes_update_instance - First observed
subscription_plan_availabilities_available_territories_get_to_many_related - First observed
subscription_plan_availabilities_available_territories_get_to_many_relationship - First observed
subscription_plan_availabilities_available_territories_replace_to_many_relationship - First observed
subscription_plan_availabilities_create_instance - First observed
subscription_plan_availabilities_get_instance - First observed
subscription_plan_availabilities_update_instance - First observed
subscription_price_points_adjusted_equalizations_get_to_many_related - First observed
subscription_price_points_equalizations_get_to_many_related - First observed
subscription_price_points_equalizations_get_to_many_relationship - First observed
subscription_price_points_get_instance - First observed
subscription_prices_create_instance - First observed
subscription_prices_delete_instance - First observed
subscription_promotional_offers_create_instance - First observed
subscription_promotional_offers_delete_instance - First observed
subscription_promotional_offers_get_instance - First observed
subscription_promotional_offers_prices_get_to_many_related - First observed
subscription_promotional_offers_prices_get_to_many_relationship - First observed
subscription_promotional_offers_update_instance - First observed
subscription_submissions_create_instance - First observed
subscription_versions_create_instance - First observed
subscription_versions_get_instance - First observed
subscription_versions_image_get_to_one_related - First observed
subscription_versions_image_get_to_one_relationship - First observed
subscription_versions_images_get_to_many_related - First observed
subscription_versions_images_get_to_many_relationship - First observed
subscription_versions_localizations_get_to_many_related - First observed
subscription_versions_localizations_get_to_many_relationship - First observed
subscriptions_app_store_review_screenshot_get_to_one_related - First observed
subscriptions_app_store_review_screenshot_get_to_one_relationship - First observed
subscriptions_create_instance - First observed
subscriptions_delete_instance - First observed
subscriptions_get_instance - First observed
subscriptions_images_get_to_many_related - First observed
subscriptions_images_get_to_many_relationship - First observed
subscriptions_introductory_offers_delete_to_many_relationship - First observed
subscriptions_introductory_offers_get_to_many_related - First observed
subscriptions_introductory_offers_get_to_many_relationship - First observed
subscriptions_offer_codes_get_to_many_related - First observed
subscriptions_offer_codes_get_to_many_relationship - First observed
subscriptions_plan_availabilities_get_to_many_related - First observed
subscriptions_plan_availabilities_get_to_many_relationship - First observed
subscriptions_price_points_get_to_many_related - First observed
subscriptions_price_points_get_to_many_relationship - First observed
subscriptions_prices_delete_to_many_relationship - First observed
subscriptions_prices_get_to_many_related - First observed
subscriptions_prices_get_to_many_relationship - First observed
subscriptions_promoted_purchase_get_to_one_related - First observed
subscriptions_promoted_purchase_get_to_one_relationship - First observed
subscriptions_promotional_offers_get_to_many_related - First observed
subscriptions_promotional_offers_get_to_many_relationship - First observed
subscriptions_subscription_availability_get_to_one_related - First observed
subscriptions_subscription_availability_get_to_one_relationship - First observed
subscriptions_subscription_localizations_get_to_many_related - First observed
subscriptions_subscription_localizations_get_to_many_relationship - First observed
subscriptions_update_instance - First observed
subscriptions_versions_get_to_many_related - First observed
subscriptions_versions_get_to_many_relationship - First observed
subscriptions_win_back_offers_get_to_many_related - First observed
subscriptions_win_back_offers_get_to_many_relationship - First observed
territories_get_collection - First observed
territory_availabilities_update_instance - First observed
user_invitations_create_instance - First observed
user_invitations_delete_instance - First observed
user_invitations_get_collection - First observed
user_invitations_get_instance - First observed
user_invitations_visible_apps_get_to_many_related - First observed
user_invitations_visible_apps_get_to_many_relationship - First observed
users_delete_instance - First observed
users_get_collection - First observed
users_get_instance - First observed
users_update_instance - First observed
users_visible_apps_create_to_many_relationship - First observed
users_visible_apps_delete_to_many_relationship - First observed
users_visible_apps_get_to_many_related - First observed
users_visible_apps_get_to_many_relationship - First observed
users_visible_apps_replace_to_many_relationship - First observed
webhook_deliveries_create_instance - First observed
webhook_pings_create_instance - First observed
webhooks_create_instance - First observed
webhooks_delete_instance - First observed
webhooks_deliveries_get_to_many_related - First observed
webhooks_deliveries_get_to_many_relationship - First observed
webhooks_get_instance - First observed
webhooks_update_instance - First observed
win_back_offers_create_instance - First observed
win_back_offers_delete_instance - First observed
win_back_offers_get_instance - First observed
win_back_offers_prices_get_to_many_related - First observed
win_back_offers_prices_get_to_many_relationship - First observed
win_back_offers_update_instance
TDQS
Scored across 1316 tools
The set contains hundreds of near-identical pairs such as `*_get_to_one_relationship` vs `*_get_to_one_related` and `*_get_to_many_relationship` vs `*_get_to_many_related`, which an agent will frequently confuse. There is also heavy v1/v2 and deprecated/non-deprecated duplication (e.g. game_center_achievements vs _v2, in_app_purchase_images vs _v2). Names are descriptive but the sheer number of overlapping resource+action variants makes boundaries unclear.
Tool names follow a highly predictable snake_case pattern of resource_verb_operation (e.g. `app_infos_update_instance`, `subscriptions_delete_instance`), applied uniformly across the whole surface. Minor deviations arise from embedded `_v2`/`_v3` version segments and `[DEPRECATED]` prefixes, but the underlying convention is consistent.
1316 tools is an extreme mismatch for any agent workflow; this is a raw 1:1 projection of the entire App Store Connect OpenAPI spec. The volume makes selection impractical and overwhelms the handful of genuinely useful higher-level helpers (asset_upload_file, sales_reports_download, ci_build_run_wait).
The surface exhaustively covers the App Store Connect domain, including CRUD for apps, builds, subscriptions, in-app purchases, Game Center, CI, reports, and account/auth management. Dedicated helper tools for uploads, report downloads, and polling/waiting further close common workflow gaps.
Maintenance
Related MCP Connectors
- app-managerOAuthapp.lance
App Store Connect operator for AI agents: icons, TestFlight builds, listings, IAP, rejection fixes.
- metarunOAuthdev.metarun
Run App Store Connect from your IDE: pricing, listings, screenshots, releases, AI visibility.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to manage Apple App Store Connect operations including app management, TestFlight, analytics, reviews, subscriptions, and more through 54 tools.6133 npm11MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that exposes the entire Apple App Store Connect API (1,200+ operations) as MCP tools, enabling AI assistants to query apps, manage builds, handle submissions, read analytics, and more.6 npmMIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that exposes the Apple App Store Connect API to AI agents, enabling management of apps, metadata, in-app purchases, subscriptions, TestFlight, provisioning, reviews, analytics, and more through 113 curated tools plus two generic JSON:API escape-hatch tools.2-
- AlicenseNot gradedqualityCmaintenanceExposes the full App Store Connect API (1,263 operations) to AI agents via four token-efficient MCP tools, enabling app metadata, TestFlight, subscriptions, and reporting management through natural language.MIT