qsafe-sdk 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.

Potentially problematic release.


This version of qsafe-sdk might be problematic. Click here for more details.

Files changed (295) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +210 -0
  4. data/Rakefile +10 -0
  5. data/docs/APIKeysApi.md +427 -0
  6. data/docs/ApiKey.md +36 -0
  7. data/docs/AuthResponse.md +20 -0
  8. data/docs/AuthResponseData.md +24 -0
  9. data/docs/AuthenticationApi.md +276 -0
  10. data/docs/ChangePassword200Response.md +20 -0
  11. data/docs/ChangePasswordRequest.md +20 -0
  12. data/docs/CreateApiKey201Response.md +22 -0
  13. data/docs/CreateApiKeyRequest.md +28 -0
  14. data/docs/CryptographicOperationsApi.md +331 -0
  15. data/docs/DebugApi.md +84 -0
  16. data/docs/DebugRedisTest200Response.md +30 -0
  17. data/docs/DebugRedisTest200ResponseRateLimitTest.md +22 -0
  18. data/docs/DebugRedisTest200ResponseServicesStatus.md +24 -0
  19. data/docs/DebugRedisTest500Response.md +20 -0
  20. data/docs/DecryptData200Response.md +20 -0
  21. data/docs/DecryptData200ResponseData.md +24 -0
  22. data/docs/DecryptRequest.md +28 -0
  23. data/docs/DecryptRequestEphemeralCrypto.md +24 -0
  24. data/docs/EncryptData200Response.md +20 -0
  25. data/docs/EncryptData200ResponseData.md +28 -0
  26. data/docs/EncryptRequest.md +26 -0
  27. data/docs/EncryptRequestEphemeralStorage.md +22 -0
  28. data/docs/Error.md +28 -0
  29. data/docs/GenerateKeypair201Response.md +22 -0
  30. data/docs/GenerateKeypairRequest.md +24 -0
  31. data/docs/GenerateKeypairRequestKeyPolicy.md +20 -0
  32. data/docs/GetApiKey200Response.md +20 -0
  33. data/docs/GetApiKeyUsage200Response.md +20 -0
  34. data/docs/GetApiKeyUsage200ResponseData.md +22 -0
  35. data/docs/GetApiKeyUsage200ResponseDataDailyUsageInner.md +20 -0
  36. data/docs/GetAuthInfo200Response.md +20 -0
  37. data/docs/GetAuthInfo200ResponseData.md +26 -0
  38. data/docs/GetHealth200Response.md +22 -0
  39. data/docs/GetHealth200ResponseServices.md +22 -0
  40. data/docs/GetHealth200ResponseServicesApi.md +22 -0
  41. data/docs/GetHealth200ResponseServicesEphemeralStorage.md +18 -0
  42. data/docs/GetHealth200ResponseServicesRedis.md +20 -0
  43. data/docs/GetRateLimitStatus200Response.md +20 -0
  44. data/docs/GetRateLimitStatus200ResponseData.md +22 -0
  45. data/docs/GetRateLimitStatus200ResponseDataCurrentUsage.md +22 -0
  46. data/docs/GetRateLimitStatus200ResponseDataLimits.md +22 -0
  47. data/docs/GetRateLimitStatus200ResponseDataResetTimes.md +22 -0
  48. data/docs/HealthApi.md +69 -0
  49. data/docs/Keypair.md +40 -0
  50. data/docs/KeypairsApi.md +341 -0
  51. data/docs/ListApiKeys200Response.md +20 -0
  52. data/docs/ListApiKeys200ResponseData.md +22 -0
  53. data/docs/ListApiKeys200ResponseDataPagination.md +22 -0
  54. data/docs/ListKeypairs200Response.md +20 -0
  55. data/docs/ListKeypairs200ResponseData.md +22 -0
  56. data/docs/ListKeypairs200ResponseDataPagination.md +22 -0
  57. data/docs/LoginRequest.md +20 -0
  58. data/docs/RegisterRequest.md +24 -0
  59. data/docs/RevokeKeypair200Response.md +22 -0
  60. data/docs/RevokeKeypairRequest.md +22 -0
  61. data/docs/RotateApiKey200Response.md +22 -0
  62. data/docs/SignData200Response.md +20 -0
  63. data/docs/SignData200ResponseData.md +28 -0
  64. data/docs/SignRequest.md +26 -0
  65. data/docs/SignRequestEphemeralStorage.md +20 -0
  66. data/docs/UpdateApiKeyRequest.md +28 -0
  67. data/docs/UpdateKeypair200Response.md +20 -0
  68. data/docs/UpdateKeypairRequest.md +24 -0
  69. data/docs/User.md +28 -0
  70. data/docs/UtilitiesApi.md +81 -0
  71. data/docs/VerifyRequest.md +26 -0
  72. data/docs/VerifySignature200Response.md +20 -0
  73. data/docs/VerifySignature200ResponseData.md +26 -0
  74. data/git_push.sh +57 -0
  75. data/lib/qsafe/api/api_keys_api.rb +430 -0
  76. data/lib/qsafe/api/authentication_api.rb +275 -0
  77. data/lib/qsafe/api/cryptographic_operations_api.rb +314 -0
  78. data/lib/qsafe/api/debug_api.rb +79 -0
  79. data/lib/qsafe/api/health_api.rb +79 -0
  80. data/lib/qsafe/api/keypairs_api.rb +345 -0
  81. data/lib/qsafe/api/utilities_api.rb +79 -0
  82. data/lib/qsafe/api_client.rb +394 -0
  83. data/lib/qsafe/api_error.rb +58 -0
  84. data/lib/qsafe/configuration.rb +327 -0
  85. data/lib/qsafe/models/api_key.rb +325 -0
  86. data/lib/qsafe/models/auth_response.rb +223 -0
  87. data/lib/qsafe/models/auth_response_data.rb +242 -0
  88. data/lib/qsafe/models/change_password200_response.rb +223 -0
  89. data/lib/qsafe/models/change_password_request.rb +256 -0
  90. data/lib/qsafe/models/create_api_key201_response.rb +233 -0
  91. data/lib/qsafe/models/create_api_key_request.rb +350 -0
  92. data/lib/qsafe/models/debug_redis_test200_response.rb +304 -0
  93. data/lib/qsafe/models/debug_redis_test200_response_rate_limit_test.rb +232 -0
  94. data/lib/qsafe/models/debug_redis_test200_response_services_status.rb +241 -0
  95. data/lib/qsafe/models/debug_redis_test500_response.rb +223 -0
  96. data/lib/qsafe/models/decrypt_data200_response.rb +223 -0
  97. data/lib/qsafe/models/decrypt_data200_response_data.rb +242 -0
  98. data/lib/qsafe/models/decrypt_request.rb +301 -0
  99. data/lib/qsafe/models/decrypt_request_ephemeral_crypto.rb +276 -0
  100. data/lib/qsafe/models/encrypt_data200_response.rb +223 -0
  101. data/lib/qsafe/models/encrypt_data200_response_data.rb +263 -0
  102. data/lib/qsafe/models/encrypt_request.rb +322 -0
  103. data/lib/qsafe/models/encrypt_request_ephemeral_storage.rb +289 -0
  104. data/lib/qsafe/models/error.rb +275 -0
  105. data/lib/qsafe/models/generate_keypair201_response.rb +233 -0
  106. data/lib/qsafe/models/generate_keypair_request.rb +297 -0
  107. data/lib/qsafe/models/generate_keypair_request_key_policy.rb +266 -0
  108. data/lib/qsafe/models/get_api_key200_response.rb +223 -0
  109. data/lib/qsafe/models/get_api_key_usage200_response.rb +223 -0
  110. data/lib/qsafe/models/get_api_key_usage200_response_data.rb +236 -0
  111. data/lib/qsafe/models/get_api_key_usage200_response_data_daily_usage_inner.rb +223 -0
  112. data/lib/qsafe/models/get_auth_info200_response.rb +223 -0
  113. data/lib/qsafe/models/get_auth_info200_response_data.rb +284 -0
  114. data/lib/qsafe/models/get_health200_response.rb +232 -0
  115. data/lib/qsafe/models/get_health200_response_services.rb +232 -0
  116. data/lib/qsafe/models/get_health200_response_services_api.rb +232 -0
  117. data/lib/qsafe/models/get_health200_response_services_ephemeral_storage.rb +214 -0
  118. data/lib/qsafe/models/get_health200_response_services_redis.rb +223 -0
  119. data/lib/qsafe/models/get_rate_limit_status200_response.rb +223 -0
  120. data/lib/qsafe/models/get_rate_limit_status200_response_data.rb +232 -0
  121. data/lib/qsafe/models/get_rate_limit_status200_response_data_current_usage.rb +232 -0
  122. data/lib/qsafe/models/get_rate_limit_status200_response_data_limits.rb +232 -0
  123. data/lib/qsafe/models/get_rate_limit_status200_response_data_reset_times.rb +232 -0
  124. data/lib/qsafe/models/keypair.rb +379 -0
  125. data/lib/qsafe/models/list_api_keys200_response.rb +223 -0
  126. data/lib/qsafe/models/list_api_keys200_response_data.rb +234 -0
  127. data/lib/qsafe/models/list_api_keys200_response_data_pagination.rb +232 -0
  128. data/lib/qsafe/models/list_keypairs200_response.rb +223 -0
  129. data/lib/qsafe/models/list_keypairs200_response_data.rb +234 -0
  130. data/lib/qsafe/models/list_keypairs200_response_data_pagination.rb +232 -0
  131. data/lib/qsafe/models/login_request.rb +237 -0
  132. data/lib/qsafe/models/register_request.rb +345 -0
  133. data/lib/qsafe/models/revoke_keypair200_response.rb +232 -0
  134. data/lib/qsafe/models/revoke_keypair_request.rb +301 -0
  135. data/lib/qsafe/models/rotate_api_key200_response.rb +232 -0
  136. data/lib/qsafe/models/sign_data200_response.rb +223 -0
  137. data/lib/qsafe/models/sign_data200_response_data.rb +262 -0
  138. data/lib/qsafe/models/sign_request.rb +321 -0
  139. data/lib/qsafe/models/sign_request_ephemeral_storage.rb +279 -0
  140. data/lib/qsafe/models/update_api_key_request.rb +343 -0
  141. data/lib/qsafe/models/update_keypair200_response.rb +223 -0
  142. data/lib/qsafe/models/update_keypair_request.rb +317 -0
  143. data/lib/qsafe/models/user.rb +293 -0
  144. data/lib/qsafe/models/verify_request.rb +389 -0
  145. data/lib/qsafe/models/verify_signature200_response.rb +223 -0
  146. data/lib/qsafe/models/verify_signature200_response_data.rb +251 -0
  147. data/lib/qsafe/version.rb +15 -0
  148. data/lib/qsafe-sdk/api/api_keys_api.rb +430 -0
  149. data/lib/qsafe-sdk/api/authentication_api.rb +275 -0
  150. data/lib/qsafe-sdk/api/cryptographic_operations_api.rb +314 -0
  151. data/lib/qsafe-sdk/api/debug_api.rb +79 -0
  152. data/lib/qsafe-sdk/api/health_api.rb +79 -0
  153. data/lib/qsafe-sdk/api/keypairs_api.rb +345 -0
  154. data/lib/qsafe-sdk/api/utilities_api.rb +79 -0
  155. data/lib/qsafe-sdk/api_client.rb +394 -0
  156. data/lib/qsafe-sdk/api_error.rb +58 -0
  157. data/lib/qsafe-sdk/configuration.rb +327 -0
  158. data/lib/qsafe-sdk/models/api_key.rb +325 -0
  159. data/lib/qsafe-sdk/models/auth_response.rb +223 -0
  160. data/lib/qsafe-sdk/models/auth_response_data.rb +242 -0
  161. data/lib/qsafe-sdk/models/change_password200_response.rb +223 -0
  162. data/lib/qsafe-sdk/models/change_password_request.rb +256 -0
  163. data/lib/qsafe-sdk/models/create_api_key201_response.rb +233 -0
  164. data/lib/qsafe-sdk/models/create_api_key_request.rb +350 -0
  165. data/lib/qsafe-sdk/models/debug_redis_test200_response.rb +304 -0
  166. data/lib/qsafe-sdk/models/debug_redis_test200_response_rate_limit_test.rb +232 -0
  167. data/lib/qsafe-sdk/models/debug_redis_test200_response_services_status.rb +241 -0
  168. data/lib/qsafe-sdk/models/debug_redis_test500_response.rb +223 -0
  169. data/lib/qsafe-sdk/models/decrypt_data200_response.rb +223 -0
  170. data/lib/qsafe-sdk/models/decrypt_data200_response_data.rb +242 -0
  171. data/lib/qsafe-sdk/models/decrypt_request.rb +301 -0
  172. data/lib/qsafe-sdk/models/decrypt_request_ephemeral_crypto.rb +276 -0
  173. data/lib/qsafe-sdk/models/encrypt_data200_response.rb +223 -0
  174. data/lib/qsafe-sdk/models/encrypt_data200_response_data.rb +263 -0
  175. data/lib/qsafe-sdk/models/encrypt_request.rb +322 -0
  176. data/lib/qsafe-sdk/models/encrypt_request_ephemeral_storage.rb +289 -0
  177. data/lib/qsafe-sdk/models/error.rb +275 -0
  178. data/lib/qsafe-sdk/models/generate_keypair201_response.rb +233 -0
  179. data/lib/qsafe-sdk/models/generate_keypair_request.rb +297 -0
  180. data/lib/qsafe-sdk/models/generate_keypair_request_key_policy.rb +266 -0
  181. data/lib/qsafe-sdk/models/get_api_key200_response.rb +223 -0
  182. data/lib/qsafe-sdk/models/get_api_key_usage200_response.rb +223 -0
  183. data/lib/qsafe-sdk/models/get_api_key_usage200_response_data.rb +236 -0
  184. data/lib/qsafe-sdk/models/get_api_key_usage200_response_data_daily_usage_inner.rb +223 -0
  185. data/lib/qsafe-sdk/models/get_auth_info200_response.rb +223 -0
  186. data/lib/qsafe-sdk/models/get_auth_info200_response_data.rb +284 -0
  187. data/lib/qsafe-sdk/models/get_health200_response.rb +232 -0
  188. data/lib/qsafe-sdk/models/get_health200_response_services.rb +232 -0
  189. data/lib/qsafe-sdk/models/get_health200_response_services_api.rb +232 -0
  190. data/lib/qsafe-sdk/models/get_health200_response_services_ephemeral_storage.rb +214 -0
  191. data/lib/qsafe-sdk/models/get_health200_response_services_redis.rb +223 -0
  192. data/lib/qsafe-sdk/models/get_rate_limit_status200_response.rb +223 -0
  193. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data.rb +232 -0
  194. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_current_usage.rb +232 -0
  195. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_limits.rb +232 -0
  196. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_reset_times.rb +232 -0
  197. data/lib/qsafe-sdk/models/keypair.rb +379 -0
  198. data/lib/qsafe-sdk/models/list_api_keys200_response.rb +223 -0
  199. data/lib/qsafe-sdk/models/list_api_keys200_response_data.rb +234 -0
  200. data/lib/qsafe-sdk/models/list_api_keys200_response_data_pagination.rb +232 -0
  201. data/lib/qsafe-sdk/models/list_keypairs200_response.rb +223 -0
  202. data/lib/qsafe-sdk/models/list_keypairs200_response_data.rb +234 -0
  203. data/lib/qsafe-sdk/models/list_keypairs200_response_data_pagination.rb +232 -0
  204. data/lib/qsafe-sdk/models/login_request.rb +237 -0
  205. data/lib/qsafe-sdk/models/register_request.rb +345 -0
  206. data/lib/qsafe-sdk/models/revoke_keypair200_response.rb +232 -0
  207. data/lib/qsafe-sdk/models/revoke_keypair_request.rb +301 -0
  208. data/lib/qsafe-sdk/models/rotate_api_key200_response.rb +232 -0
  209. data/lib/qsafe-sdk/models/sign_data200_response.rb +223 -0
  210. data/lib/qsafe-sdk/models/sign_data200_response_data.rb +262 -0
  211. data/lib/qsafe-sdk/models/sign_request.rb +321 -0
  212. data/lib/qsafe-sdk/models/sign_request_ephemeral_storage.rb +279 -0
  213. data/lib/qsafe-sdk/models/update_api_key_request.rb +343 -0
  214. data/lib/qsafe-sdk/models/update_keypair200_response.rb +223 -0
  215. data/lib/qsafe-sdk/models/update_keypair_request.rb +317 -0
  216. data/lib/qsafe-sdk/models/user.rb +293 -0
  217. data/lib/qsafe-sdk/models/verify_request.rb +389 -0
  218. data/lib/qsafe-sdk/models/verify_signature200_response.rb +223 -0
  219. data/lib/qsafe-sdk/models/verify_signature200_response_data.rb +251 -0
  220. data/lib/qsafe-sdk/version.rb +15 -0
  221. data/lib/qsafe-sdk.rb +108 -0
  222. data/lib/qsafe.rb +108 -0
  223. data/qsafe-sdk.gemspec +39 -0
  224. data/qsafe.gemspec +39 -0
  225. data/spec/api/api_keys_api_spec.rb +105 -0
  226. data/spec/api/authentication_api_spec.rb +78 -0
  227. data/spec/api/cryptographic_operations_api_spec.rb +85 -0
  228. data/spec/api/debug_api_spec.rb +46 -0
  229. data/spec/api/health_api_spec.rb +46 -0
  230. data/spec/api/keypairs_api_spec.rb +89 -0
  231. data/spec/api/utilities_api_spec.rb +46 -0
  232. data/spec/models/api_key_spec.rb +94 -0
  233. data/spec/models/auth_response_data_spec.rb +54 -0
  234. data/spec/models/auth_response_spec.rb +42 -0
  235. data/spec/models/change_password200_response_spec.rb +42 -0
  236. data/spec/models/change_password_request_spec.rb +42 -0
  237. data/spec/models/create_api_key201_response_spec.rb +48 -0
  238. data/spec/models/create_api_key_request_spec.rb +70 -0
  239. data/spec/models/debug_redis_test200_response_rate_limit_test_spec.rb +48 -0
  240. data/spec/models/debug_redis_test200_response_services_status_spec.rb +54 -0
  241. data/spec/models/debug_redis_test200_response_spec.rb +76 -0
  242. data/spec/models/debug_redis_test500_response_spec.rb +42 -0
  243. data/spec/models/decrypt_data200_response_data_spec.rb +54 -0
  244. data/spec/models/decrypt_data200_response_spec.rb +42 -0
  245. data/spec/models/decrypt_request_ephemeral_crypto_spec.rb +54 -0
  246. data/spec/models/decrypt_request_spec.rb +66 -0
  247. data/spec/models/encrypt_data200_response_data_spec.rb +66 -0
  248. data/spec/models/encrypt_data200_response_spec.rb +42 -0
  249. data/spec/models/encrypt_request_ephemeral_storage_spec.rb +48 -0
  250. data/spec/models/encrypt_request_spec.rb +64 -0
  251. data/spec/models/error_spec.rb +66 -0
  252. data/spec/models/generate_keypair201_response_spec.rb +48 -0
  253. data/spec/models/generate_keypair_request_key_policy_spec.rb +46 -0
  254. data/spec/models/generate_keypair_request_spec.rb +62 -0
  255. data/spec/models/get_api_key200_response_spec.rb +42 -0
  256. data/spec/models/get_api_key_usage200_response_data_daily_usage_inner_spec.rb +42 -0
  257. data/spec/models/get_api_key_usage200_response_data_spec.rb +48 -0
  258. data/spec/models/get_api_key_usage200_response_spec.rb +42 -0
  259. data/spec/models/get_auth_info200_response_data_spec.rb +64 -0
  260. data/spec/models/get_auth_info200_response_spec.rb +42 -0
  261. data/spec/models/get_health200_response_services_api_spec.rb +48 -0
  262. data/spec/models/get_health200_response_services_ephemeral_storage_spec.rb +36 -0
  263. data/spec/models/get_health200_response_services_redis_spec.rb +42 -0
  264. data/spec/models/get_health200_response_services_spec.rb +48 -0
  265. data/spec/models/get_health200_response_spec.rb +48 -0
  266. data/spec/models/get_rate_limit_status200_response_data_current_usage_spec.rb +48 -0
  267. data/spec/models/get_rate_limit_status200_response_data_limits_spec.rb +48 -0
  268. data/spec/models/get_rate_limit_status200_response_data_reset_times_spec.rb +48 -0
  269. data/spec/models/get_rate_limit_status200_response_data_spec.rb +48 -0
  270. data/spec/models/get_rate_limit_status200_response_spec.rb +42 -0
  271. data/spec/models/keypair_spec.rb +114 -0
  272. data/spec/models/list_api_keys200_response_data_pagination_spec.rb +48 -0
  273. data/spec/models/list_api_keys200_response_data_spec.rb +48 -0
  274. data/spec/models/list_api_keys200_response_spec.rb +42 -0
  275. data/spec/models/list_keypairs200_response_data_pagination_spec.rb +48 -0
  276. data/spec/models/list_keypairs200_response_data_spec.rb +48 -0
  277. data/spec/models/list_keypairs200_response_spec.rb +42 -0
  278. data/spec/models/login_request_spec.rb +42 -0
  279. data/spec/models/register_request_spec.rb +54 -0
  280. data/spec/models/revoke_keypair200_response_spec.rb +48 -0
  281. data/spec/models/revoke_keypair_request_spec.rb +52 -0
  282. data/spec/models/rotate_api_key200_response_spec.rb +48 -0
  283. data/spec/models/sign_data200_response_data_spec.rb +66 -0
  284. data/spec/models/sign_data200_response_spec.rb +42 -0
  285. data/spec/models/sign_request_ephemeral_storage_spec.rb +42 -0
  286. data/spec/models/sign_request_spec.rb +64 -0
  287. data/spec/models/update_api_key_request_spec.rb +70 -0
  288. data/spec/models/update_keypair200_response_spec.rb +42 -0
  289. data/spec/models/update_keypair_request_spec.rb +58 -0
  290. data/spec/models/user_spec.rb +70 -0
  291. data/spec/models/verify_request_spec.rb +64 -0
  292. data/spec/models/verify_signature200_response_data_spec.rb +60 -0
  293. data/spec/models/verify_signature200_response_spec.rb +42 -0
  294. data/spec/spec_helper.rb +111 -0
  295. metadata +453 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 402116b0189c5d11aad227ada1b2b39b57b4b212e5db942f7a4d07568bd172fe
4
+ data.tar.gz: 8d984d577a3af5640a3a5d9f376e72d7b60fef55c0b47a434ab6cb18b5c534a0
5
+ SHA512:
6
+ metadata.gz: 9a03123fe51e8e7aaf4dd1225707e1ef42cb92e973465349f45f4e370fc1f0225eaaed3e36618201c1e4798899b5481322fe517f0122768c31768fb19355adaf
7
+ data.tar.gz: b38114303f8c8038f88495a7c1f9fe964bb67a44c5cec0fd40732cf94b9f11f7a65a8952b4aff36350d70712a52b11d2d023de8acb1c60834ba1f409d4fe0d70
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake', '~> 13.0.1'
7
+ gem 'pry-byebug'
8
+ gem 'rubocop', '~> 0.66.0'
9
+ end
data/README.md ADDED
@@ -0,0 +1,210 @@
1
+ # qsafe-sdk
2
+
3
+ QSafe - the Ruby gem for the QSafe PQC API
4
+
5
+ Post-quantum cryptography SaaS API supporting ML-KEM (Kyber) and ML-DSA (Dilithium) algorithms.
6
+ Provides keypair management and cryptographic operations (encrypt, decrypt, sign, verify).
7
+
8
+ ## Authentication
9
+ - **JWT Bearer Token** — user-based auth, obtained from `/auth/login` or `/auth/register`
10
+ - **API Key (header)** — programmatic access via `X-API-Key` header
11
+ - **API Key (query)** — programmatic access via `?api_key=` query parameter
12
+
13
+ ## Quick Start
14
+ 1. Register → `POST /auth/register`
15
+ 2. Login → `POST /auth/login` → copy `data.token`
16
+ 3. Generate keypair → `POST /generate-keypair`
17
+ 4. Encrypt / Sign with the keypair ID
18
+
19
+
20
+ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
21
+
22
+ - API version: 1.0.0
23
+ - Package version: 1.0.0
24
+ - Generator version: 7.9.0
25
+ - Build package: org.openapitools.codegen.languages.RubyClientCodegen
26
+
27
+ ## Installation
28
+
29
+ ### Build a gem
30
+
31
+ To build the Ruby code into a gem:
32
+
33
+ ```shell
34
+ gem build qsafe-sdk.gemspec
35
+ ```
36
+
37
+ Then either install the gem locally:
38
+
39
+ ```shell
40
+ gem install ./qsafe-sdk-1.0.0.gem
41
+ ```
42
+
43
+ (for development, run `gem install --dev ./qsafe-sdk-1.0.0.gem` to install the development dependencies)
44
+
45
+ or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
46
+
47
+ Finally add this to the Gemfile:
48
+
49
+ gem 'qsafe-sdk', '~> 1.0.0'
50
+
51
+ ### Install from Git
52
+
53
+ If the Ruby gem is hosted at a git repository: https://github.com/qsafe/sdk-ruby, then add the following in the Gemfile:
54
+
55
+ gem 'qsafe-sdk', :git => 'https://github.com/qsafe/sdk-ruby.git'
56
+
57
+ ### Include the Ruby code directly
58
+
59
+ Include the Ruby code directly using `-I` as follows:
60
+
61
+ ```shell
62
+ ruby -Ilib script.rb
63
+ ```
64
+
65
+ ## Getting Started
66
+
67
+ Please follow the [installation](#installation) procedure and then run the following code:
68
+
69
+ ```ruby
70
+ # Load the gem
71
+ require 'qsafe-sdk'
72
+
73
+ # Setup authorization
74
+ QSafe.configure do |config|
75
+ # Configure Bearer authorization (JWT): BearerAuth
76
+ config.access_token = 'YOUR_BEARER_TOKEN'
77
+ # Configure a proc to get access tokens in lieu of the static access_token configuration
78
+ config.access_token_getter = -> { 'YOUR TOKEN GETTER PROC' }
79
+ end
80
+
81
+ api_instance = QSafe::APIKeysApi.new
82
+ create_api_key_request = QSafe::CreateApiKeyRequest.new({name: 'Production API Key'}) # CreateApiKeyRequest |
83
+
84
+ begin
85
+ #Create API key (JWT only)
86
+ result = api_instance.create_api_key(create_api_key_request)
87
+ p result
88
+ rescue QSafe::ApiError => e
89
+ puts "Exception when calling APIKeysApi->create_api_key: #{e}"
90
+ end
91
+
92
+ ```
93
+
94
+ ## Documentation for API Endpoints
95
+
96
+ All URIs are relative to *https://rushikesh66-pqc-api.hf.space*
97
+
98
+ Class | Method | HTTP request | Description
99
+ ------------ | ------------- | ------------- | -------------
100
+ *QSafe::APIKeysApi* | [**create_api_key**](docs/APIKeysApi.md#create_api_key) | **POST** /api-keys | Create API key (JWT only)
101
+ *QSafe::APIKeysApi* | [**get_api_key**](docs/APIKeysApi.md#get_api_key) | **GET** /api-keys/{keyId} | Get API key details (JWT only)
102
+ *QSafe::APIKeysApi* | [**get_api_key_usage**](docs/APIKeysApi.md#get_api_key_usage) | **GET** /api-keys/{keyId}/usage | Get API key usage stats (JWT only)
103
+ *QSafe::APIKeysApi* | [**list_api_keys**](docs/APIKeysApi.md#list_api_keys) | **GET** /api-keys | List API keys (JWT only)
104
+ *QSafe::APIKeysApi* | [**rotate_api_key**](docs/APIKeysApi.md#rotate_api_key) | **POST** /api-keys/{keyId}/rotate | Rotate API key — generates new key value (JWT only)
105
+ *QSafe::APIKeysApi* | [**update_api_key**](docs/APIKeysApi.md#update_api_key) | **PATCH** /api-keys/{keyId} | Update API key (JWT only)
106
+ *QSafe::AuthenticationApi* | [**change_password**](docs/AuthenticationApi.md#change_password) | **POST** /auth/change-password | Change password (JWT only)
107
+ *QSafe::AuthenticationApi* | [**get_auth_info**](docs/AuthenticationApi.md#get_auth_info) | **GET** /auth/info | Get current auth context (JWT or API key)
108
+ *QSafe::AuthenticationApi* | [**login_user**](docs/AuthenticationApi.md#login_user) | **POST** /auth/login | Login and get JWT token
109
+ *QSafe::AuthenticationApi* | [**register_user**](docs/AuthenticationApi.md#register_user) | **POST** /auth/register | Register a new user
110
+ *QSafe::CryptographicOperationsApi* | [**decrypt_data**](docs/CryptographicOperationsApi.md#decrypt_data) | **POST** /keypairs/{keypairId}/decrypt | Decrypt data with a keypair's private key
111
+ *QSafe::CryptographicOperationsApi* | [**encrypt_data**](docs/CryptographicOperationsApi.md#encrypt_data) | **POST** /keypairs/{keypairId}/encrypt | Encrypt data with a keypair's public key
112
+ *QSafe::CryptographicOperationsApi* | [**sign_data**](docs/CryptographicOperationsApi.md#sign_data) | **POST** /keypairs/{keypairId}/sign | Sign data with a keypair's private key
113
+ *QSafe::CryptographicOperationsApi* | [**verify_signature**](docs/CryptographicOperationsApi.md#verify_signature) | **POST** /keypairs/{keypairId}/verify | Verify a signature
114
+ *QSafe::DebugApi* | [**debug_redis_test**](docs/DebugApi.md#debug_redis_test) | **GET** /debug/redis-test | Test Redis and internal services
115
+ *QSafe::HealthApi* | [**get_health**](docs/HealthApi.md#get_health) | **GET** /health | Health check
116
+ *QSafe::KeypairsApi* | [**generate_keypair**](docs/KeypairsApi.md#generate_keypair) | **POST** /generate-keypair | Generate a new keypair
117
+ *QSafe::KeypairsApi* | [**list_keypairs**](docs/KeypairsApi.md#list_keypairs) | **GET** /keypairs | List keypairs
118
+ *QSafe::KeypairsApi* | [**revoke_keypair**](docs/KeypairsApi.md#revoke_keypair) | **PATCH** /keypairs/{keypairId}/revoke | Revoke a keypair
119
+ *QSafe::KeypairsApi* | [**update_keypair**](docs/KeypairsApi.md#update_keypair) | **PATCH** /keypairs/{keypairId} | Update keypair metadata / tags
120
+ *QSafe::UtilitiesApi* | [**get_rate_limit_status**](docs/UtilitiesApi.md#get_rate_limit_status) | **GET** /rate-limit/status | Get rate limit status for the current API key
121
+
122
+
123
+ ## Documentation for Models
124
+
125
+ - [QSafe::ApiKey](docs/ApiKey.md)
126
+ - [QSafe::AuthResponse](docs/AuthResponse.md)
127
+ - [QSafe::AuthResponseData](docs/AuthResponseData.md)
128
+ - [QSafe::ChangePassword200Response](docs/ChangePassword200Response.md)
129
+ - [QSafe::ChangePasswordRequest](docs/ChangePasswordRequest.md)
130
+ - [QSafe::CreateApiKey201Response](docs/CreateApiKey201Response.md)
131
+ - [QSafe::CreateApiKeyRequest](docs/CreateApiKeyRequest.md)
132
+ - [QSafe::DebugRedisTest200Response](docs/DebugRedisTest200Response.md)
133
+ - [QSafe::DebugRedisTest200ResponseRateLimitTest](docs/DebugRedisTest200ResponseRateLimitTest.md)
134
+ - [QSafe::DebugRedisTest200ResponseServicesStatus](docs/DebugRedisTest200ResponseServicesStatus.md)
135
+ - [QSafe::DebugRedisTest500Response](docs/DebugRedisTest500Response.md)
136
+ - [QSafe::DecryptData200Response](docs/DecryptData200Response.md)
137
+ - [QSafe::DecryptData200ResponseData](docs/DecryptData200ResponseData.md)
138
+ - [QSafe::DecryptRequest](docs/DecryptRequest.md)
139
+ - [QSafe::DecryptRequestEphemeralCrypto](docs/DecryptRequestEphemeralCrypto.md)
140
+ - [QSafe::EncryptData200Response](docs/EncryptData200Response.md)
141
+ - [QSafe::EncryptData200ResponseData](docs/EncryptData200ResponseData.md)
142
+ - [QSafe::EncryptRequest](docs/EncryptRequest.md)
143
+ - [QSafe::EncryptRequestEphemeralStorage](docs/EncryptRequestEphemeralStorage.md)
144
+ - [QSafe::Error](docs/Error.md)
145
+ - [QSafe::GenerateKeypair201Response](docs/GenerateKeypair201Response.md)
146
+ - [QSafe::GenerateKeypairRequest](docs/GenerateKeypairRequest.md)
147
+ - [QSafe::GenerateKeypairRequestKeyPolicy](docs/GenerateKeypairRequestKeyPolicy.md)
148
+ - [QSafe::GetApiKey200Response](docs/GetApiKey200Response.md)
149
+ - [QSafe::GetApiKeyUsage200Response](docs/GetApiKeyUsage200Response.md)
150
+ - [QSafe::GetApiKeyUsage200ResponseData](docs/GetApiKeyUsage200ResponseData.md)
151
+ - [QSafe::GetApiKeyUsage200ResponseDataDailyUsageInner](docs/GetApiKeyUsage200ResponseDataDailyUsageInner.md)
152
+ - [QSafe::GetAuthInfo200Response](docs/GetAuthInfo200Response.md)
153
+ - [QSafe::GetAuthInfo200ResponseData](docs/GetAuthInfo200ResponseData.md)
154
+ - [QSafe::GetHealth200Response](docs/GetHealth200Response.md)
155
+ - [QSafe::GetHealth200ResponseServices](docs/GetHealth200ResponseServices.md)
156
+ - [QSafe::GetHealth200ResponseServicesApi](docs/GetHealth200ResponseServicesApi.md)
157
+ - [QSafe::GetHealth200ResponseServicesEphemeralStorage](docs/GetHealth200ResponseServicesEphemeralStorage.md)
158
+ - [QSafe::GetHealth200ResponseServicesRedis](docs/GetHealth200ResponseServicesRedis.md)
159
+ - [QSafe::GetRateLimitStatus200Response](docs/GetRateLimitStatus200Response.md)
160
+ - [QSafe::GetRateLimitStatus200ResponseData](docs/GetRateLimitStatus200ResponseData.md)
161
+ - [QSafe::GetRateLimitStatus200ResponseDataCurrentUsage](docs/GetRateLimitStatus200ResponseDataCurrentUsage.md)
162
+ - [QSafe::GetRateLimitStatus200ResponseDataLimits](docs/GetRateLimitStatus200ResponseDataLimits.md)
163
+ - [QSafe::GetRateLimitStatus200ResponseDataResetTimes](docs/GetRateLimitStatus200ResponseDataResetTimes.md)
164
+ - [QSafe::Keypair](docs/Keypair.md)
165
+ - [QSafe::ListApiKeys200Response](docs/ListApiKeys200Response.md)
166
+ - [QSafe::ListApiKeys200ResponseData](docs/ListApiKeys200ResponseData.md)
167
+ - [QSafe::ListApiKeys200ResponseDataPagination](docs/ListApiKeys200ResponseDataPagination.md)
168
+ - [QSafe::ListKeypairs200Response](docs/ListKeypairs200Response.md)
169
+ - [QSafe::ListKeypairs200ResponseData](docs/ListKeypairs200ResponseData.md)
170
+ - [QSafe::ListKeypairs200ResponseDataPagination](docs/ListKeypairs200ResponseDataPagination.md)
171
+ - [QSafe::LoginRequest](docs/LoginRequest.md)
172
+ - [QSafe::RegisterRequest](docs/RegisterRequest.md)
173
+ - [QSafe::RevokeKeypair200Response](docs/RevokeKeypair200Response.md)
174
+ - [QSafe::RevokeKeypairRequest](docs/RevokeKeypairRequest.md)
175
+ - [QSafe::RotateApiKey200Response](docs/RotateApiKey200Response.md)
176
+ - [QSafe::SignData200Response](docs/SignData200Response.md)
177
+ - [QSafe::SignData200ResponseData](docs/SignData200ResponseData.md)
178
+ - [QSafe::SignRequest](docs/SignRequest.md)
179
+ - [QSafe::SignRequestEphemeralStorage](docs/SignRequestEphemeralStorage.md)
180
+ - [QSafe::UpdateApiKeyRequest](docs/UpdateApiKeyRequest.md)
181
+ - [QSafe::UpdateKeypair200Response](docs/UpdateKeypair200Response.md)
182
+ - [QSafe::UpdateKeypairRequest](docs/UpdateKeypairRequest.md)
183
+ - [QSafe::User](docs/User.md)
184
+ - [QSafe::VerifyRequest](docs/VerifyRequest.md)
185
+ - [QSafe::VerifySignature200Response](docs/VerifySignature200Response.md)
186
+ - [QSafe::VerifySignature200ResponseData](docs/VerifySignature200ResponseData.md)
187
+
188
+
189
+ ## Documentation for Authorization
190
+
191
+
192
+ Authentication schemes defined for the API:
193
+ ### BearerAuth
194
+
195
+ - **Type**: Bearer authentication (JWT)
196
+
197
+ ### ApiKeyHeader
198
+
199
+
200
+ - **Type**: API key
201
+ - **API key parameter name**: X-API-Key
202
+ - **Location**: HTTP header
203
+
204
+ ### ApiKeyQuery
205
+
206
+
207
+ - **Type**: API key
208
+ - **API key parameter name**: api_key
209
+ - **Location**: URL query string
210
+
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ begin
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task default: :spec
8
+ rescue LoadError
9
+ # no rspec available
10
+ end
@@ -0,0 +1,427 @@
1
+ # QSafe::APIKeysApi
2
+
3
+ All URIs are relative to *https://rushikesh66-pqc-api.hf.space*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**create_api_key**](APIKeysApi.md#create_api_key) | **POST** /api-keys | Create API key (JWT only) |
8
+ | [**get_api_key**](APIKeysApi.md#get_api_key) | **GET** /api-keys/{keyId} | Get API key details (JWT only) |
9
+ | [**get_api_key_usage**](APIKeysApi.md#get_api_key_usage) | **GET** /api-keys/{keyId}/usage | Get API key usage stats (JWT only) |
10
+ | [**list_api_keys**](APIKeysApi.md#list_api_keys) | **GET** /api-keys | List API keys (JWT only) |
11
+ | [**rotate_api_key**](APIKeysApi.md#rotate_api_key) | **POST** /api-keys/{keyId}/rotate | Rotate API key — generates new key value (JWT only) |
12
+ | [**update_api_key**](APIKeysApi.md#update_api_key) | **PATCH** /api-keys/{keyId} | Update API key (JWT only) |
13
+
14
+
15
+ ## create_api_key
16
+
17
+ > <CreateApiKey201Response> create_api_key(create_api_key_request)
18
+
19
+ Create API key (JWT only)
20
+
21
+ ### Examples
22
+
23
+ ```ruby
24
+ require 'time'
25
+ require 'qsafe-sdk'
26
+ # setup authorization
27
+ QSafe.configure do |config|
28
+ # Configure Bearer authorization (JWT): BearerAuth
29
+ config.access_token = 'YOUR_BEARER_TOKEN'
30
+ end
31
+
32
+ api_instance = QSafe::APIKeysApi.new
33
+ create_api_key_request = QSafe::CreateApiKeyRequest.new({name: 'Production API Key'}) # CreateApiKeyRequest |
34
+
35
+ begin
36
+ # Create API key (JWT only)
37
+ result = api_instance.create_api_key(create_api_key_request)
38
+ p result
39
+ rescue QSafe::ApiError => e
40
+ puts "Error when calling APIKeysApi->create_api_key: #{e}"
41
+ end
42
+ ```
43
+
44
+ #### Using the create_api_key_with_http_info variant
45
+
46
+ This returns an Array which contains the response data, status code and headers.
47
+
48
+ > <Array(<CreateApiKey201Response>, Integer, Hash)> create_api_key_with_http_info(create_api_key_request)
49
+
50
+ ```ruby
51
+ begin
52
+ # Create API key (JWT only)
53
+ data, status_code, headers = api_instance.create_api_key_with_http_info(create_api_key_request)
54
+ p status_code # => 2xx
55
+ p headers # => { ... }
56
+ p data # => <CreateApiKey201Response>
57
+ rescue QSafe::ApiError => e
58
+ puts "Error when calling APIKeysApi->create_api_key_with_http_info: #{e}"
59
+ end
60
+ ```
61
+
62
+ ### Parameters
63
+
64
+ | Name | Type | Description | Notes |
65
+ | ---- | ---- | ----------- | ----- |
66
+ | **create_api_key_request** | [**CreateApiKeyRequest**](CreateApiKeyRequest.md) | | |
67
+
68
+ ### Return type
69
+
70
+ [**CreateApiKey201Response**](CreateApiKey201Response.md)
71
+
72
+ ### Authorization
73
+
74
+ [BearerAuth](../README.md#BearerAuth)
75
+
76
+ ### HTTP request headers
77
+
78
+ - **Content-Type**: application/json
79
+ - **Accept**: application/json
80
+
81
+
82
+ ## get_api_key
83
+
84
+ > <GetApiKey200Response> get_api_key(key_id)
85
+
86
+ Get API key details (JWT only)
87
+
88
+ ### Examples
89
+
90
+ ```ruby
91
+ require 'time'
92
+ require 'qsafe-sdk'
93
+ # setup authorization
94
+ QSafe.configure do |config|
95
+ # Configure Bearer authorization (JWT): BearerAuth
96
+ config.access_token = 'YOUR_BEARER_TOKEN'
97
+ end
98
+
99
+ api_instance = QSafe::APIKeysApi.new
100
+ key_id = 'ak_1234567890' # String | API key identifier
101
+
102
+ begin
103
+ # Get API key details (JWT only)
104
+ result = api_instance.get_api_key(key_id)
105
+ p result
106
+ rescue QSafe::ApiError => e
107
+ puts "Error when calling APIKeysApi->get_api_key: #{e}"
108
+ end
109
+ ```
110
+
111
+ #### Using the get_api_key_with_http_info variant
112
+
113
+ This returns an Array which contains the response data, status code and headers.
114
+
115
+ > <Array(<GetApiKey200Response>, Integer, Hash)> get_api_key_with_http_info(key_id)
116
+
117
+ ```ruby
118
+ begin
119
+ # Get API key details (JWT only)
120
+ data, status_code, headers = api_instance.get_api_key_with_http_info(key_id)
121
+ p status_code # => 2xx
122
+ p headers # => { ... }
123
+ p data # => <GetApiKey200Response>
124
+ rescue QSafe::ApiError => e
125
+ puts "Error when calling APIKeysApi->get_api_key_with_http_info: #{e}"
126
+ end
127
+ ```
128
+
129
+ ### Parameters
130
+
131
+ | Name | Type | Description | Notes |
132
+ | ---- | ---- | ----------- | ----- |
133
+ | **key_id** | **String** | API key identifier | |
134
+
135
+ ### Return type
136
+
137
+ [**GetApiKey200Response**](GetApiKey200Response.md)
138
+
139
+ ### Authorization
140
+
141
+ [BearerAuth](../README.md#BearerAuth)
142
+
143
+ ### HTTP request headers
144
+
145
+ - **Content-Type**: Not defined
146
+ - **Accept**: application/json
147
+
148
+
149
+ ## get_api_key_usage
150
+
151
+ > <GetApiKeyUsage200Response> get_api_key_usage(key_id, opts)
152
+
153
+ Get API key usage stats (JWT only)
154
+
155
+ ### Examples
156
+
157
+ ```ruby
158
+ require 'time'
159
+ require 'qsafe-sdk'
160
+ # setup authorization
161
+ QSafe.configure do |config|
162
+ # Configure Bearer authorization (JWT): BearerAuth
163
+ config.access_token = 'YOUR_BEARER_TOKEN'
164
+ end
165
+
166
+ api_instance = QSafe::APIKeysApi.new
167
+ key_id = 'ak_1234567890' # String | API key identifier
168
+ opts = {
169
+ time_range: '1h' # String |
170
+ }
171
+
172
+ begin
173
+ # Get API key usage stats (JWT only)
174
+ result = api_instance.get_api_key_usage(key_id, opts)
175
+ p result
176
+ rescue QSafe::ApiError => e
177
+ puts "Error when calling APIKeysApi->get_api_key_usage: #{e}"
178
+ end
179
+ ```
180
+
181
+ #### Using the get_api_key_usage_with_http_info variant
182
+
183
+ This returns an Array which contains the response data, status code and headers.
184
+
185
+ > <Array(<GetApiKeyUsage200Response>, Integer, Hash)> get_api_key_usage_with_http_info(key_id, opts)
186
+
187
+ ```ruby
188
+ begin
189
+ # Get API key usage stats (JWT only)
190
+ data, status_code, headers = api_instance.get_api_key_usage_with_http_info(key_id, opts)
191
+ p status_code # => 2xx
192
+ p headers # => { ... }
193
+ p data # => <GetApiKeyUsage200Response>
194
+ rescue QSafe::ApiError => e
195
+ puts "Error when calling APIKeysApi->get_api_key_usage_with_http_info: #{e}"
196
+ end
197
+ ```
198
+
199
+ ### Parameters
200
+
201
+ | Name | Type | Description | Notes |
202
+ | ---- | ---- | ----------- | ----- |
203
+ | **key_id** | **String** | API key identifier | |
204
+ | **time_range** | **String** | | [optional][default to &#39;24h&#39;] |
205
+
206
+ ### Return type
207
+
208
+ [**GetApiKeyUsage200Response**](GetApiKeyUsage200Response.md)
209
+
210
+ ### Authorization
211
+
212
+ [BearerAuth](../README.md#BearerAuth)
213
+
214
+ ### HTTP request headers
215
+
216
+ - **Content-Type**: Not defined
217
+ - **Accept**: application/json
218
+
219
+
220
+ ## list_api_keys
221
+
222
+ > <ListApiKeys200Response> list_api_keys(opts)
223
+
224
+ List API keys (JWT only)
225
+
226
+ ### Examples
227
+
228
+ ```ruby
229
+ require 'time'
230
+ require 'qsafe-sdk'
231
+ # setup authorization
232
+ QSafe.configure do |config|
233
+ # Configure Bearer authorization (JWT): BearerAuth
234
+ config.access_token = 'YOUR_BEARER_TOKEN'
235
+ end
236
+
237
+ api_instance = QSafe::APIKeysApi.new
238
+ opts = {
239
+ page: 1, # Integer |
240
+ limit: 10, # Integer |
241
+ status: 'active' # String |
242
+ }
243
+
244
+ begin
245
+ # List API keys (JWT only)
246
+ result = api_instance.list_api_keys(opts)
247
+ p result
248
+ rescue QSafe::ApiError => e
249
+ puts "Error when calling APIKeysApi->list_api_keys: #{e}"
250
+ end
251
+ ```
252
+
253
+ #### Using the list_api_keys_with_http_info variant
254
+
255
+ This returns an Array which contains the response data, status code and headers.
256
+
257
+ > <Array(<ListApiKeys200Response>, Integer, Hash)> list_api_keys_with_http_info(opts)
258
+
259
+ ```ruby
260
+ begin
261
+ # List API keys (JWT only)
262
+ data, status_code, headers = api_instance.list_api_keys_with_http_info(opts)
263
+ p status_code # => 2xx
264
+ p headers # => { ... }
265
+ p data # => <ListApiKeys200Response>
266
+ rescue QSafe::ApiError => e
267
+ puts "Error when calling APIKeysApi->list_api_keys_with_http_info: #{e}"
268
+ end
269
+ ```
270
+
271
+ ### Parameters
272
+
273
+ | Name | Type | Description | Notes |
274
+ | ---- | ---- | ----------- | ----- |
275
+ | **page** | **Integer** | | [optional][default to 1] |
276
+ | **limit** | **Integer** | | [optional][default to 10] |
277
+ | **status** | **String** | | [optional] |
278
+
279
+ ### Return type
280
+
281
+ [**ListApiKeys200Response**](ListApiKeys200Response.md)
282
+
283
+ ### Authorization
284
+
285
+ [BearerAuth](../README.md#BearerAuth)
286
+
287
+ ### HTTP request headers
288
+
289
+ - **Content-Type**: Not defined
290
+ - **Accept**: application/json
291
+
292
+
293
+ ## rotate_api_key
294
+
295
+ > <RotateApiKey200Response> rotate_api_key(key_id)
296
+
297
+ Rotate API key — generates new key value (JWT only)
298
+
299
+ ### Examples
300
+
301
+ ```ruby
302
+ require 'time'
303
+ require 'qsafe-sdk'
304
+ # setup authorization
305
+ QSafe.configure do |config|
306
+ # Configure Bearer authorization (JWT): BearerAuth
307
+ config.access_token = 'YOUR_BEARER_TOKEN'
308
+ end
309
+
310
+ api_instance = QSafe::APIKeysApi.new
311
+ key_id = 'ak_1234567890' # String | API key identifier
312
+
313
+ begin
314
+ # Rotate API key — generates new key value (JWT only)
315
+ result = api_instance.rotate_api_key(key_id)
316
+ p result
317
+ rescue QSafe::ApiError => e
318
+ puts "Error when calling APIKeysApi->rotate_api_key: #{e}"
319
+ end
320
+ ```
321
+
322
+ #### Using the rotate_api_key_with_http_info variant
323
+
324
+ This returns an Array which contains the response data, status code and headers.
325
+
326
+ > <Array(<RotateApiKey200Response>, Integer, Hash)> rotate_api_key_with_http_info(key_id)
327
+
328
+ ```ruby
329
+ begin
330
+ # Rotate API key — generates new key value (JWT only)
331
+ data, status_code, headers = api_instance.rotate_api_key_with_http_info(key_id)
332
+ p status_code # => 2xx
333
+ p headers # => { ... }
334
+ p data # => <RotateApiKey200Response>
335
+ rescue QSafe::ApiError => e
336
+ puts "Error when calling APIKeysApi->rotate_api_key_with_http_info: #{e}"
337
+ end
338
+ ```
339
+
340
+ ### Parameters
341
+
342
+ | Name | Type | Description | Notes |
343
+ | ---- | ---- | ----------- | ----- |
344
+ | **key_id** | **String** | API key identifier | |
345
+
346
+ ### Return type
347
+
348
+ [**RotateApiKey200Response**](RotateApiKey200Response.md)
349
+
350
+ ### Authorization
351
+
352
+ [BearerAuth](../README.md#BearerAuth)
353
+
354
+ ### HTTP request headers
355
+
356
+ - **Content-Type**: Not defined
357
+ - **Accept**: application/json
358
+
359
+
360
+ ## update_api_key
361
+
362
+ > <GetApiKey200Response> update_api_key(key_id, update_api_key_request)
363
+
364
+ Update API key (JWT only)
365
+
366
+ ### Examples
367
+
368
+ ```ruby
369
+ require 'time'
370
+ require 'qsafe-sdk'
371
+ # setup authorization
372
+ QSafe.configure do |config|
373
+ # Configure Bearer authorization (JWT): BearerAuth
374
+ config.access_token = 'YOUR_BEARER_TOKEN'
375
+ end
376
+
377
+ api_instance = QSafe::APIKeysApi.new
378
+ key_id = 'ak_1234567890' # String | API key identifier
379
+ update_api_key_request = QSafe::UpdateApiKeyRequest.new # UpdateApiKeyRequest |
380
+
381
+ begin
382
+ # Update API key (JWT only)
383
+ result = api_instance.update_api_key(key_id, update_api_key_request)
384
+ p result
385
+ rescue QSafe::ApiError => e
386
+ puts "Error when calling APIKeysApi->update_api_key: #{e}"
387
+ end
388
+ ```
389
+
390
+ #### Using the update_api_key_with_http_info variant
391
+
392
+ This returns an Array which contains the response data, status code and headers.
393
+
394
+ > <Array(<GetApiKey200Response>, Integer, Hash)> update_api_key_with_http_info(key_id, update_api_key_request)
395
+
396
+ ```ruby
397
+ begin
398
+ # Update API key (JWT only)
399
+ data, status_code, headers = api_instance.update_api_key_with_http_info(key_id, update_api_key_request)
400
+ p status_code # => 2xx
401
+ p headers # => { ... }
402
+ p data # => <GetApiKey200Response>
403
+ rescue QSafe::ApiError => e
404
+ puts "Error when calling APIKeysApi->update_api_key_with_http_info: #{e}"
405
+ end
406
+ ```
407
+
408
+ ### Parameters
409
+
410
+ | Name | Type | Description | Notes |
411
+ | ---- | ---- | ----------- | ----- |
412
+ | **key_id** | **String** | API key identifier | |
413
+ | **update_api_key_request** | [**UpdateApiKeyRequest**](UpdateApiKeyRequest.md) | | |
414
+
415
+ ### Return type
416
+
417
+ [**GetApiKey200Response**](GetApiKey200Response.md)
418
+
419
+ ### Authorization
420
+
421
+ [BearerAuth](../README.md#BearerAuth)
422
+
423
+ ### HTTP request headers
424
+
425
+ - **Content-Type**: application/json
426
+ - **Accept**: application/json
427
+
data/docs/ApiKey.md ADDED
@@ -0,0 +1,36 @@
1
+ # QSafe::ApiKey
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | | [optional] |
8
+ | **name** | **String** | | [optional] |
9
+ | **permissions** | **Array&lt;String&gt;** | | [optional] |
10
+ | **rate_limits** | [**GetRateLimitStatus200ResponseDataLimits**](GetRateLimitStatus200ResponseDataLimits.md) | | [optional] |
11
+ | **is_active** | **Boolean** | | [optional] |
12
+ | **created_at** | **Time** | | [optional] |
13
+ | **last_used** | **Time** | | [optional] |
14
+ | **expires_at** | **Time** | | [optional] |
15
+ | **allowed_ips** | **Array&lt;String&gt;** | | [optional] |
16
+ | **allowed_origins** | **Array&lt;String&gt;** | | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'qsafe-sdk'
22
+
23
+ instance = QSafe::ApiKey.new(
24
+ id: ak_1234567890,
25
+ name: Production API Key,
26
+ permissions: [&quot;read&quot;,&quot;crypto_encrypt&quot;,&quot;crypto_decrypt&quot;],
27
+ rate_limits: null,
28
+ is_active: true,
29
+ created_at: null,
30
+ last_used: null,
31
+ expires_at: null,
32
+ allowed_ips: [&quot;192.168.1.0/24&quot;],
33
+ allowed_origins: [&quot;https://app.example.com&quot;]
34
+ )
35
+ ```
36
+