vgs_api_client 0.0.1.alpha202306021846 → 0.0.1.alpha202306071620
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/VERSION +1 -1
- data/api.yaml +110 -22
- data/lib/openapi_client/api/aliases_api.rb +100 -10
- data/lib/openapi_client/api_client.rb +2 -2
- data/lib/openapi_client/api_error.rb +1 -1
- data/lib/openapi_client/configuration.rb +1 -1
- data/lib/openapi_client/models/{model_alias.rb → alias_dto.rb} +5 -4
- data/lib/openapi_client/models/alias_format.rb +4 -1
- data/lib/openapi_client/models/batch_aliases_request.rb +264 -0
- data/lib/openapi_client/models/create_aliases_request.rb +2 -2
- data/lib/openapi_client/models/create_aliases_request_new.rb +2 -6
- data/lib/openapi_client/models/create_aliases_request_reference.rb +2 -6
- data/lib/openapi_client/models/inline_response200.rb +1 -1
- data/lib/openapi_client/models/inline_response2001.rb +1 -1
- data/lib/openapi_client/models/inline_response201.rb +1 -1
- data/lib/openapi_client/models/inline_response_default.rb +1 -1
- data/lib/openapi_client/models/revealed_data.rb +3 -2
- data/lib/openapi_client/models/update_alias_request.rb +1 -1
- data/lib/openapi_client/models/update_alias_request_data.rb +1 -1
- data/lib/openapi_client/version.rb +2 -2
- data/lib/openapi_client.rb +3 -2
- data/lib/version.rb +1 -1
- data/lib/vgs_api_client.rb +1 -1
- data/scripts/assemble/run.sh +1 -1
- data/scripts/test/run.sh +1 -1
- data/spec/api_client_spec.rb +1 -1
- data/spec/configuration_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +4 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: '093d51bcf5a1ba45f98d7be36c72cbcf7ef8d48cef02b371c96a859debd945bf'
         | 
| 4 | 
            +
              data.tar.gz: 6a04bc3fb308d61290338ca3122c6dd746ee893ba26b08804b34b5fe19a7ecee
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bd20864a38f77f4e98ae1ea75f5892f3c957b1b785f8c088a18f365aba88f900b029b2a934fcead4b75d020fbc023e17898882150727218133f29af7e0a6aa08
         | 
| 7 | 
            +
              data.tar.gz: e1a7621ad6aa54683438d4191ed8251ab1acf866718f15aa411cbd0aa014d692d4cf0c913a382171e050893e1a137fd6d0b3a2d5f642860712bb4846b7189654
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            0.0.1. | 
| 1 | 
            +
            0.0.1.alpha202306071620
         | 
    
        data/api.yaml
    CHANGED
    
    | @@ -24,7 +24,26 @@ info: | |
| 24 24 | 
             
                - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started)
         | 
| 25 25 | 
             
                - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries)
         | 
| 26 26 |  | 
| 27 | 
            -
                 | 
| 27 | 
            +
                ## Introduction
         | 
| 28 | 
            +
                
         | 
| 29 | 
            +
                ### Alias-Formats
         | 
| 30 | 
            +
                | Format                          | Description                                                                               |
         | 
| 31 | 
            +
                |---------------------------------|-------------------------------------------------------------------------------------------|
         | 
| 32 | 
            +
                | UUID                            | Generic - VGS Alias (Default) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx                     |
         | 
| 33 | 
            +
                | NUM_LENGTH_PRESERVING           | Generic - Numeric Length Preserving - xxxxxxxxxxxxxxxx                                    |
         | 
| 34 | 
            +
                | FPE_SIX_T_FOUR                  | Payment Card - Format Preserving, Luhn Valid (6T4) - <first_six>xxxxxx<last_four>         |
         | 
| 35 | 
            +
                | FPE_T_FOUR                      | Payment Card - Format Preserving, Luhn Valid (T4) - xxxxxxxxxxxx<last_four>               |
         | 
| 36 | 
            +
                | PFPT                            | Payment Card - Prefixed, Luhn Valid, 19 Digits Fixed Length - xxxxxxxxxxxxxxxxxxx         |
         | 
| 37 | 
            +
                | NON_LUHN_FPE_ALPHANUMERIC       | Payment Card - Format Preserving - Non Luhn Valid - xxxxxxxxxxxxxxxx                      |
         | 
| 38 | 
            +
                | FPE_SSN_T_FOUR                  | SSN - Format Preserving (A4) - xxx-xx-<last_four>                                         |
         | 
| 39 | 
            +
                | FPE_ACC_NUM_T_FOUR              | Account Number - Numeric Length Preserving (A4) - xxxxxxxxxxxx<last_four>                 |
         | 
| 40 | 
            +
                | FPE_ALPHANUMERIC_ACC_NUM_T_FOUR | Account Number - Alphanumeric Length Preserving (A4) - xxxxxxxxxxxx<last_four>            |
         | 
| 41 | 
            +
                | GENERIC_T_FOUR                  | Generic - VGS Alias Last Four (T4) - tok_sandbox_xxxxxxxxxxxxxxxxxxxxxxxxx_<last_four>    |
         | 
| 42 | 
            +
                | RAW_UUID                        | Generic - UUID - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx                                     |
         | 
| 43 | 
            +
                | ALPHANUMERIC_SIX_T_FOUR         | Numeric - Include Alphanumeric, 19 symbols length (6T4) - <first_six>xxxxxxxxx<last_four> |
         | 
| 44 | 
            +
                | VGS_FIXED_LEN_GENERIC           | Generic - VGS Alphanumeric Fixed Length, 29 characters - vgsxxxxxxxxxxxxxxxxxxxxxxxxxx    | 
         | 
| 45 | 
            +
                
         | 
| 46 | 
            +
                ## Authentication
         | 
| 28 47 |  | 
| 29 48 | 
             
                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)
         | 
| 30 49 |  | 
| @@ -201,7 +220,7 @@ paths: | |
| 201 220 | 
             
                    manager or drop us a line at
         | 
| 202 221 | 
             
                    [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com).
         | 
| 203 222 | 
             
                  parameters:
         | 
| 204 | 
            -
                    - name:  | 
| 223 | 
            +
                    - name: aliases
         | 
| 205 224 | 
             
                      in: query
         | 
| 206 225 | 
             
                      required: true
         | 
| 207 226 | 
             
                      description: Comma-separated list of aliases to reveal.
         | 
| @@ -209,6 +228,14 @@ paths: | |
| 209 228 | 
             
                        - "tok_sandbox_5UpnbMvaihRuRwz5QXwBFw,tok_sandbox_9ToiJHedw1nE1Jfx1qYYgz"
         | 
| 210 229 | 
             
                      schema:
         | 
| 211 230 | 
             
                        type: string
         | 
| 231 | 
            +
                    - name: storage
         | 
| 232 | 
            +
                      in: query
         | 
| 233 | 
            +
                      required: false
         | 
| 234 | 
            +
                      description: PERSISTENT or VOLATILE storage
         | 
| 235 | 
            +
                      example:
         | 
| 236 | 
            +
                        - "PERSISTENT"
         | 
| 237 | 
            +
                      schema:
         | 
| 238 | 
            +
                        type: string
         | 
| 212 239 | 
             
                  responses:
         | 
| 213 240 | 
             
                    '200':
         | 
| 214 241 | 
             
                      description: OK
         | 
| @@ -247,12 +274,41 @@ paths: | |
| 247 274 | 
             
                    - lang: Shell
         | 
| 248 275 | 
             
                      label: cURL
         | 
| 249 276 | 
             
                      source: |
         | 
| 250 | 
            -
                        curl https://api.sandbox.verygoodvault.com/aliases? | 
| 277 | 
            +
                        curl https://api.sandbox.verygoodvault.com/aliases?aliases={{alias1}},{{alias2}}?storage=PERSISTENT \
         | 
| 251 278 | 
             
                         -u "$USERNAME:$PASSWORD"
         | 
| 252 279 |  | 
| 280 | 
            +
              /aliases/delete:
         | 
| 281 | 
            +
                post:
         | 
| 282 | 
            +
                  summary: "Batch Delete Aliases"
         | 
| 283 | 
            +
                  operationId: "deleteAliases"
         | 
| 284 | 
            +
                  tags:
         | 
| 285 | 
            +
                    - aliases
         | 
| 286 | 
            +
                  description: |
         | 
| 287 | 
            +
                    Deletes multiple aliases.
         | 
| 288 | 
            +
                  requestBody:
         | 
| 289 | 
            +
                    content:
         | 
| 290 | 
            +
                      application/json:
         | 
| 291 | 
            +
                        schema:
         | 
| 292 | 
            +
                          $ref: "#/components/schemas/BatchAliasesRequest"
         | 
| 293 | 
            +
                    required: true
         | 
| 294 | 
            +
                  responses:
         | 
| 295 | 
            +
                    "204":
         | 
| 296 | 
            +
                      description: "No Content"
         | 
| 297 | 
            +
                    "404":
         | 
| 298 | 
            +
                      description: "Not Found"
         | 
| 299 | 
            +
                  x-codeSamples:
         | 
| 300 | 
            +
                    - lang: Shell
         | 
| 301 | 
            +
                      label: cURL
         | 
| 302 | 
            +
                      source: |
         | 
| 303 | 
            +
                        curl -v https://api.sandbox.verygoodvault.com/aliases/delete -d \
         | 
| 304 | 
            +
                          '{"storage":"VOLATILE","data":["tok_whjuj6F8r3f2KeCpY7RPCE"]}' \ 
         | 
| 305 | 
            +
                        -H 'Content-Type: application/json' \
         | 
| 306 | 
            +
                        -u "$USERNAME:$PASSWORD"
         | 
| 307 | 
            +
             | 
| 253 308 | 
             
              /aliases/{alias}:
         | 
| 254 309 | 
             
                parameters:
         | 
| 255 310 | 
             
                  - $ref: '#/components/parameters/alias'
         | 
| 311 | 
            +
                  - $ref: '#/components/parameters/storage'
         | 
| 256 312 | 
             
                get:
         | 
| 257 313 | 
             
                  operationId: revealAlias
         | 
| 258 314 | 
             
                  tags:
         | 
| @@ -267,6 +323,7 @@ paths: | |
| 267 323 | 
             
                    [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com).
         | 
| 268 324 | 
             
                  parameters:
         | 
| 269 325 | 
             
                    - $ref: '#/components/parameters/alias'
         | 
| 326 | 
            +
                    - $ref: '#/components/parameters/storage'
         | 
| 270 327 | 
             
                  responses:
         | 
| 271 328 | 
             
                    '200':
         | 
| 272 329 | 
             
                      description: OK
         | 
| @@ -288,7 +345,7 @@ paths: | |
| 288 345 | 
             
                    - lang: Shell
         | 
| 289 346 | 
             
                      label: cURL
         | 
| 290 347 | 
             
                      source: |
         | 
| 291 | 
            -
                        curl https://api.sandbox.verygoodvault.com/aliases/{{alias}} \
         | 
| 348 | 
            +
                        curl https://api.sandbox.verygoodvault.com/aliases/{{alias}}?storage=PERSISTENT \
         | 
| 292 349 | 
             
                         -u "$USERNAME:$PASSWORD"
         | 
| 293 350 | 
             
                put:
         | 
| 294 351 | 
             
                  operationId: updateAlias
         | 
| @@ -332,6 +389,7 @@ paths: | |
| 332 389 | 
             
                    Removes a single alias.
         | 
| 333 390 | 
             
                  parameters:
         | 
| 334 391 | 
             
                    - $ref: '#/components/parameters/alias'
         | 
| 392 | 
            +
                    - $ref: '#/components/parameters/storage'
         | 
| 335 393 | 
             
                  responses:
         | 
| 336 394 | 
             
                    '204':
         | 
| 337 395 | 
             
                      description: No Content
         | 
| @@ -341,7 +399,7 @@ paths: | |
| 341 399 | 
             
                    - lang: Shell
         | 
| 342 400 | 
             
                      label: cURL
         | 
| 343 401 | 
             
                      source: |
         | 
| 344 | 
            -
                        curl https://api.sandbox.verygoodvault.com/aliases/{{alias}} \
         | 
| 402 | 
            +
                        curl https://api.sandbox.verygoodvault.com/aliases/{{alias}}?storage=PERSISTENT \
         | 
| 345 403 | 
             
                         -X DELETE \
         | 
| 346 404 | 
             
                         -u "$USERNAME:$PASSWORD"
         | 
| 347 405 |  | 
| @@ -365,6 +423,16 @@ components: | |
| 365 423 | 
             
                  schema:
         | 
| 366 424 | 
             
                    type: string
         | 
| 367 425 | 
             
                    example: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
         | 
| 426 | 
            +
                storage:
         | 
| 427 | 
            +
                  name: "storage"
         | 
| 428 | 
            +
                  in: "query"
         | 
| 429 | 
            +
                  required: false
         | 
| 430 | 
            +
                  schema:
         | 
| 431 | 
            +
                    type: "string"
         | 
| 432 | 
            +
                    enum:
         | 
| 433 | 
            +
                      - "PERSISTENT"
         | 
| 434 | 
            +
                      - "VOLATILE"
         | 
| 435 | 
            +
                    default: "PERSISTENT"
         | 
| 368 436 |  | 
| 369 437 | 
             
              responses:
         | 
| 370 438 | 
             
                ApiErrorsResponse:
         | 
| @@ -414,13 +482,14 @@ components: | |
| 414 482 | 
             
                    aliases:
         | 
| 415 483 | 
             
                      type: "array"
         | 
| 416 484 | 
             
                      items:
         | 
| 417 | 
            -
                        $ref: '#/components/schemas/ | 
| 485 | 
            +
                        $ref: '#/components/schemas/AliasDto'
         | 
| 418 486 | 
             
                      description: List of aliases associated with the value.
         | 
| 419 487 | 
             
                    created_at:
         | 
| 420 488 | 
             
                      type: "string"
         | 
| 421 489 | 
             
                      format: "date-time"
         | 
| 422 490 | 
             
                      description: Creation time, in UTC.
         | 
| 423 491 | 
             
                      example: "2019-05-15T12:30:45Z"
         | 
| 492 | 
            +
                      nullable: true
         | 
| 424 493 | 
             
                    storage:
         | 
| 425 494 | 
             
                      type: string
         | 
| 426 495 | 
             
                      enum:
         | 
| @@ -432,7 +501,7 @@ components: | |
| 432 501 |  | 
| 433 502 | 
             
                        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.
         | 
| 434 503 |  | 
| 435 | 
            -
                 | 
| 504 | 
            +
                AliasDto:
         | 
| 436 505 | 
             
                  type: "object"
         | 
| 437 506 | 
             
                  properties:
         | 
| 438 507 | 
             
                    alias:
         | 
| @@ -441,27 +510,48 @@ components: | |
| 441 510 | 
             
                      description: Opaque string used to substitute the raw value.
         | 
| 442 511 | 
             
                    format:
         | 
| 443 512 | 
             
                      $ref: '#/components/schemas/AliasFormat'
         | 
| 513 | 
            +
                      nullable: true
         | 
| 444 514 |  | 
| 445 515 | 
             
                AliasFormat:
         | 
| 446 516 | 
             
                  type: string
         | 
| 447 517 | 
             
                  enum:
         | 
| 448 | 
            -
             | 
| 449 | 
            -
             | 
| 450 | 
            -
             | 
| 451 | 
            -
             | 
| 452 | 
            -
             | 
| 453 | 
            -
             | 
| 454 | 
            -
             | 
| 455 | 
            -
             | 
| 456 | 
            -
             | 
| 457 | 
            -
             | 
| 458 | 
            -
             | 
| 459 | 
            -
             | 
| 518 | 
            +
                        - "ALPHANUMERIC_SIX_T_FOUR"
         | 
| 519 | 
            +
                        - "CUSTOM"
         | 
| 520 | 
            +
                        - "FPE_ACC_NUM_T_FOUR"
         | 
| 521 | 
            +
                        - "FPE_ALPHANUMERIC_ACC_NUM_T_FOUR"
         | 
| 522 | 
            +
                        - "FPE_SIX_T_FOUR"
         | 
| 523 | 
            +
                        - "FPE_SSN_T_FOUR"
         | 
| 524 | 
            +
                        - "FPE_T_FOUR"
         | 
| 525 | 
            +
                        - "GENERIC_T_FOUR"
         | 
| 526 | 
            +
                        - "JS"
         | 
| 527 | 
            +
                        - "NON_LUHN_FPE_ALPHANUMERIC"
         | 
| 528 | 
            +
                        - "NUM_LENGTH_PRESERVING"
         | 
| 529 | 
            +
                        - "PFPT"
         | 
| 530 | 
            +
                        - "RAW_UUID"
         | 
| 531 | 
            +
                        - "UUID"
         | 
| 532 | 
            +
                        - "VGS_FIXED_LEN_GENERIC"
         | 
| 460 533 | 
             
                  description: |
         | 
| 461 534 | 
             
                    Format of the generated alias string.
         | 
| 462 535 |  | 
| 463 536 | 
             
                    See [Alias Formats](#section/Introduction/Alias-Formats) for details.
         | 
| 464 537 | 
             
                  example: UUID
         | 
| 538 | 
            +
                  nullable: true
         | 
| 539 | 
            +
             | 
| 540 | 
            +
                BatchAliasesRequest:
         | 
| 541 | 
            +
                  type: "object"
         | 
| 542 | 
            +
                  properties:
         | 
| 543 | 
            +
                    data:
         | 
| 544 | 
            +
                      type: "array"
         | 
| 545 | 
            +
                      items:
         | 
| 546 | 
            +
                        type: "string"
         | 
| 547 | 
            +
                    storage:
         | 
| 548 | 
            +
                      type: "string"
         | 
| 549 | 
            +
                      enum:
         | 
| 550 | 
            +
                        - "PERSISTENT"
         | 
| 551 | 
            +
                        - "VOLATILE"
         | 
| 552 | 
            +
                  description: |
         | 
| 553 | 
            +
                    Format for batch requests (limit 20)
         | 
| 554 | 
            +
                  example: '{"data":["123-13123-1232"],"storage":"PERSISTENT"}'
         | 
| 465 555 |  | 
| 466 556 | 
             
                CreateAliasesRequest:
         | 
| 467 557 | 
             
                  type: object
         | 
| @@ -469,9 +559,7 @@ components: | |
| 469 559 | 
             
                    data:
         | 
| 470 560 | 
             
                      type: array
         | 
| 471 561 | 
             
                      items:
         | 
| 472 | 
            -
                         | 
| 473 | 
            -
                          - $ref: '#/components/schemas/CreateAliasesRequestNew'
         | 
| 474 | 
            -
                          - $ref: '#/components/schemas/CreateAliasesRequestReference'
         | 
| 562 | 
            +
                        $ref: "#/components/schemas/CreateAliasesRequestNew"
         | 
| 475 563 | 
             
                      minItems: 1
         | 
| 476 564 | 
             
                      maxItems: 20
         | 
| 477 565 | 
             
                  required:
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            =begin
         | 
| 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\"         }     ] } ``` 
         | 
| 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\"         }     ] } ``` 
         | 
| 5 5 |  | 
| 6 6 | 
             
            The version of the OpenAPI document: 1.0.0
         | 
| 7 7 | 
             
            Contact: support@verygoodsecurity.com
         | 
| @@ -87,6 +87,7 @@ module VgsApiClient | |
| 87 87 | 
             
                # Removes a single alias. 
         | 
| 88 88 | 
             
                # @param _alias [String] Alias to operate on.
         | 
| 89 89 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 90 | 
            +
                # @option opts [String] :storage  (default to 'PERSISTENT')
         | 
| 90 91 | 
             
                # @return [nil]
         | 
| 91 92 | 
             
                def delete_alias(_alias, opts = {})
         | 
| 92 93 | 
             
                  delete_alias_with_http_info(_alias, opts)
         | 
| @@ -97,6 +98,7 @@ module VgsApiClient | |
| 97 98 | 
             
                # Removes a single alias. 
         | 
| 98 99 | 
             
                # @param _alias [String] Alias to operate on.
         | 
| 99 100 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 101 | 
            +
                # @option opts [String] :storage 
         | 
| 100 102 | 
             
                # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
         | 
| 101 103 | 
             
                def delete_alias_with_http_info(_alias, opts = {})
         | 
| 102 104 | 
             
                  if @api_client.config.debugging
         | 
| @@ -106,11 +108,16 @@ module VgsApiClient | |
| 106 108 | 
             
                  if @api_client.config.client_side_validation && _alias.nil?
         | 
| 107 109 | 
             
                    fail ArgumentError, "Missing the required parameter '_alias' when calling AliasesApi.delete_alias"
         | 
| 108 110 | 
             
                  end
         | 
| 111 | 
            +
                  allowable_values = ["PERSISTENT", "VOLATILE"]
         | 
| 112 | 
            +
                  if @api_client.config.client_side_validation && opts[:'storage'] && !allowable_values.include?(opts[:'storage'])
         | 
| 113 | 
            +
                    fail ArgumentError, "invalid value for \"storage\", must be one of #{allowable_values}"
         | 
| 114 | 
            +
                  end
         | 
| 109 115 | 
             
                  # resource path
         | 
| 110 116 | 
             
                  local_var_path = '/aliases/{alias}'.sub('{' + 'alias' + '}', CGI.escape(_alias.to_s))
         | 
| 111 117 |  | 
| 112 118 | 
             
                  # query parameters
         | 
| 113 119 | 
             
                  query_params = opts[:query_params] || {}
         | 
| 120 | 
            +
                  query_params[:'storage'] = opts[:'storage'] if !opts[:'storage'].nil?
         | 
| 114 121 |  | 
| 115 122 | 
             
                  # header parameters
         | 
| 116 123 | 
             
                  header_params = opts[:header_params] || {}
         | 
| @@ -146,10 +153,77 @@ module VgsApiClient | |
| 146 153 | 
             
                  return data, status_code, headers
         | 
| 147 154 | 
             
                end
         | 
| 148 155 |  | 
| 156 | 
            +
                # Batch Delete Aliases
         | 
| 157 | 
            +
                # Deletes multiple aliases. 
         | 
| 158 | 
            +
                # @param batch_aliases_request [BatchAliasesRequest] 
         | 
| 159 | 
            +
                # @param [Hash] opts the optional parameters
         | 
| 160 | 
            +
                # @return [nil]
         | 
| 161 | 
            +
                def delete_aliases(batch_aliases_request, opts = {})
         | 
| 162 | 
            +
                  delete_aliases_with_http_info(batch_aliases_request, opts)
         | 
| 163 | 
            +
                  nil
         | 
| 164 | 
            +
                end
         | 
| 165 | 
            +
             | 
| 166 | 
            +
                # Batch Delete Aliases
         | 
| 167 | 
            +
                # Deletes multiple aliases. 
         | 
| 168 | 
            +
                # @param batch_aliases_request [BatchAliasesRequest] 
         | 
| 169 | 
            +
                # @param [Hash] opts the optional parameters
         | 
| 170 | 
            +
                # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
         | 
| 171 | 
            +
                def delete_aliases_with_http_info(batch_aliases_request, opts = {})
         | 
| 172 | 
            +
                  if @api_client.config.debugging
         | 
| 173 | 
            +
                    @api_client.config.logger.debug 'Calling API: AliasesApi.delete_aliases ...'
         | 
| 174 | 
            +
                  end
         | 
| 175 | 
            +
                  # verify the required parameter 'batch_aliases_request' is set
         | 
| 176 | 
            +
                  if @api_client.config.client_side_validation && batch_aliases_request.nil?
         | 
| 177 | 
            +
                    fail ArgumentError, "Missing the required parameter 'batch_aliases_request' when calling AliasesApi.delete_aliases"
         | 
| 178 | 
            +
                  end
         | 
| 179 | 
            +
                  # resource path
         | 
| 180 | 
            +
                  local_var_path = '/aliases/delete'
         | 
| 181 | 
            +
             | 
| 182 | 
            +
                  # query parameters
         | 
| 183 | 
            +
                  query_params = opts[:query_params] || {}
         | 
| 184 | 
            +
             | 
| 185 | 
            +
                  # header parameters
         | 
| 186 | 
            +
                  header_params = opts[:header_params] || {}
         | 
| 187 | 
            +
                  # HTTP header 'Content-Type'
         | 
| 188 | 
            +
                  content_type = @api_client.select_header_content_type(['application/json'])
         | 
| 189 | 
            +
                  if !content_type.nil?
         | 
| 190 | 
            +
                      header_params['Content-Type'] = content_type
         | 
| 191 | 
            +
                  end
         | 
| 192 | 
            +
             | 
| 193 | 
            +
                  # form parameters
         | 
| 194 | 
            +
                  form_params = opts[:form_params] || {}
         | 
| 195 | 
            +
             | 
| 196 | 
            +
                  # http body (model)
         | 
| 197 | 
            +
                  post_body = opts[:debug_body] || @api_client.object_to_http_body(batch_aliases_request)
         | 
| 198 | 
            +
             | 
| 199 | 
            +
                  # return_type
         | 
| 200 | 
            +
                  return_type = opts[:debug_return_type]
         | 
| 201 | 
            +
             | 
| 202 | 
            +
                  # auth_names
         | 
| 203 | 
            +
                  auth_names = opts[:debug_auth_names] || ['basicAuth']
         | 
| 204 | 
            +
             | 
| 205 | 
            +
                  new_options = opts.merge(
         | 
| 206 | 
            +
                    :operation => :"AliasesApi.delete_aliases",
         | 
| 207 | 
            +
                    :header_params => header_params,
         | 
| 208 | 
            +
                    :query_params => query_params,
         | 
| 209 | 
            +
                    :form_params => form_params,
         | 
| 210 | 
            +
                    :body => post_body,
         | 
| 211 | 
            +
                    :auth_names => auth_names,
         | 
| 212 | 
            +
                    :return_type => return_type
         | 
| 213 | 
            +
                  )
         | 
| 214 | 
            +
             | 
| 215 | 
            +
                  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
         | 
| 216 | 
            +
                  if @api_client.config.debugging
         | 
| 217 | 
            +
                    @api_client.config.logger.debug "API called: AliasesApi#delete_aliases\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
         | 
| 218 | 
            +
                  end
         | 
| 219 | 
            +
                  return data, status_code, headers
         | 
| 220 | 
            +
                end
         | 
| 221 | 
            +
             | 
| 149 222 | 
             
                # Reveal single alias
         | 
| 150 223 | 
             
                # Retrieves a stored value along with its aliases.  **NOTE:** This endpoint may expose sensitive data. Therefore, it is disabled by default. To enable it, please contact your VGS account manager or drop us a line at [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com). 
         | 
| 151 224 | 
             
                # @param _alias [String] Alias to operate on.
         | 
| 152 225 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 226 | 
            +
                # @option opts [String] :storage  (default to 'PERSISTENT')
         | 
| 153 227 | 
             
                # @return [InlineResponse2001]
         | 
| 154 228 | 
             
                def reveal_alias(_alias, opts = {})
         | 
| 155 229 | 
             
                  data, _status_code, _headers = reveal_alias_with_http_info(_alias, opts)
         | 
| @@ -160,6 +234,7 @@ module VgsApiClient | |
| 160 234 | 
             
                # Retrieves a stored value along with its aliases.  **NOTE:** This endpoint may expose sensitive data. Therefore, it is disabled by default. To enable it, please contact your VGS account manager or drop us a line at [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com). 
         | 
| 161 235 | 
             
                # @param _alias [String] Alias to operate on.
         | 
| 162 236 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 237 | 
            +
                # @option opts [String] :storage 
         | 
| 163 238 | 
             
                # @return [Array<(InlineResponse2001, Integer, Hash)>] InlineResponse2001 data, response status code and response headers
         | 
| 164 239 | 
             
                def reveal_alias_with_http_info(_alias, opts = {})
         | 
| 165 240 | 
             
                  if @api_client.config.debugging
         | 
| @@ -169,11 +244,16 @@ module VgsApiClient | |
| 169 244 | 
             
                  if @api_client.config.client_side_validation && _alias.nil?
         | 
| 170 245 | 
             
                    fail ArgumentError, "Missing the required parameter '_alias' when calling AliasesApi.reveal_alias"
         | 
| 171 246 | 
             
                  end
         | 
| 247 | 
            +
                  allowable_values = ["PERSISTENT", "VOLATILE"]
         | 
| 248 | 
            +
                  if @api_client.config.client_side_validation && opts[:'storage'] && !allowable_values.include?(opts[:'storage'])
         | 
| 249 | 
            +
                    fail ArgumentError, "invalid value for \"storage\", must be one of #{allowable_values}"
         | 
| 250 | 
            +
                  end
         | 
| 172 251 | 
             
                  # resource path
         | 
| 173 252 | 
             
                  local_var_path = '/aliases/{alias}'.sub('{' + 'alias' + '}', CGI.escape(_alias.to_s))
         | 
| 174 253 |  | 
| 175 254 | 
             
                  # query parameters
         | 
| 176 255 | 
             
                  query_params = opts[:query_params] || {}
         | 
| 256 | 
            +
                  query_params[:'storage'] = opts[:'storage'] if !opts[:'storage'].nil?
         | 
| 177 257 |  | 
| 178 258 | 
             
                  # header parameters
         | 
| 179 259 | 
             
                  header_params = opts[:header_params] || {}
         | 
| @@ -211,33 +291,36 @@ module VgsApiClient | |
| 211 291 |  | 
| 212 292 | 
             
                # Reveal multiple aliases
         | 
| 213 293 | 
             
                # Given a list of aliases, retrieves all associated values stored in the vault.  **NOTE:** This endpoint may expose sensitive data. Therefore, it is disabled by default. To enable it, please contact your VGS account manager or drop us a line at [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com). 
         | 
| 214 | 
            -
                # @param  | 
| 294 | 
            +
                # @param aliases [String] Comma-separated list of aliases to reveal.
         | 
| 215 295 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 296 | 
            +
                # @option opts [String] :storage PERSISTENT or VOLATILE storage
         | 
| 216 297 | 
             
                # @return [InlineResponse200]
         | 
| 217 | 
            -
                def reveal_multiple_aliases( | 
| 218 | 
            -
                  data, _status_code, _headers = reveal_multiple_aliases_with_http_info( | 
| 298 | 
            +
                def reveal_multiple_aliases(aliases, opts = {})
         | 
| 299 | 
            +
                  data, _status_code, _headers = reveal_multiple_aliases_with_http_info(aliases, opts)
         | 
| 219 300 | 
             
                  data
         | 
| 220 301 | 
             
                end
         | 
| 221 302 |  | 
| 222 303 | 
             
                # Reveal multiple aliases
         | 
| 223 304 | 
             
                # Given a list of aliases, retrieves all associated values stored in the vault.  **NOTE:** This endpoint may expose sensitive data. Therefore, it is disabled by default. To enable it, please contact your VGS account manager or drop us a line at [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com). 
         | 
| 224 | 
            -
                # @param  | 
| 305 | 
            +
                # @param aliases [String] Comma-separated list of aliases to reveal.
         | 
| 225 306 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 307 | 
            +
                # @option opts [String] :storage PERSISTENT or VOLATILE storage
         | 
| 226 308 | 
             
                # @return [Array<(InlineResponse200, Integer, Hash)>] InlineResponse200 data, response status code and response headers
         | 
| 227 | 
            -
                def reveal_multiple_aliases_with_http_info( | 
| 309 | 
            +
                def reveal_multiple_aliases_with_http_info(aliases, opts = {})
         | 
| 228 310 | 
             
                  if @api_client.config.debugging
         | 
| 229 311 | 
             
                    @api_client.config.logger.debug 'Calling API: AliasesApi.reveal_multiple_aliases ...'
         | 
| 230 312 | 
             
                  end
         | 
| 231 | 
            -
                  # verify the required parameter ' | 
| 232 | 
            -
                  if @api_client.config.client_side_validation &&  | 
| 233 | 
            -
                    fail ArgumentError, "Missing the required parameter ' | 
| 313 | 
            +
                  # verify the required parameter 'aliases' is set
         | 
| 314 | 
            +
                  if @api_client.config.client_side_validation && aliases.nil?
         | 
| 315 | 
            +
                    fail ArgumentError, "Missing the required parameter 'aliases' when calling AliasesApi.reveal_multiple_aliases"
         | 
| 234 316 | 
             
                  end
         | 
| 235 317 | 
             
                  # resource path
         | 
| 236 318 | 
             
                  local_var_path = '/aliases'
         | 
| 237 319 |  | 
| 238 320 | 
             
                  # query parameters
         | 
| 239 321 | 
             
                  query_params = opts[:query_params] || {}
         | 
| 240 | 
            -
                  query_params[:' | 
| 322 | 
            +
                  query_params[:'aliases'] = aliases
         | 
| 323 | 
            +
                  query_params[:'storage'] = opts[:'storage'] if !opts[:'storage'].nil?
         | 
| 241 324 |  | 
| 242 325 | 
             
                  # header parameters
         | 
| 243 326 | 
             
                  header_params = opts[:header_params] || {}
         | 
| @@ -277,6 +360,7 @@ module VgsApiClient | |
| 277 360 | 
             
                # Apply new classifiers to the value that the specified alias is associated with. 
         | 
| 278 361 | 
             
                # @param _alias [String] Alias to operate on.
         | 
| 279 362 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 363 | 
            +
                # @option opts [String] :storage  (default to 'PERSISTENT')
         | 
| 280 364 | 
             
                # @option opts [UpdateAliasRequest] :update_alias_request 
         | 
| 281 365 | 
             
                # @return [nil]
         | 
| 282 366 | 
             
                def update_alias(_alias, opts = {})
         | 
| @@ -288,6 +372,7 @@ module VgsApiClient | |
| 288 372 | 
             
                # Apply new classifiers to the value that the specified alias is associated with. 
         | 
| 289 373 | 
             
                # @param _alias [String] Alias to operate on.
         | 
| 290 374 | 
             
                # @param [Hash] opts the optional parameters
         | 
| 375 | 
            +
                # @option opts [String] :storage 
         | 
| 291 376 | 
             
                # @option opts [UpdateAliasRequest] :update_alias_request 
         | 
| 292 377 | 
             
                # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
         | 
| 293 378 | 
             
                def update_alias_with_http_info(_alias, opts = {})
         | 
| @@ -298,11 +383,16 @@ module VgsApiClient | |
| 298 383 | 
             
                  if @api_client.config.client_side_validation && _alias.nil?
         | 
| 299 384 | 
             
                    fail ArgumentError, "Missing the required parameter '_alias' when calling AliasesApi.update_alias"
         | 
| 300 385 | 
             
                  end
         | 
| 386 | 
            +
                  allowable_values = ["PERSISTENT", "VOLATILE"]
         | 
| 387 | 
            +
                  if @api_client.config.client_side_validation && opts[:'storage'] && !allowable_values.include?(opts[:'storage'])
         | 
| 388 | 
            +
                    fail ArgumentError, "invalid value for \"storage\", must be one of #{allowable_values}"
         | 
| 389 | 
            +
                  end
         | 
| 301 390 | 
             
                  # resource path
         | 
| 302 391 | 
             
                  local_var_path = '/aliases/{alias}'.sub('{' + 'alias' + '}', CGI.escape(_alias.to_s))
         | 
| 303 392 |  | 
| 304 393 | 
             
                  # query parameters
         | 
| 305 394 | 
             
                  query_params = opts[:query_params] || {}
         | 
| 395 | 
            +
                  query_params[:'storage'] = opts[:'storage'] if !opts[:'storage'].nil?
         | 
| 306 396 |  | 
| 307 397 | 
             
                  # header parameters
         | 
| 308 398 | 
             
                  header_params = opts[:header_params] || {}
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            =begin
         | 
| 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\"         }     ] } ``` 
         | 
| 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\"         }     ] } ``` 
         | 
| 5 5 |  | 
| 6 6 | 
             
            The version of the OpenAPI document: 1.0.0
         | 
| 7 7 | 
             
            Contact: support@verygoodsecurity.com
         | 
| @@ -31,7 +31,7 @@ module VgsApiClient | |
| 31 31 | 
             
                # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
         | 
| 32 32 | 
             
                def initialize(config = Configuration.default)
         | 
| 33 33 | 
             
                  @config = config
         | 
| 34 | 
            -
                  @user_agent = "vgs-api-client/0.0.1. | 
| 34 | 
            +
                  @user_agent = "vgs-api-client/0.0.1.alpha202306071620/ruby"
         | 
| 35 35 | 
             
                  @default_headers = {
         | 
| 36 36 | 
             
                    'Content-Type' => 'application/json',
         | 
| 37 37 | 
             
                    'User-Agent' => @user_agent
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            =begin
         | 
| 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\"         }     ] } ``` 
         | 
| 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\"         }     ] } ``` 
         | 
| 5 5 |  | 
| 6 6 | 
             
            The version of the OpenAPI document: 1.0.0
         | 
| 7 7 | 
             
            Contact: support@verygoodsecurity.com
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            =begin
         | 
| 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\"         }     ] } ``` 
         | 
| 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\"         }     ] } ``` 
         | 
| 5 5 |  | 
| 6 6 | 
             
            The version of the OpenAPI document: 1.0.0
         | 
| 7 7 | 
             
            Contact: support@verygoodsecurity.com
         |