vgs_api_client 0.0.28 → 0.0.35
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.
- checksums.yaml +4 -4
 - data/DEVELOPMENT.md +11 -0
 - data/LICENSE +11 -0
 - data/RELEASE.md +15 -0
 - data/docker-compose.yaml +24 -7
 - data/lib/vgs.rb +82 -0
 - data/lib/vgs_api_client/api/aliases_api.rb +6 -6
 - data/lib/vgs_api_client/api_client.rb +3 -9
 - data/lib/vgs_api_client/api_error.rb +2 -2
 - data/lib/vgs_api_client/configuration.rb +2 -2
 - data/lib/vgs_api_client/models/alias_format.rb +2 -2
 - data/lib/vgs_api_client/models/api_error.rb +2 -3
 - data/lib/vgs_api_client/models/create_aliases_request.rb +3 -4
 - data/lib/vgs_api_client/models/create_aliases_request_new.rb +49 -4
 - data/lib/vgs_api_client/models/{create_aliases_request_existing.rb → create_aliases_request_reference.rb} +5 -6
 - data/lib/vgs_api_client/models/inline_response200.rb +2 -3
 - data/lib/vgs_api_client/models/inline_response2001.rb +2 -3
 - data/lib/vgs_api_client/models/inline_response201.rb +2 -3
 - data/lib/vgs_api_client/models/inline_response_default.rb +2 -3
 - data/lib/vgs_api_client/models/model_alias.rb +2 -3
 - data/lib/vgs_api_client/models/revealed_data.rb +49 -4
 - data/lib/vgs_api_client/models/update_alias_request.rb +2 -3
 - data/lib/vgs_api_client/models/update_alias_request_data.rb +2 -3
 - data/lib/vgs_api_client/version.rb +3 -3
 - data/lib/vgs_api_client.rb +3 -3
 - data/scripts/assemble/Dockerfile +8 -0
 - data/scripts/assemble/run.sh +9 -0
 - data/scripts/publish/Dockerfile +8 -0
 - data/scripts/publish/run.sh +14 -0
 - data/scripts/publish.sh +12 -0
 - data/scripts/run-tests-e2e.sh +10 -0
 - data/scripts/run-tests.sh +7 -0
 - data/scripts/test/Dockerfile +12 -0
 - data/scripts/test/run.sh +33 -0
 - data/spec/api_client_spec.rb +2 -2
 - data/spec/configuration_spec.rb +2 -2
 - data/spec/spec_helper.rb +2 -2
 - data/spec/test_api_spec.rb +97 -0
 - data/vgs_api_client.gemspec +2 -2
 - metadata +18 -52
 - data/README.md +0 -237
 - data/docs/AliasFormat.md +0 -15
 - data/docs/AliasesApi.md +0 -366
 - data/docs/ApiError.md +0 -24
 - data/docs/CreateAliasesRequest.md +0 -18
 - data/docs/CreateAliasesRequestExisting.md +0 -20
 - data/docs/CreateAliasesRequestNew.md +0 -22
 - data/docs/InlineResponse200.md +0 -18
 - data/docs/InlineResponse2001.md +0 -18
 - data/docs/InlineResponse201.md +0 -18
 - data/docs/InlineResponseDefault.md +0 -18
 - data/docs/ModelAlias.md +0 -20
 - data/docs/RevealedData.md +0 -24
 - data/docs/UpdateAliasRequest.md +0 -18
 - data/docs/UpdateAliasRequestData.md +0 -18
 - data/git_push.sh +0 -57
 - data/publish/Dockerfile +0 -11
 - data/publish/build_and_publish.sh +0 -13
 - data/spec/api/aliases_api_spec.rb +0 -96
 - data/spec/api/test_api_spec.rb +0 -137
 - data/spec/models/alias_format_spec.rb +0 -28
 - data/spec/models/api_error_spec.rb +0 -52
 - data/spec/models/create_aliases_request_existing_spec.rb +0 -40
 - data/spec/models/create_aliases_request_new_spec.rb +0 -46
 - data/spec/models/create_aliases_request_spec.rb +0 -34
 - data/spec/models/inline_response2001_spec.rb +0 -34
 - data/spec/models/inline_response200_spec.rb +0 -34
 - data/spec/models/inline_response201_spec.rb +0 -34
 - data/spec/models/inline_response_default_spec.rb +0 -34
 - data/spec/models/model_alias_spec.rb +0 -40
 - data/spec/models/revealed_data_spec.rb +0 -52
 - data/spec/models/update_alias_request_data_spec.rb +0 -34
 - data/spec/models/update_alias_request_spec.rb +0 -34
 - data/test/Dockerfile +0 -16
 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            =begin
         
     | 
| 
       2 
2 
     | 
    
         
             
            #Vault HTTP API
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # 
     | 
| 
      
 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.  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\"         }     ] } ``` 
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            The version of the OpenAPI document: 1.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            Contact: support@verygoodsecurity.com
         
     | 
| 
       8 
8 
     | 
    
         
             
            Generated by: https://openapi-generator.tech
         
     | 
| 
       9 
     | 
    
         
            -
            OpenAPI Generator version:  
     | 
| 
      
 9 
     | 
    
         
            +
            OpenAPI Generator version: 5.4.0
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            =end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -20,14 +20,40 @@ module VgsApiClient 
     | 
|
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
                attr_accessor :format
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
      
 23 
     | 
    
         
            +
                # Storage medium to use.  VOLATILE results in data being persisted into an in-memory data store for one hour which is required for PCI compliant storage of card security code data. 
         
     | 
| 
      
 24 
     | 
    
         
            +
                attr_accessor :storage
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       23 
26 
     | 
    
         
             
                # Raw value to encrypt & store in the vault.
         
     | 
| 
       24 
27 
     | 
    
         
             
                attr_accessor :value
         
     | 
| 
       25 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
                class EnumAttributeValidator
         
     | 
| 
      
 30 
     | 
    
         
            +
                  attr_reader :datatype
         
     | 
| 
      
 31 
     | 
    
         
            +
                  attr_reader :allowable_values
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                  def initialize(datatype, allowable_values)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    @allowable_values = allowable_values.map do |value|
         
     | 
| 
      
 35 
     | 
    
         
            +
                      case datatype.to_s
         
     | 
| 
      
 36 
     | 
    
         
            +
                      when /Integer/i
         
     | 
| 
      
 37 
     | 
    
         
            +
                        value.to_i
         
     | 
| 
      
 38 
     | 
    
         
            +
                      when /Float/i
         
     | 
| 
      
 39 
     | 
    
         
            +
                        value.to_f
         
     | 
| 
      
 40 
     | 
    
         
            +
                      else
         
     | 
| 
      
 41 
     | 
    
         
            +
                        value
         
     | 
| 
      
 42 
     | 
    
         
            +
                      end
         
     | 
| 
      
 43 
     | 
    
         
            +
                    end
         
     | 
| 
      
 44 
     | 
    
         
            +
                  end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  def valid?(value)
         
     | 
| 
      
 47 
     | 
    
         
            +
                    !value || allowable_values.include?(value)
         
     | 
| 
      
 48 
     | 
    
         
            +
                  end
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       26 
51 
     | 
    
         
             
                # Attribute mapping from ruby-style variable name to JSON key.
         
     | 
| 
       27 
52 
     | 
    
         
             
                def self.attribute_map
         
     | 
| 
       28 
53 
     | 
    
         
             
                  {
         
     | 
| 
       29 
54 
     | 
    
         
             
                    :'classifiers' => :'classifiers',
         
     | 
| 
       30 
55 
     | 
    
         
             
                    :'format' => :'format',
         
     | 
| 
      
 56 
     | 
    
         
            +
                    :'storage' => :'storage',
         
     | 
| 
       31 
57 
     | 
    
         
             
                    :'value' => :'value'
         
     | 
| 
       32 
58 
     | 
    
         
             
                  }
         
     | 
| 
       33 
59 
     | 
    
         
             
                end
         
     | 
| 
         @@ -42,6 +68,7 @@ module VgsApiClient 
     | 
|
| 
       42 
68 
     | 
    
         
             
                  {
         
     | 
| 
       43 
69 
     | 
    
         
             
                    :'classifiers' => :'Array<String>',
         
     | 
| 
       44 
70 
     | 
    
         
             
                    :'format' => :'AliasFormat',
         
     | 
| 
      
 71 
     | 
    
         
            +
                    :'storage' => :'String',
         
     | 
| 
       45 
72 
     | 
    
         
             
                    :'value' => :'String'
         
     | 
| 
       46 
73 
     | 
    
         
             
                  }
         
     | 
| 
       47 
74 
     | 
    
         
             
                end
         
     | 
| 
         @@ -77,6 +104,12 @@ module VgsApiClient 
     | 
|
| 
       77 
104 
     | 
    
         
             
                    self.format = attributes[:'format']
         
     | 
| 
       78 
105 
     | 
    
         
             
                  end
         
     | 
| 
       79 
106 
     | 
    
         | 
| 
      
 107 
     | 
    
         
            +
                  if attributes.key?(:'storage')
         
     | 
| 
      
 108 
     | 
    
         
            +
                    self.storage = attributes[:'storage']
         
     | 
| 
      
 109 
     | 
    
         
            +
                  else
         
     | 
| 
      
 110 
     | 
    
         
            +
                    self.storage = 'PERSISTENT'
         
     | 
| 
      
 111 
     | 
    
         
            +
                  end
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
       80 
113 
     | 
    
         
             
                  if attributes.key?(:'value')
         
     | 
| 
       81 
114 
     | 
    
         
             
                    self.value = attributes[:'value']
         
     | 
| 
       82 
115 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -101,10 +134,22 @@ module VgsApiClient 
     | 
|
| 
       101 
134 
     | 
    
         
             
                # @return true if the model is valid
         
     | 
| 
       102 
135 
     | 
    
         
             
                def valid?
         
     | 
| 
       103 
136 
     | 
    
         
             
                  return false if @format.nil?
         
     | 
| 
      
 137 
     | 
    
         
            +
                  storage_validator = EnumAttributeValidator.new('String', ["PERSISTENT", "VOLATILE"])
         
     | 
| 
      
 138 
     | 
    
         
            +
                  return false unless storage_validator.valid?(@storage)
         
     | 
| 
       104 
139 
     | 
    
         
             
                  return false if @value.nil?
         
     | 
| 
       105 
140 
     | 
    
         
             
                  true
         
     | 
| 
       106 
141 
     | 
    
         
             
                end
         
     | 
| 
       107 
142 
     | 
    
         | 
| 
      
 143 
     | 
    
         
            +
                # Custom attribute writer method checking allowed values (enum).
         
     | 
| 
      
 144 
     | 
    
         
            +
                # @param [Object] storage Object to be assigned
         
     | 
| 
      
 145 
     | 
    
         
            +
                def storage=(storage)
         
     | 
| 
      
 146 
     | 
    
         
            +
                  validator = EnumAttributeValidator.new('String', ["PERSISTENT", "VOLATILE"])
         
     | 
| 
      
 147 
     | 
    
         
            +
                  unless validator.valid?(storage)
         
     | 
| 
      
 148 
     | 
    
         
            +
                    fail ArgumentError, "invalid value for \"storage\", must be one of #{validator.allowable_values}."
         
     | 
| 
      
 149 
     | 
    
         
            +
                  end
         
     | 
| 
      
 150 
     | 
    
         
            +
                  @storage = storage
         
     | 
| 
      
 151 
     | 
    
         
            +
                end
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
       108 
153 
     | 
    
         
             
                # Checks equality by comparing each attribute.
         
     | 
| 
       109 
154 
     | 
    
         
             
                # @param [Object] Object to be compared
         
     | 
| 
       110 
155 
     | 
    
         
             
                def ==(o)
         
     | 
| 
         @@ -112,6 +157,7 @@ module VgsApiClient 
     | 
|
| 
       112 
157 
     | 
    
         
             
                  self.class == o.class &&
         
     | 
| 
       113 
158 
     | 
    
         
             
                      classifiers == o.classifiers &&
         
     | 
| 
       114 
159 
     | 
    
         
             
                      format == o.format &&
         
     | 
| 
      
 160 
     | 
    
         
            +
                      storage == o.storage &&
         
     | 
| 
       115 
161 
     | 
    
         
             
                      value == o.value
         
     | 
| 
       116 
162 
     | 
    
         
             
                end
         
     | 
| 
       117 
163 
     | 
    
         | 
| 
         @@ -124,7 +170,7 @@ module VgsApiClient 
     | 
|
| 
       124 
170 
     | 
    
         
             
                # Calculates hash code according to all attributes.
         
     | 
| 
       125 
171 
     | 
    
         
             
                # @return [Integer] Hash code
         
     | 
| 
       126 
172 
     | 
    
         
             
                def hash
         
     | 
| 
       127 
     | 
    
         
            -
                  [classifiers, format, value].hash
         
     | 
| 
      
 173 
     | 
    
         
            +
                  [classifiers, format, storage, value].hash
         
     | 
| 
       128 
174 
     | 
    
         
             
                end
         
     | 
| 
       129 
175 
     | 
    
         | 
| 
       130 
176 
     | 
    
         
             
                # Builds the object from hash
         
     | 
| 
         @@ -139,7 +185,6 @@ module VgsApiClient 
     | 
|
| 
       139 
185 
     | 
    
         
             
                # @return [Object] Returns the model itself
         
     | 
| 
       140 
186 
     | 
    
         
             
                def build_from_hash(attributes)
         
     | 
| 
       141 
187 
     | 
    
         
             
                  return nil unless attributes.is_a?(Hash)
         
     | 
| 
       142 
     | 
    
         
            -
                  attributes = attributes.transform_keys(&:to_sym)
         
     | 
| 
       143 
188 
     | 
    
         
             
                  self.class.openapi_types.each_pair do |key, type|
         
     | 
| 
       144 
189 
     | 
    
         
             
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         
     | 
| 
       145 
190 
     | 
    
         
             
                      self.send("#{key}=", nil)
         
     | 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            =begin
         
     | 
| 
       2 
2 
     | 
    
         
             
            #Vault HTTP API
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # 
     | 
| 
      
 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.  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\"         }     ] } ``` 
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            The version of the OpenAPI document: 1.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            Contact: support@verygoodsecurity.com
         
     | 
| 
       8 
8 
     | 
    
         
             
            Generated by: https://openapi-generator.tech
         
     | 
| 
       9 
     | 
    
         
            -
            OpenAPI Generator version:  
     | 
| 
      
 9 
     | 
    
         
            +
            OpenAPI Generator version: 5.4.0
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            =end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -14,7 +14,7 @@ require 'date' 
     | 
|
| 
       14 
14 
     | 
    
         
             
            require 'time'
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
            module VgsApiClient
         
     | 
| 
       17 
     | 
    
         
            -
              class  
     | 
| 
      
 17 
     | 
    
         
            +
              class CreateAliasesRequestReference
         
     | 
| 
       18 
18 
     | 
    
         
             
                # Existing alias to use as a reference.
         
     | 
| 
       19 
19 
     | 
    
         
             
                attr_accessor :_alias
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
         @@ -51,13 +51,13 @@ module VgsApiClient 
     | 
|
| 
       51 
51 
     | 
    
         
             
                # @param [Hash] attributes Model attributes in the form of hash
         
     | 
| 
       52 
52 
     | 
    
         
             
                def initialize(attributes = {})
         
     | 
| 
       53 
53 
     | 
    
         
             
                  if (!attributes.is_a?(Hash))
         
     | 
| 
       54 
     | 
    
         
            -
                    fail ArgumentError, "The input argument (attributes) must be a hash in `VgsApiClient:: 
     | 
| 
      
 54 
     | 
    
         
            +
                    fail ArgumentError, "The input argument (attributes) must be a hash in `VgsApiClient::CreateAliasesRequestReference` initialize method"
         
     | 
| 
       55 
55 
     | 
    
         
             
                  end
         
     | 
| 
       56 
56 
     | 
    
         | 
| 
       57 
57 
     | 
    
         
             
                  # check to see if the attribute exists and convert string to symbol for hash key
         
     | 
| 
       58 
58 
     | 
    
         
             
                  attributes = attributes.each_with_object({}) { |(k, v), h|
         
     | 
| 
       59 
59 
     | 
    
         
             
                    if (!self.class.attribute_map.key?(k.to_sym))
         
     | 
| 
       60 
     | 
    
         
            -
                      fail ArgumentError, "`#{k}` is not a valid attribute in `VgsApiClient:: 
     | 
| 
      
 60 
     | 
    
         
            +
                      fail ArgumentError, "`#{k}` is not a valid attribute in `VgsApiClient::CreateAliasesRequestReference`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
         
     | 
| 
       61 
61 
     | 
    
         
             
                    end
         
     | 
| 
       62 
62 
     | 
    
         
             
                    h[k.to_sym] = v
         
     | 
| 
       63 
63 
     | 
    
         
             
                  }
         
     | 
| 
         @@ -127,7 +127,6 @@ module VgsApiClient 
     | 
|
| 
       127 
127 
     | 
    
         
             
                # @return [Object] Returns the model itself
         
     | 
| 
       128 
128 
     | 
    
         
             
                def build_from_hash(attributes)
         
     | 
| 
       129 
129 
     | 
    
         
             
                  return nil unless attributes.is_a?(Hash)
         
     | 
| 
       130 
     | 
    
         
            -
                  attributes = attributes.transform_keys(&:to_sym)
         
     | 
| 
       131 
130 
     | 
    
         
             
                  self.class.openapi_types.each_pair do |key, type|
         
     | 
| 
       132 
131 
     | 
    
         
             
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         
     | 
| 
       133 
132 
     | 
    
         
             
                      self.send("#{key}=", nil)
         
     | 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            =begin
         
     | 
| 
       2 
2 
     | 
    
         
             
            #Vault HTTP API
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # 
     | 
| 
      
 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.  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\"         }     ] } ``` 
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            The version of the OpenAPI document: 1.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            Contact: support@verygoodsecurity.com
         
     | 
| 
       8 
8 
     | 
    
         
             
            Generated by: https://openapi-generator.tech
         
     | 
| 
       9 
     | 
    
         
            -
            OpenAPI Generator version:  
     | 
| 
      
 9 
     | 
    
         
            +
            OpenAPI Generator version: 5.4.0
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            =end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -109,7 +109,6 @@ module VgsApiClient 
     | 
|
| 
       109 
109 
     | 
    
         
             
                # @return [Object] Returns the model itself
         
     | 
| 
       110 
110 
     | 
    
         
             
                def build_from_hash(attributes)
         
     | 
| 
       111 
111 
     | 
    
         
             
                  return nil unless attributes.is_a?(Hash)
         
     | 
| 
       112 
     | 
    
         
            -
                  attributes = attributes.transform_keys(&:to_sym)
         
     | 
| 
       113 
112 
     | 
    
         
             
                  self.class.openapi_types.each_pair do |key, type|
         
     | 
| 
       114 
113 
     | 
    
         
             
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         
     | 
| 
       115 
114 
     | 
    
         
             
                      self.send("#{key}=", nil)
         
     | 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            =begin
         
     | 
| 
       2 
2 
     | 
    
         
             
            #Vault HTTP API
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # 
     | 
| 
      
 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.  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\"         }     ] } ``` 
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            The version of the OpenAPI document: 1.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            Contact: support@verygoodsecurity.com
         
     | 
| 
       8 
8 
     | 
    
         
             
            Generated by: https://openapi-generator.tech
         
     | 
| 
       9 
     | 
    
         
            -
            OpenAPI Generator version:  
     | 
| 
      
 9 
     | 
    
         
            +
            OpenAPI Generator version: 5.4.0
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            =end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -134,7 +134,6 @@ module VgsApiClient 
     | 
|
| 
       134 
134 
     | 
    
         
             
                # @return [Object] Returns the model itself
         
     | 
| 
       135 
135 
     | 
    
         
             
                def build_from_hash(attributes)
         
     | 
| 
       136 
136 
     | 
    
         
             
                  return nil unless attributes.is_a?(Hash)
         
     | 
| 
       137 
     | 
    
         
            -
                  attributes = attributes.transform_keys(&:to_sym)
         
     | 
| 
       138 
137 
     | 
    
         
             
                  self.class.openapi_types.each_pair do |key, type|
         
     | 
| 
       139 
138 
     | 
    
         
             
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         
     | 
| 
       140 
139 
     | 
    
         
             
                      self.send("#{key}=", nil)
         
     | 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            =begin
         
     | 
| 
       2 
2 
     | 
    
         
             
            #Vault HTTP API
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # 
     | 
| 
      
 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.  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\"         }     ] } ``` 
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            The version of the OpenAPI document: 1.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            Contact: support@verygoodsecurity.com
         
     | 
| 
       8 
8 
     | 
    
         
             
            Generated by: https://openapi-generator.tech
         
     | 
| 
       9 
     | 
    
         
            -
            OpenAPI Generator version:  
     | 
| 
      
 9 
     | 
    
         
            +
            OpenAPI Generator version: 5.4.0
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            =end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -110,7 +110,6 @@ module VgsApiClient 
     | 
|
| 
       110 
110 
     | 
    
         
             
                # @return [Object] Returns the model itself
         
     | 
| 
       111 
111 
     | 
    
         
             
                def build_from_hash(attributes)
         
     | 
| 
       112 
112 
     | 
    
         
             
                  return nil unless attributes.is_a?(Hash)
         
     | 
| 
       113 
     | 
    
         
            -
                  attributes = attributes.transform_keys(&:to_sym)
         
     | 
| 
       114 
113 
     | 
    
         
             
                  self.class.openapi_types.each_pair do |key, type|
         
     | 
| 
       115 
114 
     | 
    
         
             
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         
     | 
| 
       116 
115 
     | 
    
         
             
                      self.send("#{key}=", nil)
         
     | 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            =begin
         
     | 
| 
       2 
2 
     | 
    
         
             
            #Vault HTTP API
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # 
     | 
| 
      
 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.  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\"         }     ] } ``` 
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            The version of the OpenAPI document: 1.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            Contact: support@verygoodsecurity.com
         
     | 
| 
       8 
8 
     | 
    
         
             
            Generated by: https://openapi-generator.tech
         
     | 
| 
       9 
     | 
    
         
            -
            OpenAPI Generator version:  
     | 
| 
      
 9 
     | 
    
         
            +
            OpenAPI Generator version: 5.4.0
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            =end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -125,7 +125,6 @@ module VgsApiClient 
     | 
|
| 
       125 
125 
     | 
    
         
             
                # @return [Object] Returns the model itself
         
     | 
| 
       126 
126 
     | 
    
         
             
                def build_from_hash(attributes)
         
     | 
| 
       127 
127 
     | 
    
         
             
                  return nil unless attributes.is_a?(Hash)
         
     | 
| 
       128 
     | 
    
         
            -
                  attributes = attributes.transform_keys(&:to_sym)
         
     | 
| 
       129 
128 
     | 
    
         
             
                  self.class.openapi_types.each_pair do |key, type|
         
     | 
| 
       130 
129 
     | 
    
         
             
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         
     | 
| 
       131 
130 
     | 
    
         
             
                      self.send("#{key}=", nil)
         
     | 
| 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            =begin
         
     | 
| 
       2 
2 
     | 
    
         
             
            #Vault HTTP API
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            # 
     | 
| 
      
 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.  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\"         }     ] } ``` 
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            The version of the OpenAPI document: 1.0.0
         
     | 
| 
       7 
7 
     | 
    
         
             
            Contact: support@verygoodsecurity.com
         
     | 
| 
       8 
8 
     | 
    
         
             
            Generated by: https://openapi-generator.tech
         
     | 
| 
       9 
     | 
    
         
            -
            OpenAPI Generator version:  
     | 
| 
      
 9 
     | 
    
         
            +
            OpenAPI Generator version: 5.4.0
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            =end
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
         @@ -117,7 +117,6 @@ module VgsApiClient 
     | 
|
| 
       117 
117 
     | 
    
         
             
                # @return [Object] Returns the model itself
         
     | 
| 
       118 
118 
     | 
    
         
             
                def build_from_hash(attributes)
         
     | 
| 
       119 
119 
     | 
    
         
             
                  return nil unless attributes.is_a?(Hash)
         
     | 
| 
       120 
     | 
    
         
            -
                  attributes = attributes.transform_keys(&:to_sym)
         
     | 
| 
       121 
120 
     | 
    
         
             
                  self.class.openapi_types.each_pair do |key, type|
         
     | 
| 
       122 
121 
     | 
    
         
             
                    if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
         
     | 
| 
       123 
122 
     | 
    
         
             
                      self.send("#{key}=", nil)
         
     |