Skip to main content

Vault HTTP API

Project description

vgs api client

The VGS Vault HTTP API is used for storing, retrieving, and managing sensitive data (aka Tokenization) within a VGS Vault.

The VGS API is organized around REST. Our API is built with a predictable resource-oriented structure, uses JSON-encoded requests and responses, follows standard HTTP verbs/responses, and uses industry standard authentication.

What is VGS

Storing sensitive data on your company’s infrastructure often comes with a heavy compliance burden. For instance, storing payments data yourself greatly increases the amount of work needed to become PCI compliant. It also increases your security risk in general. To combat this, companies will minimize the amount of sensitive information they have to handle or store.

VGS provides multiple methods for minimizing the sensitive information that needs to be stored which allows customers to secure any type of data for any use-case.

Tokenization is a method that focuses on securing the storage of data. This is the quickest way to get started and is free. Get started with Tokenization.

Zero Data is a unique method invented by VGS in 2016 that securely stores data like Tokenization, however it also removes the customer’s environment from PCI scope completely providing maximum security, and minimum compliance scope. Get started with Zero Data.

Additionally, for scenarios where neither technology is a complete solution, for instance with legacy systems, VGS provides a compliance product which guarantees customers are able to meet their compliance needs no matter what may happen. Get started with Control.

Learn about Tokenization

Authentication

This API uses Basic authentication.

Credentials to access the API can be generated on the dashboard by going to the Settings section of the vault of your choosing.

Docs » Guides » Access credentials

Resource Limits

Data Limits

This API allows storing data up to 32MB in size.

Rate Limiting

The API allows up to 3,000 requests per minute. Requests are associated with the vault, regardless of the access credentials used to authenticate the request.

Your current rate limit is included as HTTP headers in every API response:

Header Name Description
x-ratelimit-remaining The number of requests remaining in the 1-minute window.

If you exceed the rate limit, the API will reject the request with HTTP 429 Too Many Requests.

Errors

The API uses standard HTTP status codes to indicate whether the request succeeded or not.

In case of failure, the response body will be JSON in a predefined format. For example, trying to create too many aliases at once results in the following response:

{
    \"errors\": [
        {
            \"status\": 400,
            \"title\": \"Bad request\",
            \"detail\": \"Too many values (limit: 20)\",
            \"href\": \"https://api.sandbox.verygoodvault.com/aliases\"
        }
    ]
}

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 0.0.1dev202204131316
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen

Requirements.

Python >=3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/verygoodsecurity/vgs-api-client-python.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/verygoodsecurity/vgs-api-client-python.git)

Then import the package:

import vgs_api_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import vgs_api_client

Getting Started

Please follow the installation procedure and then run the following:

import time
import vgs_api_client
from pprint import pprint
from vgs_api_client.api import aliases_api
from vgs_api_client.model.create_aliases_request import CreateAliasesRequest
from vgs_api_client.model.inline_response200 import InlineResponse200
from vgs_api_client.model.inline_response2001 import InlineResponse2001
from vgs_api_client.model.inline_response201 import InlineResponse201
from vgs_api_client.model.inline_response_default import InlineResponseDefault
from vgs_api_client.model.update_alias_request import UpdateAliasRequest
# Defining the host is optional and defaults to https://api.sandbox.verygoodvault.com
# See configuration.py for a list of all supported configuration parameters.
configuration = vgs_api_client.Configuration(
    host = "https://api.sandbox.verygoodvault.com"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure HTTP basic authorization: basicAuth
configuration = vgs_api_client.Configuration(
    username = 'YOUR_USERNAME',
    password = 'YOUR_PASSWORD'
)


# Enter a context with an instance of the API client
with vgs_api_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = aliases_api.AliasesApi(api_client)
    create_aliases_request = CreateAliasesRequest(
        data=[
            None,
        ],
    ) # CreateAliasesRequest |  (optional)

    try:
        # Create aliases
        api_response = api_instance.create_aliases(create_aliases_request=create_aliases_request)
        pprint(api_response)
    except vgs_api_client.ApiException as e:
        print("Exception when calling AliasesApi->create_aliases: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.sandbox.verygoodvault.com

Class Method HTTP request Description
AliasesApi create_aliases POST /aliases Create aliases
AliasesApi delete_alias DELETE /aliases/{alias} Delete alias
AliasesApi reveal_alias GET /aliases/{alias} Reveal single alias
AliasesApi reveal_multiple_aliases GET /aliases Reveal multiple aliases
AliasesApi update_alias PUT /aliases/{alias} Update data classifiers

Documentation For Models

Documentation For Authorization

basicAuth

  • Type: HTTP basic authentication

Author

support@verygoodsecurity.com

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in vgs_api_client.apis and vgs_api_client.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from vgs_api_client.api.default_api import DefaultApi
  • from vgs_api_client.model.pet import Pet

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import vgs_api_client
from vgs_api_client.apis import *
from vgs_api_client.models import *

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page