vpndetection 5.6.3 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/vpndetection/api/account_wire_api.rb +1 -1
  4. data/lib/vpndetection/api/api_keys_wire_api.rb +1 -1
  5. data/lib/vpndetection/api/authorization_wire_api.rb +71 -3
  6. data/lib/vpndetection/api/database_wire_api.rb +3 -3
  7. data/lib/vpndetection/api/entitlement_wire_api.rb +1 -1
  8. data/lib/vpndetection/api/lookup_wire_api.rb +1 -1
  9. data/lib/vpndetection/api/organization_wire_api.rb +3 -3
  10. data/lib/vpndetection/api_client.rb +1 -1
  11. data/lib/vpndetection/api_error.rb +1 -1
  12. data/lib/vpndetection/api_model_base.rb +1 -1
  13. data/lib/vpndetection/configuration.rb +1 -1
  14. data/lib/vpndetection/models/account_create_apikey_request.rb +2 -2
  15. data/lib/vpndetection/models/account_created_apikey.rb +1 -1
  16. data/lib/vpndetection/models/account_org.rb +1 -1
  17. data/lib/vpndetection/models/account_org_ref.rb +1 -1
  18. data/lib/vpndetection/models/account_org_wrap.rb +1 -1
  19. data/lib/vpndetection/models/account_rc.rb +1 -1
  20. data/lib/vpndetection/models/account_revealed_apikey.rb +1 -1
  21. data/lib/vpndetection/models/account_user.rb +1 -1
  22. data/lib/vpndetection/models/apikey_detail.rb +2 -2
  23. data/lib/vpndetection/models/apikey_list.rb +1 -1
  24. data/lib/vpndetection/models/batch_lookup_error.rb +1 -1
  25. data/lib/vpndetection/models/batch_lookup_request.rb +1 -1
  26. data/lib/vpndetection/models/batch_lookup_response.rb +1 -1
  27. data/lib/vpndetection/models/class_detail.rb +1 -1
  28. data/lib/vpndetection/models/client_registration.rb +306 -0
  29. data/lib/vpndetection/models/client_registration_request.rb +211 -0
  30. data/lib/vpndetection/models/database.rb +1 -1
  31. data/lib/vpndetection/models/database_checksums_response.rb +1 -1
  32. data/lib/vpndetection/models/database_format.rb +1 -1
  33. data/lib/vpndetection/models/database_format_size.rb +2 -2
  34. data/lib/vpndetection/models/database_list.rb +1 -1
  35. data/lib/vpndetection/models/database_metadata.rb +1 -1
  36. data/lib/vpndetection/models/database_metadata_column.rb +1 -1
  37. data/lib/vpndetection/models/database_version.rb +1 -1
  38. data/lib/vpndetection/models/db_checksums.rb +1 -1
  39. data/lib/vpndetection/models/device_authorization.rb +1 -1
  40. data/lib/vpndetection/models/download.rb +1 -1
  41. data/lib/vpndetection/models/download_list.rb +1 -1
  42. data/lib/vpndetection/models/entitlement.rb +1 -1
  43. data/lib/vpndetection/models/entitlement_apikey.rb +1 -1
  44. data/lib/vpndetection/models/entitlement_error.rb +1 -1
  45. data/lib/vpndetection/models/entitlement_plan.rb +1 -1
  46. data/lib/vpndetection/models/entitlement_usage.rb +1 -1
  47. data/lib/vpndetection/models/error_envelope.rb +1 -1
  48. data/lib/vpndetection/models/identity.rb +1 -1
  49. data/lib/vpndetection/models/lookup_error.rb +1 -1
  50. data/lib/vpndetection/models/lookup_response.rb +1 -1
  51. data/lib/vpndetection/models/oauth_error.rb +1 -1
  52. data/lib/vpndetection/models/oauth_metadata.rb +12 -2
  53. data/lib/vpndetection/models/proxy_detail.rb +1 -1
  54. data/lib/vpndetection/models/standing.rb +1 -1
  55. data/lib/vpndetection/models/token_response.rb +2 -2
  56. data/lib/vpndetection/models/vpn_detail.rb +2 -2
  57. data/lib/vpndetection/result.rb +3 -3
  58. data/lib/vpndetection/version.rb +1 -1
  59. metadata +3 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e1d16ce1d6b705436cfc5b43801390e5d8f4be55ef9772fec51fb80a84e55090
4
- data.tar.gz: ae5cdffb6543687457703810ecb22d541b24cdf474722e672baeedb46cc8960f
3
+ metadata.gz: e4d2347cdbad2a8933fabc8ed41401e231f6988146a2f9e7891580462bc8f586
4
+ data.tar.gz: 3c7a7dfa8fbe7c942b140be9f4065f9959a4e51871bb3bdb52722ba67b4041ab
5
5
  SHA512:
6
- metadata.gz: 3fac78ec0b85e6d6903bbc74a37dea19a5c3f8ab635e83d8e28c05a816945d26b7babc200443d5808db85b3bc147dac3f796113dbc936a9648354c352f97eb54
7
- data.tar.gz: '084a31b3a88a6113a7672d9a1895921ab37a7c22646b07eed79dbde0fc9180b8430582a4cff6602711640ea56a584a1f713da434208bd6f4540e0d239757b612'
6
+ metadata.gz: 2bfc0d09a0378f99c7831d0f3b28a1b3208c61b5ae60dbd9229212fc437b5ec53560409e5a4830d190e4fa1220ccd65d72286387871d30402bd92911ada9a1de
7
+ data.tar.gz: 9b9b5f410f78306b73e1552dbcb717fa8e8d739a7a37e754809918b55aff17e4362dad91240ae5fb7085c1855e7667851a3653f76102cfb2e712135acd2eacf5
data/README.md CHANGED
@@ -43,7 +43,7 @@ client = VPNDetection::Client.new(api_key: ENV['VPNDETECTION_API_KEY'])
43
43
 
44
44
  result = client.lookup('45.83.91.1')
45
45
  result.is_vpn # => true
46
- result.vpn['provider'] # => "mullvad"
46
+ result.vpn['provider'] # => "nordvpn"
47
47
  result.is_hosting # => true
48
48
  result.hosting['provider'] # => "M247"
49
49
  ```
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -22,7 +22,7 @@ module VPNDetection
22
22
  @api_client = api_client
23
23
  end
24
24
  # Authorize
25
- # The browser entry point for the authorization-code flow. This is a redirect target, not something to call from code. Any client may sign in without registering first by using a Client ID Metadata Document: make `client_id` an https URL that serves your client's metadata as JSON, naming that same URL as its `client_id`, with `token_endpoint_auth_method` `none` and your `redirect_uris`. An https redirect URI must be on the same origin as the `client_id`; a loopback one (`http://127.0.0.1`, `http://[::1]`, `http://localhost`) matches on any port. Such a client is granted `apikeys.use` at most. An unknown `client_id` or an unregistered `redirect_uri` is shown to the USER and never redirected, because sending an error to an address we have not verified belongs to you is how an open redirector works. Everything else comes back to your `redirect_uri` with `error`, your `state`, and `iss`.
25
+ # The browser entry point for the authorization-code flow. This is a redirect target, not something to call from code. Any client may sign in without registering first by using a Client ID Metadata Document: make `client_id` an https URL that serves your client's metadata as JSON, naming that same URL as its `client_id`, with `token_endpoint_auth_method` `none` and your `redirect_uris`. An https redirect URI must be on the same origin as the `client_id`; a loopback one (`http://127.0.0.1`, `http://[::1]`, `http://localhost`) matches on any port. Such a client is granted `apikeys.use` at most. A client registered at `/oauth/register` uses the `client_id` it was given and one of the `redirect_uris` it registered. An unknown `client_id` or an unregistered `redirect_uri` is shown to the person and never redirected, because sending an error to an address we have not verified belongs to you is how an open redirector works. Any other error in the request is shown to the person too: anyone can make a client, so its `redirect_uri` is verified only as its own (RFC 9700 section 4.11.2). Only the person's answer comes back to your `redirect_uri`: a `code`, or `error` `access_denied`, each with your `state` and `iss`.
26
26
  # @param client_id [String]
27
27
  # @param redirect_uri [String]
28
28
  # @param response_type [String]
@@ -39,7 +39,7 @@ module VPNDetection
39
39
  end
40
40
 
41
41
  # Authorize
42
- # The browser entry point for the authorization-code flow. This is a redirect target, not something to call from code. Any client may sign in without registering first by using a Client ID Metadata Document: make `client_id` an https URL that serves your client's metadata as JSON, naming that same URL as its `client_id`, with `token_endpoint_auth_method` `none` and your `redirect_uris`. An https redirect URI must be on the same origin as the `client_id`; a loopback one (`http://127.0.0.1`, `http://[::1]`, `http://localhost`) matches on any port. Such a client is granted `apikeys.use` at most. An unknown `client_id` or an unregistered `redirect_uri` is shown to the USER and never redirected, because sending an error to an address we have not verified belongs to you is how an open redirector works. Everything else comes back to your `redirect_uri` with `error`, your `state`, and `iss`.
42
+ # The browser entry point for the authorization-code flow. This is a redirect target, not something to call from code. Any client may sign in without registering first by using a Client ID Metadata Document: make `client_id` an https URL that serves your client's metadata as JSON, naming that same URL as its `client_id`, with `token_endpoint_auth_method` `none` and your `redirect_uris`. An https redirect URI must be on the same origin as the `client_id`; a loopback one (`http://127.0.0.1`, `http://[::1]`, `http://localhost`) matches on any port. Such a client is granted `apikeys.use` at most. A client registered at `/oauth/register` uses the `client_id` it was given and one of the `redirect_uris` it registered. An unknown `client_id` or an unregistered `redirect_uri` is shown to the person and never redirected, because sending an error to an address we have not verified belongs to you is how an open redirector works. Any other error in the request is shown to the person too: anyone can make a client, so its `redirect_uri` is verified only as its own (RFC 9700 section 4.11.2). Only the person's answer comes back to your `redirect_uri`: a `code`, or `error` `access_denied`, each with your `state` and `iss`.
43
43
  # @param client_id [String]
44
44
  # @param redirect_uri [String]
45
45
  # @param response_type [String]
@@ -262,6 +262,74 @@ module VPNDetection
262
262
  return data, status_code, headers
263
263
  end
264
264
 
265
+ # Register
266
+ # RFC 7591 dynamic client registration, for a client that cannot use a Client ID Metadata Document. Post your client's metadata as JSON, then use the `client_id` in the answer at `/oauth/authorize` and `/oauth/token`. Nothing is kept until a person approves your client, so registering again costs nothing and leaves nothing to clean up. Each redirect URI must be https on a public host name, or http on a loopback address (`127.0.0.1`, `[::1]`, `localhost`), which then matches on any port. A custom URI scheme is refused: use a loopback redirect instead. So is a host on one of our own domains. `client_name` is shown to the person as your client's own claim, with where its redirect goes beside it. A name that renders blank, or mixes Latin letters with Cyrillic or Greek ones, is shown as an unnamed application. The client is public whatever you ask for: `token_endpoint_auth_method` comes back `none`, there is no client secret, and every authorization proves itself with PKCE. It may be granted `apikeys.use` at most.
267
+ # @param client_registration_request [ClientRegistrationRequest]
268
+ # @param [Hash] opts the optional parameters
269
+ # @return [ClientRegistration]
270
+ def oauth_register(client_registration_request, opts = {})
271
+ data, _status_code, _headers = oauth_register_with_http_info(client_registration_request, opts)
272
+ data
273
+ end
274
+
275
+ # Register
276
+ # RFC 7591 dynamic client registration, for a client that cannot use a Client ID Metadata Document. Post your client's metadata as JSON, then use the `client_id` in the answer at `/oauth/authorize` and `/oauth/token`. Nothing is kept until a person approves your client, so registering again costs nothing and leaves nothing to clean up. Each redirect URI must be https on a public host name, or http on a loopback address (`127.0.0.1`, `[::1]`, `localhost`), which then matches on any port. A custom URI scheme is refused: use a loopback redirect instead. So is a host on one of our own domains. `client_name` is shown to the person as your client's own claim, with where its redirect goes beside it. A name that renders blank, or mixes Latin letters with Cyrillic or Greek ones, is shown as an unnamed application. The client is public whatever you ask for: `token_endpoint_auth_method` comes back `none`, there is no client secret, and every authorization proves itself with PKCE. It may be granted `apikeys.use` at most.
277
+ # @param client_registration_request [ClientRegistrationRequest]
278
+ # @param [Hash] opts the optional parameters
279
+ # @return [Array<(ClientRegistration, Integer, Hash)>] ClientRegistration data, response status code and response headers
280
+ def oauth_register_with_http_info(client_registration_request, opts = {})
281
+ if @api_client.config.debugging
282
+ @api_client.config.logger.debug 'Calling API: AuthorizationWireApi.oauth_register ...'
283
+ end
284
+ # verify the required parameter 'client_registration_request' is set
285
+ if @api_client.config.client_side_validation && client_registration_request.nil?
286
+ fail ArgumentError, "Missing the required parameter 'client_registration_request' when calling AuthorizationWireApi.oauth_register"
287
+ end
288
+ # resource path
289
+ local_var_path = '/oauth/register'
290
+
291
+ # query parameters
292
+ query_params = opts[:query_params] || {}
293
+
294
+ # header parameters
295
+ header_params = opts[:header_params] || {}
296
+ # HTTP header 'Accept' (if needed)
297
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
298
+ # HTTP header 'Content-Type'
299
+ content_type = @api_client.select_header_content_type(['application/json'])
300
+ if !content_type.nil?
301
+ header_params['Content-Type'] = content_type
302
+ end
303
+
304
+ # form parameters
305
+ form_params = opts[:form_params] || {}
306
+
307
+ # http body (model)
308
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(client_registration_request)
309
+
310
+ # return_type
311
+ return_type = opts[:debug_return_type] || 'ClientRegistration'
312
+
313
+ # auth_names
314
+ auth_names = opts[:debug_auth_names] || []
315
+
316
+ new_options = opts.merge(
317
+ :operation => :"AuthorizationWireApi.oauth_register",
318
+ :header_params => header_params,
319
+ :query_params => query_params,
320
+ :form_params => form_params,
321
+ :body => post_body,
322
+ :auth_names => auth_names,
323
+ :return_type => return_type
324
+ )
325
+
326
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
327
+ if @api_client.config.debugging
328
+ @api_client.config.logger.debug "API called: AuthorizationWireApi#oauth_register\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
329
+ end
330
+ return data, status_code, headers
331
+ end
332
+
265
333
  # Revoke
266
334
  # RFC 7009. Always answers 200, including for a token that was never valid - an endpoint that distinguished the two would be a way to test whether a stolen string is a live credential. Revoking a REFRESH token ends the whole authorization and takes its access tokens with it. Revoking an access token affects only that token.
267
335
  # @param token [String] An access token or a refresh token.
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -157,7 +157,7 @@ module VPNDetection
157
157
  # Download
158
158
  # Answers `302` with a time-limited URL pointing straight at object storage. Follow the redirect; the link authorizes the START of a transfer, so one already running is not interrupted when it lapses.
159
159
  # @param id [String] Dataset id, e.g. vpn_ip_extended_v1
160
- # @param format [DatabaseFormat] Not every database is built in every format. The &#x60;_provider&#x60; catalogues are keyed by provider id rather than by IP range, so no MMDB exists for them.
160
+ # @param format [DatabaseFormat] Not every database is built in every format. The &#x60;_provider&#x60; catalogs are keyed by provider id rather than by IP range, so no MMDB exists for them.
161
161
  # @param [Hash] opts the optional parameters
162
162
  # @return [nil]
163
163
  def download_database(id, format, opts = {})
@@ -168,7 +168,7 @@ module VPNDetection
168
168
  # Download
169
169
  # Answers &#x60;302&#x60; with a time-limited URL pointing straight at object storage. Follow the redirect; the link authorizes the START of a transfer, so one already running is not interrupted when it lapses.
170
170
  # @param id [String] Dataset id, e.g. vpn_ip_extended_v1
171
- # @param format [DatabaseFormat] Not every database is built in every format. The &#x60;_provider&#x60; catalogues are keyed by provider id rather than by IP range, so no MMDB exists for them.
171
+ # @param format [DatabaseFormat] Not every database is built in every format. The &#x60;_provider&#x60; catalogs are keyed by provider id rather than by IP range, so no MMDB exists for them.
172
172
  # @param [Hash] opts the optional parameters
173
173
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
174
174
  def download_database_with_http_info(id, format, opts = {})
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -77,7 +77,7 @@ module VPNDetection
77
77
  end
78
78
 
79
79
  # Members
80
- # Read-only. Adding or removing a member is an invitation flow with email in the middle rather than a POST, and modelling it as one here would promise something this API does not do.
80
+ # Read-only. Adding or removing a member is an invitation flow with email in the middle rather than a POST, and modeling it as one here would promise something this API does not do.
81
81
  # @param [Hash] opts the optional parameters
82
82
  # @return [AccountRc]
83
83
  def account_org_members(opts = {})
@@ -86,7 +86,7 @@ module VPNDetection
86
86
  end
87
87
 
88
88
  # Members
89
- # Read-only. Adding or removing a member is an invitation flow with email in the middle rather than a POST, and modelling it as one here would promise something this API does not do.
89
+ # Read-only. Adding or removing a member is an invitation flow with email in the middle rather than a POST, and modeling it as one here would promise something this API does not do.
90
90
  # @param [Hash] opts the optional parameters
91
91
  # @return [Array<(AccountRc, Integer, Hash)>] AccountRc data, response status code and response headers
92
92
  def account_org_members_with_http_info(opts = {})
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module VPNDetection
17
17
  class AccountCreateApikeyRequest < ApiModelBase
18
- # A label you will recognise later. Shown wherever the key is listed.
18
+ # A label you will recognize later. Shown wherever the key is listed.
19
19
  attr_accessor :name
20
20
 
21
21
  # What the new key may do. Omit for a key that carries no named scope, which is the safe default.
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -20,7 +20,7 @@ module VPNDetection
20
20
 
21
21
  attr_accessor :name
22
22
 
23
- # The leading, non-secret part, so a key is recognisable without storing it.
23
+ # The leading, non-secret part, so a key is recognizable without storing it.
24
24
  attr_accessor :key_prefix
25
25
 
26
26
  attr_accessor :created
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
5
5
 
6
- The version of the OpenAPI document: 2026.10.09
6
+ The version of the OpenAPI document: 2026.10.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0