vpndetection 5.0.0 → 5.2.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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -4
  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 +19 -17
  6. data/lib/vpndetection/api/database_wire_api.rb +7 -3
  7. data/lib/vpndetection/api/entitlement_wire_api.rb +1 -1
  8. data/lib/vpndetection/api/lookup_wire_api.rb +69 -1
  9. data/lib/vpndetection/api/organization_wire_api.rb +1 -1
  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/client.rb +77 -30
  14. data/lib/vpndetection/configuration.rb +1 -1
  15. data/lib/vpndetection/database_api.rb +18 -10
  16. data/lib/vpndetection/errors.rb +61 -13
  17. data/lib/vpndetection/models/account_create_apikey_request.rb +1 -1
  18. data/lib/vpndetection/models/account_created_apikey.rb +1 -1
  19. data/lib/vpndetection/models/account_org.rb +1 -1
  20. data/lib/vpndetection/models/account_org_ref.rb +1 -1
  21. data/lib/vpndetection/models/account_org_wrap.rb +1 -1
  22. data/lib/vpndetection/models/account_rc.rb +1 -1
  23. data/lib/vpndetection/models/account_revealed_apikey.rb +1 -1
  24. data/lib/vpndetection/models/account_user.rb +1 -1
  25. data/lib/vpndetection/models/apikey_detail.rb +1 -1
  26. data/lib/vpndetection/models/apikey_list.rb +1 -1
  27. data/lib/vpndetection/models/batch_lookup_error.rb +193 -0
  28. data/lib/vpndetection/models/batch_lookup_request.rb +185 -0
  29. data/lib/vpndetection/models/batch_lookup_response.rb +196 -0
  30. data/lib/vpndetection/models/class_detail.rb +1 -1
  31. data/lib/vpndetection/models/database.rb +1 -1
  32. data/lib/vpndetection/models/database_checksums_response.rb +1 -1
  33. data/lib/vpndetection/models/database_format.rb +1 -1
  34. data/lib/vpndetection/models/database_format_size.rb +1 -1
  35. data/lib/vpndetection/models/database_list.rb +1 -1
  36. data/lib/vpndetection/models/database_metadata.rb +1 -1
  37. data/lib/vpndetection/models/database_metadata_column.rb +1 -1
  38. data/lib/vpndetection/models/database_version.rb +1 -1
  39. data/lib/vpndetection/models/db_checksums.rb +1 -1
  40. data/lib/vpndetection/models/device_authorization.rb +2 -1
  41. data/lib/vpndetection/models/download.rb +1 -1
  42. data/lib/vpndetection/models/download_list.rb +1 -1
  43. data/lib/vpndetection/models/entitlement.rb +1 -1
  44. data/lib/vpndetection/models/entitlement_apikey.rb +1 -1
  45. data/lib/vpndetection/models/entitlement_error.rb +1 -1
  46. data/lib/vpndetection/models/entitlement_plan.rb +1 -1
  47. data/lib/vpndetection/models/entitlement_usage.rb +1 -1
  48. data/lib/vpndetection/models/error_envelope.rb +1 -1
  49. data/lib/vpndetection/models/identity.rb +1 -1
  50. data/lib/vpndetection/models/lookup_error.rb +1 -1
  51. data/lib/vpndetection/models/lookup_response.rb +1 -1
  52. data/lib/vpndetection/models/oauth_error.rb +1 -1
  53. data/lib/vpndetection/models/oauth_metadata.rb +30 -9
  54. data/lib/vpndetection/models/proxy_detail.rb +1 -1
  55. data/lib/vpndetection/models/standing.rb +1 -1
  56. data/lib/vpndetection/models/token_response.rb +28 -5
  57. data/lib/vpndetection/models/vpn_detail.rb +1 -1
  58. data/lib/vpndetection/oauth_api.rb +166 -0
  59. data/lib/vpndetection/retries.rb +4 -2
  60. data/lib/vpndetection/transport.rb +80 -4
  61. data/lib/vpndetection/version.rb +1 -1
  62. data/lib/vpndetection.rb +1 -0
  63. metadata +5 -1
@@ -0,0 +1,196 @@
1
+ =begin
2
+ #VPNDetection API
3
+
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
+
6
+ The version of the OpenAPI document: 2026.09.16
7
+ Contact: support@vpndetection.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module VPNDetection
17
+ class BatchLookupResponse < ApiModelBase
18
+ # One answer per input string that was classified, keyed by the string as you sent it; the `ip` inside is the normalized form. Each value is exactly what `GET /{ip}` answers for your plan.
19
+ attr_accessor :results
20
+
21
+ # One entry per input string that could not be classified, keyed the same way. Empty when every entry was answered.
22
+ attr_accessor :errors
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'results' => :'results',
28
+ :'errors' => :'errors'
29
+ }
30
+ end
31
+
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ acceptable_attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'results' => :'Hash<String, LookupResponse>',
46
+ :'errors' => :'Hash<String, BatchLookupError>'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VPNDetection::BatchLookupResponse` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VPNDetection::BatchLookupResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'results')
73
+ if (value = attributes[:'results']).is_a?(Hash)
74
+ self.results = value
75
+ end
76
+ else
77
+ self.results = nil
78
+ end
79
+
80
+ if attributes.key?(:'errors')
81
+ if (value = attributes[:'errors']).is_a?(Hash)
82
+ self.errors = value
83
+ end
84
+ else
85
+ self.errors = nil
86
+ end
87
+ end
88
+
89
+ # Show invalid properties with the reasons. Usually used together with valid?
90
+ # @return Array for valid properties with the reasons
91
+ def list_invalid_properties
92
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
93
+ invalid_properties = Array.new
94
+ if @results.nil?
95
+ invalid_properties.push('invalid value for "results", results cannot be nil.')
96
+ end
97
+
98
+ if @errors.nil?
99
+ invalid_properties.push('invalid value for "errors", errors cannot be nil.')
100
+ end
101
+
102
+ invalid_properties
103
+ end
104
+
105
+ # Check to see if the all the properties in the model are valid
106
+ # @return true if the model is valid
107
+ def valid?
108
+ warn '[DEPRECATED] the `valid?` method is obsolete'
109
+ return false if @results.nil?
110
+ return false if @errors.nil?
111
+ true
112
+ end
113
+
114
+ # Custom attribute writer method with validation
115
+ # @param [Object] results Value to be assigned
116
+ def results=(results)
117
+ if results.nil?
118
+ fail ArgumentError, 'results cannot be nil'
119
+ end
120
+
121
+ @results = results
122
+ end
123
+
124
+ # Custom attribute writer method with validation
125
+ # @param [Object] errors Value to be assigned
126
+ def errors=(errors)
127
+ if errors.nil?
128
+ fail ArgumentError, 'errors cannot be nil'
129
+ end
130
+
131
+ @errors = errors
132
+ end
133
+
134
+ # Checks equality by comparing each attribute.
135
+ # @param [Object] Object to be compared
136
+ def ==(o)
137
+ return true if self.equal?(o)
138
+ self.class == o.class &&
139
+ results == o.results &&
140
+ errors == o.errors
141
+ end
142
+
143
+ # @see the `==` method
144
+ # @param [Object] Object to be compared
145
+ def eql?(o)
146
+ self == o
147
+ end
148
+
149
+ # Calculates hash code according to all attributes.
150
+ # @return [Integer] Hash code
151
+ def hash
152
+ [results, errors].hash
153
+ end
154
+
155
+ # Builds the object from hash
156
+ # @param [Hash] attributes Model attributes in the form of hash
157
+ # @return [Object] Returns the model itself
158
+ def self.build_from_hash(attributes)
159
+ return nil unless attributes.is_a?(Hash)
160
+ attributes = attributes.transform_keys(&:to_sym)
161
+ transformed_hash = {}
162
+ openapi_types.each_pair do |key, type|
163
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
164
+ transformed_hash["#{key}"] = nil
165
+ elsif type =~ /\AArray<(.*)>/i
166
+ # check to ensure the input is an array given that the attribute
167
+ # is documented as an array but the input is not
168
+ if attributes[attribute_map[key]].is_a?(Array)
169
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
170
+ end
171
+ elsif !attributes[attribute_map[key]].nil?
172
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
173
+ end
174
+ end
175
+ new(transformed_hash)
176
+ end
177
+
178
+ # Returns the object in the form of hash
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_hash
181
+ hash = {}
182
+ self.class.attribute_map.each_pair do |attr, param|
183
+ value = self.send(attr)
184
+ if value.nil?
185
+ is_nullable = self.class.openapi_nullable.include?(attr)
186
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
187
+ end
188
+
189
+ hash[param] = _to_hash(value)
190
+ end
191
+ hash
192
+ end
193
+
194
+ end
195
+
196
+ end
@@ -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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -26,6 +26,7 @@ module VPNDetection
26
26
  # The same page with the code already filled in.
27
27
  attr_accessor :verification_uri_complete
28
28
 
29
+ # Seconds until both codes expire.
29
30
  attr_accessor :expires_in
30
31
 
31
32
  # Seconds between polls.
@@ -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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -33,8 +33,13 @@ module VPNDetection
33
33
 
34
34
  attr_accessor :code_challenge_methods_supported
35
35
 
36
- # A client_id may be an https URL serving your client metadata.
37
- attr_accessor :client_id_metadata_document_supported
36
+ # Always `none`. Every client is public and has no secret.
37
+ attr_accessor :token_endpoint_auth_methods_supported
38
+
39
+ # RFC 9207. A redirect back from the authorization endpoint carries `iss`.
40
+ attr_accessor :authorization_response_iss_parameter_supported
41
+
42
+ attr_accessor :service_documentation
38
43
 
39
44
  # Attribute mapping from ruby-style variable name to JSON key.
40
45
  def self.attribute_map
@@ -48,7 +53,9 @@ module VPNDetection
48
53
  :'response_types_supported' => :'response_types_supported',
49
54
  :'grant_types_supported' => :'grant_types_supported',
50
55
  :'code_challenge_methods_supported' => :'code_challenge_methods_supported',
51
- :'client_id_metadata_document_supported' => :'client_id_metadata_document_supported'
56
+ :'token_endpoint_auth_methods_supported' => :'token_endpoint_auth_methods_supported',
57
+ :'authorization_response_iss_parameter_supported' => :'authorization_response_iss_parameter_supported',
58
+ :'service_documentation' => :'service_documentation'
52
59
  }
53
60
  end
54
61
 
@@ -74,7 +81,9 @@ module VPNDetection
74
81
  :'response_types_supported' => :'Array<String>',
75
82
  :'grant_types_supported' => :'Array<String>',
76
83
  :'code_challenge_methods_supported' => :'Array<String>',
77
- :'client_id_metadata_document_supported' => :'Boolean'
84
+ :'token_endpoint_auth_methods_supported' => :'Array<String>',
85
+ :'authorization_response_iss_parameter_supported' => :'Boolean',
86
+ :'service_documentation' => :'String'
78
87
  }
79
88
  end
80
89
 
@@ -150,8 +159,18 @@ module VPNDetection
150
159
  end
151
160
  end
152
161
 
153
- if attributes.key?(:'client_id_metadata_document_supported')
154
- self.client_id_metadata_document_supported = attributes[:'client_id_metadata_document_supported']
162
+ if attributes.key?(:'token_endpoint_auth_methods_supported')
163
+ if (value = attributes[:'token_endpoint_auth_methods_supported']).is_a?(Array)
164
+ self.token_endpoint_auth_methods_supported = value
165
+ end
166
+ end
167
+
168
+ if attributes.key?(:'authorization_response_iss_parameter_supported')
169
+ self.authorization_response_iss_parameter_supported = attributes[:'authorization_response_iss_parameter_supported']
170
+ end
171
+
172
+ if attributes.key?(:'service_documentation')
173
+ self.service_documentation = attributes[:'service_documentation']
155
174
  end
156
175
  end
157
176
 
@@ -229,7 +248,9 @@ module VPNDetection
229
248
  response_types_supported == o.response_types_supported &&
230
249
  grant_types_supported == o.grant_types_supported &&
231
250
  code_challenge_methods_supported == o.code_challenge_methods_supported &&
232
- client_id_metadata_document_supported == o.client_id_metadata_document_supported
251
+ token_endpoint_auth_methods_supported == o.token_endpoint_auth_methods_supported &&
252
+ authorization_response_iss_parameter_supported == o.authorization_response_iss_parameter_supported &&
253
+ service_documentation == o.service_documentation
233
254
  end
234
255
 
235
256
  # @see the `==` method
@@ -241,7 +262,7 @@ module VPNDetection
241
262
  # Calculates hash code according to all attributes.
242
263
  # @return [Integer] Hash code
243
264
  def hash
244
- [issuer, authorization_endpoint, token_endpoint, device_authorization_endpoint, revocation_endpoint, scopes_supported, response_types_supported, grant_types_supported, code_challenge_methods_supported, client_id_metadata_document_supported].hash
265
+ [issuer, authorization_endpoint, token_endpoint, device_authorization_endpoint, revocation_endpoint, scopes_supported, response_types_supported, grant_types_supported, code_challenge_methods_supported, token_endpoint_auth_methods_supported, authorization_response_iss_parameter_supported, service_documentation].hash
245
266
  end
246
267
 
247
268
  # Builds the object from hash
@@ -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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.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.09.15
6
+ The version of the OpenAPI document: 2026.09.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -17,15 +17,24 @@ module VPNDetection
17
17
  class TokenResponse < ApiModelBase
18
18
  attr_accessor :access_token
19
19
 
20
+ # Always `Bearer`.
20
21
  attr_accessor :token_type
21
22
 
23
+ # Seconds until the access token expires.
22
24
  attr_accessor :expires_in
23
25
 
26
+ # Always returned. A refresh consumes the token it presents, so keep this one.
24
27
  attr_accessor :refresh_token
25
28
 
26
29
  # What was actually granted, which may be narrower than what was asked for.
27
30
  attr_accessor :scope
28
31
 
32
+ # Not part of OAuth. The ID of the API key the person picked when they approved, returned by every grant while this authorization may still read that key back. Absent when no key was picked, or when the person's role no longer allows reading keys back.
33
+ attr_accessor :apikey_id
34
+
35
+ # Not part of OAuth. The API key itself, so a device ends up holding an ordinary key. Returned by the device code and authorization code grants only, never by a refresh, and only alongside `mslm:apikey_id`. Absent when that key's secret cannot be read back, which is the case for a key created before keys could be shown again in the console; a rotated key can be.
36
+ attr_accessor :apikey
37
+
29
38
  # Attribute mapping from ruby-style variable name to JSON key.
30
39
  def self.attribute_map
31
40
  {
@@ -33,7 +42,9 @@ module VPNDetection
33
42
  :'token_type' => :'token_type',
34
43
  :'expires_in' => :'expires_in',
35
44
  :'refresh_token' => :'refresh_token',
36
- :'scope' => :'scope'
45
+ :'scope' => :'scope',
46
+ :'apikey_id' => :'mslm:apikey_id',
47
+ :'apikey' => :'mslm:apikey'
37
48
  }
38
49
  end
39
50
 
@@ -54,7 +65,9 @@ module VPNDetection
54
65
  :'token_type' => :'String',
55
66
  :'expires_in' => :'Integer',
56
67
  :'refresh_token' => :'String',
57
- :'scope' => :'String'
68
+ :'scope' => :'String',
69
+ :'apikey_id' => :'String',
70
+ :'apikey' => :'String'
58
71
  }
59
72
  end
60
73
 
@@ -105,6 +118,14 @@ module VPNDetection
105
118
  if attributes.key?(:'scope')
106
119
  self.scope = attributes[:'scope']
107
120
  end
121
+
122
+ if attributes.key?(:'apikey_id')
123
+ self.apikey_id = attributes[:'apikey_id']
124
+ end
125
+
126
+ if attributes.key?(:'apikey')
127
+ self.apikey = attributes[:'apikey']
128
+ end
108
129
  end
109
130
 
110
131
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -176,7 +197,9 @@ module VPNDetection
176
197
  token_type == o.token_type &&
177
198
  expires_in == o.expires_in &&
178
199
  refresh_token == o.refresh_token &&
179
- scope == o.scope
200
+ scope == o.scope &&
201
+ apikey_id == o.apikey_id &&
202
+ apikey == o.apikey
180
203
  end
181
204
 
182
205
  # @see the `==` method
@@ -188,7 +211,7 @@ module VPNDetection
188
211
  # Calculates hash code according to all attributes.
189
212
  # @return [Integer] Hash code
190
213
  def hash
191
- [access_token, token_type, expires_in, refresh_token, scope].hash
214
+ [access_token, token_type, expires_in, refresh_token, scope, apikey_id, apikey].hash
192
215
  end
193
216
 
194
217
  # Builds the object from hash
@@ -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.09.15
6
+ The version of the OpenAPI document: 2026.09.16
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0