Reference For: developers

Routes and commands

Every route of the native API with the CLI command that calls it, and the routes without a command.

Routes and commands

RouteCommand
GET /healthzkyvernon system health
GET /readyzkyvernon system ready
GET /metricskyvernon system metrics
GET /metrics/perfkyvernon metrics prometheus
GET /v1/aboutkyvernon about
POST /v1/identity/loginkyvernon login <username>
POST /v1/identity/mfa/completekyvernon login <username> --code <code>
POST /v1/identity/logoutkyvernon logout
GET /v1/identity/selfkyvernon whoami
POST /v1/identity/self/passwordkyvernon self password
POST /v1/identity/self/mfa/enrolkyvernon self mfa enrol
POST /v1/identity/self/mfa/confirmkyvernon self mfa confirm <code>
GET /v1/auth/configkyvernon auth config
GET /v1/auth/sessionkyvernon auth session
POST /v1/auth/passwordkyvernon auth password
POST /v1/auth/totp/enrolkyvernon auth totp enrol
POST /v1/auth/totp/confirmkyvernon auth totp confirm <code>
POST /v1/auth/totp/recovery-codeskyvernon auth totp recovery-codes <code>
GET /v1/auth/api-tokenskyvernon auth api-tokens list
POST /v1/auth/api-tokenskyvernon auth api-tokens create <name>
DELETE /v1/auth/api-tokens/{id}kyvernon auth api-tokens delete <id>
GET /v1/identity/userskyvernon users list
GET /v1/identity/users/{username}kyvernon users get <username>
POST /v1/identity/userskyvernon users create <username>
DELETE /v1/identity/users/{username}kyvernon users delete <username>
PUT /v1/identity/users/{username}kyvernon users update <username> --email <email>
POST /v1/identity/users/{username}/passwordkyvernon users set-password <username>
PUT /v1/identity/users/{username}/enabledkyvernon users enable <username>
DELETE /v1/identity/users/{username}/sessionskyvernon users revoke-sessions <username>
DELETE /v1/identity/users/{username}/mfakyvernon users reset-mfa <username>
POST /v1/identity/users/{username}/unlockkyvernon users unlock <username>
PUT /v1/identity/users/{username}/service-accountkyvernon users service-account <username>
GET /v1/identity/users/{username}/api-tokenskyvernon users api-tokens <username> list
POST /v1/identity/users/{username}/api-tokenskyvernon users api-tokens <username> create <name>
DELETE /v1/identity/users/{username}/api-tokens/{id}kyvernon users api-tokens <username> delete <id>
GET /v1/identity/password-policykyvernon users password-policy
PUT /v1/identity/password-policykyvernon users set-password-policy --min-length <n> --max-length <n>
GET /v1/identity/lockout-policykyvernon users lockout-policy
GET /v1/identity/oidc/configkyvernon users oidc
PUT /v1/identity/oidc/configkyvernon users set-oidc --issuer <url> --client-id <id> --client-secret-file <file> --redirect-uri <url>
DELETE /v1/identity/oidc/configkyvernon users remove-oidc
PUT /v1/identity/lockout-policykyvernon users set-lockout-policy --max-failed-attempts <n> --failed-attempt-interval <n> --auto-unlock-interval <n>
GET /v1/identity/groupskyvernon users groups list
POST /v1/identity/groupskyvernon users groups create <name>
GET /v1/identity/groups/{name}kyvernon users groups get <name>
PUT /v1/identity/groups/{name}kyvernon users groups update <name> --name <new-name>
DELETE /v1/identity/groups/{name}kyvernon users groups delete <name>
POST /v1/identity/groups/{name}/memberskyvernon users groups add <name> --user <username> --group <group>
PUT /v1/identity/groups/{name}/memberskyvernon users groups set-members <name> --user <username>
DELETE /v1/identity/groups/{name}/members/users/{username}kyvernon users groups remove-user <name> <username>
DELETE /v1/identity/groups/{name}/members/groups/{member}kyvernon users groups remove-group <name> <member>
GET /v1/identity/roleskyvernon roles list
POST /v1/identity/roleskyvernon roles create <name>
PUT /v1/identity/roles/{id}kyvernon roles update <id> --name <name>
DELETE /v1/identity/roles/{id}kyvernon roles delete <id>
GET /v1/identity/permissionskyvernon permissions list <entity>
PUT /v1/identity/permissionskyvernon permissions set <entity> <principal> --role <role>
DELETE /v1/identity/permissions/{id}kyvernon permissions remove <id>
GET /v1/identity/privilegeskyvernon privileges list
GET /v1/identity/checkkyvernon privileges check <entity> <privilege>
GET /v1/identity/sessionskyvernon sessions list
DELETE /v1/identity/sessions/{id}kyvernon sessions revoke <id>
GET /v1/auditkyvernon audit list
GET /v1/inventory/rootskyvernon inventory roots
GET /v1/inventory/nodes/{id}/childrenkyvernon inventory children <id>
GET /v1/inventory/nodes/{id}/pathkyvernon inventory path <id>
GET /v1/inventory/vmskyvernon inventory vms
GET /v1/inventory/hostskyvernon inventory hosts
GET /v1/inventory/datastoreskyvernon inventory datastores
GET /v1/inventory/networkskyvernon inventory networks
GET /v1/inventory/vms/{id}kyvernon inventory vm <id>
GET /v1/inventory/hosts/{id}kyvernon inventory host <id>
GET /v1/inventory/datastores/{id}kyvernon inventory datastore <id>
GET /v1/inventory/networks/{id}kyvernon inventory network <id>
GET /v1/inventory/datacenters/{id}kyvernon inventory datacenter <id>
GET /v1/inventory/clusters/{id}kyvernon inventory cluster <id>
GET /v1/inventory/searchkyvernon inventory search <q>
GET /v1/inventory/objects/{id}kyvernon inventory get <id>
GET /v1/inventory/kinds/{kind}kyvernon inventory kind <kind>
POST /v1/inventory/kinds/{kind}kyvernon inventory create <kind> --body <json>
PUT /v1/inventory/objects/{id}kyvernon inventory update <id> --expected-version <n> --body <json>
DELETE /v1/inventory/objects/{id}kyvernon inventory delete <id>
POST /v1/inventory/folders/{id}/move-intokyvernon inventory move-into <id> --entity <id>
POST /v1/resource-pools/{id}/move-intokyvernon inventory move-into-pool <id> --entity <id>
GET /v1/inventory/changeskyvernon inventory changes --since <version>
POST /v1/inventory/objects/{id}/renamekyvernon inventory rename <id> <name>
POST /v1/datacenterskyvernon inventory create-datacenter <name>
DELETE /v1/datacenters/{id}kyvernon inventory delete-datacenter <id>
GET /v1/tag-categorieskyvernon inventory tag-categories list
POST /v1/tag-categorieskyvernon inventory tag-categories create <name>
GET /v1/tag-categories/{id}kyvernon inventory tag-categories get <id>
PUT /v1/tag-categories/{id}kyvernon inventory tag-categories update <id> --name <name>
DELETE /v1/tag-categories/{id}kyvernon inventory tag-categories delete <id>
GET /v1/tagskyvernon inventory tags list
POST /v1/tagskyvernon inventory tags create <category> <name>
GET /v1/tags/{id}kyvernon inventory tags get <id>
PUT /v1/tags/{id}kyvernon inventory tags update <id> --name <name>
DELETE /v1/tags/{id}kyvernon inventory tags delete <id>
GET /v1/tags/{id}/objectskyvernon inventory tags objects <id>
POST /v1/tags/{id}/attachkyvernon inventory tags attach <id> <object>
POST /v1/tags/{id}/detachkyvernon inventory tags detach <id> <object>
GET /v1/inventory/objects/{id}/tagskyvernon inventory object-tags <id>
POST /v1/vmskyvernon vm create --folder <id> --spec <file>
DELETE /v1/vms/{id}kyvernon vm delete <id>
POST /v1/vms/{id}/power-onkyvernon vm power-on <id>
POST /v1/vms/{id}/power-offkyvernon vm power-off <id>
POST /v1/vms/{id}/shutdownkyvernon vm shutdown <id>
POST /v1/vms/{id}/resetkyvernon vm reset <id>
POST /v1/vms/{id}/suspendkyvernon vm suspend <id>
POST /v1/vms/{id}/reconfigurekyvernon vm reconfigure <id> --config <file>
GET /v1/vms/{id}/serial-logkyvernon vm serial-log <id>
POST /v1/guest-agent/offerkyvernon vm guest-agent-offer <template>
POST /v1/vms/{id}/console/ticketkyvernon vm console ticket <id>
GET /v1/vms/{id}/console/screenshotkyvernon vm console screenshot <id>
POST /v1/vms/{id}/snapshotskyvernon vm snapshot create <id> --name <name>
POST /v1/vms/{id}/snapshots/{key}/revertkyvernon vm snapshot revert <id> <key>
POST /v1/vms/{id}/snapshots/{key}/renamekyvernon vm snapshot rename <id> <key> --name <name>
DELETE /v1/vms/{id}/snapshots/{key}kyvernon vm snapshot remove <id> <key>
DELETE /v1/vms/{id}/snapshotskyvernon vm snapshot remove-all <id>
POST /v1/vms/{id}/clonekyvernon vm clone <id> --name <name>
POST /v1/vms/{id}/mark-as-templatekyvernon vm mark-as-template <id>
POST /v1/vms/{id}/mark-as-vmkyvernon vm mark-as-vm <id>
POST /v1/vms/{id}/unregisterkyvernon vm unregister <id>
POST /v1/vms/registerkyvernon vm register --folder <id> --path <path> [--resource-pool <id>]
POST /v1/vms/{id}/customizekyvernon vm customize <id> --spec <name>
POST /v1/vms/{id}/relocatekyvernon vm relocate <id> [--host <id>] [--resource-pool <id>] [--folder <id>] [--datastore <id>] [--disk KEY=DATASTORE]... [--nic KEY=NETWORK]...
POST /v1/vms/{id}/resolve-migrationkyvernon vm resolve-migration <id> --resolution <source-keeps|destination-keeps> [--host <id>]
POST /v1/vms/{id}/exportkyvernon vm export <id>
POST /v1/vms/{id}/guest/credentials/validatekyvernon vm guest validate <id>
POST /v1/vms/{id}/guest/credentials/acquirekyvernon vm guest acquire <id>
POST /v1/vms/{id}/guest/credentials/releasekyvernon vm guest release <id>
POST /v1/vms/{id}/guest/processeskyvernon vm guest start <id> --program <path>
GET /v1/vms/{id}/guest/processeskyvernon vm guest list <id>
DELETE /v1/vms/{id}/guest/processes/{pid}kyvernon vm guest terminate <id> <pid>
GET /v1/vms/{id}/guest/environmentkyvernon vm guest env <id>
POST /v1/vms/{id}/guest/files/readkyvernon vm guest read-file <id> --path <path>
POST /v1/vms/{id}/guest/files/writekyvernon vm guest write-file <id> --path <path> --from <file>
POST /v1/vms/{id}/guest/files/listkyvernon vm guest list-files <id> --path <path>
POST /v1/vms/{id}/guest/files/mkdirkyvernon vm guest mkdir <id> --path <path>
POST /v1/vms/{id}/guest/files/deletekyvernon vm guest delete-file <id> --path <path>
POST /v1/vms/{id}/guest/files/rmdirkyvernon vm guest rmdir <id> --path <path>
POST /v1/vms/{id}/guest/files/movekyvernon vm guest move-file <id> --src <path> --dst <path>
POST /v1/vms/{id}/guest/files/move-dirkyvernon vm guest move-dir <id> --src <path> --dst <path>
POST /v1/vms/{id}/guest/files/attrskyvernon vm guest change-attrs <id> --path <path>
POST /v1/vms/{id}/guest/files/temp-filekyvernon vm guest temp-file <id>
POST /v1/vms/{id}/guest/files/temp-dirkyvernon vm guest temp-dir <id>
POST /v1/hosts/{id}/enter-maintenancekyvernon host enter-maintenance <id>
POST /v1/hosts/{id}/exit-maintenancekyvernon host exit-maintenance <id>
DELETE /v1/hosts/{id}kyvernon host destroy <id>
POST /v1/hosts/{id}/disconnectkyvernon host disconnect <id>
POST /v1/hosts/{id}/reconnectkyvernon host reconnect <id>
POST /v1/hosts/{id}/datastoreskyvernon host create-datastore <id> --type local --name <name> --path <path>
DELETE /v1/hosts/{id}/datastores/{dsId}kyvernon host remove-datastore <id> <ds-id>
GET /v1/hosts/{id}/vmfs-diskskyvernon host vmfs-disks <id>
GET /v1/hosts/{id}/vmfs-create-optionskyvernon host vmfs-create-options <id> --device-path <path>
GET /v1/hosts/{id}/network-hintskyvernon host network-hints <id>
GET /v1/hosts/{id}/network-healthkyvernon host network-health <id>
PUT /v1/hosts/{id}/iscsi/softwarekyvernon host set-software-iscsi <id> --enabled
PUT /v1/hosts/{id}/iscsi/authenticationkyvernon host set-iscsi-auth <id> --chap-enabled --chap-name <name> --chap-secret <secret>
POST /v1/hosts/{id}/iscsi/send-targetskyvernon host add-iscsi-send-targets <id> --address <addr>
DELETE /v1/hosts/{id}/iscsi/send-targetskyvernon host remove-iscsi-send-targets <id> --address <addr>
POST /v1/hosts/{id}/iscsi/static-targetskyvernon host add-iscsi-static-targets <id> --address <addr> --iqn <iqn>
DELETE /v1/hosts/{id}/iscsi/static-targetskyvernon host remove-iscsi-static-targets <id> --address <addr> --iqn <iqn>
POST /v1/hosts/{id}/iscsi/rescankyvernon host rescan-iscsi <id>
POST /v1/hosts/{id}/iscsi/rescan-allkyvernon host rescan-all-iscsi <id>
GET /v1/hosts/{id}/iscsikyvernon host iscsi <id>
POST /v1/hosts/{id}/rebootkyvernon host reboot <id>
POST /v1/hosts/{id}/shutdownkyvernon host shutdown <id>
POST /v1/hosts/{id}/datastores/{dsId}/mountkyvernon host mount-datastore <id> <ds-id>
POST /v1/hosts/{id}/datastores/{dsId}/unmountkyvernon host unmount-datastore <id> <ds-id>
DELETE /v1/datastores/{id}kyvernon datastore remove <id>
POST /v1/datastores/{id}/refreshkyvernon datastore refresh <id>
POST /v1/clusters/{id}/hostskyvernon cluster add-host <id> --name <name>
POST /v1/clusters/{id}/move-hostskyvernon cluster move-hosts <id> <host>
GET /v1/hosts/join-tokenkyvernon host join-token
POST /v1/clusters/{id}/reconfigurekyvernon cluster reconfigure <id> --ha-enabled true --max-bandwidth-mib-s 48
POST /v1/networkskyvernon network create --body <json>
PUT /v1/networks/{id}kyvernon network update <id> --body <json>
DELETE /v1/networks/{id}kyvernon network delete <id>
GET /v1/network/realizationkyvernon network realization
POST /v1/distributed-switcheskyvernon network dvs-create --body <json>
PUT /v1/distributed-switches/{id}kyvernon network dvs-update <id> --body <json>
DELETE /v1/distributed-switches/{id}kyvernon network dvs-delete <id>
POST /v1/distributed-portgroupskyvernon network portgroup-create --body <json>
PUT /v1/distributed-portgroups/{id}kyvernon network portgroup-update <id> --body <json>
DELETE /v1/distributed-portgroups/{id}kyvernon network portgroup-delete <id>
GET /v1/datastores/{id}/fileskyvernon datastore ls <id> [path]
POST /v1/datastores/{id}/folderskyvernon datastore mkdir <id> <path>
DELETE /v1/datastores/{id}/fileskyvernon datastore rm <id> <path>
POST /v1/datastores/{id}/files/copykyvernon datastore cp <id> <source> <destination>
GET /v1/datastores/{id}/orphan-diskskyvernon datastore orphans <id>
POST /v1/datastores/{id}/files/movekyvernon datastore mv <id> <source> <destination>
PUT /v1/datastores/{id}/files/contentkyvernon datastore upload <id> <file>
GET /v1/datastores/{id}/files/contentkyvernon datastore download <id> <path>
GET /v1/taskskyvernon tasks list
GET /v1/tasks/{id}kyvernon tasks get <id>
POST /v1/tasks/{id}/cancelkyvernon tasks cancel <id>
GET /v1/tasks/{id}/waitkyvernon tasks wait <id>
GET /v1/eventskyvernon events list
POST /v1/eventskyvernon events post --body <json>
POST /v1/events/userkyvernon events log <entity> <message>
GET /v1/alarmskyvernon alarms list
GET /v1/alarms/{id}kyvernon alarms get <id>
POST /v1/alarmskyvernon alarms create --body <json>
DELETE /v1/alarms/{id}kyvernon alarms delete <id>
PUT /v1/alarms/{id}kyvernon alarms update <id> --disable
POST /v1/alarms/{id}/acknowledgekyvernon alarms acknowledge <id> <target>
POST /v1/alarms/clear-triggeredkyvernon alarms clear-triggered
GET /v1/scheduled-taskskyvernon scheduled-tasks list
GET /v1/scheduled-tasks/{id}kyvernon scheduled-tasks get <id>
POST /v1/scheduled-taskskyvernon scheduled-tasks create --body <json>
PUT /v1/scheduled-tasks/{id}kyvernon scheduled-tasks reconfigure <id> --body <json>
DELETE /v1/scheduled-tasks/{id}kyvernon scheduled-tasks delete <id>
POST /v1/scheduled-tasks/{id}/runkyvernon scheduled-tasks run <id>
GET /v1/ip-poolskyvernon ip-pools list
POST /v1/ip-poolskyvernon ip-pools create --name <name> --network <network> --prefix-len <n> --range <range>
GET /v1/ip-pools/{id}kyvernon ip-pools get <id>
PUT /v1/ip-pools/{id}kyvernon ip-pools update <id> --version <version> --name <name> --network <network> --prefix-len <n> --range <range>
DELETE /v1/ip-pools/{id}kyvernon ip-pools delete <id>
GET /v1/ip-pools/{id}/allocationskyvernon ip-pools allocations <id>
POST /v1/ip-pools/{id}/allocationskyvernon ip-pools allocate <id>
GET /v1/ip-pools/{id}/availablekyvernon ip-pools available <id> [--limit <n>]
DELETE /v1/ip-pools/{id}/allocations/{address}kyvernon ip-pools free <id> <address>
PUT /v1/ip-pools/{id}/allocations/{address}/ptrkyvernon ip-pools ptr <id> <address> [--name <name>]
POST /v1/ip-pools/{id}/allocations/{address}/ptr/appliedkyvernon ip-pools ptr-applied <id> <address>
POST /v1/ip-pools/{id}/allocations/{address}/ptr/rejectedkyvernon ip-pools ptr-rejected <id> <address> --reason <reason>
GET /v1/vms/{id}/addresseskyvernon addresses list <vm>
POST /v1/vms/{id}/addresseskyvernon addresses assign <vm>
DELETE /v1/vms/{id}/addresseskyvernon addresses release <vm>
PUT /v1/vms/{id}/addresses/{address}/ptrkyvernon addresses ptr <vm> <address> [--name <name>]
GET /v1/vms/{id}/smtpkyvernon addresses smtp <vm>
PUT /v1/vms/{id}/smtpkyvernon addresses smtp <vm> --unblock
GET /v1/vms/{id}/traffickyvernon traffic vm <vm>
GET /v1/vms/{id}/traffic-policykyvernon traffic policy get <vm>
PUT /v1/vms/{id}/traffic-policykyvernon traffic policy set <vm>
DELETE /v1/vms/{id}/traffic-policykyvernon traffic policy delete <vm>
POST /v1/vms/{id}/traffic-packageskyvernon traffic package <vm> --bytes <n>
GET /v1/traffickyvernon traffic report
GET /v1/tenants/{tenant}/network-usagekyvernon traffic tenant <tenant>
GET /v1/webhookskyvernon webhooks list
POST /v1/webhookskyvernon webhooks create <name> --url <url> --secret <secret>
DELETE /v1/webhooks/{id}kyvernon webhooks delete <id>
PUT /v1/webhooks/{id}kyvernon webhooks update <id> --body <json>
POST /v1/webhooks/{id}/testkyvernon webhooks test <id>
GET /v1/webhooks/{id}/dead-letterskyvernon webhooks dead-letters <id>
GET /v1/webhooks/{id}/deliverieskyvernon webhooks deliveries <id>
GET /v1/metrics/counterskyvernon metrics counters
GET /v1/metrics/intervalskyvernon metrics intervals
GET /v1/metrics/entities/{id}/availablekyvernon metrics available <entity>
GET /v1/metrics/querykyvernon metrics query --entity <ids> --counter <names>
GET /v1/usagekyvernon usage report --from <date> --to <date>
GET /v1/usage/days/{day}kyvernon usage day <date>
GET /v1/backup/infokyvernon backup info
GET /v1/backup/repositorykyvernon backup repository
GET /v1/backup/pointskyvernon backup points
POST /v1/backup/points/{id}/restorekyvernon backup restore-point <id>
POST /v1/backup/pointskyvernon vm backup <id>
GET /v1/backup/settingskyvernon backup settings get
PUT /v1/backup/settingskyvernon backup settings set --repository <dir>
GET /v1/backup/scheduleskyvernon backup schedules list
POST /v1/backup/scheduleskyvernon backup schedules create <name> --scope <id> --hour 2
GET /v1/backup/schedules/{id}kyvernon backup schedules get <id>
PUT /v1/backup/schedules/{id}kyvernon backup schedules update <id> --name <name> --scope <id> --hour 2
DELETE /v1/backup/schedules/{id}kyvernon backup schedules delete <id>
POST /v1/backup/schedules/{id}/runkyvernon backup schedules run <id>
DELETE /v1/backup/points/{id}kyvernon backup delete-point <id>
GET /v1/backup/controllerkyvernon system controller-backups
PUT /v1/backup/controllerkyvernon system set-controller-backup --target <dir> --schedule 02:30
POST /v1/backup/controller/runkyvernon system controller-backup
POST /v1/backup/sessionskyvernon backup sessions begin --body <json>
GET /v1/backup/sessionskyvernon backup sessions list
GET /v1/backup/sessions/{id}kyvernon backup sessions get <id>
GET /v1/backup/sessions/{id}/disks/{deviceKey}/changed-areaskyvernon backup sessions changed-areas <id> <device-key>
POST /v1/backup/sessions/{id}/keepalivekyvernon backup sessions keepalive <id>
POST /v1/backup/sessions/{id}/endkyvernon backup sessions end <id>
POST /v1/backup/disks/{diskId}/invalidatekyvernon backup invalidate <disk-id> --vm <uuid> --reason <reason>
POST /v1/backup/restoreskyvernon backup restores begin --body <json>
POST /v1/backup/restores/{vmId}/disks/{deviceKey}/finishkyvernon backup restores finish <vm> <device-key>
POST /v1/backup/restores/{vmId}/verifykyvernon backup restores verify <vm> --network <network>
GET /v1/backup/restores/{vmId}kyvernon backup restores get <vm>
GET /v1/backup/verificationkyvernon backup verification report
POST /v1/backup/verification/runkyvernon backup verification run
GET /v1/content/librarieskyvernon content libraries list
POST /v1/content/librarieskyvernon content libraries create <name> --datastore <id>
GET /v1/content/libraries/{id}kyvernon content libraries get <id>
DELETE /v1/content/libraries/{id}kyvernon content libraries delete <id>
GET /v1/content/library-itemskyvernon content items list
POST /v1/content/library-itemskyvernon content items create <name> --library <id> --type <iso|ovf>
GET /v1/content/library-items/{id}kyvernon content items get <id>
DELETE /v1/content/library-items/{id}kyvernon content items delete <id>
GET /v1/content/update-sessionskyvernon content sessions list
POST /v1/content/update-sessionskyvernon content sessions create <item>
GET /v1/content/update-sessions/{id}kyvernon content sessions get <id>
DELETE /v1/content/update-sessions/{id}kyvernon content sessions cancel <id>
POST /v1/content/update-sessions/{id}/fileskyvernon content sessions add-file <id> <name>
GET /v1/content/update-sessions/{id}/fileskyvernon content sessions files <id>
PUT /v1/content/update-sessions/{id}/files/{name}/contentkyvernon content sessions upload <id> <name> <file>
POST /v1/content/update-sessions/{id}/completekyvernon content sessions complete <id>
POST /v1/ovf/parsekyvernon ovf parse --body <json>
POST /v1/ovf/import-speckyvernon ovf import-spec --body <json>
POST /v1/ovf/create-descriptorkyvernon ovf create-descriptor --body <json>
POST /v1/resource-pools/{id}/import-vappkyvernon ovf import-vapp --pool <id> --body <json>
GET /v1/nfc-leases/{id}kyvernon nfc get <id>
POST /v1/nfc-leases/{id}/progresskyvernon nfc progress <id> --percent <n>
POST /v1/nfc-leases/{id}/completekyvernon nfc complete <id>
POST /v1/nfc-leases/{id}/abortkyvernon nfc abort <id>
GET /v1/nfc-leases/{id}/files/{name}kyvernon nfc download <id> <name>
PUT /v1/nfc-leases/{id}/files/{name}kyvernon nfc upload <id> <name> <file>
GET /v1/customization/specskyvernon customization list
POST /v1/customization/specskyvernon customization create --body <json>
GET /v1/customization/specs/{name}kyvernon customization get <name>
PUT /v1/customization/specs/{name}kyvernon customization overwrite <name> --body <json>
DELETE /v1/customization/specs/{name}kyvernon customization delete <name>
GET /v1/licencekyvernon licence show
POST /v1/licence/installkyvernon licence install <payload> <signature>
DELETE /v1/licence/{id}kyvernon licence remove <id>
GET /v1/tenantskyvernon tenants list
POST /v1/tenantskyvernon tenants create <name>
GET /v1/tenants/{tenant}kyvernon tenants get <tenant>
PUT /v1/tenants/{tenant}/quotakyvernon tenants quota <tenant> --body <json>
POST /v1/tenants/{tenant}/suspendkyvernon tenants suspend <tenant>
POST /v1/tenants/{tenant}/resumekyvernon tenants resume <tenant>
POST /v1/tenants/{tenant}/closekyvernon tenants close <tenant>
GET /v1/tenants/{tenant}/usagekyvernon tenants usage <tenant>
GET /v1/tenants/{tenant}/userskyvernon tenants users <tenant> list
POST /v1/tenants/{tenant}/userskyvernon tenants users <tenant> create <username>
DELETE /v1/tenants/{tenant}/users/{username}kyvernon tenants users <tenant> delete <username>
GET /v1/tenants/{tenant}/users/{username}/api-tokenskyvernon tenants users <tenant> api-tokens <username> list
POST /v1/tenants/{tenant}/users/{username}/api-tokenskyvernon tenants users <tenant> api-tokens <username> create <name>
DELETE /v1/tenants/{tenant}/users/{username}/api-tokens/{id}kyvernon tenants users <tenant> api-tokens <username> delete <id>
GET /v1/tenants/{tenant}/serverskyvernon servers <tenant> list
POST /v1/tenants/{tenant}/serverskyvernon servers <tenant> create <hostname> --plan <plan> --image <image>
GET /v1/tenants/{tenant}/servers/{server}kyvernon servers <tenant> get <server>
DELETE /v1/tenants/{tenant}/servers/{server}kyvernon servers <tenant> delete <server>
POST /v1/tenants/{tenant}/servers/{server}/powerkyvernon servers <tenant> power <server> <action>
POST /v1/tenants/{tenant}/servers/{server}/reinstallkyvernon servers <tenant> reinstall <server>
POST /v1/tenants/{tenant}/servers/{server}/resizekyvernon servers <tenant> resize <server> <plan>
POST /v1/tenants/{tenant}/servers/{server}/rescuekyvernon servers <tenant> rescue <server>
POST /v1/tenants/{tenant}/servers/{server}/unrescuekyvernon servers <tenant> unrescue <server>
POST /v1/tenants/{tenant}/servers/{server}/reset-passwordkyvernon servers <tenant> reset-password <server>
POST /v1/tenants/{tenant}/servers/{server}/snapshotskyvernon servers <tenant> snapshot <server> <name>
DELETE /v1/tenants/{tenant}/servers/{server}/snapshots/{key}kyvernon servers <tenant> remove-snapshot <server> <key>
POST /v1/tenants/{tenant}/servers/{server}/snapshots/{key}/revertkyvernon servers <tenant> revert-snapshot <server> <key>
POST /v1/tenants/{tenant}/servers/{server}/consolekyvernon servers <tenant> console <server>
GET /v1/planskyvernon plans list
POST /v1/planskyvernon plans create --body <json>
GET /v1/plans/{id}kyvernon plans get <id>
PUT /v1/plans/{id}kyvernon plans update <id> --body <json>
DELETE /v1/plans/{id}kyvernon plans delete <id>
GET /v1/catalogue/imageskyvernon catalogue list
PUT /v1/catalogue/images/{id}kyvernon catalogue set <id> --body <json>
DELETE /v1/catalogue/images/{id}kyvernon catalogue remove <id>
GET /v1/firewall/groupskyvernon firewall groups list [--tenant <tenant>]
POST /v1/firewall/groupskyvernon firewall groups create --name <name> [--criterion <tags>] [--vm <vm>] [--prefix <prefix>] [--tenant <tenant>] [--wait]
GET /v1/firewall/groups/{id}kyvernon firewall groups show <id>
PUT /v1/firewall/groups/{id}kyvernon firewall groups update <id> [--name <name>] [--criterion <tags>] [--if-match <version>] [--wait]
DELETE /v1/firewall/groups/{id}kyvernon firewall groups delete <id> [--if-match <version>] [--wait]
GET /v1/firewall/groups/{id}/memberskyvernon firewall groups members <id>
GET /v1/firewall/serviceskyvernon firewall services list [--tenant <tenant>]
POST /v1/firewall/serviceskyvernon firewall services create --name <name> --entry <entry> [--tenant <tenant>] [--wait]
GET /v1/firewall/services/{id}kyvernon firewall services show <id>
PUT /v1/firewall/services/{id}kyvernon firewall services update <id> [--entry <entry>] [--if-match <version>] [--wait]
DELETE /v1/firewall/services/{id}kyvernon firewall services delete <id> [--if-match <version>] [--wait]
GET /v1/firewall/policieskyvernon firewall policies list [--tenant <tenant>]
POST /v1/firewall/policieskyvernon firewall policies create --name <name> --category application [--tenant <tenant>] [--wait]
GET /v1/firewall/policies/{id}kyvernon firewall policies show <id>
PUT /v1/firewall/policies/{id}kyvernon firewall policies update <id> [--sequence <n>] [--if-match <version>] [--wait]
DELETE /v1/firewall/policies/{id}kyvernon firewall policies delete <id> [--if-match <version>] [--wait]
GET /v1/firewall/policies/{id}/ruleskyvernon firewall rules list --policy <policy>
POST /v1/firewall/policies/{id}/ruleskyvernon firewall rules add --policy <policy> --action allow [--service <service>] [--position <n>] [--wait]
GET /v1/firewall/policies/{id}/rules/{rid}kyvernon firewall rules show <rule> --policy <policy>
PUT /v1/firewall/policies/{id}/rules/{rid}kyvernon firewall rules update <rule> --policy <policy> [--action drop] [--if-match <version>] [--wait]
DELETE /v1/firewall/policies/{id}/rules/{rid}kyvernon firewall rules delete <rule> --policy <policy> [--if-match <version>] [--wait]
POST /v1/firewall/policies/{id}/rules/{rid}/movekyvernon firewall rules move <rule> --policy <policy> --position <n> [--wait]
GET /v1/firewall/policies/{id}/statskyvernon firewall stats --policy <policy>
GET /v1/firewall/rules/{number}/statskyvernon firewall stats --rule <n>
GET /v1/firewall/profileskyvernon firewall profiles list
POST /v1/firewall/profileskyvernon firewall profiles create --name <name> --inbound drop --outbound allow [--wait]
GET /v1/firewall/profiles/{id}kyvernon firewall profiles show <id>
PUT /v1/firewall/profiles/{id}kyvernon firewall profiles set <id> [--inbound drop] [--if-match <version>] [--wait]
DELETE /v1/firewall/profiles/{id}kyvernon firewall profiles delete <id> [--if-match <version>] [--wait]
GET /v1/firewall/settingskyvernon firewall settings show
PUT /v1/firewall/settingskyvernon firewall settings set [--log-rate-pps <n>] [--if-match <version>] [--wait]
GET /v1/firewall/tag-categorieskyvernon firewall tag-categories list
PUT /v1/firewall/tag-categories/{id}kyvernon firewall tag-categories set <id> --provider-managed true [--wait]
GET /v1/firewall/realizationkyvernon firewall realization [--host <host>]
POST /v1/firewall/simulatekyvernon firewall simulate --vm <vm> --in --proto tcp --port <n> --peer <peer>
GET /v1/firewall/logskyvernon firewall logs [--host <host>] [--rule <n>] [--limit <n>]
GET /v1/firewall/templateskyvernon firewall templates list
GET /v1/firewall/templates/{id}kyvernon firewall templates show <template>
PUT /v1/firewall/templates/{id}kyvernon firewall templates set <template> --body-file <file>
DELETE /v1/firewall/templates/{id}kyvernon firewall templates delete <template>
POST /v1/firewall/templates/{id}/applykyvernon firewall templates apply <template> <vm> [--wait]
GET /v1/vms/{id}/firewallkyvernon firewall effective <vm>
GET /v1/vms/{id}/firewall/logskyvernon firewall logs --vm <vm> [--limit <n>]
POST /v1/vms/{id}/firewall/open-portkyvernon firewall open-port <vm> --tcp <ports> [--from <prefix>] [--wait]
POST /v1/vms/{id}/firewall/modekyvernon firewall mode <vm> enforce [--confirm-within <duration>] [--wait]
POST /v1/vms/{id}/firewall/mode/confirmkyvernon firewall mode confirm <vm>
GET /v1/vms/{id}/firewall/monitorkyvernon firewall monitor <vm>
GET /v1/vms/{id}/nics/{key}/firewallkyvernon firewall effective <vm> --nic <key>
PUT /v1/vms/{id}/nics/{key}/firewallkyvernon firewall vnic-profile <vm> <key> --profile <profile>
GET /v1/firewall/bypasskyvernon firewall bypass list
POST /v1/firewall/bypasskyvernon firewall bypass --host <host> --reason <reason> --for <duration> [--wait]
DELETE /v1/firewall/bypass/{id}kyvernon firewall bypass remove <id> [--wait]

Routes without a command

RouteReason
POST /v1/auth/loginbrowser login: sets the refresh cookie and needs the CSRF double submit; the CLI logs in through /v1/identity/login
POST /v1/auth/mfabrowser MFA step of /v1/auth/login; the CLI passes --code to login
POST /v1/auth/refreshrotates the browser refresh cookie; API sessions and tokens do not refresh
POST /v1/auth/logoutclears the browser cookies; the CLI revokes its session with logout (/v1/identity/logout)
GET /v1/identity/oidc/startstarts the browser redirect to the identity provider
GET /v1/identity/oidc/callbackthe identity provider's redirect target; sets cookies
POST /v1/metrics/querythe same query as GET /v1/metrics/query with a JSON body; the CLI builds the GET form
GET /folder/{path}vSphere-compatible alias of GET /v1/datastores/{id}/files/content (datastore download)
PUT /folder/{path}vSphere-compatible alias of PUT /v1/datastores/{id}/files/content (datastore upload)
DELETE /folder/{path}vSphere-compatible alias of DELETE /v1/datastores/{id}/files (datastore rm)

Version 0.1.