vgs_api_client 0.0.36 → 0.0.38

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +39 -0
  3. data/VERSION +1 -0
  4. data/api.yaml +537 -0
  5. data/docker-compose.yaml +10 -4
  6. data/lib/{vgs_api_client → openapi_client}/api/aliases_api.rb +1 -1
  7. data/lib/{vgs_api_client → openapi_client}/api_client.rb +2 -2
  8. data/lib/{vgs_api_client → openapi_client}/api_error.rb +1 -1
  9. data/lib/{vgs_api_client → openapi_client}/configuration.rb +1 -1
  10. data/lib/{vgs_api_client → openapi_client}/models/alias_format.rb +4 -1
  11. data/lib/openapi_client/models/api_error.rb +0 -0
  12. data/lib/{vgs_api_client → openapi_client}/models/create_aliases_request.rb +1 -1
  13. data/lib/{vgs_api_client → openapi_client}/models/create_aliases_request_new.rb +1 -1
  14. data/lib/{vgs_api_client → openapi_client}/models/create_aliases_request_reference.rb +1 -1
  15. data/lib/{vgs_api_client → openapi_client}/models/inline_response200.rb +1 -1
  16. data/lib/{vgs_api_client → openapi_client}/models/inline_response2001.rb +1 -1
  17. data/lib/{vgs_api_client → openapi_client}/models/inline_response201.rb +1 -1
  18. data/lib/{vgs_api_client → openapi_client}/models/inline_response_default.rb +1 -1
  19. data/lib/{vgs_api_client → openapi_client}/models/model_alias.rb +1 -1
  20. data/lib/{vgs_api_client → openapi_client}/models/revealed_data.rb +1 -1
  21. data/lib/{vgs_api_client → openapi_client}/models/update_alias_request.rb +1 -1
  22. data/lib/{vgs_api_client → openapi_client}/models/update_alias_request_data.rb +1 -1
  23. data/lib/{vgs_api_client → openapi_client}/version.rb +2 -2
  24. data/lib/openapi_client.rb +53 -0
  25. data/lib/version.rb +3 -0
  26. data/lib/vgs_api_client.rb +106 -48
  27. data/scripts/assemble/run.sh +1 -1
  28. data/scripts/lint/Dockerfile +9 -0
  29. data/scripts/lint/run.sh +5 -0
  30. data/scripts/lint.sh +6 -0
  31. data/scripts/test/run.sh +2 -2
  32. data/scripts/test-e2e/Dockerfile +1 -9
  33. data/scripts/test-e2e/run.sh +3 -5
  34. data/spec/api_client_spec.rb +1 -1
  35. data/spec/configuration_spec.rb +1 -1
  36. data/spec/spec_helper.rb +2 -2
  37. data/spec/test_aliases_api_spec.rb +79 -53
  38. data/vgs_api_client.gemspec +15 -21
  39. metadata +39 -28
  40. data/lib/vgs.rb +0 -82
  41. data/lib/vgs_api_client/models/api_error.rb +0 -249
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ac791716077474e6e10c682083c03d3a6bc74bab8dfe095db6b1175ce384292
4
- data.tar.gz: 04c38e7663d97faa123607ed30e118cec6d0fece3996990a2543d9e2cc64268a
3
+ metadata.gz: c714f819d19a74e5d7f1c00f63a3cff242a6e2aeec85a0e9cf7a5821d0cd1284
4
+ data.tar.gz: 06df2cebe13e49d03f5196f836fcc5b8de050c1aa9a9a63a8cd012671a32081b
5
5
  SHA512:
6
- metadata.gz: 945150111d39f3f5118a77311a0b5fb578263278d0d1b24592421547b7b607e0cae6ab8a04320849a7343f551bf49b93495a5e89a829dbb884cba81b023b2d49
7
- data.tar.gz: 1f8980fb53018cd62404f565130a2acc8420e62a640f4d4d12cf263a4d1a95764443690f3bc56ccd24905f12a16d333fdd050723e3804e43a851c97749194311
6
+ metadata.gz: 646534e4ec032573bc4452ae3fd44cafb309164b973f9c24b160d4c7a2f45048f1a4837e521792ab4d927ebff1d0143613055392bddb06d5b1ecc5880f9680ed
7
+ data.tar.gz: c188105cca9d04b153328ed6a86d695c9e16d0b0a946cfd79998e5b5afef9bc39b9e9e85f002c830d0bec5b4680df72e6389569ffeaf9ae7d8d36f5ccfb5aa12
data/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # vgs-api-client-ruby
2
+
3
+ [![CircleCI](https://circleci.com/gh/verygoodsecurity/vgs-api-client-ruby.svg?style=svg)](https://github.com/verygoodsecurity/vgs-api-client-ruby)
4
+
5
+ This repository contains a Ruby API client library for the Very Good Security API.
6
+
7
+ ### Requirements
8
+
9
+ Building and using the API client library requires Ruby 2.6+.
10
+
11
+ ### Installation
12
+
13
+ ```
14
+ gem install vgs-api-client
15
+ ```
16
+
17
+ ### Development
18
+
19
+ Follow [DEVELOPMENT](https://github.com/verygoodsecurity/vgs-api-client-ruby/blob/master/DEVELOPMENT.md) instruction.
20
+
21
+ ### Release
22
+
23
+ Follow [RELEASE](https://github.com/verygoodsecurity/vgs-api-client-ruby/blob/master/RELEASE.md) instruction.
24
+
25
+ ### Documentation
26
+
27
+ https://www.verygoodsecurity.com/docs/vault/api/
28
+
29
+ ### Tutorial
30
+
31
+ https://www.verygoodsecurity.com/docs/tokenization/ruby-tutorial
32
+
33
+ ### Artifact
34
+
35
+ https://rubygems.org/gems/vgs_api_client/
36
+
37
+ ### Support
38
+
39
+ support@verygoodsecurity.com
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.38
data/api.yaml ADDED
@@ -0,0 +1,537 @@
1
+ openapi: '3.0.0'
2
+ info:
3
+ title: Vault HTTP API
4
+ description: |
5
+ The VGS Vault HTTP API is used for storing, retrieving, and managing sensitive data (aka Tokenization) within a VGS Vault.
6
+
7
+ 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.
8
+
9
+ ## What is VGS
10
+
11
+ 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.
12
+
13
+ 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.
14
+
15
+ **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).
16
+
17
+ **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).
18
+
19
+ 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).
20
+
21
+ ## Learn about Tokenization
22
+
23
+ - [Create an Account for Free Tokenization](https://dashboard.verygoodsecurity.com/tokenization)
24
+ - [Try a Tokenization Demo](https://www.verygoodsecurity.com/docs/tokenization/getting-started)
25
+ - [Install a Tokenization SDK](https://www.verygoodsecurity.com/docs/tokenization/client-libraries)
26
+
27
+ ### Authentication
28
+
29
+ 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
+
31
+ Credentials to access the API can be generated on the
32
+ [dashboard](https://dashboard.verygoodsecurity.com) by going to the Settings
33
+ section of the vault of your choosing.
34
+
35
+ [Docs » Guides » Access credentials](https://www.verygoodsecurity.com/docs/settings/access-credentials)
36
+
37
+ ## Resource Limits
38
+
39
+ ### Data Limits
40
+
41
+ This API allows storing data up to 32MB in size.
42
+
43
+ ### Rate Limiting
44
+
45
+ The API allows up to 3,000 requests per minute. Requests are associated with
46
+ the vault, regardless of the access credentials used to authenticate the
47
+ request.
48
+
49
+ Your current rate limit is included as HTTP headers in every API response:
50
+
51
+ | Header Name | Description |
52
+ |-------------------------|----------------------------------------------------------|
53
+ | `x-ratelimit-remaining` | The number of requests remaining in the 1-minute window. |
54
+
55
+ If you exceed the rate limit, the API will reject the request with HTTP
56
+ [429 Too Many Requests](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429).
57
+
58
+ ### Errors
59
+
60
+ The API uses standard HTTP status codes to indicate whether the request
61
+ succeeded or not.
62
+
63
+ In case of failure, the response body will be JSON in a predefined format.
64
+ For example, trying to create too many aliases at once results in the
65
+ following response:
66
+
67
+ ```json
68
+ {
69
+ "errors": [
70
+ {
71
+ "status": 400,
72
+ "title": "Bad request",
73
+ "detail": "Too many values (limit: 20)",
74
+ "href": "https://api.sandbox.verygoodvault.com/aliases"
75
+ }
76
+ ]
77
+ }
78
+ ```
79
+ version: '1.0.0'
80
+ contact:
81
+ email: support@verygoodsecurity.com
82
+ x-logo:
83
+ url: images/vgs-logo.png
84
+ href: https://www.verygoodsecurity.com
85
+ altText: VGS Logo
86
+
87
+ externalDocs:
88
+ description: Find out more about VGS
89
+ url: https://www.verygoodsecurity.com/
90
+
91
+ servers:
92
+ - url: https://api.sandbox.verygoodvault.com
93
+ description: Sandbox
94
+
95
+ - url: https://api.live.verygoodvault.com
96
+ description: Live
97
+
98
+ - url: https://api.live-eu-1.verygoodvault.com
99
+ description: Live EU
100
+
101
+ tags:
102
+ - name: aliases
103
+ x-displayName: Aliases
104
+ description: |
105
+ Unique IDs that retain all the essential information about the data
106
+ without compromising its security.
107
+
108
+ x-tagGroups:
109
+ - name: Data Management
110
+ tags:
111
+ - aliases
112
+
113
+ security:
114
+ - basicAuth: []
115
+
116
+ paths:
117
+ /aliases:
118
+ post:
119
+ operationId: createAliases
120
+ tags:
121
+ - aliases
122
+ summary: Create aliases
123
+ description: |
124
+ Stores multiple values at once & returns their aliases.
125
+
126
+ Alternatively, this endpoint may be used to associate additional (i.e.
127
+ secondary) aliases with the same underlying data as the reference
128
+ alias specified in the request body.
129
+
130
+ **NOTE:** You cannot reference the same alias more than once in a
131
+ single request.
132
+ requestBody:
133
+ content:
134
+ application/json:
135
+ schema:
136
+ $ref: '#/components/schemas/CreateAliasesRequest'
137
+ examples:
138
+ A:
139
+ summary: Create a new alias
140
+ value:
141
+ data:
142
+ - value: 122105155
143
+ classifiers:
144
+ - bank-account
145
+ format: UUID
146
+ storage: PERSISTENT
147
+ B:
148
+ summary: Reference an existing alias
149
+ value:
150
+ data:
151
+ - alias: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
152
+ format: RAW_UUID
153
+ storage: PERSISTENT
154
+ responses:
155
+ '201':
156
+ description: Created
157
+ content:
158
+ application/json:
159
+ schema:
160
+ type: object
161
+ properties:
162
+ data:
163
+ type: array
164
+ items:
165
+ $ref: '#/components/schemas/RevealedData'
166
+ description: List of stored values along with their aliases.
167
+ default:
168
+ $ref: '#/components/responses/ApiErrorsResponse'
169
+ x-codeSamples:
170
+ - lang: Shell
171
+ label: cURL
172
+ source: |
173
+ curl https://api.sandbox.verygoodvault.com/aliases \
174
+ -X POST \
175
+ -u "$USERNAME:$PASSWORD" \
176
+ -H 'Content-Type: application/json' \
177
+ -d '{
178
+ "data": [
179
+ {
180
+ "value": "test@example.com",
181
+ "classifiers": [
182
+ "email_address"
183
+ ],
184
+ "format": "UUID"
185
+ "storage": "VOLATILE"
186
+ }
187
+ ]
188
+ }'
189
+
190
+ get:
191
+ operationId: revealMultipleAliases
192
+ tags:
193
+ - aliases
194
+ summary: Reveal multiple aliases
195
+ description: |
196
+ Given a list of aliases, retrieves all associated values stored in the
197
+ vault.
198
+
199
+ **NOTE:** This endpoint may expose sensitive data. Therefore, it is
200
+ disabled by default. To enable it, please contact your VGS account
201
+ manager or drop us a line at
202
+ [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com).
203
+ parameters:
204
+ - name: q
205
+ in: query
206
+ required: true
207
+ description: Comma-separated list of aliases to reveal.
208
+ example:
209
+ - "tok_sandbox_5UpnbMvaihRuRwz5QXwBFw,tok_sandbox_9ToiJHedw1nE1Jfx1qYYgz"
210
+ schema:
211
+ type: string
212
+ responses:
213
+ '200':
214
+ description: OK
215
+ content:
216
+ application/json:
217
+ schema:
218
+ type: object
219
+ properties:
220
+ data:
221
+ type: object
222
+ additionalProperties:
223
+ x-additionalPropertiesName: alias
224
+ $ref: '#/components/schemas/RevealedData'
225
+ example:
226
+ tok_sandbox_5UpnbMvaihRuRwz5QXwBFw:
227
+ value: "476673481"
228
+ classifiers:
229
+ - bank-account
230
+ aliases:
231
+ - value: tok_sandbox_5UpnbMvaihRuRwz5QXwBFw
232
+ format: UUID
233
+ created_at: "2019-08-10T11:45:30Z"
234
+ storage: VOLATILE
235
+ tok_sandbox_9ToiJHedw1nE1Jfx1qYYgz:
236
+ value: "750360025"
237
+ classifiers:
238
+ - bank-account
239
+ aliases:
240
+ - value: tok_sandbox_9ToiJHedw1nE1Jfx1qYYgz
241
+ format: UUID
242
+ created_at: "2019-08-10T11:45:30Z"
243
+ storage: VOLATILE
244
+ default:
245
+ $ref: '#/components/responses/ApiErrorsResponse'
246
+ x-codeSamples:
247
+ - lang: Shell
248
+ label: cURL
249
+ source: |
250
+ curl https://api.sandbox.verygoodvault.com/aliases?q={{alias1}},{{alias2}} \
251
+ -u "$USERNAME:$PASSWORD"
252
+
253
+ /aliases/{alias}:
254
+ parameters:
255
+ - $ref: '#/components/parameters/alias'
256
+ get:
257
+ operationId: revealAlias
258
+ tags:
259
+ - aliases
260
+ summary: Reveal single alias
261
+ description: |
262
+ Retrieves a stored value along with its aliases.
263
+
264
+ **NOTE:** This endpoint may expose sensitive data. Therefore, it is
265
+ disabled by default. To enable it, please contact your VGS account
266
+ manager or drop us a line at
267
+ [support@verygoodsecurity.com](mailto:support@verygoodsecurity.com).
268
+ parameters:
269
+ - $ref: '#/components/parameters/alias'
270
+ responses:
271
+ '200':
272
+ description: OK
273
+ content:
274
+ application/json:
275
+ schema:
276
+ type: object
277
+ properties:
278
+ data:
279
+ type: array
280
+ items:
281
+ $ref: '#/components/schemas/RevealedData'
282
+ description: The retrieved value.
283
+ minItems: 1
284
+ maxItems: 1
285
+ default:
286
+ $ref: '#/components/responses/ApiErrorsResponse'
287
+ x-codeSamples:
288
+ - lang: Shell
289
+ label: cURL
290
+ source: |
291
+ curl https://api.sandbox.verygoodvault.com/aliases/{{alias}} \
292
+ -u "$USERNAME:$PASSWORD"
293
+ put:
294
+ operationId: updateAlias
295
+ tags:
296
+ - aliases
297
+ summary: Update data classifiers
298
+ description: |
299
+ Apply new classifiers to the value that the specified alias is
300
+ associated with.
301
+ requestBody:
302
+ content:
303
+ application/json:
304
+ schema:
305
+ $ref: '#/components/schemas/UpdateAliasRequest'
306
+ responses:
307
+ '204':
308
+ description: No Content
309
+ default:
310
+ $ref: '#/components/responses/ApiErrorsResponse'
311
+ x-codeSamples:
312
+ - lang: Shell
313
+ label: cURL
314
+ source: |
315
+ curl https://api.sandbox.verygoodvault.com/aliases/{{alias}} \
316
+ -X PUT \
317
+ -u "$USERNAME:$PASSWORD" \
318
+ -H 'Content-Type: application/json' \
319
+ -d '{
320
+ "data": {
321
+ "classifiers": [
322
+ "credit-cards", "PII"
323
+ ]
324
+ }
325
+ }'
326
+ delete:
327
+ operationId: deleteAlias
328
+ tags:
329
+ - aliases
330
+ summary: Delete alias
331
+ description: |
332
+ Removes a single alias.
333
+ parameters:
334
+ - $ref: '#/components/parameters/alias'
335
+ responses:
336
+ '204':
337
+ description: No Content
338
+ default:
339
+ $ref: '#/components/responses/ApiErrorsResponse'
340
+ x-codeSamples:
341
+ - lang: Shell
342
+ label: cURL
343
+ source: |
344
+ curl https://api.sandbox.verygoodvault.com/aliases/{{alias}} \
345
+ -X DELETE \
346
+ -u "$USERNAME:$PASSWORD"
347
+
348
+
349
+ components:
350
+
351
+ # See the following links for details:
352
+ # - https://swagger.io/docs/specification/authentication/basic-authentication/
353
+ securitySchemes:
354
+ basicAuth:
355
+ type: http
356
+ scheme: basic
357
+ description: The default authentication schema.
358
+
359
+ parameters:
360
+ alias:
361
+ name: alias
362
+ in: path
363
+ required: true
364
+ description: Alias to operate on.
365
+ schema:
366
+ type: string
367
+ example: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
368
+
369
+ responses:
370
+ ApiErrorsResponse:
371
+ description: Something went wrong
372
+ content:
373
+ application/json:
374
+ schema:
375
+ type: object
376
+ properties:
377
+ errors:
378
+ type: array
379
+ items:
380
+ $ref: '#/components/schemas/ApiError'
381
+ description: List of errors that occurred while processing the request.
382
+ minItems: 1
383
+
384
+ schemas:
385
+ ApiError:
386
+ type: object
387
+ properties:
388
+ status:
389
+ type: integer
390
+ description: HTTP status code.
391
+ title:
392
+ type: string
393
+ description: High-level reason of why the request failed.
394
+ detail:
395
+ type: string
396
+ description: Explanation of what exactly went wrong.
397
+ href:
398
+ type: string
399
+ description: Request URL.
400
+
401
+ RevealedData:
402
+ type: "object"
403
+ properties:
404
+ value:
405
+ type: "string"
406
+ description: Decrypted value stored in the vault.
407
+ example: 122105155
408
+ classifiers:
409
+ type: "array"
410
+ items:
411
+ type: "string"
412
+ example: bank-account
413
+ description: List of tags the value is classified with.
414
+ aliases:
415
+ type: "array"
416
+ items:
417
+ $ref: '#/components/schemas/Alias'
418
+ description: List of aliases associated with the value.
419
+ created_at:
420
+ type: "string"
421
+ format: "date-time"
422
+ description: Creation time, in UTC.
423
+ example: "2019-05-15T12:30:45Z"
424
+ storage:
425
+ type: string
426
+ enum:
427
+ - PERSISTENT
428
+ - VOLATILE
429
+ default: PERSISTENT
430
+ description: |
431
+ Storage medium to use.
432
+
433
+ 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
+
435
+ Alias:
436
+ type: "object"
437
+ properties:
438
+ alias:
439
+ type: "string"
440
+ example: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
441
+ description: Opaque string used to substitute the raw value.
442
+ format:
443
+ $ref: '#/components/schemas/AliasFormat'
444
+
445
+ AliasFormat:
446
+ type: string
447
+ enum:
448
+ - FPE_ACC_NUM_T_FOUR
449
+ - FPE_ALPHANUMERIC_ACC_NUM_T_FOUR
450
+ - FPE_SIX_T_FOUR
451
+ - FPE_SSN_T_FOUR
452
+ - FPE_T_FOUR
453
+ - GENERIC_T_FOUR
454
+ - NON_LUHN_FPE_ALPHANUMERIC
455
+ - NUM_LENGTH_PRESERVING
456
+ - PFPT
457
+ - RAW_UUID
458
+ - UUID
459
+ - VGS_FIXED_LEN_GENERIC
460
+ description: |
461
+ Format of the generated alias string.
462
+
463
+ See [Alias Formats](#section/Introduction/Alias-Formats) for details.
464
+ example: UUID
465
+
466
+ CreateAliasesRequest:
467
+ type: object
468
+ properties:
469
+ data:
470
+ type: array
471
+ items:
472
+ oneOf:
473
+ - $ref: '#/components/schemas/CreateAliasesRequestNew'
474
+ - $ref: '#/components/schemas/CreateAliasesRequestReference'
475
+ minItems: 1
476
+ maxItems: 20
477
+ required:
478
+ - data
479
+
480
+ CreateAliasesRequestNew:
481
+ type: object
482
+ properties:
483
+ value:
484
+ type: string
485
+ description: Raw value to encrypt & store in the vault.
486
+ example: 122105155
487
+ classifiers:
488
+ type: array
489
+ items:
490
+ type: string
491
+ example: bank-account
492
+ description: List of tags to classify the value with.
493
+ format:
494
+ $ref: '#/components/schemas/AliasFormat'
495
+ storage:
496
+ type: string
497
+ enum:
498
+ - PERSISTENT
499
+ - VOLATILE
500
+ default: PERSISTENT
501
+ description: |
502
+ Storage medium to use.
503
+
504
+ 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.
505
+ required:
506
+ - value
507
+ - format
508
+
509
+ CreateAliasesRequestReference:
510
+ type: object
511
+ properties:
512
+ alias:
513
+ type: string
514
+ description: Existing alias to use as a reference.
515
+ example: tok_sandbox_bhtsCwFUzoJMw9rWUfEV5e
516
+ format:
517
+ $ref: '#/components/schemas/AliasFormat'
518
+ required:
519
+ - alias
520
+ - format
521
+
522
+ UpdateAliasRequest:
523
+ type: object
524
+ properties:
525
+ data:
526
+ type: object
527
+ properties:
528
+ classifiers:
529
+ type: array
530
+ items:
531
+ type: string
532
+ example: bank-account
533
+ description: List of tags to classify the value with.
534
+ required:
535
+ - classifiers
536
+ required:
537
+ - data
data/docker-compose.yaml CHANGED
@@ -1,6 +1,12 @@
1
1
  version: '3.7'
2
2
 
3
3
  services:
4
+ lint:
5
+ build:
6
+ context: .
7
+ dockerfile: scripts/lint/Dockerfile
8
+ volumes:
9
+ - ./:/vgs-api-client/
4
10
  assemble:
5
11
  build:
6
12
  context: .
@@ -23,8 +29,8 @@ services:
23
29
  context: .
24
30
  dockerfile: scripts/test/Dockerfile
25
31
  environment:
26
- VAULT_API_USERNAME: US7oyrzRGmaKqi3ET8eSsECS
27
- VAULT_API_PASSWORD: c06cf6d1-a35e-439d-91d1-8bd04e5fd9e5
32
+ VAULT_API_USERNAME: $VAULT_API_USERNAME
33
+ VAULT_API_PASSWORD: $VAULT_API_PASSWORD
28
34
  VAULT_API_BASE_URI: https://api.sandbox.verygoodvault.com
29
35
  VAULT_API_VAULT_ID: tntkxfmsefj
30
36
  LIB_VERSION: ${LIB_VERSION}
@@ -33,8 +39,8 @@ services:
33
39
  context: .
34
40
  dockerfile: scripts/test-e2e/Dockerfile
35
41
  environment:
36
- VAULT_API_USERNAME: US7oyrzRGmaKqi3ET8eSsECS
37
- VAULT_API_PASSWORD: c06cf6d1-a35e-439d-91d1-8bd04e5fd9e5
42
+ VAULT_API_USERNAME: $VAULT_API_USERNAME
43
+ VAULT_API_PASSWORD: $VAULT_API_PASSWORD
38
44
  VAULT_API_BASE_URI: https://api.sandbox.verygoodvault.com
39
45
  VAULT_API_VAULT_ID: tntkxfmsefj
40
46
  LIB_VERSION: ${LIB_VERSION}
@@ -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. 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) ### 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. 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) ### 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.36/ruby"
34
+ @user_agent = "vgs-api-client/0.0.38/ruby"
35
35
  @default_headers = {
36
36
  'Content-Type' => 'application/json',
37
37
  'User-Agent' => @user_agent