vgs-api-client 0.0.45__py3-none-any.whl → 0.0.47__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. vgs/__init__.py +1 -1
  2. vgs/aliases_api.py +7 -1
  3. vgs/functions_api.py +1 -2
  4. vgs/sdk/account_mgmt.py +1 -1
  5. vgs/sdk/accounts_api.py +1 -1
  6. vgs/sdk/auth_api.py +2 -2
  7. vgs/sdk/vault_mgmt.py +1 -1
  8. vgs/sdk/vaults_api.py +1 -1
  9. vgs_api_client/__init__.py +2 -2
  10. vgs_api_client/api/aliases_api.py +182 -11
  11. vgs_api_client/api_client.py +2 -2
  12. vgs_api_client/configuration.py +2 -2
  13. vgs_api_client/exceptions.py +1 -1
  14. vgs_api_client/model/{alias.py → alias_dto.py} +4 -4
  15. vgs_api_client/model/alias_format.py +10 -6
  16. vgs_api_client/model/api_error.py +1 -1
  17. vgs_api_client/model/batch_aliases_request.py +264 -0
  18. vgs_api_client/model/create_aliases_request.py +4 -6
  19. vgs_api_client/model/create_aliases_request_new.py +1 -1
  20. vgs_api_client/model/create_aliases_request_reference.py +1 -1
  21. vgs_api_client/model/inline_response200.py +1 -1
  22. vgs_api_client/model/inline_response2001.py +1 -1
  23. vgs_api_client/model/inline_response201.py +1 -1
  24. vgs_api_client/model/inline_response_default.py +1 -1
  25. vgs_api_client/model/revealed_data.py +9 -9
  26. vgs_api_client/model/update_alias_request.py +1 -1
  27. vgs_api_client/model/update_alias_request_data.py +1 -1
  28. vgs_api_client/model_utils.py +1 -1
  29. vgs_api_client/models/__init__.py +2 -1
  30. vgs_api_client/rest.py +1 -1
  31. {vgs_api_client-0.0.45.dist-info → vgs_api_client-0.0.47.dist-info}/METADATA +6 -6
  32. vgs_api_client-0.0.47.dist-info/RECORD +51 -0
  33. {vgs_api_client-0.0.45.dist-info → vgs_api_client-0.0.47.dist-info}/WHEEL +1 -1
  34. vgs_api_client-0.0.45.dist-info/RECORD +0 -50
  35. {vgs_api_client-0.0.45.dist-info → vgs_api_client-0.0.47.dist-info}/LICENSE +0 -0
  36. {vgs_api_client-0.0.45.dist-info → vgs_api_client-0.0.47.dist-info}/top_level.txt +0 -0
vgs/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.0.45"
1
+ __version__ = "0.0.47"
2
2
 
3
3
  # import Aliases
4
4
  from vgs.aliases_api import Aliases
vgs/aliases_api.py CHANGED
@@ -1,3 +1,5 @@
1
+ import logging
2
+
1
3
  import vgs.exceptions
2
4
  import vgs_api_client
3
5
  from vgs.configuration import Configuration
@@ -58,21 +60,24 @@ class Aliases:
58
60
  api_response = self._api.create_aliases(create_aliases_request=create_aliases_request)
59
61
  return api_response["data"]
60
62
  except Exception as e:
63
+ logging.warning(f"EXCEPTION ${str(e)}")
61
64
  raise _map_exception(f"Failed to redact data ${data}", e)
62
65
 
63
66
  def reveal(self, aliases):
64
67
  # TODO: validate data and raise meaningful exception on validation error
65
68
  try:
66
69
  query = ",".join(aliases) if isinstance(aliases, list) else aliases
67
- api_response = self._api.reveal_multiple_aliases(q=query)
70
+ api_response = self._api.reveal_multiple_aliases(aliases=query)
68
71
  return api_response["data"]
69
72
  except Exception as e:
73
+ logging.warning(f"EXCEPTION ${str(e)}")
70
74
  raise _map_exception(f"Failed to reveal aliases ${aliases}", e)
71
75
 
72
76
  def delete(self, alias):
73
77
  try:
74
78
  self._api.delete_alias(alias=alias)
75
79
  except Exception as e:
80
+ logging.warning(f"EXCEPTION ${str(e)}")
76
81
  raise _map_exception(f"Failed to reveal delete ${alias}", e)
77
82
 
78
83
  def update(self, alias, data):
@@ -84,4 +89,5 @@ class Aliases:
84
89
  ),
85
90
  )
86
91
  except Exception as e:
92
+ logging.warning(f"EXCEPTION ${str(e)}")
87
93
  raise _map_exception(f"Failed to update alias ${alias}.", e)
vgs/functions_api.py CHANGED
@@ -16,7 +16,7 @@ from vgs import certs
16
16
  from vgs.base_api import BaseApi
17
17
  from vgs.configuration import Configuration
18
18
 
19
- USER_AGENT = "vgs-sdk/0.0.45/python"
19
+ USER_AGENT = "vgs-sdk/0.0.47/python"
20
20
 
21
21
  ECHO_SECURE_HOST_CONFIG = "echo\\.secure\\.verygood\\.systems"
22
22
  FUNCTION_CONDITION_EXPRESSION = (
@@ -261,7 +261,6 @@ class Functions(BaseApi):
261
261
  return routes_api.routes.delete(route_id)
262
262
 
263
263
  def _create_routes_api(self):
264
-
265
264
  api = vgs.sdk.vaults_api.create_api(
266
265
  None, self.config.vault_id, self.auth_environment, self.auth_token
267
266
  )
vgs/sdk/account_mgmt.py CHANGED
@@ -10,7 +10,7 @@ class AccountMgmtAPI(API):
10
10
  "Accept": "application/vnd.api+json",
11
11
  "Authorization": f"Bearer {access_token}",
12
12
  "Content-Type": "application/vnd.api+json",
13
- "User-Agent": f"VGS SDK 0.0.45",
13
+ "User-Agent": f"VGS SDK 0.0.47",
14
14
  },
15
15
  json_encode_body=True,
16
16
  )
vgs/sdk/accounts_api.py CHANGED
@@ -33,7 +33,7 @@ def create_api(token, environment):
33
33
  headers={
34
34
  "Content-Type": "application/vnd.api+json",
35
35
  "Accept": "application/vnd.api+json",
36
- "User-Agent": "VGS SDK {}".format("0.0.45"),
36
+ "User-Agent": "VGS SDK {}".format("0.0.47"),
37
37
  "Authorization": "Bearer {}".format(token),
38
38
  },
39
39
  timeout=50, # default timeout in seconds
vgs/sdk/auth_api.py CHANGED
@@ -21,7 +21,7 @@ def create_api(environment):
21
21
  api = API(
22
22
  api_root_url=env_url[environment],
23
23
  params={}, # default params
24
- headers={"User-Agent": f"VGS SDK 0.0.45"}, # default headers
24
+ headers={"User-Agent": f"VGS SDK 0.0.47"}, # default headers
25
25
  timeout=50, # default timeout in seconds
26
26
  append_slash=False, # append slash to final url
27
27
  )
@@ -45,7 +45,7 @@ def logout(api, client_id, access_token, refresh_token):
45
45
  headers={
46
46
  "Authorization": access_token,
47
47
  "Content-Type": "application/x-www-form-urlencoded",
48
- "User-Agent": f"VGS SDK 0.0.45",
48
+ "User-Agent": f"VGS SDK 0.0.47",
49
49
  },
50
50
  body="client_id={client_id}&refresh_token={refresh_token}".format(
51
51
  client_id=client_id, refresh_token=refresh_token
vgs/sdk/vault_mgmt.py CHANGED
@@ -10,7 +10,7 @@ class VaultMgmtAPI(API):
10
10
  "Accept": "application/vnd.api+json",
11
11
  "Authorization": f"Bearer {access_token}",
12
12
  "Content-Type": "application/vnd.api+json",
13
- "User-Agent": f"VGS SDK 0.0.45",
13
+ "User-Agent": f"VGS SDK 0.0.47",
14
14
  },
15
15
  json_encode_body=True,
16
16
  )
vgs/sdk/vaults_api.py CHANGED
@@ -21,7 +21,7 @@ def create_api(ctx, vault_id, environment, token):
21
21
  "VGS-Tenant": vault_id,
22
22
  "Content-Type": "application/vnd.api+json",
23
23
  "Accept": "application/vnd.api+json",
24
- "User-Agent": "VGS SDK {}".format("0.0.45"),
24
+ "User-Agent": "VGS SDK {}".format("0.0.47"),
25
25
  "Authorization": "Bearer {}".format(token),
26
26
  }, # default headers
27
27
  timeout=50, # default timeout in seconds
@@ -3,7 +3,7 @@
3
3
  """
4
4
  Vault HTTP API
5
5
 
6
- 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ### Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
6
+ 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ## Introduction ### Alias-Formats | Format | Description | |---------------------------------|-------------------------------------------------------------------------------------------| | UUID | Generic - VGS Alias (Default) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx | | NUM_LENGTH_PRESERVING | Generic - Numeric Length Preserving - xxxxxxxxxxxxxxxx | | FPE_SIX_T_FOUR | Payment Card - Format Preserving, Luhn Valid (6T4) - <first_six>xxxxxx<last_four> | | FPE_T_FOUR | Payment Card - Format Preserving, Luhn Valid (T4) - xxxxxxxxxxxx<last_four> | | PFPT | Payment Card - Prefixed, Luhn Valid, 19 Digits Fixed Length - xxxxxxxxxxxxxxxxxxx | | NON_LUHN_FPE_ALPHANUMERIC | Payment Card - Format Preserving - Non Luhn Valid - xxxxxxxxxxxxxxxx | | FPE_SSN_T_FOUR | SSN - Format Preserving (A4) - xxx-xx-<last_four> | | FPE_ACC_NUM_T_FOUR | Account Number - Numeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | FPE_ALPHANUMERIC_ACC_NUM_T_FOUR | Account Number - Alphanumeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | GENERIC_T_FOUR | Generic - VGS Alias Last Four (T4) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx_<last_four> | | RAW_UUID | Generic - UUID - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | | ALPHANUMERIC_SIX_T_FOUR | Numeric - Include Alphanumeric, 19 symbols length (6T4) - <first_six>xxxxxxxxx<last_four> | | VGS_FIXED_LEN_GENERIC | Generic - VGS Alphanumeric Fixed Length, 29 characters - vgsxxxxxxxxxxxxxxxxxxxxxxxxxx | ## Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
7
7
 
8
8
  The version of the OpenAPI document: 1.0.0
9
9
  Contact: support@verygoodsecurity.com
@@ -11,7 +11,7 @@
11
11
  """
12
12
 
13
13
 
14
- __version__ = "0.0.45"
14
+ __version__ = "0.0.47"
15
15
 
16
16
  # import ApiClient
17
17
  from vgs_api_client.api_client import ApiClient
@@ -1,7 +1,7 @@
1
1
  """
2
2
  Vault HTTP API
3
3
 
4
- 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ### Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
4
+ 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ## Introduction ### Alias-Formats | Format | Description | |---------------------------------|-------------------------------------------------------------------------------------------| | UUID | Generic - VGS Alias (Default) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx | | NUM_LENGTH_PRESERVING | Generic - Numeric Length Preserving - xxxxxxxxxxxxxxxx | | FPE_SIX_T_FOUR | Payment Card - Format Preserving, Luhn Valid (6T4) - <first_six>xxxxxx<last_four> | | FPE_T_FOUR | Payment Card - Format Preserving, Luhn Valid (T4) - xxxxxxxxxxxx<last_four> | | PFPT | Payment Card - Prefixed, Luhn Valid, 19 Digits Fixed Length - xxxxxxxxxxxxxxxxxxx | | NON_LUHN_FPE_ALPHANUMERIC | Payment Card - Format Preserving - Non Luhn Valid - xxxxxxxxxxxxxxxx | | FPE_SSN_T_FOUR | SSN - Format Preserving (A4) - xxx-xx-<last_four> | | FPE_ACC_NUM_T_FOUR | Account Number - Numeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | FPE_ALPHANUMERIC_ACC_NUM_T_FOUR | Account Number - Alphanumeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | GENERIC_T_FOUR | Generic - VGS Alias Last Four (T4) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx_<last_four> | | RAW_UUID | Generic - UUID - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | | ALPHANUMERIC_SIX_T_FOUR | Numeric - Include Alphanumeric, 19 symbols length (6T4) - <first_six>xxxxxxxxx<last_four> | | VGS_FIXED_LEN_GENERIC | Generic - VGS Alphanumeric Fixed Length, 29 characters - vgsxxxxxxxxxxxxxxxxxxxxxxxxxx | ## Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@verygoodsecurity.com
@@ -22,6 +22,7 @@ from vgs_api_client.model_utils import ( # noqa: F401
22
22
  none_type,
23
23
  validate_and_convert_types
24
24
  )
25
+ from vgs_api_client.model.batch_aliases_request import BatchAliasesRequest
25
26
  from vgs_api_client.model.create_aliases_request import CreateAliasesRequest
26
27
  from vgs_api_client.model.inline_response200 import InlineResponse200
27
28
  from vgs_api_client.model.inline_response2001 import InlineResponse2001
@@ -105,6 +106,7 @@ class AliasesApi(object):
105
106
  params_map={
106
107
  'all': [
107
108
  'alias',
109
+ 'storage',
108
110
  ],
109
111
  'required': [
110
112
  'alias',
@@ -112,6 +114,7 @@ class AliasesApi(object):
112
114
  'nullable': [
113
115
  ],
114
116
  'enum': [
117
+ 'storage',
115
118
  ],
116
119
  'validation': [
117
120
  ]
@@ -120,16 +123,25 @@ class AliasesApi(object):
120
123
  'validations': {
121
124
  },
122
125
  'allowed_values': {
126
+ ('storage',): {
127
+
128
+ "PERSISTENT": "PERSISTENT",
129
+ "VOLATILE": "VOLATILE"
130
+ },
123
131
  },
124
132
  'openapi_types': {
125
133
  'alias':
126
134
  (str,),
135
+ 'storage':
136
+ (str,),
127
137
  },
128
138
  'attribute_map': {
129
139
  'alias': 'alias',
140
+ 'storage': 'storage',
130
141
  },
131
142
  'location_map': {
132
143
  'alias': 'path',
144
+ 'storage': 'query',
133
145
  },
134
146
  'collection_format_map': {
135
147
  }
@@ -142,6 +154,56 @@ class AliasesApi(object):
142
154
  },
143
155
  api_client=api_client
144
156
  )
157
+ self.delete_aliases_endpoint = _Endpoint(
158
+ settings={
159
+ 'response_type': None,
160
+ 'auth': [
161
+ 'basicAuth'
162
+ ],
163
+ 'endpoint_path': '/aliases/delete',
164
+ 'operation_id': 'delete_aliases',
165
+ 'http_method': 'POST',
166
+ 'servers': None,
167
+ },
168
+ params_map={
169
+ 'all': [
170
+ 'batch_aliases_request',
171
+ ],
172
+ 'required': [
173
+ 'batch_aliases_request',
174
+ ],
175
+ 'nullable': [
176
+ ],
177
+ 'enum': [
178
+ ],
179
+ 'validation': [
180
+ ]
181
+ },
182
+ root_map={
183
+ 'validations': {
184
+ },
185
+ 'allowed_values': {
186
+ },
187
+ 'openapi_types': {
188
+ 'batch_aliases_request':
189
+ (BatchAliasesRequest,),
190
+ },
191
+ 'attribute_map': {
192
+ },
193
+ 'location_map': {
194
+ 'batch_aliases_request': 'body',
195
+ },
196
+ 'collection_format_map': {
197
+ }
198
+ },
199
+ headers_map={
200
+ 'accept': [],
201
+ 'content_type': [
202
+ 'application/json'
203
+ ]
204
+ },
205
+ api_client=api_client
206
+ )
145
207
  self.reveal_alias_endpoint = _Endpoint(
146
208
  settings={
147
209
  'response_type': (InlineResponse2001,),
@@ -156,6 +218,7 @@ class AliasesApi(object):
156
218
  params_map={
157
219
  'all': [
158
220
  'alias',
221
+ 'storage',
159
222
  ],
160
223
  'required': [
161
224
  'alias',
@@ -163,6 +226,7 @@ class AliasesApi(object):
163
226
  'nullable': [
164
227
  ],
165
228
  'enum': [
229
+ 'storage',
166
230
  ],
167
231
  'validation': [
168
232
  ]
@@ -171,16 +235,25 @@ class AliasesApi(object):
171
235
  'validations': {
172
236
  },
173
237
  'allowed_values': {
238
+ ('storage',): {
239
+
240
+ "PERSISTENT": "PERSISTENT",
241
+ "VOLATILE": "VOLATILE"
242
+ },
174
243
  },
175
244
  'openapi_types': {
176
245
  'alias':
177
246
  (str,),
247
+ 'storage':
248
+ (str,),
178
249
  },
179
250
  'attribute_map': {
180
251
  'alias': 'alias',
252
+ 'storage': 'storage',
181
253
  },
182
254
  'location_map': {
183
255
  'alias': 'path',
256
+ 'storage': 'query',
184
257
  },
185
258
  'collection_format_map': {
186
259
  }
@@ -206,10 +279,11 @@ class AliasesApi(object):
206
279
  },
207
280
  params_map={
208
281
  'all': [
209
- 'q',
282
+ 'aliases',
283
+ 'storage',
210
284
  ],
211
285
  'required': [
212
- 'q',
286
+ 'aliases',
213
287
  ],
214
288
  'nullable': [
215
289
  ],
@@ -224,14 +298,18 @@ class AliasesApi(object):
224
298
  'allowed_values': {
225
299
  },
226
300
  'openapi_types': {
227
- 'q':
301
+ 'aliases':
302
+ (str,),
303
+ 'storage':
228
304
  (str,),
229
305
  },
230
306
  'attribute_map': {
231
- 'q': 'q',
307
+ 'aliases': 'aliases',
308
+ 'storage': 'storage',
232
309
  },
233
310
  'location_map': {
234
- 'q': 'query',
311
+ 'aliases': 'query',
312
+ 'storage': 'query',
235
313
  },
236
314
  'collection_format_map': {
237
315
  }
@@ -258,6 +336,7 @@ class AliasesApi(object):
258
336
  params_map={
259
337
  'all': [
260
338
  'alias',
339
+ 'storage',
261
340
  'update_alias_request',
262
341
  ],
263
342
  'required': [
@@ -266,6 +345,7 @@ class AliasesApi(object):
266
345
  'nullable': [
267
346
  ],
268
347
  'enum': [
348
+ 'storage',
269
349
  ],
270
350
  'validation': [
271
351
  ]
@@ -274,18 +354,27 @@ class AliasesApi(object):
274
354
  'validations': {
275
355
  },
276
356
  'allowed_values': {
357
+ ('storage',): {
358
+
359
+ "PERSISTENT": "PERSISTENT",
360
+ "VOLATILE": "VOLATILE"
361
+ },
277
362
  },
278
363
  'openapi_types': {
279
364
  'alias':
280
365
  (str,),
366
+ 'storage':
367
+ (str,),
281
368
  'update_alias_request':
282
369
  (UpdateAliasRequest,),
283
370
  },
284
371
  'attribute_map': {
285
372
  'alias': 'alias',
373
+ 'storage': 'storage',
286
374
  },
287
375
  'location_map': {
288
376
  'alias': 'path',
377
+ 'storage': 'query',
289
378
  'update_alias_request': 'body',
290
379
  },
291
380
  'collection_format_map': {
@@ -394,6 +483,7 @@ class AliasesApi(object):
394
483
  alias (str): Alias to operate on.
395
484
 
396
485
  Keyword Args:
486
+ storage (str): [optional] if omitted the server will use the default value of "PERSISTENT"
397
487
  _return_http_data_only (bool): response data without head status
398
488
  code and headers. Default is True.
399
489
  _preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -454,6 +544,84 @@ class AliasesApi(object):
454
544
  alias
455
545
  return self.delete_alias_endpoint.call_with_http_info(**kwargs)
456
546
 
547
+ def delete_aliases(
548
+ self,
549
+ batch_aliases_request,
550
+ **kwargs
551
+ ):
552
+ """Batch Delete Aliases # noqa: E501
553
+
554
+ Deletes multiple aliases. # noqa: E501
555
+ This method makes a synchronous HTTP request by default. To make an
556
+ asynchronous HTTP request, please pass async_req=True
557
+
558
+ >>> thread = api.delete_aliases(batch_aliases_request, async_req=True)
559
+ >>> result = thread.get()
560
+
561
+ Args:
562
+ batch_aliases_request (BatchAliasesRequest):
563
+
564
+ Keyword Args:
565
+ _return_http_data_only (bool): response data without head status
566
+ code and headers. Default is True.
567
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
568
+ will be returned without reading/decoding response data.
569
+ Default is True.
570
+ _request_timeout (int/float/tuple): timeout setting for this request. If
571
+ one number provided, it will be total request timeout. It can also
572
+ be a pair (tuple) of (connection, read) timeouts.
573
+ Default is None.
574
+ _check_input_type (bool): specifies if type checking
575
+ should be done one the data sent to the server.
576
+ Default is True.
577
+ _check_return_type (bool): specifies if type checking
578
+ should be done one the data received from the server.
579
+ Default is True.
580
+ _spec_property_naming (bool): True if the variable names in the input data
581
+ are serialized names, as specified in the OpenAPI document.
582
+ False if the variable names in the input data
583
+ are pythonic names, e.g. snake case (default)
584
+ _content_type (str/None): force body content-type.
585
+ Default is None and content-type will be predicted by allowed
586
+ content-types and body.
587
+ _host_index (int/None): specifies the index of the server
588
+ that we want to use.
589
+ Default is read from the configuration.
590
+ async_req (bool): execute request asynchronously
591
+
592
+ Returns:
593
+ None
594
+ If the method is called asynchronously, returns the request
595
+ thread.
596
+ """
597
+ kwargs['async_req'] = kwargs.get(
598
+ 'async_req', False
599
+ )
600
+ kwargs['_return_http_data_only'] = kwargs.get(
601
+ '_return_http_data_only', True
602
+ )
603
+ kwargs['_preload_content'] = kwargs.get(
604
+ '_preload_content', True
605
+ )
606
+ kwargs['_request_timeout'] = kwargs.get(
607
+ '_request_timeout', None
608
+ )
609
+ kwargs['_check_input_type'] = kwargs.get(
610
+ '_check_input_type', True
611
+ )
612
+ kwargs['_check_return_type'] = kwargs.get(
613
+ '_check_return_type', True
614
+ )
615
+ kwargs['_spec_property_naming'] = kwargs.get(
616
+ '_spec_property_naming', False
617
+ )
618
+ kwargs['_content_type'] = kwargs.get(
619
+ '_content_type')
620
+ kwargs['_host_index'] = kwargs.get('_host_index')
621
+ kwargs['batch_aliases_request'] = \
622
+ batch_aliases_request
623
+ return self.delete_aliases_endpoint.call_with_http_info(**kwargs)
624
+
457
625
  def reveal_alias(
458
626
  self,
459
627
  alias,
@@ -472,6 +640,7 @@ class AliasesApi(object):
472
640
  alias (str): Alias to operate on.
473
641
 
474
642
  Keyword Args:
643
+ storage (str): [optional] if omitted the server will use the default value of "PERSISTENT"
475
644
  _return_http_data_only (bool): response data without head status
476
645
  code and headers. Default is True.
477
646
  _preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -534,7 +703,7 @@ class AliasesApi(object):
534
703
 
535
704
  def reveal_multiple_aliases(
536
705
  self,
537
- q,
706
+ aliases,
538
707
  **kwargs
539
708
  ):
540
709
  """Reveal multiple aliases # noqa: E501
@@ -543,13 +712,14 @@ class AliasesApi(object):
543
712
  This method makes a synchronous HTTP request by default. To make an
544
713
  asynchronous HTTP request, please pass async_req=True
545
714
 
546
- >>> thread = api.reveal_multiple_aliases(q, async_req=True)
715
+ >>> thread = api.reveal_multiple_aliases(aliases, async_req=True)
547
716
  >>> result = thread.get()
548
717
 
549
718
  Args:
550
- q (str): Comma-separated list of aliases to reveal.
719
+ aliases (str): Comma-separated list of aliases to reveal.
551
720
 
552
721
  Keyword Args:
722
+ storage (str): PERSISTENT or VOLATILE storage. [optional]
553
723
  _return_http_data_only (bool): response data without head status
554
724
  code and headers. Default is True.
555
725
  _preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -606,8 +776,8 @@ class AliasesApi(object):
606
776
  kwargs['_content_type'] = kwargs.get(
607
777
  '_content_type')
608
778
  kwargs['_host_index'] = kwargs.get('_host_index')
609
- kwargs['q'] = \
610
- q
779
+ kwargs['aliases'] = \
780
+ aliases
611
781
  return self.reveal_multiple_aliases_endpoint.call_with_http_info(**kwargs)
612
782
 
613
783
  def update_alias(
@@ -628,6 +798,7 @@ class AliasesApi(object):
628
798
  alias (str): Alias to operate on.
629
799
 
630
800
  Keyword Args:
801
+ storage (str): [optional] if omitted the server will use the default value of "PERSISTENT"
631
802
  update_alias_request (UpdateAliasRequest): [optional]
632
803
  _return_http_data_only (bool): response data without head status
633
804
  code and headers. Default is True.
@@ -1,7 +1,7 @@
1
1
  """
2
2
  Vault HTTP API
3
3
 
4
- 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ### Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
4
+ 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ## Introduction ### Alias-Formats | Format | Description | |---------------------------------|-------------------------------------------------------------------------------------------| | UUID | Generic - VGS Alias (Default) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx | | NUM_LENGTH_PRESERVING | Generic - Numeric Length Preserving - xxxxxxxxxxxxxxxx | | FPE_SIX_T_FOUR | Payment Card - Format Preserving, Luhn Valid (6T4) - <first_six>xxxxxx<last_four> | | FPE_T_FOUR | Payment Card - Format Preserving, Luhn Valid (T4) - xxxxxxxxxxxx<last_four> | | PFPT | Payment Card - Prefixed, Luhn Valid, 19 Digits Fixed Length - xxxxxxxxxxxxxxxxxxx | | NON_LUHN_FPE_ALPHANUMERIC | Payment Card - Format Preserving - Non Luhn Valid - xxxxxxxxxxxxxxxx | | FPE_SSN_T_FOUR | SSN - Format Preserving (A4) - xxx-xx-<last_four> | | FPE_ACC_NUM_T_FOUR | Account Number - Numeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | FPE_ALPHANUMERIC_ACC_NUM_T_FOUR | Account Number - Alphanumeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | GENERIC_T_FOUR | Generic - VGS Alias Last Four (T4) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx_<last_four> | | RAW_UUID | Generic - UUID - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | | ALPHANUMERIC_SIX_T_FOUR | Numeric - Include Alphanumeric, 19 symbols length (6T4) - <first_six>xxxxxxxxx<last_four> | | VGS_FIXED_LEN_GENERIC | Generic - VGS Alphanumeric Fixed Length, 29 characters - vgsxxxxxxxxxxxxxxxxxxxxxxxxxx | ## Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@verygoodsecurity.com
@@ -77,7 +77,7 @@ class ApiClient(object):
77
77
  self.default_headers[header_name] = header_value
78
78
  self.cookie = cookie
79
79
  # Set default User-Agent.
80
- self.user_agent = 'vgs-api-client/0.0.45/python'
80
+ self.user_agent = 'vgs-api-client/0.0.47/python'
81
81
 
82
82
  def __enter__(self):
83
83
  return self
@@ -1,7 +1,7 @@
1
1
  """
2
2
  Vault HTTP API
3
3
 
4
- 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ### Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
4
+ 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](https://www.verygoodsecurity.com/docs/tokenization/getting-started). **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](https://www.verygoodsecurity.com/docs/getting-started/before-you-start). 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](https://www.verygoodsecurity.com/docs/control). ## Learn about Tokenization - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization) - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started) - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries) ## Introduction ### Alias-Formats | Format | Description | |---------------------------------|-------------------------------------------------------------------------------------------| | UUID | Generic - VGS Alias (Default) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx | | NUM_LENGTH_PRESERVING | Generic - Numeric Length Preserving - xxxxxxxxxxxxxxxx | | FPE_SIX_T_FOUR | Payment Card - Format Preserving, Luhn Valid (6T4) - <first_six>xxxxxx<last_four> | | FPE_T_FOUR | Payment Card - Format Preserving, Luhn Valid (T4) - xxxxxxxxxxxx<last_four> | | PFPT | Payment Card - Prefixed, Luhn Valid, 19 Digits Fixed Length - xxxxxxxxxxxxxxxxxxx | | NON_LUHN_FPE_ALPHANUMERIC | Payment Card - Format Preserving - Non Luhn Valid - xxxxxxxxxxxxxxxx | | FPE_SSN_T_FOUR | SSN - Format Preserving (A4) - xxx-xx-<last_four> | | FPE_ACC_NUM_T_FOUR | Account Number - Numeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | FPE_ALPHANUMERIC_ACC_NUM_T_FOUR | Account Number - Alphanumeric Length Preserving (A4) - xxxxxxxxxxxx<last_four> | | GENERIC_T_FOUR | Generic - VGS Alias Last Four (T4) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx_<last_four> | | RAW_UUID | Generic - UUID - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | | ALPHANUMERIC_SIX_T_FOUR | Numeric - Include Alphanumeric, 19 symbols length (6T4) - <first_six>xxxxxxxxx<last_four> | | VGS_FIXED_LEN_GENERIC | Generic - VGS Alphanumeric Fixed Length, 29 characters - vgsxxxxxxxxxxxxxxxxxxxxxxxxxx | ## Authentication This API uses `Basic` authentication and is implemented using industry best practices to ensure the security of the connection. Read more about [Identity and Access Management at VGS](https://www.verygoodsecurity.com/docs/vault/the-platform/iam) Credentials to access the API can be generated on the [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings section of the vault of your choosing. [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/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](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429). ### 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: ```json { \"errors\": [ { \"status\": 400, \"title\": \"Bad request\", \"detail\": \"Too many values (limit: 20)\", \"href\": \"https://api.sandbox.verygoodvault.com/aliases\" } ] } ``` # noqa: E501
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
  Contact: support@verygoodsecurity.com
@@ -405,7 +405,7 @@ conf = vgs_api_client.Configuration(
405
405
  "OS: {env}\n"\
406
406
  "Python Version: {pyversion}\n"\
407
407
  "Version of the API: 1.0.0\n"\
408
- "SDK Package Version: 0.0.45".\
408
+ "SDK Package Version: 0.0.47".\
409
409
  format(env=sys.platform, pyversion=sys.version)
410
410
 
411
411
  def get_host_settings(self):