Skip to main content

VGS CLI

Command Line Tool for programmatic configurations on VGS.

Official Documentation

Table of Contents

Requirements

Python 3.11 or newer with OpenSSL 1.1.1 or newer, or Docker.

Installation

PyPI

Install from PyPI:

python3 -m pip install vgs-cli

Run

Verify the installation:

vgs --version

Running in Docker

Check our official documentation.

AI agent skill

Install the agent skill:

npx skills add verygoodsecurity/skills --skill vgs-cli-guide

The guide covers Dashboard-assisted onboarding, the complete built-in command surface, controlled route and Collect Form changes, service-account automation, Docker, certificates, logs, and troubleshooting. Installation uses the Skills CLI.

Update the agent skill:

npx skills update vgs-cli-guide

Commands

Full command reference:

Tenant terminology

Use tenant and --tenant/-T in new commands. Legacy vault commands and --vault/-V options still work, but print a deprecation warning.

Authentication

Command Purpose
vgs --help List available commands.
vgs login Start an interactive session.
vgs logout End the current session.

Organizations and tenants

Command Purpose
vgs get organizations List accessible organizations.
vgs get tenants List all tenants visible to the authenticated identity.
vgs get tenant -T <TENANT_ID> Get one tenant with provisioning, account, configuration, and merchant state.
vgs generate tenant > tenant.yaml Generate a tenant template.
vgs apply tenant -f tenant.yaml Create and configure a SANDBOX or LIVE tenant through a staged, resumable workflow.
vgs apply tenant -O <ORGANIZATION_ID> -f tenant.yaml Create a tenant when organizationId is omitted from the template.
vgs apply tenant-resources -T <TENANT_ID> -f resources.yaml --dry-run true Validate tenant resources without applying them.
vgs apply tenant-resources -T <TENANT_ID> -f resources.yaml Apply reviewed resources to a tenant.

vgs get tenants does not take an organization option. vgs apply tenant requires the organization ID either in tenant.yaml as data.organizationId or through -O/--organization; if both are present, they must match.

Organization notifications

Command Purpose
vgs get notifications -O <ORGANIZATION_ID> List notification integrations.
vgs get notification-events -O <ORGANIZATION_ID> <INTEGRATION_ID> List configured events for a notification integration.
vgs generate notification > notification.yaml Generate a notification integration template.
vgs apply notification -O <ORGANIZATION_ID> -f notification.yaml Create or update a notification integration from a file.
vgs apply notification -O <ORGANIZATION_ID> --enable <INTEGRATION_ID> Enable a notification integration.
vgs apply notification -O <ORGANIZATION_ID> --disable <INTEGRATION_ID> Disable a notification integration.
vgs delete notification -O <ORGANIZATION_ID> <INTEGRATION_ID> Delete a notification integration.

Notification management requires an active organization, organization-admin access. The CLI masks generated webhook secrets in its output.

Routes

Command Purpose
vgs generate route --protocol http > http-route.yaml Generate an HTTP route template.
vgs generate route --protocol sftp > sftp-route.yaml Generate an SFTP route template.
vgs get routes -T <TENANT_ID> List tenant routes.
vgs apply routes -T <TENANT_ID> -f <FILE> Apply tenant routes.
vgs delete routes -T <TENANT_ID> <ROUTE_ID> Delete one tenant route.

Collect Forms

Command Purpose
vgs get forms -T <TENANT_ID> List Collect Forms.
vgs get form -T <TENANT_ID> <FORM_ID> Get one Collect Form.
vgs generate form > form.yaml Generate a Collect Form template.
vgs apply form -T <TENANT_ID> -f <FILE> Apply a Collect Form from a file.
vgs apply form -T <TENANT_ID> --json '<JSON>' Apply inline Collect Form JSON.
vgs delete form -T <TENANT_ID> <FORM_ID> Delete one Collect Form.

Access credentials and logs

Command Purpose
vgs get access-credentials -T <TENANT_ID> List tenant access credentials.
vgs generate access-credentials -T <TENANT_ID> Generate tenant access credentials. Capture the output securely as shown below.
vgs logs access -T <TENANT_ID> View tenant access logs.
vgs logs operations -T <TENANT_ID> -R <REQUEST_ID> View request operation logs.

Access-credential generation is a live mutation that returns secret material. Write it to a new, approved absolute path outside version control with owner-only permissions, and do not display or inspect it in shared logs:

(
  umask 077
  set -o noclobber
  vgs generate access-credentials -T <TENANT_ID> \
    > /absolute/secure/new-access-credentials.yaml
)

Service accounts

Generate a service-account resource and save the YAML so you can review it before applying it. The general vgs-cli template accepts zero or more tenants; when no tenant is supplied, the generated account has no tenant access.

vgs generate service-account --template vgs-cli -T <TENANT_ID> > service-account.yaml

Payment-credential templates require exactly one tenant and a name containing 1–20 characters:

vgs generate service-account --template <TEMPLATE> -T <TENANT_ID> --var name=<NAME> > service-account.yaml
Template Purpose
vgs-cli Automate common CLI organization, tenant, route, and access-log operations.
public-credential-collect Collect payment credentials without read access.
read-credentials-no-pci Read tokenized credentials without PCI data.
read-credentials-with-pci Read credentials including PCI data.
credentials-admin Read and write payment credentials.

After reviewing the generated scopes, apply the resource to the organization:

vgs apply service-account -O <ORGANIZATION_ID> -f service-account.yaml

The apply response contains a one-time client secret. Run the command only in your private terminal, store the secret in an approved secret manager, and do not commit or share the response. See the service-account documentation for the full workflow.

Certificates

Command Purpose
vgs certificate --help Show certificate commands.

Automation with VGS CLI

If you want to use the VGS CLI for automation, create a service account.

VGS CLI Console

VGS CLI Console is a keyboard-first interactive workspace for managing VGS resources in SANDBOX tenants.

VGS CLI Console

Launch it from an installed VGS CLI:

vgs console

In the Console:

  1. Complete browser authentication and select a SANDBOX context.
  2. Open Organization, select Tenants, then choose Create tenant.
  3. Enter a unique tenant name and complete one of the CMP, HTTP, SFTP, or no-use-case paths.
  4. Review the retained answers before selecting Create tenant. This action creates real SANDBOX resources.
  5. Confirm that the completed tenant becomes the active Console context.

Telemetry

VGS CLI collects limited usage analytics to help VGS understand how the CLI is used and improve the product. To disable telemetry, set VGS_CLI_TELEMETRY_OPTOUT=1 or DO_NOT_TRACK=1.

Metadata

Release files for vgs-cli 1.36.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for vgs-cli 1.36.0
File Interpreter ABI Platform
vgs_cli-1.36.0-py3-none-any.whl Python 3 none any Details

Release files / vgs_cli-1.36.0-py3-none-any.whl

Download URL vgs_cli-1.36.0-py3-none-any.whl
Size 172.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
96a3fbe9b1edd5bd44fd515655cbbcdeab3e6cb105e7dd709efbd8a1b23dbede
BLAKE2b-256 checksum
How to use checksums
9fbd3f1364e30a729739e696dd86a94779fc6ae5c64d1bef283370f6b366f312
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.36.0 This release

1 release file

1.35.0

1 release file

1.34.0

1 release file

1.33.0

1 release file

1.32.0

1 release file

1.31.1

1 release file

1.31.0

1 release file

1.30.18

1 release file

1.30.13

1 release file

1.30.12

1 release file

1.30.11

1 release file

1.30.9

1 release file

1.30.8

1 release file

1.30.7

1 release file

1.30.6

1 release file

1.30.5

1 release file

1.30.4

1 release file

1.30.3

1 release file

1.30.2

1 release file

1.30.1

1 release file

1.20.4

1 release file

1.20.3

1 release file

1.20.2

1 release file

1.20.1

1 release file

1.20.0

1 release file

1.19.0

1 release file

1.18.0

1 release file

1.17.1

1 release file

1.17.0

1 release file

1.16.2

1 release file

1.16.1

1 release file

1.16.0

1 release file

1.15.1

1 release file

1.15.0

1 release file

1.14.3

1 release file

1.14.2

1 release file

1.14.1

1 release file

1.14.0

1 release file

1.13.0

1 release file

1.12.6

1 release file

1.12.5

1 release file

1.12.4

1 release file

1.12.3

1 release file

1.12.2

1 release file

1.12.1

1 release file

1.12.0

1 release file

1.11.1

1 release file

1.11.0

1 release file

1.10.0

1 release file

1.9.5

1 release file

1.9.4

1 release file

1.9.3

1 release file

1.9.2

1 release file

1.9.1

1 release file

1.9.0

1 release file

1.8.2

1 release file

1.8.1

1 release file

1.8.0

1 release file

1.7.3

1 release file

1.7.2

1 release file

1.7.1

1 release file

1.7.0

1 release file

1.6.8

1 release file

1.6.7

1 release file

1.6.6

1 release file

1.6.5

1 release file

1.6.4

1 release file

1.6.3

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.3

1 release file

1.5.2

1 release file

1.5.1

1 release file

1.5.0

1 release file

1.4.0

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.5.0

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.8

1 release file

0.2.7

1 release file

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

1 release file

0.2.1

3 release files

0.2.0

1 release file

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page