Skip to content

Document command structure conventions and restructure commands to match - #28

Merged
dennis-chen-vanta merged 2 commits into
mainfrom
dennis-chen-vanta/cli-command-structure
Oct 22, 2026
Merged

dennis-chen-vanta merged 2 commits into
mainfrom
dennis-chen-vanta/cli-command-structure

Conversation

@dennis-chen-vanta

@dennis-chen-vanta dennis-chen-vanta commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Two commits:

  1. AGENTS.md: document conventions for how we name and structure commands.
  2. Commands: brings every API command in line with those conventions. Note that there are some formatting changes because this was done with a codegen script which I haven't included in this PR, for the sake of aligning on the convention and command structure first.

Command changes

Each line is a full command with its flags; optional flags are in []. --page-size and --page-cursor are left out because they didn't change.

controls (4 commands)
- controls list-library
+ controls list-controls-library
- controls list-deactivated
+ controls list-deactivated-controls
- controls add-document --id <id> [--json <json>] [--file <path>]
+ controls add-document-to-control --id <id> [--json <json>] [--file <path>]
- controls add-test --id <id> [--json <json>] [--file <path>]
+ controls add-test-to-control --id <id> [--json <json>] [--file <path>]
documents (2 commands)
- documents list-uploads --id <id>
+ documents list-files --id <id>
- documents download-file --id <id> --uploaded-file-id <id> [--output <path>]
+ documents download-file-media --id <id> --uploaded-file-id <id> [--output <path>]
people (1 command)
- people list [--tasks-summary-status-matches-any <status>] [--task-type-matches-any <type>] [--task-status-matches-any <status>]
+ people list [--tasks-summary-status-matches-any <status>] [--task-type-matches-any <type>] [--task-status-matches-any <status>] [--email-and-name-filter <name>] [--group-ids-matches-any <id>] [--employment-status <status>]
personnel-notification-settings (2 commands)
- people notification-settings get
+ personnel-notification-settings get
- people notification-settings update [--json <json>] [--file <path>]
+ personnel-notification-settings update [--json <json>] [--file <path>]
contracts (1 command)
- contracts upload --file <path> [--executed-date <date>] [--account-id <id>]
+ contracts upload --file <path> [--executed-date <date>] [--account-id <id>] [--external-id <id>]
risk-scenarios (2 commands)
- risk-scenarios list [--include-ignored <bool>] [--owner-matches-any <owner>] [--search-string <query>] [--category-matches-any <category>] [--inherent-score-group-matches-any <group>] [--residual-score-group-matches-any <group>] [--review-status-matches-any <status>] [--type <type>] [--order-by <field>]
+ risk-scenarios list [--include-ignored <bool>] [--owner-matches-any <owner>] [--search-string <query>] [--category-matches-any <category>] [--cia-category-matches-any <category>] [--treatment-type-matches-any <type>] [--inherent-score-group-matches-any <group>] [--residual-score-group-matches-any <group>] [--review-status-matches-any <status>] [--type <type>] [--order-by <field>]
- risk-scenarios delete-control --id <id> --control-id <id>
+ risk-scenarios remove-control --id <id> --control-id <id>
vendor-assessment-types (2 commands)
- vendors assessment-types list [--status <status>]
+ vendor-assessment-types list [--status <status>]
- vendors assessment-types get --id <id>
+ vendor-assessment-types get --id <id>
vendor-risk-attributes (1 command)
- vendors risk-attributes list
+ vendor-risk-attributes list
integrations (4 commands)
- integrations list-resources --id <id> --resource-kind <kind> [--connection-id <id>] [--has-description <bool>] [--has-owner <bool>] [--is-in-scope <bool>]
+ integrations list-resource-kind-resources --id <id> --resource-kind <kind> [--connection-id <id>] [--has-description <bool>] [--has-owner <bool>] [--is-in-scope <bool>]
- integrations get-resource --id <id> --resource-kind <kind> --resource-id <id>
+ integrations get-resource-kind-resource --id <id> --resource-kind <kind> --resource-id <id>
- integrations update-resource --id <id> --resource-kind <kind> --resource-id <id> [--json <json>] [--file <path>]
+ integrations update-resource-kind-resource --id <id> --resource-kind <kind> --resource-id <id> [--json <json>] [--file <path>]
- integrations update-resources --id <id> --resource-kind <kind> [--json <json>] [--file <path>]
+ integrations update-resource-kind-resources --id <id> --resource-kind <kind> [--json <json>] [--file <path>]
customer-trust (25 commands)
- customer-trust accounts list [--search-string <query>] [--is-auto-approval-enabled <bool>] [--custom-fields-filter <text>]
+ customer-trust list-accounts [--search-string <query>] [--is-auto-approval-enabled <bool>] [--custom-fields-filter <text>]
- customer-trust accounts get --id <id>
+ customer-trust get-account --account-id <id>
- customer-trust accounts create [--json <json>] [--file <path>]
+ customer-trust create-account [--json <json>] [--file <path>]
- customer-trust accounts update --id <id> [--json <json>] [--file <path>]
+ customer-trust update-account --account-id <id> [--json <json>] [--file <path>]
- customer-trust accounts delete --id <id>
+ customer-trust delete-account --account-id <id>
- customer-trust deletion-requests create [--json <json>] [--file <path>]
+ customer-trust create-deletion-request [--json <json>] [--file <path>]
- customer-trust questionnaires list [--q <query>] [--status-matches-any <status>] [--type-matches-any <type>] [--created-after <timestamp>] [--created-before <timestamp>] [--owner-id-matches-any <id>] [--approver-id-matches-any <id>]
+ customer-trust list-questionnaires [--q <query>] [--status-matches-any <status>] [--type-matches-any <type>] [--created-after <timestamp>] [--created-before <timestamp>] [--owner-id-matches-any <id>] [--approver-id-matches-any <id>]
- customer-trust questionnaires get --id <id>
+ customer-trust get-questionnaire --questionnaire-id <id>
- customer-trust questionnaires create-file --file <path> --display-name <name> [--owner-assignment <json>] [--approver-assignment <json>] [--description <text>] [--company-url <url>] [--due-date <timestamp>] [--customer-trust-account-id <id>] [--include-untagged-entities-for-category-ids <ids>] [--metadata <json>] [--tag-and-category-ids <json>]
+ customer-trust upload-questionnaire-file --file <path> --display-name <name> [--owner-assignment <json>] [--approver-assignment <json>] [--description <text>] [--company-url <url>] [--due-date <timestamp>] [--customer-trust-account-id <id>] [--include-untagged-entities-for-category-ids <ids>] [--metadata <json>] [--tag-and-category-ids <json>]
- customer-trust questionnaires create-website [--json <json>] [--file <path>]
+ customer-trust create-questionnaire-website [--json <json>] [--file <path>]
- customer-trust questionnaires update --id <id> [--json <json>] [--file <path>]
+ customer-trust update-questionnaire --questionnaire-id <id> [--json <json>] [--file <path>]
- customer-trust questionnaires delete --id <id>
+ customer-trust delete-questionnaire --questionnaire-id <id>
- customer-trust questionnaires approve --id <id> [--json <json>] [--file <path>]
+ customer-trust approve-questionnaire --questionnaire-id <id> [--json <json>] [--file <path>]
- customer-trust questionnaires complete --id <id> [--json <json>] [--file <path>]
+ customer-trust complete-questionnaire --questionnaire-id <id> [--json <json>] [--file <path>]
- customer-trust questionnaires assignable-users list [--role <role>] [--q <query>]
+ customer-trust list-questionnaire-assignable-users [--role <role>] [--q <query>]
- customer-trust questionnaires exports create [--json <json>] [--file <path>]
+ customer-trust create-questionnaire-export [--json <json>] [--file <path>]
- customer-trust questionnaires exports get --id <id>
+ customer-trust get-questionnaire-export --id <id>
- customer-trust questionnaires responses list --questionnaire-id <id> [--q <query>]
+ customer-trust list-questionnaire-responses --questionnaire-id <id> [--q <query>]
- customer-trust questionnaires responses get --questionnaire-id <id> --id <id>
+ customer-trust get-questionnaire-response --questionnaire-id <id> --response-id <id>
- customer-trust questionnaires responses update-content --questionnaire-id <id> --id <id> [--json <json>] [--file <path>]
+ customer-trust update-questionnaire-response --questionnaire-id <id> --response-id <id> [--json <json>] [--file <path>]
- customer-trust questionnaires responses update-owner --questionnaire-id <id> --id <id> [--json <json>] [--file <path>]
+ customer-trust update-questionnaire-response-owner --questionnaire-id <id> --response-id <id> [--json <json>] [--file <path>]
- customer-trust tag-categories list [--product-context-ids-matches-any <product>]
+ customer-trust list-tag-categories [--product-context-ids-matches-any <product>]
- customer-trust tag-categories get --id <id>
+ customer-trust get-tag-category --tag-category-id <id>
- customer-trust tag-categories product-contexts add --tag-category-id <id> [--json <json>] [--file <path>]
+ customer-trust add-tag-category-product-context --tag-category-id <id> [--json <json>] [--file <path>]
- customer-trust tag-categories product-contexts delete --tag-category-id <id> --product-context-id <product>
+ customer-trust remove-tag-category-product-context --tag-category-id <id> --product-context-id <product>
knowledge-base (15 commands)
- knowledge-base answer-library list [--q <query>] [--last-updated-after <timestamp>] [--last-updated-before <timestamp>] [--matches-tags <json>] [--expires-before <timestamp>] [--expires-after <timestamp>]
+ knowledge-base list-answer-library [--q <query>] [--last-updated-after <timestamp>] [--last-updated-before <timestamp>] [--matches-tags <json>] [--expires-before <timestamp>] [--expires-after <timestamp>]
- knowledge-base answer-library create [--json <json>] [--file <path>]
+ knowledge-base create-answer-library [--json <json>] [--file <path>]
- knowledge-base answer-library get --id <id>
+ knowledge-base get-answer-library --id <id>
- knowledge-base answer-library update --id <id> [--json <json>] [--file <path>]
+ knowledge-base update-answer-library --id <id> [--json <json>] [--file <path>]
- knowledge-base answer-library delete --id <id>
+ knowledge-base delete-answer-library --id <id>
- knowledge-base answer-library verify --id <id> [--json <json>] [--file <path>]
+ knowledge-base verify-answer-library --id <id> [--json <json>] [--file <path>]
- knowledge-base resources list [--q <query>] [--type-matches-any <type>] [--last-updated-after <timestamp>] [--last-updated-before <timestamp>] [--matches-tags <json>] [--expires-before <timestamp>] [--expires-after <timestamp>]
+ knowledge-base list-resources [--q <query>] [--type-matches-any <type>] [--last-updated-after <timestamp>] [--last-updated-before <timestamp>] [--matches-tags <json>] [--expires-before <timestamp>] [--expires-after <timestamp>]
- knowledge-base resources get --id <id>
+ knowledge-base get-resource --id <id>
- knowledge-base resources delete --id <id>
+ knowledge-base delete-resource --id <id>
- knowledge-base resources verify --id <id> [--json <json>] [--file <path>]
+ knowledge-base verify-resource --id <id> [--json <json>] [--file <path>]
- knowledge-base resources create-document --file <path> --title <title> [--description <text>] [--owner-assignment <json>] [--customer-visibility <visibility>] [--download-permission <permission>] [--is-used-in-questionnaires <bool>] [--expiration-date <timestamp>] [--tags <json>] [--category-id <id>]
+ knowledge-base upload-resource-document --file <path> --title <title> [--description <text>] [--owner-assignment <json>] [--customer-visibility <visibility>] [--download-permission <permission>] [--is-used-in-questionnaires <bool>] [--expiration-date <timestamp>] [--tags <json>] [--category-id <id>]
- knowledge-base resources update-document --id <id> [--json <json>] [--file <path>]
+ knowledge-base update-resource-document --id <id> [--json <json>] [--file <path>]
- knowledge-base resources replace-document-file --id <id> --file <path>
+ knowledge-base replace-resource-document-file --id <id> --file <path>
- knowledge-base resources create-webpage [--json <json>] [--file <path>]
+ knowledge-base create-resource-webpage [--json <json>] [--file <path>]
- knowledge-base resources update-webpage --id <id> [--json <json>] [--file <path>]
+ knowledge-base update-resource-webpage --id <id> [--json <json>] [--file <path>]
trust-centers (78 commands)
- trust-centers access-requests list --slug-id <slug>
+ trust-centers list-access-requests --slug-id <slug>
- trust-centers access-requests get --slug-id <slug> --id <id>
+ trust-centers get-access-request --slug-id <slug> --access-request-id <id>
- trust-centers access-requests approve --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers approve-access-request --slug-id <slug> --access-request-id <id> [--json <json>] [--file <path>]
- trust-centers access-requests deny --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers deny-access-request --slug-id <slug> --access-request-id <id> [--json <json>] [--file <path>]
- trust-centers activity list --slug-id <slug> [--event-types-matches-any <type>] [--after-date <timestamp>] [--before-date <timestamp>]
+ trust-centers list-activity --slug-id <slug> [--event-types-matches-any <type>] [--after-date <timestamp>] [--before-date <timestamp>]
- trust-centers chatbot conversations list --slug-id <slug> [--search-string <query>]
+ trust-centers list-chatbot-conversations --slug-id <slug> [--search-string <query>]
- trust-centers chatbot conversations get-messages --slug-id <slug> --id <id>
+ trust-centers get-chatbot-conversation --slug-id <slug> --conversation-id <id>
- trust-centers compliance-frameworks list --slug-id <slug>
+ trust-centers list-compliance-frameworks --slug-id <slug>
- trust-centers compliance-frameworks create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-compliance-framework --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers compliance-frameworks update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-compliance-framework --slug-id <slug> --framework-id <id> [--json <json>] [--file <path>]
- trust-centers compliance-frameworks delete --slug-id <slug> --id <id>
+ trust-centers delete-compliance-framework --slug-id <slug> --framework-id <id>
- trust-centers compliance-frameworks upload-badge --slug-id <slug> --id <id> --file <path>
+ trust-centers upload-compliance-framework-badge --slug-id <slug> --framework-id <id> --file <path>
- trust-centers control-categories list --slug-id <slug>
+ trust-centers list-control-categories --slug-id <slug>
- trust-centers control-categories get --slug-id <slug> --id <id>
+ trust-centers get-control-category --slug-id <slug> --category-id <id>
- trust-centers control-categories create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-control-category --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers control-categories update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-control-category --slug-id <slug> --category-id <id> [--json <json>] [--file <path>]
- trust-centers control-categories delete --slug-id <slug> --id <id>
+ trust-centers delete-control-category --slug-id <slug> --category-id <id>
- trust-centers control-categories set-order --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers set-control-category-order --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers control-categories controls update --slug-id <slug> --category-id <id> [--json <json>] [--file <path>]
+ trust-centers update-control-category-controls --slug-id <slug> --category-id <id> [--json <json>] [--file <path>]
- trust-centers control-categories controls set-order --slug-id <slug> --category-id <id> [--json <json>] [--file <path>]
+ trust-centers set-control-category-control-order --slug-id <slug> --category-id <id> [--json <json>] [--file <path>]
- trust-centers controls list --slug-id <slug>
+ trust-centers list-controls --slug-id <slug>
- trust-centers controls get --slug-id <slug> --id <id>
+ trust-centers get-control --slug-id <slug> --control-id <id>
- trust-centers controls create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers add-control --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers controls delete --slug-id <slug> --id <id>
+ trust-centers remove-control --slug-id <slug> --control-id <id>
- trust-centers controls add-tags --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers add-control-tags --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers controls remove-tags --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers remove-control-tags --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers data-collected list --slug-id <slug>
+ trust-centers list-data-collected --slug-id <slug>
- trust-centers data-collected set --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers set-data-collected --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers faq-categories list --slug-id <slug>
+ trust-centers list-faq-categories --slug-id <slug>
- trust-centers faq-categories create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-faq-category --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers faq-categories update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-faq-category --slug-id <slug> --category-id <id> [--json <json>] [--file <path>]
- trust-centers faq-categories delete --slug-id <slug> --id <id>
+ trust-centers delete-faq-category --slug-id <slug> --category-id <id>
- trust-centers faqs list --slug-id <slug>
+ trust-centers list-faqs --slug-id <slug>
- trust-centers faqs get --slug-id <slug> --id <id>
+ trust-centers get-faq --slug-id <slug> --faq-id <id>
- trust-centers faqs create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-faq --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers faqs update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-faq --slug-id <slug> --faq-id <id> [--json <json>] [--file <path>]
- trust-centers faqs delete --slug-id <slug> --id <id>
+ trust-centers delete-faq --slug-id <slug> --faq-id <id>
- trust-centers historical-access-requests list --slug-id <slug>
+ trust-centers list-historical-access-requests --slug-id <slug>
- trust-centers resource-categories list --slug-id <slug>
+ trust-centers list-resource-categories --slug-id <slug>
- trust-centers resource-categories create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-resource-category --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers resource-categories update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-resource-category --slug-id <slug> --category-id <id> [--json <json>] [--file <path>]
- trust-centers resource-categories delete --slug-id <slug> --id <id>
+ trust-centers delete-resource-category --slug-id <slug> --category-id <id>
- trust-centers resource-categories set-order --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers set-resource-category-order --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers resources list --slug-id <slug>
+ trust-centers list-resources --slug-id <slug>
- trust-centers resources get --slug-id <slug> --id <id>
+ trust-centers get-resource --slug-id <slug> --resource-id <id>
- trust-centers resources create --slug-id <slug> --file <path> --title <title> --is-public <bool> [--description <text>]
+ trust-centers upload-resource --slug-id <slug> --file <path> --title <title> --is-public <bool> [--description <text>]
- trust-centers resources update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-resource --slug-id <slug> --resource-id <id> [--json <json>] [--file <path>]
- trust-centers resources delete --slug-id <slug> --id <id>
+ trust-centers delete-resource --slug-id <slug> --resource-id <id>
- trust-centers resources get-media --slug-id <slug> --id <id> [--output <path>]
+ trust-centers download-resource-media --slug-id <slug> --resource-id <id> [--output <path>]
- trust-centers subprocessors list --slug-id <slug>
+ trust-centers list-subprocessors --slug-id <slug>
- trust-centers subprocessors get --slug-id <slug> --id <id>
+ trust-centers get-subprocessor --slug-id <slug> --subprocessor-id <id>
- trust-centers subprocessors create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-subprocessor --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers subprocessors update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-subprocessor --slug-id <slug> --subprocessor-id <id> [--json <json>] [--file <path>]
- trust-centers subprocessors delete --slug-id <slug> --id <id>
+ trust-centers delete-subprocessor --slug-id <slug> --subprocessor-id <id>
- trust-centers subscriber-groups list --slug-id <slug>
+ trust-centers list-subscriber-groups --slug-id <slug>
- trust-centers subscriber-groups get --slug-id <slug> --id <id>
+ trust-centers get-subscriber-group --slug-id <slug> --subscriber-group-id <id>
- trust-centers subscriber-groups create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-subscriber-group --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers subscriber-groups update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-subscriber-group --slug-id <slug> --subscriber-group-id <id> [--json <json>] [--file <path>]
- trust-centers subscriber-groups delete --slug-id <slug> --id <id>
+ trust-centers delete-subscriber-group --slug-id <slug> --subscriber-group-id <id>
- trust-centers subscribers list --slug-id <slug> [--customer-trust-account-id <id>]
+ trust-centers list-subscribers --slug-id <slug> [--customer-trust-account-id <id>]
- trust-centers subscribers get --slug-id <slug> --id <id>
+ trust-centers get-subscriber --slug-id <slug> --subscriber-id <id>
- trust-centers subscribers create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-subscriber --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers subscribers delete --slug-id <slug> --id <id>
+ trust-centers delete-subscriber --slug-id <slug> --subscriber-id <id>
- trust-centers subscribers groups set --slug-id <slug> --subscriber-id <id> [--json <json>] [--file <path>]
+ trust-centers set-subscriber-groups --slug-id <slug> --subscriber-id <id> [--json <json>] [--file <path>]
- trust-centers updates list --slug-id <slug>
+ trust-centers list-updates --slug-id <slug>
- trust-centers updates get --slug-id <slug> --id <id>
+ trust-centers get-update --slug-id <slug> --update-id <id>
- trust-centers updates create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-update --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers updates update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-update --slug-id <slug> --update-id <id> [--json <json>] [--file <path>]
- trust-centers updates delete --slug-id <slug> --id <id>
+ trust-centers delete-update --slug-id <slug> --update-id <id>
- trust-centers updates notify-all-subscribers --slug-id <slug> --id <id>
+ trust-centers notify-update-all-subscribers --slug-id <slug> --update-id <id>
- trust-centers updates notify-specific-subscribers --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers notify-update-specific-subscribers --slug-id <slug> --update-id <id> [--json <json>] [--file <path>]
- trust-centers videos set --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers set-videos --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers viewers list --slug-id <slug> [--include-removed <bool>]
+ trust-centers list-viewers --slug-id <slug> [--include-removed <bool>]
- trust-centers viewers get --slug-id <slug> --id <id>
+ trust-centers get-viewer --slug-id <slug> --viewer-id <id>
- trust-centers viewers create --slug-id <slug> [--json <json>] [--file <path>]
+ trust-centers create-viewer --slug-id <slug> [--json <json>] [--file <path>]
- trust-centers viewers update --slug-id <slug> --id <id> [--json <json>] [--file <path>]
+ trust-centers update-viewer --slug-id <slug> --viewer-id <id> [--json <json>] [--file <path>]
- trust-centers viewers delete --slug-id <slug> --id <id>
+ trust-centers delete-viewer --slug-id <slug> --viewer-id <id>
- trust-centers viewers send-invite-reminder --slug-id <slug> --id <id>
+ trust-centers send-viewer-invite-reminder --slug-id <slug> --viewer-id <id>

Test plan

Had agent test each command against staging with the new binary

The add/remove and download renames and the new top-level groups were also tested by building the binary and having an isolated agent, with only the binary, run each renamed command with --dry-run and check the method and URL. Typecheck and tests (21/21) pass.

🤖 Generated with Claude Code

@dennis-chen-vanta
dennis-chen-vanta force-pushed the dennis-chen-vanta/cli-command-structure branch from de2fdf2 to 5da4bdb Compare October 21, 2026 00:57
dennis-chen-vanta added a commit that referenced this pull request Oct 21, 2026
Replaces the per-command name overrides from #28's rules:
- `links` in config.ts lists operations that attach or detach an existing
  resource; the generator names them add/remove. The spec can't mark these
  itself, since its summaries also say "Add" for creates.
- GETs that return a file use `download`, dropping a trailing `media`
  segment (`trust-centers download-resource`).
- `commandPlural` lets `uploads` read as `files` in list commands.
- Drops the overrides that shortened names repeating the group
  (`list-library`, `list-deactivated`, `add-document`, `add-test`).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dennis-chen-vanta
dennis-chen-vanta force-pushed the dennis-chen-vanta/cli-command-structure branch from 680d6c8 to aebb6f2 Compare October 21, 2026 17:46
dennis-chen-vanta and others added 2 commits October 21, 2026 19:10
Describe how REST paths map to `<group> <verb>-<noun>` commands, how
inputs become flags, and where help text comes from.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Flatten trust-centers, customer-trust, and knowledge-base subgroups into
  verb-noun commands (`trust-centers list-faqs`)
- Name deep paths by joining their resources
  (`integrations list-resource-kind-resources`)
- Name linking operations add/remove and file downloads download
  (`groups add-person`, `trust-centers download-resource-media`)
- Make personnel-notification-settings, vendor-assessment-types, and
  vendor-risk-attributes top-level groups named after their paths
- Add flags for spec inputs the commands didn't expose yet
- Register all API groups from src/commands/index.ts

Request paths are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dennis-chen-vanta
dennis-chen-vanta force-pushed the dennis-chen-vanta/cli-command-structure branch from aebb6f2 to 866696d Compare October 21, 2026 19:11
Comment thread README.md
@dennis-chen-vanta
dennis-chen-vanta merged commit 4a3ae5a into main Oct 22, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants