mailsafepro 1.0.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 (159) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +256 -0
  5. data/Rakefile +10 -0
  6. data/docs/APIKeyCreateRequest.md +20 -0
  7. data/docs/APIKeyListResponse.md +22 -0
  8. data/docs/APIKeyMeta.md +34 -0
  9. data/docs/APIKeysApi.md +1241 -0
  10. data/docs/AuthenticationApi.md +1171 -0
  11. data/docs/BatchEmailResponse.md +28 -0
  12. data/docs/BatchValidationRequest.md +26 -0
  13. data/docs/BillingApi.md +689 -0
  14. data/docs/BodyChangePlanBillingBillingChangePlanPost.md +18 -0
  15. data/docs/CheckoutRequest.md +18 -0
  16. data/docs/CheckoutSessionResponse.md +18 -0
  17. data/docs/DNSInfo.md +26 -0
  18. data/docs/DNSRecordDKIM.md +26 -0
  19. data/docs/DNSRecordDMARC.md +24 -0
  20. data/docs/DNSRecordSPF.md +24 -0
  21. data/docs/DefaultApi.md +141 -0
  22. data/docs/DeveloperToolsApi.md +154 -0
  23. data/docs/EmailResponse.md +46 -0
  24. data/docs/EmailValidationApi.md +479 -0
  25. data/docs/EmailValidationRequest.md +26 -0
  26. data/docs/HTTPValidationError.md +18 -0
  27. data/docs/HealthApi.md +937 -0
  28. data/docs/JobCreateRequest.md +32 -0
  29. data/docs/JobCreateResponse.md +22 -0
  30. data/docs/JobResultEntry.md +34 -0
  31. data/docs/JobResultsPage.md +26 -0
  32. data/docs/JobStatusResponse.md +28 -0
  33. data/docs/JobsApi.md +433 -0
  34. data/docs/KeyRotationRequest.md +22 -0
  35. data/docs/LogsApi.md +154 -0
  36. data/docs/PlanEnum.md +15 -0
  37. data/docs/PriorityEnum.md +15 -0
  38. data/docs/RegisterEndpoint.md +18 -0
  39. data/docs/ResponseTestNotificationBillingBillingTestNotificationPostValue.md +15 -0
  40. data/docs/RiskLevelEnum.md +15 -0
  41. data/docs/RotateSecret.md +18 -0
  42. data/docs/SMTPInfo.md +26 -0
  43. data/docs/SubscriptionResponse.md +24 -0
  44. data/docs/UserLogin.md +20 -0
  45. data/docs/UserRegister.md +22 -0
  46. data/docs/ValidationApi.md +479 -0
  47. data/docs/ValidationError.md +22 -0
  48. data/docs/ValidationErrorLocInner.md +15 -0
  49. data/docs/WebhookCreate.md +24 -0
  50. data/docs/WebhookResponse.md +22 -0
  51. data/docs/WebhookUpdate.md +24 -0
  52. data/docs/WebhooksApi.md +776 -0
  53. data/docs/WebhooksManagementApi.md +500 -0
  54. data/git_push.sh +57 -0
  55. data/lib/mailsafepro/api/api_keys_api.rb +1148 -0
  56. data/lib/mailsafepro/api/authentication_api.rb +1114 -0
  57. data/lib/mailsafepro/api/billing_api.rb +670 -0
  58. data/lib/mailsafepro/api/default_api.rb +149 -0
  59. data/lib/mailsafepro/api/developer_tools_api.rb +155 -0
  60. data/lib/mailsafepro/api/email_validation_api.rb +486 -0
  61. data/lib/mailsafepro/api/health_api.rb +877 -0
  62. data/lib/mailsafepro/api/jobs_api.rb +452 -0
  63. data/lib/mailsafepro/api/logs_api.rb +155 -0
  64. data/lib/mailsafepro/api/validation_api.rb +486 -0
  65. data/lib/mailsafepro/api/webhooks_api.rb +768 -0
  66. data/lib/mailsafepro/api/webhooks_management_api.rb +480 -0
  67. data/lib/mailsafepro/api_client.rb +397 -0
  68. data/lib/mailsafepro/api_error.rb +58 -0
  69. data/lib/mailsafepro/api_model_base.rb +88 -0
  70. data/lib/mailsafepro/configuration.rb +316 -0
  71. data/lib/mailsafepro/models/api_key_create_request.rb +185 -0
  72. data/lib/mailsafepro/models/api_key_list_response.rb +240 -0
  73. data/lib/mailsafepro/models/api_key_meta.rb +338 -0
  74. data/lib/mailsafepro/models/batch_email_response.rb +348 -0
  75. data/lib/mailsafepro/models/batch_validation_request.rb +290 -0
  76. data/lib/mailsafepro/models/body_change_plan_billing_billing_change_plan_post.rb +164 -0
  77. data/lib/mailsafepro/models/checkout_request.rb +166 -0
  78. data/lib/mailsafepro/models/checkout_session_response.rb +165 -0
  79. data/lib/mailsafepro/models/dns_info.rb +193 -0
  80. data/lib/mailsafepro/models/dns_record_dkim.rb +189 -0
  81. data/lib/mailsafepro/models/dns_record_dmarc.rb +179 -0
  82. data/lib/mailsafepro/models/dns_record_spf.rb +179 -0
  83. data/lib/mailsafepro/models/email_response.rb +454 -0
  84. data/lib/mailsafepro/models/email_validation_request.rb +252 -0
  85. data/lib/mailsafepro/models/http_validation_error.rb +149 -0
  86. data/lib/mailsafepro/models/job_create_request.rb +251 -0
  87. data/lib/mailsafepro/models/job_create_response.rb +216 -0
  88. data/lib/mailsafepro/models/job_result_entry.rb +257 -0
  89. data/lib/mailsafepro/models/job_results_page.rb +270 -0
  90. data/lib/mailsafepro/models/job_status_response.rb +231 -0
  91. data/lib/mailsafepro/models/key_rotation_request.rb +269 -0
  92. data/lib/mailsafepro/models/plan_enum.rb +41 -0
  93. data/lib/mailsafepro/models/priority_enum.rb +41 -0
  94. data/lib/mailsafepro/models/register_endpoint.rb +173 -0
  95. data/lib/mailsafepro/models/response_test_notification_billing_billing_test_notification_post_value.rb +103 -0
  96. data/lib/mailsafepro/models/risk_level_enum.rb +42 -0
  97. data/lib/mailsafepro/models/rotate_secret.rb +164 -0
  98. data/lib/mailsafepro/models/smtp_info.rb +206 -0
  99. data/lib/mailsafepro/models/subscription_response.rb +196 -0
  100. data/lib/mailsafepro/models/user_login.rb +211 -0
  101. data/lib/mailsafepro/models/user_register.rb +243 -0
  102. data/lib/mailsafepro/models/validation_error.rb +218 -0
  103. data/lib/mailsafepro/models/validation_error_loc_inner.rb +103 -0
  104. data/lib/mailsafepro/models/webhook_create.rb +213 -0
  105. data/lib/mailsafepro/models/webhook_response.rb +185 -0
  106. data/lib/mailsafepro/models/webhook_update.rb +204 -0
  107. data/lib/mailsafepro/version.rb +15 -0
  108. data/lib/mailsafepro.rb +88 -0
  109. data/mailsafepro.gemspec +39 -0
  110. data/spec/api/api_keys_api_spec.rb +245 -0
  111. data/spec/api/authentication_api_spec.rb +239 -0
  112. data/spec/api/billing_api_spec.rb +155 -0
  113. data/spec/api/default_api_spec.rb +60 -0
  114. data/spec/api/developer_tools_api_spec.rb +62 -0
  115. data/spec/api/email_validation_api_spec.rb +125 -0
  116. data/spec/api/health_api_spec.rb +200 -0
  117. data/spec/api/jobs_api_spec.rb +119 -0
  118. data/spec/api/logs_api_spec.rb +62 -0
  119. data/spec/api/validation_api_spec.rb +125 -0
  120. data/spec/api/webhooks_api_spec.rb +172 -0
  121. data/spec/api/webhooks_management_api_spec.rb +120 -0
  122. data/spec/models/api_key_create_request_spec.rb +42 -0
  123. data/spec/models/api_key_list_response_spec.rb +48 -0
  124. data/spec/models/api_key_meta_spec.rb +84 -0
  125. data/spec/models/batch_email_response_spec.rb +66 -0
  126. data/spec/models/batch_validation_request_spec.rb +60 -0
  127. data/spec/models/body_change_plan_billing_billing_change_plan_post_spec.rb +36 -0
  128. data/spec/models/checkout_request_spec.rb +36 -0
  129. data/spec/models/checkout_session_response_spec.rb +36 -0
  130. data/spec/models/dns_info_spec.rb +60 -0
  131. data/spec/models/dns_record_dkim_spec.rb +60 -0
  132. data/spec/models/dns_record_dmarc_spec.rb +54 -0
  133. data/spec/models/dns_record_spf_spec.rb +54 -0
  134. data/spec/models/email_response_spec.rb +120 -0
  135. data/spec/models/email_validation_request_spec.rb +60 -0
  136. data/spec/models/http_validation_error_spec.rb +36 -0
  137. data/spec/models/job_create_request_spec.rb +78 -0
  138. data/spec/models/job_create_response_spec.rb +48 -0
  139. data/spec/models/job_result_entry_spec.rb +84 -0
  140. data/spec/models/job_results_page_spec.rb +60 -0
  141. data/spec/models/job_status_response_spec.rb +66 -0
  142. data/spec/models/key_rotation_request_spec.rb +48 -0
  143. data/spec/models/plan_enum_spec.rb +30 -0
  144. data/spec/models/priority_enum_spec.rb +30 -0
  145. data/spec/models/register_endpoint_spec.rb +36 -0
  146. data/spec/models/response_test_notification_billing_billing_test_notification_post_value_spec.rb +21 -0
  147. data/spec/models/risk_level_enum_spec.rb +30 -0
  148. data/spec/models/rotate_secret_spec.rb +36 -0
  149. data/spec/models/smtp_info_spec.rb +60 -0
  150. data/spec/models/subscription_response_spec.rb +54 -0
  151. data/spec/models/user_login_spec.rb +42 -0
  152. data/spec/models/user_register_spec.rb +48 -0
  153. data/spec/models/validation_error_loc_inner_spec.rb +21 -0
  154. data/spec/models/validation_error_spec.rb +48 -0
  155. data/spec/models/webhook_create_spec.rb +54 -0
  156. data/spec/models/webhook_response_spec.rb +48 -0
  157. data/spec/models/webhook_update_spec.rb +54 -0
  158. data/spec/spec_helper.rb +111 -0
  159. metadata +291 -0
@@ -0,0 +1,1148 @@
1
+ =begin
2
+ #Email Validation API — Enterprise-grade Email Verification
3
+
4
+ #API robusta y segura para validación y verificación de correos electrónicos. Soporta verificación individual y en lote, detección de brechas, y autenticación JWT. Cumple con GDPR y dispone de planes de pago flexibles. **🔗 Enlaces importantes:** - [Estado del sistema](https://mailsafepro.betteruptime.com) - [Documentación completa](https://email-validation-api-jlra.onrender.com/redoc) **📧 Contacto:** mailsafepro1@gmail.com
5
+
6
+ The version of the OpenAPI document: 2.5.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.18.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module MailSafePro
16
+ class APIKeysApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create Api Key
23
+ # Create a new API key with atomic transaction. Generates cryptographically secure API keys with proper scoping based on user's current plan. Enforces maximum key limits.
24
+ # @param api_key_create_request [APIKeyCreateRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Object]
27
+ def create_api_key_api_keys_post(api_key_create_request, opts = {})
28
+ data, _status_code, _headers = create_api_key_api_keys_post_with_http_info(api_key_create_request, opts)
29
+ data
30
+ end
31
+
32
+ # Create Api Key
33
+ # Create a new API key with atomic transaction. Generates cryptographically secure API keys with proper scoping based on user's current plan. Enforces maximum key limits.
34
+ # @param api_key_create_request [APIKeyCreateRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
37
+ def create_api_key_api_keys_post_with_http_info(api_key_create_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.create_api_key_api_keys_post ...'
40
+ end
41
+ # verify the required parameter 'api_key_create_request' is set
42
+ if @api_client.config.client_side_validation && api_key_create_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'api_key_create_request' when calling APIKeysApi.create_api_key_api_keys_post"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api-keys'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(api_key_create_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'Object'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['Bearer']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"APIKeysApi.create_api_key_api_keys_post",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: APIKeysApi#create_api_key_api_keys_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Create Api Key
91
+ # Create a new API key with atomic transaction. Generates cryptographically secure API keys with proper scoping based on user's current plan. Enforces maximum key limits.
92
+ # @param api_key_create_request [APIKeyCreateRequest]
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [Object]
95
+ def create_api_key_api_keys_post_0(api_key_create_request, opts = {})
96
+ data, _status_code, _headers = create_api_key_api_keys_post_0_with_http_info(api_key_create_request, opts)
97
+ data
98
+ end
99
+
100
+ # Create Api Key
101
+ # Create a new API key with atomic transaction. Generates cryptographically secure API keys with proper scoping based on user&#39;s current plan. Enforces maximum key limits.
102
+ # @param api_key_create_request [APIKeyCreateRequest]
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
105
+ def create_api_key_api_keys_post_0_with_http_info(api_key_create_request, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.create_api_key_api_keys_post_0 ...'
108
+ end
109
+ # verify the required parameter 'api_key_create_request' is set
110
+ if @api_client.config.client_side_validation && api_key_create_request.nil?
111
+ fail ArgumentError, "Missing the required parameter 'api_key_create_request' when calling APIKeysApi.create_api_key_api_keys_post_0"
112
+ end
113
+ # resource path
114
+ local_var_path = '/api-keys'
115
+
116
+ # query parameters
117
+ query_params = opts[:query_params] || {}
118
+
119
+ # header parameters
120
+ header_params = opts[:header_params] || {}
121
+ # HTTP header 'Accept' (if needed)
122
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
123
+ # HTTP header 'Content-Type'
124
+ content_type = @api_client.select_header_content_type(['application/json'])
125
+ if !content_type.nil?
126
+ header_params['Content-Type'] = content_type
127
+ end
128
+
129
+ # form parameters
130
+ form_params = opts[:form_params] || {}
131
+
132
+ # http body (model)
133
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(api_key_create_request)
134
+
135
+ # return_type
136
+ return_type = opts[:debug_return_type] || 'Object'
137
+
138
+ # auth_names
139
+ auth_names = opts[:debug_auth_names] || ['Bearer']
140
+
141
+ new_options = opts.merge(
142
+ :operation => :"APIKeysApi.create_api_key_api_keys_post_0",
143
+ :header_params => header_params,
144
+ :query_params => query_params,
145
+ :form_params => form_params,
146
+ :body => post_body,
147
+ :auth_names => auth_names,
148
+ :return_type => return_type
149
+ )
150
+
151
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
152
+ if @api_client.config.debugging
153
+ @api_client.config.logger.debug "API called: APIKeysApi#create_api_key_api_keys_post_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
154
+ end
155
+ return data, status_code, headers
156
+ end
157
+
158
+ # Force Sync
159
+ # Force synchronization of user data with rate limiting. Synchronizes API keys with current plan and clears relevant caches. Limited to one sync per 5 minutes per user.
160
+ # @param [Hash] opts the optional parameters
161
+ # @return [Object]
162
+ def force_sync_api_keys_force_sync_post(opts = {})
163
+ data, _status_code, _headers = force_sync_api_keys_force_sync_post_with_http_info(opts)
164
+ data
165
+ end
166
+
167
+ # Force Sync
168
+ # Force synchronization of user data with rate limiting. Synchronizes API keys with current plan and clears relevant caches. Limited to one sync per 5 minutes per user.
169
+ # @param [Hash] opts the optional parameters
170
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
171
+ def force_sync_api_keys_force_sync_post_with_http_info(opts = {})
172
+ if @api_client.config.debugging
173
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.force_sync_api_keys_force_sync_post ...'
174
+ end
175
+ # resource path
176
+ local_var_path = '/api-keys/force-sync'
177
+
178
+ # query parameters
179
+ query_params = opts[:query_params] || {}
180
+
181
+ # header parameters
182
+ header_params = opts[:header_params] || {}
183
+ # HTTP header 'Accept' (if needed)
184
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
185
+
186
+ # form parameters
187
+ form_params = opts[:form_params] || {}
188
+
189
+ # http body (model)
190
+ post_body = opts[:debug_body]
191
+
192
+ # return_type
193
+ return_type = opts[:debug_return_type] || 'Object'
194
+
195
+ # auth_names
196
+ auth_names = opts[:debug_auth_names] || ['Bearer']
197
+
198
+ new_options = opts.merge(
199
+ :operation => :"APIKeysApi.force_sync_api_keys_force_sync_post",
200
+ :header_params => header_params,
201
+ :query_params => query_params,
202
+ :form_params => form_params,
203
+ :body => post_body,
204
+ :auth_names => auth_names,
205
+ :return_type => return_type
206
+ )
207
+
208
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
209
+ if @api_client.config.debugging
210
+ @api_client.config.logger.debug "API called: APIKeysApi#force_sync_api_keys_force_sync_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
211
+ end
212
+ return data, status_code, headers
213
+ end
214
+
215
+ # Force Sync
216
+ # Force synchronization of user data with rate limiting. Synchronizes API keys with current plan and clears relevant caches. Limited to one sync per 5 minutes per user.
217
+ # @param [Hash] opts the optional parameters
218
+ # @return [Object]
219
+ def force_sync_api_keys_force_sync_post_0(opts = {})
220
+ data, _status_code, _headers = force_sync_api_keys_force_sync_post_0_with_http_info(opts)
221
+ data
222
+ end
223
+
224
+ # Force Sync
225
+ # Force synchronization of user data with rate limiting. Synchronizes API keys with current plan and clears relevant caches. Limited to one sync per 5 minutes per user.
226
+ # @param [Hash] opts the optional parameters
227
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
228
+ def force_sync_api_keys_force_sync_post_0_with_http_info(opts = {})
229
+ if @api_client.config.debugging
230
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.force_sync_api_keys_force_sync_post_0 ...'
231
+ end
232
+ # resource path
233
+ local_var_path = '/api-keys/force-sync'
234
+
235
+ # query parameters
236
+ query_params = opts[:query_params] || {}
237
+
238
+ # header parameters
239
+ header_params = opts[:header_params] || {}
240
+ # HTTP header 'Accept' (if needed)
241
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
242
+
243
+ # form parameters
244
+ form_params = opts[:form_params] || {}
245
+
246
+ # http body (model)
247
+ post_body = opts[:debug_body]
248
+
249
+ # return_type
250
+ return_type = opts[:debug_return_type] || 'Object'
251
+
252
+ # auth_names
253
+ auth_names = opts[:debug_auth_names] || ['Bearer']
254
+
255
+ new_options = opts.merge(
256
+ :operation => :"APIKeysApi.force_sync_api_keys_force_sync_post_0",
257
+ :header_params => header_params,
258
+ :query_params => query_params,
259
+ :form_params => form_params,
260
+ :body => post_body,
261
+ :auth_names => auth_names,
262
+ :return_type => return_type
263
+ )
264
+
265
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
266
+ if @api_client.config.debugging
267
+ @api_client.config.logger.debug "API called: APIKeysApi#force_sync_api_keys_force_sync_post_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
268
+ end
269
+ return data, status_code, headers
270
+ end
271
+
272
+ # Get Api Key Value
273
+ # Retrieve API key metadata (security-safe). Returns key information without exposing the actual key value. Used for key management and verification purposes.
274
+ # @param key_hash [String]
275
+ # @param [Hash] opts the optional parameters
276
+ # @return [Object]
277
+ def get_api_key_value_api_keys_key_hash_value_get(key_hash, opts = {})
278
+ data, _status_code, _headers = get_api_key_value_api_keys_key_hash_value_get_with_http_info(key_hash, opts)
279
+ data
280
+ end
281
+
282
+ # Get Api Key Value
283
+ # Retrieve API key metadata (security-safe). Returns key information without exposing the actual key value. Used for key management and verification purposes.
284
+ # @param key_hash [String]
285
+ # @param [Hash] opts the optional parameters
286
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
287
+ def get_api_key_value_api_keys_key_hash_value_get_with_http_info(key_hash, opts = {})
288
+ if @api_client.config.debugging
289
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.get_api_key_value_api_keys_key_hash_value_get ...'
290
+ end
291
+ # verify the required parameter 'key_hash' is set
292
+ if @api_client.config.client_side_validation && key_hash.nil?
293
+ fail ArgumentError, "Missing the required parameter 'key_hash' when calling APIKeysApi.get_api_key_value_api_keys_key_hash_value_get"
294
+ end
295
+ pattern = Regexp.new(/^[a-f0-9]{64}$/)
296
+ if @api_client.config.client_side_validation && key_hash !~ pattern
297
+ fail ArgumentError, "invalid value for 'key_hash' when calling APIKeysApi.get_api_key_value_api_keys_key_hash_value_get, must conform to the pattern #{pattern}."
298
+ end
299
+
300
+ # resource path
301
+ local_var_path = '/api-keys/{key_hash}/value'.sub('{' + 'key_hash' + '}', CGI.escape(key_hash.to_s))
302
+
303
+ # query parameters
304
+ query_params = opts[:query_params] || {}
305
+
306
+ # header parameters
307
+ header_params = opts[:header_params] || {}
308
+ # HTTP header 'Accept' (if needed)
309
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
310
+
311
+ # form parameters
312
+ form_params = opts[:form_params] || {}
313
+
314
+ # http body (model)
315
+ post_body = opts[:debug_body]
316
+
317
+ # return_type
318
+ return_type = opts[:debug_return_type] || 'Object'
319
+
320
+ # auth_names
321
+ auth_names = opts[:debug_auth_names] || ['Bearer']
322
+
323
+ new_options = opts.merge(
324
+ :operation => :"APIKeysApi.get_api_key_value_api_keys_key_hash_value_get",
325
+ :header_params => header_params,
326
+ :query_params => query_params,
327
+ :form_params => form_params,
328
+ :body => post_body,
329
+ :auth_names => auth_names,
330
+ :return_type => return_type
331
+ )
332
+
333
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
334
+ if @api_client.config.debugging
335
+ @api_client.config.logger.debug "API called: APIKeysApi#get_api_key_value_api_keys_key_hash_value_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
336
+ end
337
+ return data, status_code, headers
338
+ end
339
+
340
+ # Get Api Key Value
341
+ # Retrieve API key metadata (security-safe). Returns key information without exposing the actual key value. Used for key management and verification purposes.
342
+ # @param key_hash [String]
343
+ # @param [Hash] opts the optional parameters
344
+ # @return [Object]
345
+ def get_api_key_value_api_keys_key_hash_value_get_0(key_hash, opts = {})
346
+ data, _status_code, _headers = get_api_key_value_api_keys_key_hash_value_get_0_with_http_info(key_hash, opts)
347
+ data
348
+ end
349
+
350
+ # Get Api Key Value
351
+ # Retrieve API key metadata (security-safe). Returns key information without exposing the actual key value. Used for key management and verification purposes.
352
+ # @param key_hash [String]
353
+ # @param [Hash] opts the optional parameters
354
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
355
+ def get_api_key_value_api_keys_key_hash_value_get_0_with_http_info(key_hash, opts = {})
356
+ if @api_client.config.debugging
357
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.get_api_key_value_api_keys_key_hash_value_get_0 ...'
358
+ end
359
+ # verify the required parameter 'key_hash' is set
360
+ if @api_client.config.client_side_validation && key_hash.nil?
361
+ fail ArgumentError, "Missing the required parameter 'key_hash' when calling APIKeysApi.get_api_key_value_api_keys_key_hash_value_get_0"
362
+ end
363
+ pattern = Regexp.new(/^[a-f0-9]{64}$/)
364
+ if @api_client.config.client_side_validation && key_hash !~ pattern
365
+ fail ArgumentError, "invalid value for 'key_hash' when calling APIKeysApi.get_api_key_value_api_keys_key_hash_value_get_0, must conform to the pattern #{pattern}."
366
+ end
367
+
368
+ # resource path
369
+ local_var_path = '/api-keys/{key_hash}/value'.sub('{' + 'key_hash' + '}', CGI.escape(key_hash.to_s))
370
+
371
+ # query parameters
372
+ query_params = opts[:query_params] || {}
373
+
374
+ # header parameters
375
+ header_params = opts[:header_params] || {}
376
+ # HTTP header 'Accept' (if needed)
377
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
378
+
379
+ # form parameters
380
+ form_params = opts[:form_params] || {}
381
+
382
+ # http body (model)
383
+ post_body = opts[:debug_body]
384
+
385
+ # return_type
386
+ return_type = opts[:debug_return_type] || 'Object'
387
+
388
+ # auth_names
389
+ auth_names = opts[:debug_auth_names] || ['Bearer']
390
+
391
+ new_options = opts.merge(
392
+ :operation => :"APIKeysApi.get_api_key_value_api_keys_key_hash_value_get_0",
393
+ :header_params => header_params,
394
+ :query_params => query_params,
395
+ :form_params => form_params,
396
+ :body => post_body,
397
+ :auth_names => auth_names,
398
+ :return_type => return_type
399
+ )
400
+
401
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
402
+ if @api_client.config.debugging
403
+ @api_client.config.logger.debug "API called: APIKeysApi#get_api_key_value_api_keys_key_hash_value_get_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
404
+ end
405
+ return data, status_code, headers
406
+ end
407
+
408
+ # Get Usage
409
+ # Get current API usage statistics. Returns usage count, limits, and remaining requests for today. Works with both API keys and JWT tokens.
410
+ # @param [Hash] opts the optional parameters
411
+ # @option opts [String] :x_api_key
412
+ # @option opts [String] :authorization
413
+ # @return [Object]
414
+ def get_usage_api_keys_usage_get(opts = {})
415
+ data, _status_code, _headers = get_usage_api_keys_usage_get_with_http_info(opts)
416
+ data
417
+ end
418
+
419
+ # Get Usage
420
+ # Get current API usage statistics. Returns usage count, limits, and remaining requests for today. Works with both API keys and JWT tokens.
421
+ # @param [Hash] opts the optional parameters
422
+ # @option opts [String] :x_api_key
423
+ # @option opts [String] :authorization
424
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
425
+ def get_usage_api_keys_usage_get_with_http_info(opts = {})
426
+ if @api_client.config.debugging
427
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.get_usage_api_keys_usage_get ...'
428
+ end
429
+ # resource path
430
+ local_var_path = '/api-keys/usage'
431
+
432
+ # query parameters
433
+ query_params = opts[:query_params] || {}
434
+
435
+ # header parameters
436
+ header_params = opts[:header_params] || {}
437
+ # HTTP header 'Accept' (if needed)
438
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
439
+ header_params[:'X-API-Key'] = opts[:'x_api_key'] if !opts[:'x_api_key'].nil?
440
+ header_params[:'authorization'] = opts[:'authorization'] if !opts[:'authorization'].nil?
441
+
442
+ # form parameters
443
+ form_params = opts[:form_params] || {}
444
+
445
+ # http body (model)
446
+ post_body = opts[:debug_body]
447
+
448
+ # return_type
449
+ return_type = opts[:debug_return_type] || 'Object'
450
+
451
+ # auth_names
452
+ auth_names = opts[:debug_auth_names] || []
453
+
454
+ new_options = opts.merge(
455
+ :operation => :"APIKeysApi.get_usage_api_keys_usage_get",
456
+ :header_params => header_params,
457
+ :query_params => query_params,
458
+ :form_params => form_params,
459
+ :body => post_body,
460
+ :auth_names => auth_names,
461
+ :return_type => return_type
462
+ )
463
+
464
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
465
+ if @api_client.config.debugging
466
+ @api_client.config.logger.debug "API called: APIKeysApi#get_usage_api_keys_usage_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
467
+ end
468
+ return data, status_code, headers
469
+ end
470
+
471
+ # Get Usage
472
+ # Get current API usage statistics. Returns usage count, limits, and remaining requests for today. Works with both API keys and JWT tokens.
473
+ # @param [Hash] opts the optional parameters
474
+ # @option opts [String] :x_api_key
475
+ # @option opts [String] :authorization
476
+ # @return [Object]
477
+ def get_usage_api_keys_usage_get_0(opts = {})
478
+ data, _status_code, _headers = get_usage_api_keys_usage_get_0_with_http_info(opts)
479
+ data
480
+ end
481
+
482
+ # Get Usage
483
+ # Get current API usage statistics. Returns usage count, limits, and remaining requests for today. Works with both API keys and JWT tokens.
484
+ # @param [Hash] opts the optional parameters
485
+ # @option opts [String] :x_api_key
486
+ # @option opts [String] :authorization
487
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
488
+ def get_usage_api_keys_usage_get_0_with_http_info(opts = {})
489
+ if @api_client.config.debugging
490
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.get_usage_api_keys_usage_get_0 ...'
491
+ end
492
+ # resource path
493
+ local_var_path = '/api-keys/usage'
494
+
495
+ # query parameters
496
+ query_params = opts[:query_params] || {}
497
+
498
+ # header parameters
499
+ header_params = opts[:header_params] || {}
500
+ # HTTP header 'Accept' (if needed)
501
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
502
+ header_params[:'X-API-Key'] = opts[:'x_api_key'] if !opts[:'x_api_key'].nil?
503
+ header_params[:'authorization'] = opts[:'authorization'] if !opts[:'authorization'].nil?
504
+
505
+ # form parameters
506
+ form_params = opts[:form_params] || {}
507
+
508
+ # http body (model)
509
+ post_body = opts[:debug_body]
510
+
511
+ # return_type
512
+ return_type = opts[:debug_return_type] || 'Object'
513
+
514
+ # auth_names
515
+ auth_names = opts[:debug_auth_names] || []
516
+
517
+ new_options = opts.merge(
518
+ :operation => :"APIKeysApi.get_usage_api_keys_usage_get_0",
519
+ :header_params => header_params,
520
+ :query_params => query_params,
521
+ :form_params => form_params,
522
+ :body => post_body,
523
+ :auth_names => auth_names,
524
+ :return_type => return_type
525
+ )
526
+
527
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
528
+ if @api_client.config.debugging
529
+ @api_client.config.logger.debug "API called: APIKeysApi#get_usage_api_keys_usage_get_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
530
+ end
531
+ return data, status_code, headers
532
+ end
533
+
534
+ # List Api Keys
535
+ # List all API keys for current user with consistent IDs. Returns comprehensive key metadata including status, scopes, and usage information. Handles corrupted key data gracefully.
536
+ # @param [Hash] opts the optional parameters
537
+ # @return [APIKeyListResponse]
538
+ def list_api_keys_api_keys_get(opts = {})
539
+ data, _status_code, _headers = list_api_keys_api_keys_get_with_http_info(opts)
540
+ data
541
+ end
542
+
543
+ # List Api Keys
544
+ # List all API keys for current user with consistent IDs. Returns comprehensive key metadata including status, scopes, and usage information. Handles corrupted key data gracefully.
545
+ # @param [Hash] opts the optional parameters
546
+ # @return [Array<(APIKeyListResponse, Integer, Hash)>] APIKeyListResponse data, response status code and response headers
547
+ def list_api_keys_api_keys_get_with_http_info(opts = {})
548
+ if @api_client.config.debugging
549
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.list_api_keys_api_keys_get ...'
550
+ end
551
+ # resource path
552
+ local_var_path = '/api-keys'
553
+
554
+ # query parameters
555
+ query_params = opts[:query_params] || {}
556
+
557
+ # header parameters
558
+ header_params = opts[:header_params] || {}
559
+ # HTTP header 'Accept' (if needed)
560
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
561
+
562
+ # form parameters
563
+ form_params = opts[:form_params] || {}
564
+
565
+ # http body (model)
566
+ post_body = opts[:debug_body]
567
+
568
+ # return_type
569
+ return_type = opts[:debug_return_type] || 'APIKeyListResponse'
570
+
571
+ # auth_names
572
+ auth_names = opts[:debug_auth_names] || ['Bearer']
573
+
574
+ new_options = opts.merge(
575
+ :operation => :"APIKeysApi.list_api_keys_api_keys_get",
576
+ :header_params => header_params,
577
+ :query_params => query_params,
578
+ :form_params => form_params,
579
+ :body => post_body,
580
+ :auth_names => auth_names,
581
+ :return_type => return_type
582
+ )
583
+
584
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
585
+ if @api_client.config.debugging
586
+ @api_client.config.logger.debug "API called: APIKeysApi#list_api_keys_api_keys_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
587
+ end
588
+ return data, status_code, headers
589
+ end
590
+
591
+ # List Api Keys
592
+ # List all API keys for current user with consistent IDs. Returns comprehensive key metadata including status, scopes, and usage information. Handles corrupted key data gracefully.
593
+ # @param [Hash] opts the optional parameters
594
+ # @return [APIKeyListResponse]
595
+ def list_api_keys_api_keys_get_0(opts = {})
596
+ data, _status_code, _headers = list_api_keys_api_keys_get_0_with_http_info(opts)
597
+ data
598
+ end
599
+
600
+ # List Api Keys
601
+ # List all API keys for current user with consistent IDs. Returns comprehensive key metadata including status, scopes, and usage information. Handles corrupted key data gracefully.
602
+ # @param [Hash] opts the optional parameters
603
+ # @return [Array<(APIKeyListResponse, Integer, Hash)>] APIKeyListResponse data, response status code and response headers
604
+ def list_api_keys_api_keys_get_0_with_http_info(opts = {})
605
+ if @api_client.config.debugging
606
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.list_api_keys_api_keys_get_0 ...'
607
+ end
608
+ # resource path
609
+ local_var_path = '/api-keys'
610
+
611
+ # query parameters
612
+ query_params = opts[:query_params] || {}
613
+
614
+ # header parameters
615
+ header_params = opts[:header_params] || {}
616
+ # HTTP header 'Accept' (if needed)
617
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
618
+
619
+ # form parameters
620
+ form_params = opts[:form_params] || {}
621
+
622
+ # http body (model)
623
+ post_body = opts[:debug_body]
624
+
625
+ # return_type
626
+ return_type = opts[:debug_return_type] || 'APIKeyListResponse'
627
+
628
+ # auth_names
629
+ auth_names = opts[:debug_auth_names] || ['Bearer']
630
+
631
+ new_options = opts.merge(
632
+ :operation => :"APIKeysApi.list_api_keys_api_keys_get_0",
633
+ :header_params => header_params,
634
+ :query_params => query_params,
635
+ :form_params => form_params,
636
+ :body => post_body,
637
+ :auth_names => auth_names,
638
+ :return_type => return_type
639
+ )
640
+
641
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
642
+ if @api_client.config.debugging
643
+ @api_client.config.logger.debug "API called: APIKeysApi#list_api_keys_api_keys_get_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
644
+ end
645
+ return data, status_code, headers
646
+ end
647
+
648
+ # Repair User Data Endpoint
649
+ # Emergency data repair endpoint - ADMINISTRATORS ONLY WARNING: Critical operation; relies on admin scope verification at runtime.
650
+ # @param [Hash] opts the optional parameters
651
+ # @return [Hash<String, String>]
652
+ def repair_user_data_endpoint_api_keys_repair_data_post(opts = {})
653
+ data, _status_code, _headers = repair_user_data_endpoint_api_keys_repair_data_post_with_http_info(opts)
654
+ data
655
+ end
656
+
657
+ # Repair User Data Endpoint
658
+ # Emergency data repair endpoint - ADMINISTRATORS ONLY WARNING: Critical operation; relies on admin scope verification at runtime.
659
+ # @param [Hash] opts the optional parameters
660
+ # @return [Array<(Hash<String, String>, Integer, Hash)>] Hash<String, String> data, response status code and response headers
661
+ def repair_user_data_endpoint_api_keys_repair_data_post_with_http_info(opts = {})
662
+ if @api_client.config.debugging
663
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.repair_user_data_endpoint_api_keys_repair_data_post ...'
664
+ end
665
+ # resource path
666
+ local_var_path = '/api-keys/repair-data'
667
+
668
+ # query parameters
669
+ query_params = opts[:query_params] || {}
670
+
671
+ # header parameters
672
+ header_params = opts[:header_params] || {}
673
+ # HTTP header 'Accept' (if needed)
674
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
675
+
676
+ # form parameters
677
+ form_params = opts[:form_params] || {}
678
+
679
+ # http body (model)
680
+ post_body = opts[:debug_body]
681
+
682
+ # return_type
683
+ return_type = opts[:debug_return_type] || 'Hash<String, String>'
684
+
685
+ # auth_names
686
+ auth_names = opts[:debug_auth_names] || ['Bearer']
687
+
688
+ new_options = opts.merge(
689
+ :operation => :"APIKeysApi.repair_user_data_endpoint_api_keys_repair_data_post",
690
+ :header_params => header_params,
691
+ :query_params => query_params,
692
+ :form_params => form_params,
693
+ :body => post_body,
694
+ :auth_names => auth_names,
695
+ :return_type => return_type
696
+ )
697
+
698
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
699
+ if @api_client.config.debugging
700
+ @api_client.config.logger.debug "API called: APIKeysApi#repair_user_data_endpoint_api_keys_repair_data_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
701
+ end
702
+ return data, status_code, headers
703
+ end
704
+
705
+ # Repair User Data Endpoint
706
+ # Emergency data repair endpoint - ADMINISTRATORS ONLY WARNING: Critical operation; relies on admin scope verification at runtime.
707
+ # @param [Hash] opts the optional parameters
708
+ # @return [Hash<String, String>]
709
+ def repair_user_data_endpoint_api_keys_repair_data_post_0(opts = {})
710
+ data, _status_code, _headers = repair_user_data_endpoint_api_keys_repair_data_post_0_with_http_info(opts)
711
+ data
712
+ end
713
+
714
+ # Repair User Data Endpoint
715
+ # Emergency data repair endpoint - ADMINISTRATORS ONLY WARNING: Critical operation; relies on admin scope verification at runtime.
716
+ # @param [Hash] opts the optional parameters
717
+ # @return [Array<(Hash<String, String>, Integer, Hash)>] Hash<String, String> data, response status code and response headers
718
+ def repair_user_data_endpoint_api_keys_repair_data_post_0_with_http_info(opts = {})
719
+ if @api_client.config.debugging
720
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.repair_user_data_endpoint_api_keys_repair_data_post_0 ...'
721
+ end
722
+ # resource path
723
+ local_var_path = '/api-keys/repair-data'
724
+
725
+ # query parameters
726
+ query_params = opts[:query_params] || {}
727
+
728
+ # header parameters
729
+ header_params = opts[:header_params] || {}
730
+ # HTTP header 'Accept' (if needed)
731
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
732
+
733
+ # form parameters
734
+ form_params = opts[:form_params] || {}
735
+
736
+ # http body (model)
737
+ post_body = opts[:debug_body]
738
+
739
+ # return_type
740
+ return_type = opts[:debug_return_type] || 'Hash<String, String>'
741
+
742
+ # auth_names
743
+ auth_names = opts[:debug_auth_names] || ['Bearer']
744
+
745
+ new_options = opts.merge(
746
+ :operation => :"APIKeysApi.repair_user_data_endpoint_api_keys_repair_data_post_0",
747
+ :header_params => header_params,
748
+ :query_params => query_params,
749
+ :form_params => form_params,
750
+ :body => post_body,
751
+ :auth_names => auth_names,
752
+ :return_type => return_type
753
+ )
754
+
755
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
756
+ if @api_client.config.debugging
757
+ @api_client.config.logger.debug "API called: APIKeysApi#repair_user_data_endpoint_api_keys_repair_data_post_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
758
+ end
759
+ return data, status_code, headers
760
+ end
761
+
762
+ # Revoke Api Key
763
+ # Revoke an API key with atomic transaction. Immediately invalidates the key and removes it from active sets. Provides audit trail for security compliance.
764
+ # @param key_hash [String]
765
+ # @param [Hash] opts the optional parameters
766
+ # @return [Object]
767
+ def revoke_api_key_api_keys_key_hash_revoke_delete(key_hash, opts = {})
768
+ data, _status_code, _headers = revoke_api_key_api_keys_key_hash_revoke_delete_with_http_info(key_hash, opts)
769
+ data
770
+ end
771
+
772
+ # Revoke Api Key
773
+ # Revoke an API key with atomic transaction. Immediately invalidates the key and removes it from active sets. Provides audit trail for security compliance.
774
+ # @param key_hash [String]
775
+ # @param [Hash] opts the optional parameters
776
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
777
+ def revoke_api_key_api_keys_key_hash_revoke_delete_with_http_info(key_hash, opts = {})
778
+ if @api_client.config.debugging
779
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete ...'
780
+ end
781
+ # verify the required parameter 'key_hash' is set
782
+ if @api_client.config.client_side_validation && key_hash.nil?
783
+ fail ArgumentError, "Missing the required parameter 'key_hash' when calling APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete"
784
+ end
785
+ pattern = Regexp.new(/^[a-f0-9]{64}$/)
786
+ if @api_client.config.client_side_validation && key_hash !~ pattern
787
+ fail ArgumentError, "invalid value for 'key_hash' when calling APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete, must conform to the pattern #{pattern}."
788
+ end
789
+
790
+ # resource path
791
+ local_var_path = '/api-keys/{key_hash}/revoke'.sub('{' + 'key_hash' + '}', CGI.escape(key_hash.to_s))
792
+
793
+ # query parameters
794
+ query_params = opts[:query_params] || {}
795
+
796
+ # header parameters
797
+ header_params = opts[:header_params] || {}
798
+ # HTTP header 'Accept' (if needed)
799
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
800
+
801
+ # form parameters
802
+ form_params = opts[:form_params] || {}
803
+
804
+ # http body (model)
805
+ post_body = opts[:debug_body]
806
+
807
+ # return_type
808
+ return_type = opts[:debug_return_type] || 'Object'
809
+
810
+ # auth_names
811
+ auth_names = opts[:debug_auth_names] || ['Bearer']
812
+
813
+ new_options = opts.merge(
814
+ :operation => :"APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete",
815
+ :header_params => header_params,
816
+ :query_params => query_params,
817
+ :form_params => form_params,
818
+ :body => post_body,
819
+ :auth_names => auth_names,
820
+ :return_type => return_type
821
+ )
822
+
823
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
824
+ if @api_client.config.debugging
825
+ @api_client.config.logger.debug "API called: APIKeysApi#revoke_api_key_api_keys_key_hash_revoke_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
826
+ end
827
+ return data, status_code, headers
828
+ end
829
+
830
+ # Revoke Api Key
831
+ # Revoke an API key with atomic transaction. Immediately invalidates the key and removes it from active sets. Provides audit trail for security compliance.
832
+ # @param key_hash [String]
833
+ # @param [Hash] opts the optional parameters
834
+ # @return [Object]
835
+ def revoke_api_key_api_keys_key_hash_revoke_delete_0(key_hash, opts = {})
836
+ data, _status_code, _headers = revoke_api_key_api_keys_key_hash_revoke_delete_0_with_http_info(key_hash, opts)
837
+ data
838
+ end
839
+
840
+ # Revoke Api Key
841
+ # Revoke an API key with atomic transaction. Immediately invalidates the key and removes it from active sets. Provides audit trail for security compliance.
842
+ # @param key_hash [String]
843
+ # @param [Hash] opts the optional parameters
844
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
845
+ def revoke_api_key_api_keys_key_hash_revoke_delete_0_with_http_info(key_hash, opts = {})
846
+ if @api_client.config.debugging
847
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete_0 ...'
848
+ end
849
+ # verify the required parameter 'key_hash' is set
850
+ if @api_client.config.client_side_validation && key_hash.nil?
851
+ fail ArgumentError, "Missing the required parameter 'key_hash' when calling APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete_0"
852
+ end
853
+ pattern = Regexp.new(/^[a-f0-9]{64}$/)
854
+ if @api_client.config.client_side_validation && key_hash !~ pattern
855
+ fail ArgumentError, "invalid value for 'key_hash' when calling APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete_0, must conform to the pattern #{pattern}."
856
+ end
857
+
858
+ # resource path
859
+ local_var_path = '/api-keys/{key_hash}/revoke'.sub('{' + 'key_hash' + '}', CGI.escape(key_hash.to_s))
860
+
861
+ # query parameters
862
+ query_params = opts[:query_params] || {}
863
+
864
+ # header parameters
865
+ header_params = opts[:header_params] || {}
866
+ # HTTP header 'Accept' (if needed)
867
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
868
+
869
+ # form parameters
870
+ form_params = opts[:form_params] || {}
871
+
872
+ # http body (model)
873
+ post_body = opts[:debug_body]
874
+
875
+ # return_type
876
+ return_type = opts[:debug_return_type] || 'Object'
877
+
878
+ # auth_names
879
+ auth_names = opts[:debug_auth_names] || ['Bearer']
880
+
881
+ new_options = opts.merge(
882
+ :operation => :"APIKeysApi.revoke_api_key_api_keys_key_hash_revoke_delete_0",
883
+ :header_params => header_params,
884
+ :query_params => query_params,
885
+ :form_params => form_params,
886
+ :body => post_body,
887
+ :auth_names => auth_names,
888
+ :return_type => return_type
889
+ )
890
+
891
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
892
+ if @api_client.config.debugging
893
+ @api_client.config.logger.debug "API called: APIKeysApi#revoke_api_key_api_keys_key_hash_revoke_delete_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
894
+ end
895
+ return data, status_code, headers
896
+ end
897
+
898
+ # Rotate Api Key
899
+ # Rotate API key with grace period. Generates a new key while keeping the old one active for 7 days to allow for smooth transition in client applications.
900
+ # @param key_hash [String]
901
+ # @param [Hash] opts the optional parameters
902
+ # @return [Object]
903
+ def rotate_api_key_api_keys_key_hash_rotate_post(key_hash, opts = {})
904
+ data, _status_code, _headers = rotate_api_key_api_keys_key_hash_rotate_post_with_http_info(key_hash, opts)
905
+ data
906
+ end
907
+
908
+ # Rotate Api Key
909
+ # Rotate API key with grace period. Generates a new key while keeping the old one active for 7 days to allow for smooth transition in client applications.
910
+ # @param key_hash [String]
911
+ # @param [Hash] opts the optional parameters
912
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
913
+ def rotate_api_key_api_keys_key_hash_rotate_post_with_http_info(key_hash, opts = {})
914
+ if @api_client.config.debugging
915
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post ...'
916
+ end
917
+ # verify the required parameter 'key_hash' is set
918
+ if @api_client.config.client_side_validation && key_hash.nil?
919
+ fail ArgumentError, "Missing the required parameter 'key_hash' when calling APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post"
920
+ end
921
+ pattern = Regexp.new(/^[a-f0-9]{64}$/)
922
+ if @api_client.config.client_side_validation && key_hash !~ pattern
923
+ fail ArgumentError, "invalid value for 'key_hash' when calling APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post, must conform to the pattern #{pattern}."
924
+ end
925
+
926
+ # resource path
927
+ local_var_path = '/api-keys/{key_hash}/rotate'.sub('{' + 'key_hash' + '}', CGI.escape(key_hash.to_s))
928
+
929
+ # query parameters
930
+ query_params = opts[:query_params] || {}
931
+
932
+ # header parameters
933
+ header_params = opts[:header_params] || {}
934
+ # HTTP header 'Accept' (if needed)
935
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
936
+
937
+ # form parameters
938
+ form_params = opts[:form_params] || {}
939
+
940
+ # http body (model)
941
+ post_body = opts[:debug_body]
942
+
943
+ # return_type
944
+ return_type = opts[:debug_return_type] || 'Object'
945
+
946
+ # auth_names
947
+ auth_names = opts[:debug_auth_names] || ['Bearer']
948
+
949
+ new_options = opts.merge(
950
+ :operation => :"APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post",
951
+ :header_params => header_params,
952
+ :query_params => query_params,
953
+ :form_params => form_params,
954
+ :body => post_body,
955
+ :auth_names => auth_names,
956
+ :return_type => return_type
957
+ )
958
+
959
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
960
+ if @api_client.config.debugging
961
+ @api_client.config.logger.debug "API called: APIKeysApi#rotate_api_key_api_keys_key_hash_rotate_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
962
+ end
963
+ return data, status_code, headers
964
+ end
965
+
966
+ # Rotate Api Key
967
+ # Rotate API key with grace period. Generates a new key while keeping the old one active for 7 days to allow for smooth transition in client applications.
968
+ # @param key_hash [String]
969
+ # @param [Hash] opts the optional parameters
970
+ # @return [Object]
971
+ def rotate_api_key_api_keys_key_hash_rotate_post_0(key_hash, opts = {})
972
+ data, _status_code, _headers = rotate_api_key_api_keys_key_hash_rotate_post_0_with_http_info(key_hash, opts)
973
+ data
974
+ end
975
+
976
+ # Rotate Api Key
977
+ # Rotate API key with grace period. Generates a new key while keeping the old one active for 7 days to allow for smooth transition in client applications.
978
+ # @param key_hash [String]
979
+ # @param [Hash] opts the optional parameters
980
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
981
+ def rotate_api_key_api_keys_key_hash_rotate_post_0_with_http_info(key_hash, opts = {})
982
+ if @api_client.config.debugging
983
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post_0 ...'
984
+ end
985
+ # verify the required parameter 'key_hash' is set
986
+ if @api_client.config.client_side_validation && key_hash.nil?
987
+ fail ArgumentError, "Missing the required parameter 'key_hash' when calling APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post_0"
988
+ end
989
+ pattern = Regexp.new(/^[a-f0-9]{64}$/)
990
+ if @api_client.config.client_side_validation && key_hash !~ pattern
991
+ fail ArgumentError, "invalid value for 'key_hash' when calling APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post_0, must conform to the pattern #{pattern}."
992
+ end
993
+
994
+ # resource path
995
+ local_var_path = '/api-keys/{key_hash}/rotate'.sub('{' + 'key_hash' + '}', CGI.escape(key_hash.to_s))
996
+
997
+ # query parameters
998
+ query_params = opts[:query_params] || {}
999
+
1000
+ # header parameters
1001
+ header_params = opts[:header_params] || {}
1002
+ # HTTP header 'Accept' (if needed)
1003
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1004
+
1005
+ # form parameters
1006
+ form_params = opts[:form_params] || {}
1007
+
1008
+ # http body (model)
1009
+ post_body = opts[:debug_body]
1010
+
1011
+ # return_type
1012
+ return_type = opts[:debug_return_type] || 'Object'
1013
+
1014
+ # auth_names
1015
+ auth_names = opts[:debug_auth_names] || ['Bearer']
1016
+
1017
+ new_options = opts.merge(
1018
+ :operation => :"APIKeysApi.rotate_api_key_api_keys_key_hash_rotate_post_0",
1019
+ :header_params => header_params,
1020
+ :query_params => query_params,
1021
+ :form_params => form_params,
1022
+ :body => post_body,
1023
+ :auth_names => auth_names,
1024
+ :return_type => return_type
1025
+ )
1026
+
1027
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1028
+ if @api_client.config.debugging
1029
+ @api_client.config.logger.debug "API called: APIKeysApi#rotate_api_key_api_keys_key_hash_rotate_post_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1030
+ end
1031
+ return data, status_code, headers
1032
+ end
1033
+
1034
+ # Sync Plan Keys
1035
+ # Synchronize current plan with all user API keys. Ensures all existing keys have the correct scopes and permissions based on the user's current subscription plan.
1036
+ # @param [Hash] opts the optional parameters
1037
+ # @return [Object]
1038
+ def sync_plan_keys_api_keys_sync_plan_keys_post(opts = {})
1039
+ data, _status_code, _headers = sync_plan_keys_api_keys_sync_plan_keys_post_with_http_info(opts)
1040
+ data
1041
+ end
1042
+
1043
+ # Sync Plan Keys
1044
+ # Synchronize current plan with all user API keys. Ensures all existing keys have the correct scopes and permissions based on the user&#39;s current subscription plan.
1045
+ # @param [Hash] opts the optional parameters
1046
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1047
+ def sync_plan_keys_api_keys_sync_plan_keys_post_with_http_info(opts = {})
1048
+ if @api_client.config.debugging
1049
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.sync_plan_keys_api_keys_sync_plan_keys_post ...'
1050
+ end
1051
+ # resource path
1052
+ local_var_path = '/api-keys/sync-plan-keys'
1053
+
1054
+ # query parameters
1055
+ query_params = opts[:query_params] || {}
1056
+
1057
+ # header parameters
1058
+ header_params = opts[:header_params] || {}
1059
+ # HTTP header 'Accept' (if needed)
1060
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1061
+
1062
+ # form parameters
1063
+ form_params = opts[:form_params] || {}
1064
+
1065
+ # http body (model)
1066
+ post_body = opts[:debug_body]
1067
+
1068
+ # return_type
1069
+ return_type = opts[:debug_return_type] || 'Object'
1070
+
1071
+ # auth_names
1072
+ auth_names = opts[:debug_auth_names] || ['Bearer']
1073
+
1074
+ new_options = opts.merge(
1075
+ :operation => :"APIKeysApi.sync_plan_keys_api_keys_sync_plan_keys_post",
1076
+ :header_params => header_params,
1077
+ :query_params => query_params,
1078
+ :form_params => form_params,
1079
+ :body => post_body,
1080
+ :auth_names => auth_names,
1081
+ :return_type => return_type
1082
+ )
1083
+
1084
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1085
+ if @api_client.config.debugging
1086
+ @api_client.config.logger.debug "API called: APIKeysApi#sync_plan_keys_api_keys_sync_plan_keys_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1087
+ end
1088
+ return data, status_code, headers
1089
+ end
1090
+
1091
+ # Sync Plan Keys
1092
+ # Synchronize current plan with all user API keys. Ensures all existing keys have the correct scopes and permissions based on the user's current subscription plan.
1093
+ # @param [Hash] opts the optional parameters
1094
+ # @return [Object]
1095
+ def sync_plan_keys_api_keys_sync_plan_keys_post_0(opts = {})
1096
+ data, _status_code, _headers = sync_plan_keys_api_keys_sync_plan_keys_post_0_with_http_info(opts)
1097
+ data
1098
+ end
1099
+
1100
+ # Sync Plan Keys
1101
+ # Synchronize current plan with all user API keys. Ensures all existing keys have the correct scopes and permissions based on the user&#39;s current subscription plan.
1102
+ # @param [Hash] opts the optional parameters
1103
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
1104
+ def sync_plan_keys_api_keys_sync_plan_keys_post_0_with_http_info(opts = {})
1105
+ if @api_client.config.debugging
1106
+ @api_client.config.logger.debug 'Calling API: APIKeysApi.sync_plan_keys_api_keys_sync_plan_keys_post_0 ...'
1107
+ end
1108
+ # resource path
1109
+ local_var_path = '/api-keys/sync-plan-keys'
1110
+
1111
+ # query parameters
1112
+ query_params = opts[:query_params] || {}
1113
+
1114
+ # header parameters
1115
+ header_params = opts[:header_params] || {}
1116
+ # HTTP header 'Accept' (if needed)
1117
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
1118
+
1119
+ # form parameters
1120
+ form_params = opts[:form_params] || {}
1121
+
1122
+ # http body (model)
1123
+ post_body = opts[:debug_body]
1124
+
1125
+ # return_type
1126
+ return_type = opts[:debug_return_type] || 'Object'
1127
+
1128
+ # auth_names
1129
+ auth_names = opts[:debug_auth_names] || ['Bearer']
1130
+
1131
+ new_options = opts.merge(
1132
+ :operation => :"APIKeysApi.sync_plan_keys_api_keys_sync_plan_keys_post_0",
1133
+ :header_params => header_params,
1134
+ :query_params => query_params,
1135
+ :form_params => form_params,
1136
+ :body => post_body,
1137
+ :auth_names => auth_names,
1138
+ :return_type => return_type
1139
+ )
1140
+
1141
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1142
+ if @api_client.config.debugging
1143
+ @api_client.config.logger.debug "API called: APIKeysApi#sync_plan_keys_api_keys_sync_plan_keys_post_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1144
+ end
1145
+ return data, status_code, headers
1146
+ end
1147
+ end
1148
+ end