Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

Try the Console feature branch

After the feature branch is available in an existing repository checkout, switch to it and prepare the local Python environment:

git switch feature/cli-ui
scripts/dev.sh setup

Launch the feature with an authorized VGS account:

scripts/dev.sh cli 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. For an HTTP use case, review the separate route draft before submitting it. SFTP route configuration remains a separate later step. Every SANDBOX tenant created by the CLI includes the standard CLI-managed Collect Form.

To try Import tenant, generate a local template, replace its example name and organization ID, then select it with the Console's native file picker:

scripts/dev.sh cli generate tenant > /tmp/vgs-cli-tenant.yaml

Keep environment: SANDBOX; the Console rejects LIVE tenant imports. Do not commit generated tenant files, credentials, tokens, or command output.

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 Generate an HTTP route template.
vgs generate route --protocol sftp 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.
vgs logs access -T <TENANT_ID> View tenant access logs.
vgs logs operations -T <TENANT_ID> -R <REQUEST_ID> View request operation logs.

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.

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

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.dev1
File Interpreter ABI Platform
vgs_cli-1.36.0.dev1-py3-none-any.whl Python 3 none any Details

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

Download URL vgs_cli-1.36.0.dev1-py3-none-any.whl
Size 168.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c75b2b7d141aea6c523c97057c6ef19d618d840ffc219898ac2c90c3844ef56d
BLAKE2b-256 checksum
How to use checksums
0cca4fc373edcf24a177b3813f0ecf0ac7d253e910b2bc907b96d90a134e2908
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 17, 2026.

Transparency log

Release history Release notifications | RSS feed

1.36.0

1 release file

This release

1.36.0.dev1 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