qsafe-sdk 1.0.4

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 (313) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +134 -0
  4. data/Rakefile +10 -0
  5. data/docs/APIKeysApi.md +427 -0
  6. data/docs/ApiKey.md +40 -0
  7. data/docs/AuthResponse.md +20 -0
  8. data/docs/AuthResponseData.md +26 -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 +20 -0
  13. data/docs/CreateApiKey201ResponseData.md +20 -0
  14. data/docs/CreateApiKeyRequest.md +28 -0
  15. data/docs/CryptographicOperationsApi.md +331 -0
  16. data/docs/DebugApi.md +84 -0
  17. data/docs/DebugRedisTest200Response.md +30 -0
  18. data/docs/DebugRedisTest200ResponseRateLimitTest.md +22 -0
  19. data/docs/DebugRedisTest200ResponseServicesStatus.md +24 -0
  20. data/docs/DebugRedisTest500Response.md +20 -0
  21. data/docs/DecryptData200Response.md +20 -0
  22. data/docs/DecryptData200ResponseData.md +24 -0
  23. data/docs/DecryptRequest.md +28 -0
  24. data/docs/DecryptRequestEphemeralCrypto.md +24 -0
  25. data/docs/EncryptData200Response.md +20 -0
  26. data/docs/EncryptData200ResponseData.md +28 -0
  27. data/docs/EncryptData200ResponseDataEphemeralStorage.md +22 -0
  28. data/docs/EncryptRequest.md +26 -0
  29. data/docs/EncryptRequestEphemeralStorage.md +22 -0
  30. data/docs/Error.md +28 -0
  31. data/docs/GenerateKeypair201Response.md +20 -0
  32. data/docs/GenerateKeypairRequest.md +24 -0
  33. data/docs/GenerateKeypairRequestKeyPolicy.md +20 -0
  34. data/docs/GetApiKey200Response.md +20 -0
  35. data/docs/GetApiKeyUsage200Response.md +20 -0
  36. data/docs/GetApiKeyUsage200ResponseData.md +22 -0
  37. data/docs/GetApiKeyUsage200ResponseDataDailyUsageInner.md +20 -0
  38. data/docs/GetAuthInfo200Response.md +20 -0
  39. data/docs/GetAuthInfo200ResponseData.md +26 -0
  40. data/docs/GetHealth200Response.md +22 -0
  41. data/docs/GetHealth200ResponseServices.md +22 -0
  42. data/docs/GetHealth200ResponseServicesApi.md +22 -0
  43. data/docs/GetHealth200ResponseServicesEphemeralStorage.md +18 -0
  44. data/docs/GetHealth200ResponseServicesRedis.md +20 -0
  45. data/docs/GetRateLimitStatus200Response.md +20 -0
  46. data/docs/GetRateLimitStatus200ResponseData.md +22 -0
  47. data/docs/GetRateLimitStatus200ResponseDataCurrentUsage.md +22 -0
  48. data/docs/GetRateLimitStatus200ResponseDataLimits.md +22 -0
  49. data/docs/GetRateLimitStatus200ResponseDataResetTimes.md +22 -0
  50. data/docs/HealthApi.md +69 -0
  51. data/docs/Keypair.md +40 -0
  52. data/docs/KeypairsApi.md +341 -0
  53. data/docs/ListApiKeys200Response.md +20 -0
  54. data/docs/ListApiKeys200ResponseData.md +22 -0
  55. data/docs/ListApiKeys200ResponseDataPagination.md +22 -0
  56. data/docs/ListKeypairs200Response.md +20 -0
  57. data/docs/ListKeypairs200ResponseData.md +22 -0
  58. data/docs/ListKeypairs200ResponseDataPagination.md +22 -0
  59. data/docs/LoginRequest.md +20 -0
  60. data/docs/RegisterRequest.md +24 -0
  61. data/docs/RevokeKeypair200Response.md +22 -0
  62. data/docs/RevokeKeypairRequest.md +22 -0
  63. data/docs/RotateApiKey200Response.md +20 -0
  64. data/docs/RotateApiKey200ResponseData.md +20 -0
  65. data/docs/SignData200Response.md +20 -0
  66. data/docs/SignData200ResponseData.md +30 -0
  67. data/docs/SignData200ResponseDataEphemeralStorage.md +22 -0
  68. data/docs/SignRequest.md +26 -0
  69. data/docs/SignRequestEphemeralStorage.md +20 -0
  70. data/docs/UpdateApiKeyRequest.md +28 -0
  71. data/docs/UpdateKeypair200Response.md +20 -0
  72. data/docs/UpdateKeypairRequest.md +24 -0
  73. data/docs/User.md +32 -0
  74. data/docs/UtilitiesApi.md +81 -0
  75. data/docs/VerifyRequest.md +26 -0
  76. data/docs/VerifySignature200Response.md +20 -0
  77. data/docs/VerifySignature200ResponseData.md +22 -0
  78. data/docs/VerifySignature200ResponseDataSignatureInfo.md +20 -0
  79. data/docs/VerifySignature200ResponseDataVerificationResult.md +22 -0
  80. data/git_push.sh +57 -0
  81. data/lib/qsafe/api/api_keys_api.rb +430 -0
  82. data/lib/qsafe/api/authentication_api.rb +275 -0
  83. data/lib/qsafe/api/cryptographic_operations_api.rb +314 -0
  84. data/lib/qsafe/api/debug_api.rb +79 -0
  85. data/lib/qsafe/api/health_api.rb +79 -0
  86. data/lib/qsafe/api/keypairs_api.rb +345 -0
  87. data/lib/qsafe/api/utilities_api.rb +79 -0
  88. data/lib/qsafe/api_client.rb +394 -0
  89. data/lib/qsafe/api_error.rb +58 -0
  90. data/lib/qsafe/configuration.rb +327 -0
  91. data/lib/qsafe/models/api_key.rb +325 -0
  92. data/lib/qsafe/models/auth_response.rb +223 -0
  93. data/lib/qsafe/models/auth_response_data.rb +242 -0
  94. data/lib/qsafe/models/change_password200_response.rb +223 -0
  95. data/lib/qsafe/models/change_password_request.rb +256 -0
  96. data/lib/qsafe/models/create_api_key201_response.rb +233 -0
  97. data/lib/qsafe/models/create_api_key_request.rb +350 -0
  98. data/lib/qsafe/models/debug_redis_test200_response.rb +304 -0
  99. data/lib/qsafe/models/debug_redis_test200_response_rate_limit_test.rb +232 -0
  100. data/lib/qsafe/models/debug_redis_test200_response_services_status.rb +241 -0
  101. data/lib/qsafe/models/debug_redis_test500_response.rb +223 -0
  102. data/lib/qsafe/models/decrypt_data200_response.rb +223 -0
  103. data/lib/qsafe/models/decrypt_data200_response_data.rb +242 -0
  104. data/lib/qsafe/models/decrypt_request.rb +301 -0
  105. data/lib/qsafe/models/decrypt_request_ephemeral_crypto.rb +276 -0
  106. data/lib/qsafe/models/encrypt_data200_response.rb +223 -0
  107. data/lib/qsafe/models/encrypt_data200_response_data.rb +263 -0
  108. data/lib/qsafe/models/encrypt_request.rb +322 -0
  109. data/lib/qsafe/models/encrypt_request_ephemeral_storage.rb +289 -0
  110. data/lib/qsafe/models/error.rb +275 -0
  111. data/lib/qsafe/models/generate_keypair201_response.rb +233 -0
  112. data/lib/qsafe/models/generate_keypair_request.rb +297 -0
  113. data/lib/qsafe/models/generate_keypair_request_key_policy.rb +266 -0
  114. data/lib/qsafe/models/get_api_key200_response.rb +223 -0
  115. data/lib/qsafe/models/get_api_key_usage200_response.rb +223 -0
  116. data/lib/qsafe/models/get_api_key_usage200_response_data.rb +236 -0
  117. data/lib/qsafe/models/get_api_key_usage200_response_data_daily_usage_inner.rb +223 -0
  118. data/lib/qsafe/models/get_auth_info200_response.rb +223 -0
  119. data/lib/qsafe/models/get_auth_info200_response_data.rb +284 -0
  120. data/lib/qsafe/models/get_health200_response.rb +232 -0
  121. data/lib/qsafe/models/get_health200_response_services.rb +232 -0
  122. data/lib/qsafe/models/get_health200_response_services_api.rb +232 -0
  123. data/lib/qsafe/models/get_health200_response_services_ephemeral_storage.rb +214 -0
  124. data/lib/qsafe/models/get_health200_response_services_redis.rb +223 -0
  125. data/lib/qsafe/models/get_rate_limit_status200_response.rb +223 -0
  126. data/lib/qsafe/models/get_rate_limit_status200_response_data.rb +232 -0
  127. data/lib/qsafe/models/get_rate_limit_status200_response_data_current_usage.rb +232 -0
  128. data/lib/qsafe/models/get_rate_limit_status200_response_data_limits.rb +232 -0
  129. data/lib/qsafe/models/get_rate_limit_status200_response_data_reset_times.rb +232 -0
  130. data/lib/qsafe/models/keypair.rb +379 -0
  131. data/lib/qsafe/models/list_api_keys200_response.rb +223 -0
  132. data/lib/qsafe/models/list_api_keys200_response_data.rb +234 -0
  133. data/lib/qsafe/models/list_api_keys200_response_data_pagination.rb +232 -0
  134. data/lib/qsafe/models/list_keypairs200_response.rb +223 -0
  135. data/lib/qsafe/models/list_keypairs200_response_data.rb +234 -0
  136. data/lib/qsafe/models/list_keypairs200_response_data_pagination.rb +232 -0
  137. data/lib/qsafe/models/login_request.rb +237 -0
  138. data/lib/qsafe/models/register_request.rb +345 -0
  139. data/lib/qsafe/models/revoke_keypair200_response.rb +232 -0
  140. data/lib/qsafe/models/revoke_keypair_request.rb +301 -0
  141. data/lib/qsafe/models/rotate_api_key200_response.rb +232 -0
  142. data/lib/qsafe/models/sign_data200_response.rb +223 -0
  143. data/lib/qsafe/models/sign_data200_response_data.rb +262 -0
  144. data/lib/qsafe/models/sign_request.rb +321 -0
  145. data/lib/qsafe/models/sign_request_ephemeral_storage.rb +279 -0
  146. data/lib/qsafe/models/update_api_key_request.rb +343 -0
  147. data/lib/qsafe/models/update_keypair200_response.rb +223 -0
  148. data/lib/qsafe/models/update_keypair_request.rb +317 -0
  149. data/lib/qsafe/models/user.rb +293 -0
  150. data/lib/qsafe/models/verify_request.rb +389 -0
  151. data/lib/qsafe/models/verify_signature200_response.rb +223 -0
  152. data/lib/qsafe/models/verify_signature200_response_data.rb +251 -0
  153. data/lib/qsafe/version.rb +15 -0
  154. data/lib/qsafe-sdk/api/api_keys_api.rb +430 -0
  155. data/lib/qsafe-sdk/api/authentication_api.rb +275 -0
  156. data/lib/qsafe-sdk/api/cryptographic_operations_api.rb +314 -0
  157. data/lib/qsafe-sdk/api/debug_api.rb +79 -0
  158. data/lib/qsafe-sdk/api/health_api.rb +79 -0
  159. data/lib/qsafe-sdk/api/keypairs_api.rb +345 -0
  160. data/lib/qsafe-sdk/api/utilities_api.rb +79 -0
  161. data/lib/qsafe-sdk/api_client.rb +394 -0
  162. data/lib/qsafe-sdk/api_error.rb +58 -0
  163. data/lib/qsafe-sdk/configuration.rb +327 -0
  164. data/lib/qsafe-sdk/models/api_key.rb +345 -0
  165. data/lib/qsafe-sdk/models/auth_response.rb +223 -0
  166. data/lib/qsafe-sdk/models/auth_response_data.rb +252 -0
  167. data/lib/qsafe-sdk/models/change_password200_response.rb +223 -0
  168. data/lib/qsafe-sdk/models/change_password_request.rb +256 -0
  169. data/lib/qsafe-sdk/models/create_api_key201_response.rb +223 -0
  170. data/lib/qsafe-sdk/models/create_api_key201_response_data.rb +224 -0
  171. data/lib/qsafe-sdk/models/create_api_key_request.rb +350 -0
  172. data/lib/qsafe-sdk/models/debug_redis_test200_response.rb +304 -0
  173. data/lib/qsafe-sdk/models/debug_redis_test200_response_rate_limit_test.rb +232 -0
  174. data/lib/qsafe-sdk/models/debug_redis_test200_response_services_status.rb +241 -0
  175. data/lib/qsafe-sdk/models/debug_redis_test500_response.rb +223 -0
  176. data/lib/qsafe-sdk/models/decrypt_data200_response.rb +223 -0
  177. data/lib/qsafe-sdk/models/decrypt_data200_response_data.rb +242 -0
  178. data/lib/qsafe-sdk/models/decrypt_request.rb +301 -0
  179. data/lib/qsafe-sdk/models/decrypt_request_ephemeral_crypto.rb +276 -0
  180. data/lib/qsafe-sdk/models/encrypt_data200_response.rb +223 -0
  181. data/lib/qsafe-sdk/models/encrypt_data200_response_data.rb +262 -0
  182. data/lib/qsafe-sdk/models/encrypt_data200_response_data_ephemeral_storage.rb +235 -0
  183. data/lib/qsafe-sdk/models/encrypt_request.rb +322 -0
  184. data/lib/qsafe-sdk/models/encrypt_request_ephemeral_storage.rb +289 -0
  185. data/lib/qsafe-sdk/models/error.rb +275 -0
  186. data/lib/qsafe-sdk/models/generate_keypair201_response.rb +223 -0
  187. data/lib/qsafe-sdk/models/generate_keypair_request.rb +297 -0
  188. data/lib/qsafe-sdk/models/generate_keypair_request_key_policy.rb +266 -0
  189. data/lib/qsafe-sdk/models/get_api_key200_response.rb +223 -0
  190. data/lib/qsafe-sdk/models/get_api_key_usage200_response.rb +223 -0
  191. data/lib/qsafe-sdk/models/get_api_key_usage200_response_data.rb +236 -0
  192. data/lib/qsafe-sdk/models/get_api_key_usage200_response_data_daily_usage_inner.rb +223 -0
  193. data/lib/qsafe-sdk/models/get_auth_info200_response.rb +223 -0
  194. data/lib/qsafe-sdk/models/get_auth_info200_response_data.rb +284 -0
  195. data/lib/qsafe-sdk/models/get_health200_response.rb +232 -0
  196. data/lib/qsafe-sdk/models/get_health200_response_services.rb +232 -0
  197. data/lib/qsafe-sdk/models/get_health200_response_services_api.rb +232 -0
  198. data/lib/qsafe-sdk/models/get_health200_response_services_ephemeral_storage.rb +214 -0
  199. data/lib/qsafe-sdk/models/get_health200_response_services_redis.rb +223 -0
  200. data/lib/qsafe-sdk/models/get_rate_limit_status200_response.rb +223 -0
  201. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data.rb +232 -0
  202. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_current_usage.rb +232 -0
  203. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_limits.rb +232 -0
  204. data/lib/qsafe-sdk/models/get_rate_limit_status200_response_data_reset_times.rb +232 -0
  205. data/lib/qsafe-sdk/models/keypair.rb +379 -0
  206. data/lib/qsafe-sdk/models/list_api_keys200_response.rb +223 -0
  207. data/lib/qsafe-sdk/models/list_api_keys200_response_data.rb +234 -0
  208. data/lib/qsafe-sdk/models/list_api_keys200_response_data_pagination.rb +232 -0
  209. data/lib/qsafe-sdk/models/list_keypairs200_response.rb +223 -0
  210. data/lib/qsafe-sdk/models/list_keypairs200_response_data.rb +234 -0
  211. data/lib/qsafe-sdk/models/list_keypairs200_response_data_pagination.rb +232 -0
  212. data/lib/qsafe-sdk/models/login_request.rb +237 -0
  213. data/lib/qsafe-sdk/models/register_request.rb +345 -0
  214. data/lib/qsafe-sdk/models/revoke_keypair200_response.rb +232 -0
  215. data/lib/qsafe-sdk/models/revoke_keypair_request.rb +301 -0
  216. data/lib/qsafe-sdk/models/rotate_api_key200_response.rb +223 -0
  217. data/lib/qsafe-sdk/models/rotate_api_key200_response_data.rb +224 -0
  218. data/lib/qsafe-sdk/models/sign_data200_response.rb +223 -0
  219. data/lib/qsafe-sdk/models/sign_data200_response_data.rb +270 -0
  220. data/lib/qsafe-sdk/models/sign_data200_response_data_ephemeral_storage.rb +234 -0
  221. data/lib/qsafe-sdk/models/sign_request.rb +321 -0
  222. data/lib/qsafe-sdk/models/sign_request_ephemeral_storage.rb +279 -0
  223. data/lib/qsafe-sdk/models/update_api_key_request.rb +343 -0
  224. data/lib/qsafe-sdk/models/update_keypair200_response.rb +223 -0
  225. data/lib/qsafe-sdk/models/update_keypair_request.rb +317 -0
  226. data/lib/qsafe-sdk/models/user.rb +312 -0
  227. data/lib/qsafe-sdk/models/verify_request.rb +389 -0
  228. data/lib/qsafe-sdk/models/verify_signature200_response.rb +223 -0
  229. data/lib/qsafe-sdk/models/verify_signature200_response_data.rb +232 -0
  230. data/lib/qsafe-sdk/models/verify_signature200_response_data_signature_info.rb +223 -0
  231. data/lib/qsafe-sdk/models/verify_signature200_response_data_verification_result.rb +233 -0
  232. data/lib/qsafe-sdk/version.rb +15 -0
  233. data/lib/qsafe-sdk.rb +114 -0
  234. data/lib/qsafe.rb +108 -0
  235. data/qsafe-sdk.gemspec +39 -0
  236. data/qsafe.gemspec +39 -0
  237. data/spec/api/api_keys_api_spec.rb +105 -0
  238. data/spec/api/authentication_api_spec.rb +78 -0
  239. data/spec/api/cryptographic_operations_api_spec.rb +85 -0
  240. data/spec/api/debug_api_spec.rb +46 -0
  241. data/spec/api/health_api_spec.rb +46 -0
  242. data/spec/api/keypairs_api_spec.rb +89 -0
  243. data/spec/api/utilities_api_spec.rb +46 -0
  244. data/spec/models/api_key_spec.rb +94 -0
  245. data/spec/models/auth_response_data_spec.rb +54 -0
  246. data/spec/models/auth_response_spec.rb +42 -0
  247. data/spec/models/change_password200_response_spec.rb +42 -0
  248. data/spec/models/change_password_request_spec.rb +42 -0
  249. data/spec/models/create_api_key201_response_data_spec.rb +42 -0
  250. data/spec/models/create_api_key201_response_spec.rb +48 -0
  251. data/spec/models/create_api_key_request_spec.rb +70 -0
  252. data/spec/models/debug_redis_test200_response_rate_limit_test_spec.rb +48 -0
  253. data/spec/models/debug_redis_test200_response_services_status_spec.rb +54 -0
  254. data/spec/models/debug_redis_test200_response_spec.rb +76 -0
  255. data/spec/models/debug_redis_test500_response_spec.rb +42 -0
  256. data/spec/models/decrypt_data200_response_data_spec.rb +54 -0
  257. data/spec/models/decrypt_data200_response_spec.rb +42 -0
  258. data/spec/models/decrypt_request_ephemeral_crypto_spec.rb +54 -0
  259. data/spec/models/decrypt_request_spec.rb +66 -0
  260. data/spec/models/encrypt_data200_response_data_ephemeral_storage_spec.rb +48 -0
  261. data/spec/models/encrypt_data200_response_data_spec.rb +66 -0
  262. data/spec/models/encrypt_data200_response_spec.rb +42 -0
  263. data/spec/models/encrypt_request_ephemeral_storage_spec.rb +48 -0
  264. data/spec/models/encrypt_request_spec.rb +64 -0
  265. data/spec/models/error_spec.rb +66 -0
  266. data/spec/models/generate_keypair201_response_spec.rb +48 -0
  267. data/spec/models/generate_keypair_request_key_policy_spec.rb +46 -0
  268. data/spec/models/generate_keypair_request_spec.rb +62 -0
  269. data/spec/models/get_api_key200_response_spec.rb +42 -0
  270. data/spec/models/get_api_key_usage200_response_data_daily_usage_inner_spec.rb +42 -0
  271. data/spec/models/get_api_key_usage200_response_data_spec.rb +48 -0
  272. data/spec/models/get_api_key_usage200_response_spec.rb +42 -0
  273. data/spec/models/get_auth_info200_response_data_spec.rb +64 -0
  274. data/spec/models/get_auth_info200_response_spec.rb +42 -0
  275. data/spec/models/get_health200_response_services_api_spec.rb +48 -0
  276. data/spec/models/get_health200_response_services_ephemeral_storage_spec.rb +36 -0
  277. data/spec/models/get_health200_response_services_redis_spec.rb +42 -0
  278. data/spec/models/get_health200_response_services_spec.rb +48 -0
  279. data/spec/models/get_health200_response_spec.rb +48 -0
  280. data/spec/models/get_rate_limit_status200_response_data_current_usage_spec.rb +48 -0
  281. data/spec/models/get_rate_limit_status200_response_data_limits_spec.rb +48 -0
  282. data/spec/models/get_rate_limit_status200_response_data_reset_times_spec.rb +48 -0
  283. data/spec/models/get_rate_limit_status200_response_data_spec.rb +48 -0
  284. data/spec/models/get_rate_limit_status200_response_spec.rb +42 -0
  285. data/spec/models/keypair_spec.rb +114 -0
  286. data/spec/models/list_api_keys200_response_data_pagination_spec.rb +48 -0
  287. data/spec/models/list_api_keys200_response_data_spec.rb +48 -0
  288. data/spec/models/list_api_keys200_response_spec.rb +42 -0
  289. data/spec/models/list_keypairs200_response_data_pagination_spec.rb +48 -0
  290. data/spec/models/list_keypairs200_response_data_spec.rb +48 -0
  291. data/spec/models/list_keypairs200_response_spec.rb +42 -0
  292. data/spec/models/login_request_spec.rb +42 -0
  293. data/spec/models/register_request_spec.rb +54 -0
  294. data/spec/models/revoke_keypair200_response_spec.rb +48 -0
  295. data/spec/models/revoke_keypair_request_spec.rb +52 -0
  296. data/spec/models/rotate_api_key200_response_data_spec.rb +42 -0
  297. data/spec/models/rotate_api_key200_response_spec.rb +48 -0
  298. data/spec/models/sign_data200_response_data_ephemeral_storage_spec.rb +48 -0
  299. data/spec/models/sign_data200_response_data_spec.rb +66 -0
  300. data/spec/models/sign_data200_response_spec.rb +42 -0
  301. data/spec/models/sign_request_ephemeral_storage_spec.rb +42 -0
  302. data/spec/models/sign_request_spec.rb +64 -0
  303. data/spec/models/update_api_key_request_spec.rb +70 -0
  304. data/spec/models/update_keypair200_response_spec.rb +42 -0
  305. data/spec/models/update_keypair_request_spec.rb +58 -0
  306. data/spec/models/user_spec.rb +70 -0
  307. data/spec/models/verify_request_spec.rb +64 -0
  308. data/spec/models/verify_signature200_response_data_signature_info_spec.rb +42 -0
  309. data/spec/models/verify_signature200_response_data_spec.rb +60 -0
  310. data/spec/models/verify_signature200_response_data_verification_result_spec.rb +48 -0
  311. data/spec/models/verify_signature200_response_spec.rb +42 -0
  312. data/spec/spec_helper.rb +111 -0
  313. metadata +477 -0
@@ -0,0 +1,275 @@
1
+ =begin
2
+ #QSafe PQC API
3
+
4
+ #Post-quantum cryptography SaaS API supporting ML-KEM (Kyber) and ML-DSA (Dilithium) algorithms. Provides keypair management and cryptographic operations (encrypt, decrypt, sign, verify). ## Authentication - **JWT Bearer Token** — user-based auth, obtained from `/auth/login` or `/auth/register` - **API Key (header)** — programmatic access via `X-API-Key` header - **API Key (query)** — programmatic access via `?api_key=` query parameter ## Quick Start 1. Register → `POST /auth/register` 2. Login → `POST /auth/login` → copy `data.token` 3. Generate keypair → `POST /generate-keypair` 4. Encrypt / Sign with the keypair ID
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: rushikesh.n.kakadiya@gmail.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module QSafe
16
+ class AuthenticationApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Change password (JWT only)
23
+ # @param change_password_request [ChangePasswordRequest]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [ChangePassword200Response]
26
+ def change_password(change_password_request, opts = {})
27
+ data, _status_code, _headers = change_password_with_http_info(change_password_request, opts)
28
+ data
29
+ end
30
+
31
+ # Change password (JWT only)
32
+ # @param change_password_request [ChangePasswordRequest]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(ChangePassword200Response, Integer, Hash)>] ChangePassword200Response data, response status code and response headers
35
+ def change_password_with_http_info(change_password_request, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: AuthenticationApi.change_password ...'
38
+ end
39
+ # verify the required parameter 'change_password_request' is set
40
+ if @api_client.config.client_side_validation && change_password_request.nil?
41
+ fail ArgumentError, "Missing the required parameter 'change_password_request' when calling AuthenticationApi.change_password"
42
+ end
43
+ # resource path
44
+ local_var_path = '/auth/change-password'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(change_password_request)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'ChangePassword200Response'
67
+
68
+ # auth_names
69
+ auth_names = opts[:debug_auth_names] || ['BearerAuth']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"AuthenticationApi.change_password",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: AuthenticationApi#change_password\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Get current auth context (JWT or API key)
89
+ # @param [Hash] opts the optional parameters
90
+ # @return [GetAuthInfo200Response]
91
+ def get_auth_info(opts = {})
92
+ data, _status_code, _headers = get_auth_info_with_http_info(opts)
93
+ data
94
+ end
95
+
96
+ # Get current auth context (JWT or API key)
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [Array<(GetAuthInfo200Response, Integer, Hash)>] GetAuthInfo200Response data, response status code and response headers
99
+ def get_auth_info_with_http_info(opts = {})
100
+ if @api_client.config.debugging
101
+ @api_client.config.logger.debug 'Calling API: AuthenticationApi.get_auth_info ...'
102
+ end
103
+ # resource path
104
+ local_var_path = '/auth/info'
105
+
106
+ # query parameters
107
+ query_params = opts[:query_params] || {}
108
+
109
+ # header parameters
110
+ header_params = opts[:header_params] || {}
111
+ # HTTP header 'Accept' (if needed)
112
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
113
+
114
+ # form parameters
115
+ form_params = opts[:form_params] || {}
116
+
117
+ # http body (model)
118
+ post_body = opts[:debug_body]
119
+
120
+ # return_type
121
+ return_type = opts[:debug_return_type] || 'GetAuthInfo200Response'
122
+
123
+ # auth_names
124
+ auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
125
+
126
+ new_options = opts.merge(
127
+ :operation => :"AuthenticationApi.get_auth_info",
128
+ :header_params => header_params,
129
+ :query_params => query_params,
130
+ :form_params => form_params,
131
+ :body => post_body,
132
+ :auth_names => auth_names,
133
+ :return_type => return_type
134
+ )
135
+
136
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
137
+ if @api_client.config.debugging
138
+ @api_client.config.logger.debug "API called: AuthenticationApi#get_auth_info\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
139
+ end
140
+ return data, status_code, headers
141
+ end
142
+
143
+ # Login and get JWT token
144
+ # @param login_request [LoginRequest]
145
+ # @param [Hash] opts the optional parameters
146
+ # @return [AuthResponse]
147
+ def login_user(login_request, opts = {})
148
+ data, _status_code, _headers = login_user_with_http_info(login_request, opts)
149
+ data
150
+ end
151
+
152
+ # Login and get JWT token
153
+ # @param login_request [LoginRequest]
154
+ # @param [Hash] opts the optional parameters
155
+ # @return [Array<(AuthResponse, Integer, Hash)>] AuthResponse data, response status code and response headers
156
+ def login_user_with_http_info(login_request, opts = {})
157
+ if @api_client.config.debugging
158
+ @api_client.config.logger.debug 'Calling API: AuthenticationApi.login_user ...'
159
+ end
160
+ # verify the required parameter 'login_request' is set
161
+ if @api_client.config.client_side_validation && login_request.nil?
162
+ fail ArgumentError, "Missing the required parameter 'login_request' when calling AuthenticationApi.login_user"
163
+ end
164
+ # resource path
165
+ local_var_path = '/auth/login'
166
+
167
+ # query parameters
168
+ query_params = opts[:query_params] || {}
169
+
170
+ # header parameters
171
+ header_params = opts[:header_params] || {}
172
+ # HTTP header 'Accept' (if needed)
173
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
174
+ # HTTP header 'Content-Type'
175
+ content_type = @api_client.select_header_content_type(['application/json'])
176
+ if !content_type.nil?
177
+ header_params['Content-Type'] = content_type
178
+ end
179
+
180
+ # form parameters
181
+ form_params = opts[:form_params] || {}
182
+
183
+ # http body (model)
184
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(login_request)
185
+
186
+ # return_type
187
+ return_type = opts[:debug_return_type] || 'AuthResponse'
188
+
189
+ # auth_names
190
+ auth_names = opts[:debug_auth_names] || []
191
+
192
+ new_options = opts.merge(
193
+ :operation => :"AuthenticationApi.login_user",
194
+ :header_params => header_params,
195
+ :query_params => query_params,
196
+ :form_params => form_params,
197
+ :body => post_body,
198
+ :auth_names => auth_names,
199
+ :return_type => return_type
200
+ )
201
+
202
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
203
+ if @api_client.config.debugging
204
+ @api_client.config.logger.debug "API called: AuthenticationApi#login_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
205
+ end
206
+ return data, status_code, headers
207
+ end
208
+
209
+ # Register a new user
210
+ # @param register_request [RegisterRequest]
211
+ # @param [Hash] opts the optional parameters
212
+ # @return [AuthResponse]
213
+ def register_user(register_request, opts = {})
214
+ data, _status_code, _headers = register_user_with_http_info(register_request, opts)
215
+ data
216
+ end
217
+
218
+ # Register a new user
219
+ # @param register_request [RegisterRequest]
220
+ # @param [Hash] opts the optional parameters
221
+ # @return [Array<(AuthResponse, Integer, Hash)>] AuthResponse data, response status code and response headers
222
+ def register_user_with_http_info(register_request, opts = {})
223
+ if @api_client.config.debugging
224
+ @api_client.config.logger.debug 'Calling API: AuthenticationApi.register_user ...'
225
+ end
226
+ # verify the required parameter 'register_request' is set
227
+ if @api_client.config.client_side_validation && register_request.nil?
228
+ fail ArgumentError, "Missing the required parameter 'register_request' when calling AuthenticationApi.register_user"
229
+ end
230
+ # resource path
231
+ local_var_path = '/auth/register'
232
+
233
+ # query parameters
234
+ query_params = opts[:query_params] || {}
235
+
236
+ # header parameters
237
+ header_params = opts[:header_params] || {}
238
+ # HTTP header 'Accept' (if needed)
239
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
240
+ # HTTP header 'Content-Type'
241
+ content_type = @api_client.select_header_content_type(['application/json'])
242
+ if !content_type.nil?
243
+ header_params['Content-Type'] = content_type
244
+ end
245
+
246
+ # form parameters
247
+ form_params = opts[:form_params] || {}
248
+
249
+ # http body (model)
250
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(register_request)
251
+
252
+ # return_type
253
+ return_type = opts[:debug_return_type] || 'AuthResponse'
254
+
255
+ # auth_names
256
+ auth_names = opts[:debug_auth_names] || []
257
+
258
+ new_options = opts.merge(
259
+ :operation => :"AuthenticationApi.register_user",
260
+ :header_params => header_params,
261
+ :query_params => query_params,
262
+ :form_params => form_params,
263
+ :body => post_body,
264
+ :auth_names => auth_names,
265
+ :return_type => return_type
266
+ )
267
+
268
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
269
+ if @api_client.config.debugging
270
+ @api_client.config.logger.debug "API called: AuthenticationApi#register_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
271
+ end
272
+ return data, status_code, headers
273
+ end
274
+ end
275
+ end
@@ -0,0 +1,314 @@
1
+ =begin
2
+ #QSafe PQC API
3
+
4
+ #Post-quantum cryptography SaaS API supporting ML-KEM (Kyber) and ML-DSA (Dilithium) algorithms. Provides keypair management and cryptographic operations (encrypt, decrypt, sign, verify). ## Authentication - **JWT Bearer Token** — user-based auth, obtained from `/auth/login` or `/auth/register` - **API Key (header)** — programmatic access via `X-API-Key` header - **API Key (query)** — programmatic access via `?api_key=` query parameter ## Quick Start 1. Register → `POST /auth/register` 2. Login → `POST /auth/login` → copy `data.token` 3. Generate keypair → `POST /generate-keypair` 4. Encrypt / Sign with the keypair ID
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: rushikesh.n.kakadiya@gmail.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module QSafe
16
+ class CryptographicOperationsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Decrypt data with a keypair's private key
23
+ # @param keypair_id [String] UUID v4 keypair identifier
24
+ # @param decrypt_request [DecryptRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [DecryptData200Response]
27
+ def decrypt_data(keypair_id, decrypt_request, opts = {})
28
+ data, _status_code, _headers = decrypt_data_with_http_info(keypair_id, decrypt_request, opts)
29
+ data
30
+ end
31
+
32
+ # Decrypt data with a keypair&#39;s private key
33
+ # @param keypair_id [String] UUID v4 keypair identifier
34
+ # @param decrypt_request [DecryptRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(DecryptData200Response, Integer, Hash)>] DecryptData200Response data, response status code and response headers
37
+ def decrypt_data_with_http_info(keypair_id, decrypt_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.decrypt_data ...'
40
+ end
41
+ # verify the required parameter 'keypair_id' is set
42
+ if @api_client.config.client_side_validation && keypair_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.decrypt_data"
44
+ end
45
+ # verify the required parameter 'decrypt_request' is set
46
+ if @api_client.config.client_side_validation && decrypt_request.nil?
47
+ fail ArgumentError, "Missing the required parameter 'decrypt_request' when calling CryptographicOperationsApi.decrypt_data"
48
+ end
49
+ # resource path
50
+ local_var_path = '/keypairs/{keypairId}/decrypt'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
59
+ # HTTP header 'Content-Type'
60
+ content_type = @api_client.select_header_content_type(['application/json'])
61
+ if !content_type.nil?
62
+ header_params['Content-Type'] = content_type
63
+ end
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(decrypt_request)
70
+
71
+ # return_type
72
+ return_type = opts[:debug_return_type] || 'DecryptData200Response'
73
+
74
+ # auth_names
75
+ auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
76
+
77
+ new_options = opts.merge(
78
+ :operation => :"CryptographicOperationsApi.decrypt_data",
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => return_type
85
+ )
86
+
87
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
88
+ if @api_client.config.debugging
89
+ @api_client.config.logger.debug "API called: CryptographicOperationsApi#decrypt_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
90
+ end
91
+ return data, status_code, headers
92
+ end
93
+
94
+ # Encrypt data with a keypair's public key
95
+ # Uses ML-KEM (Kyber). The keypair must use a `KYBER*` algorithm. Optionally stores result in ephemeral storage and returns an `ephemeral_id` for later decryption without passing raw ciphertext.
96
+ # @param keypair_id [String] UUID v4 keypair identifier
97
+ # @param encrypt_request [EncryptRequest]
98
+ # @param [Hash] opts the optional parameters
99
+ # @return [EncryptData200Response]
100
+ def encrypt_data(keypair_id, encrypt_request, opts = {})
101
+ data, _status_code, _headers = encrypt_data_with_http_info(keypair_id, encrypt_request, opts)
102
+ data
103
+ end
104
+
105
+ # Encrypt data with a keypair&#39;s public key
106
+ # Uses ML-KEM (Kyber). The keypair must use a &#x60;KYBER*&#x60; algorithm. Optionally stores result in ephemeral storage and returns an &#x60;ephemeral_id&#x60; for later decryption without passing raw ciphertext.
107
+ # @param keypair_id [String] UUID v4 keypair identifier
108
+ # @param encrypt_request [EncryptRequest]
109
+ # @param [Hash] opts the optional parameters
110
+ # @return [Array<(EncryptData200Response, Integer, Hash)>] EncryptData200Response data, response status code and response headers
111
+ def encrypt_data_with_http_info(keypair_id, encrypt_request, opts = {})
112
+ if @api_client.config.debugging
113
+ @api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.encrypt_data ...'
114
+ end
115
+ # verify the required parameter 'keypair_id' is set
116
+ if @api_client.config.client_side_validation && keypair_id.nil?
117
+ fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.encrypt_data"
118
+ end
119
+ # verify the required parameter 'encrypt_request' is set
120
+ if @api_client.config.client_side_validation && encrypt_request.nil?
121
+ fail ArgumentError, "Missing the required parameter 'encrypt_request' when calling CryptographicOperationsApi.encrypt_data"
122
+ end
123
+ # resource path
124
+ local_var_path = '/keypairs/{keypairId}/encrypt'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
125
+
126
+ # query parameters
127
+ query_params = opts[:query_params] || {}
128
+
129
+ # header parameters
130
+ header_params = opts[:header_params] || {}
131
+ # HTTP header 'Accept' (if needed)
132
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
133
+ # HTTP header 'Content-Type'
134
+ content_type = @api_client.select_header_content_type(['application/json'])
135
+ if !content_type.nil?
136
+ header_params['Content-Type'] = content_type
137
+ end
138
+
139
+ # form parameters
140
+ form_params = opts[:form_params] || {}
141
+
142
+ # http body (model)
143
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(encrypt_request)
144
+
145
+ # return_type
146
+ return_type = opts[:debug_return_type] || 'EncryptData200Response'
147
+
148
+ # auth_names
149
+ auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
150
+
151
+ new_options = opts.merge(
152
+ :operation => :"CryptographicOperationsApi.encrypt_data",
153
+ :header_params => header_params,
154
+ :query_params => query_params,
155
+ :form_params => form_params,
156
+ :body => post_body,
157
+ :auth_names => auth_names,
158
+ :return_type => return_type
159
+ )
160
+
161
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
162
+ if @api_client.config.debugging
163
+ @api_client.config.logger.debug "API called: CryptographicOperationsApi#encrypt_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
164
+ end
165
+ return data, status_code, headers
166
+ end
167
+
168
+ # Sign data with a keypair's private key
169
+ # Uses ML-DSA (Dilithium). The keypair must use a `DILITHIUM*` algorithm.
170
+ # @param keypair_id [String] UUID v4 keypair identifier
171
+ # @param sign_request [SignRequest]
172
+ # @param [Hash] opts the optional parameters
173
+ # @return [SignData200Response]
174
+ def sign_data(keypair_id, sign_request, opts = {})
175
+ data, _status_code, _headers = sign_data_with_http_info(keypair_id, sign_request, opts)
176
+ data
177
+ end
178
+
179
+ # Sign data with a keypair&#39;s private key
180
+ # Uses ML-DSA (Dilithium). The keypair must use a &#x60;DILITHIUM*&#x60; algorithm.
181
+ # @param keypair_id [String] UUID v4 keypair identifier
182
+ # @param sign_request [SignRequest]
183
+ # @param [Hash] opts the optional parameters
184
+ # @return [Array<(SignData200Response, Integer, Hash)>] SignData200Response data, response status code and response headers
185
+ def sign_data_with_http_info(keypair_id, sign_request, opts = {})
186
+ if @api_client.config.debugging
187
+ @api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.sign_data ...'
188
+ end
189
+ # verify the required parameter 'keypair_id' is set
190
+ if @api_client.config.client_side_validation && keypair_id.nil?
191
+ fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.sign_data"
192
+ end
193
+ # verify the required parameter 'sign_request' is set
194
+ if @api_client.config.client_side_validation && sign_request.nil?
195
+ fail ArgumentError, "Missing the required parameter 'sign_request' when calling CryptographicOperationsApi.sign_data"
196
+ end
197
+ # resource path
198
+ local_var_path = '/keypairs/{keypairId}/sign'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
199
+
200
+ # query parameters
201
+ query_params = opts[:query_params] || {}
202
+
203
+ # header parameters
204
+ header_params = opts[:header_params] || {}
205
+ # HTTP header 'Accept' (if needed)
206
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
207
+ # HTTP header 'Content-Type'
208
+ content_type = @api_client.select_header_content_type(['application/json'])
209
+ if !content_type.nil?
210
+ header_params['Content-Type'] = content_type
211
+ end
212
+
213
+ # form parameters
214
+ form_params = opts[:form_params] || {}
215
+
216
+ # http body (model)
217
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(sign_request)
218
+
219
+ # return_type
220
+ return_type = opts[:debug_return_type] || 'SignData200Response'
221
+
222
+ # auth_names
223
+ auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
224
+
225
+ new_options = opts.merge(
226
+ :operation => :"CryptographicOperationsApi.sign_data",
227
+ :header_params => header_params,
228
+ :query_params => query_params,
229
+ :form_params => form_params,
230
+ :body => post_body,
231
+ :auth_names => auth_names,
232
+ :return_type => return_type
233
+ )
234
+
235
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
236
+ if @api_client.config.debugging
237
+ @api_client.config.logger.debug "API called: CryptographicOperationsApi#sign_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
238
+ end
239
+ return data, status_code, headers
240
+ end
241
+
242
+ # Verify a signature
243
+ # @param keypair_id [String] UUID v4 keypair identifier
244
+ # @param verify_request [VerifyRequest]
245
+ # @param [Hash] opts the optional parameters
246
+ # @return [VerifySignature200Response]
247
+ def verify_signature(keypair_id, verify_request, opts = {})
248
+ data, _status_code, _headers = verify_signature_with_http_info(keypair_id, verify_request, opts)
249
+ data
250
+ end
251
+
252
+ # Verify a signature
253
+ # @param keypair_id [String] UUID v4 keypair identifier
254
+ # @param verify_request [VerifyRequest]
255
+ # @param [Hash] opts the optional parameters
256
+ # @return [Array<(VerifySignature200Response, Integer, Hash)>] VerifySignature200Response data, response status code and response headers
257
+ def verify_signature_with_http_info(keypair_id, verify_request, opts = {})
258
+ if @api_client.config.debugging
259
+ @api_client.config.logger.debug 'Calling API: CryptographicOperationsApi.verify_signature ...'
260
+ end
261
+ # verify the required parameter 'keypair_id' is set
262
+ if @api_client.config.client_side_validation && keypair_id.nil?
263
+ fail ArgumentError, "Missing the required parameter 'keypair_id' when calling CryptographicOperationsApi.verify_signature"
264
+ end
265
+ # verify the required parameter 'verify_request' is set
266
+ if @api_client.config.client_side_validation && verify_request.nil?
267
+ fail ArgumentError, "Missing the required parameter 'verify_request' when calling CryptographicOperationsApi.verify_signature"
268
+ end
269
+ # resource path
270
+ local_var_path = '/keypairs/{keypairId}/verify'.sub('{' + 'keypairId' + '}', CGI.escape(keypair_id.to_s))
271
+
272
+ # query parameters
273
+ query_params = opts[:query_params] || {}
274
+
275
+ # header parameters
276
+ header_params = opts[:header_params] || {}
277
+ # HTTP header 'Accept' (if needed)
278
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
279
+ # HTTP header 'Content-Type'
280
+ content_type = @api_client.select_header_content_type(['application/json'])
281
+ if !content_type.nil?
282
+ header_params['Content-Type'] = content_type
283
+ end
284
+
285
+ # form parameters
286
+ form_params = opts[:form_params] || {}
287
+
288
+ # http body (model)
289
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(verify_request)
290
+
291
+ # return_type
292
+ return_type = opts[:debug_return_type] || 'VerifySignature200Response'
293
+
294
+ # auth_names
295
+ auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
296
+
297
+ new_options = opts.merge(
298
+ :operation => :"CryptographicOperationsApi.verify_signature",
299
+ :header_params => header_params,
300
+ :query_params => query_params,
301
+ :form_params => form_params,
302
+ :body => post_body,
303
+ :auth_names => auth_names,
304
+ :return_type => return_type
305
+ )
306
+
307
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
308
+ if @api_client.config.debugging
309
+ @api_client.config.logger.debug "API called: CryptographicOperationsApi#verify_signature\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
310
+ end
311
+ return data, status_code, headers
312
+ end
313
+ end
314
+ end
@@ -0,0 +1,79 @@
1
+ =begin
2
+ #QSafe PQC API
3
+
4
+ #Post-quantum cryptography SaaS API supporting ML-KEM (Kyber) and ML-DSA (Dilithium) algorithms. Provides keypair management and cryptographic operations (encrypt, decrypt, sign, verify). ## Authentication - **JWT Bearer Token** — user-based auth, obtained from `/auth/login` or `/auth/register` - **API Key (header)** — programmatic access via `X-API-Key` header - **API Key (query)** — programmatic access via `?api_key=` query parameter ## Quick Start 1. Register → `POST /auth/register` 2. Login → `POST /auth/login` → copy `data.token` 3. Generate keypair → `POST /generate-keypair` 4. Encrypt / Sign with the keypair ID
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: rushikesh.n.kakadiya@gmail.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.9.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module QSafe
16
+ class DebugApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Test Redis and internal services
23
+ # ⚠️ Disable in production. Tests Redis connectivity and all enhanced services.
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [DebugRedisTest200Response]
26
+ def debug_redis_test(opts = {})
27
+ data, _status_code, _headers = debug_redis_test_with_http_info(opts)
28
+ data
29
+ end
30
+
31
+ # Test Redis and internal services
32
+ # ⚠️ Disable in production. Tests Redis connectivity and all enhanced services.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(DebugRedisTest200Response, Integer, Hash)>] DebugRedisTest200Response data, response status code and response headers
35
+ def debug_redis_test_with_http_info(opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: DebugApi.debug_redis_test ...'
38
+ end
39
+ # resource path
40
+ local_var_path = '/debug/redis-test'
41
+
42
+ # query parameters
43
+ query_params = opts[:query_params] || {}
44
+
45
+ # header parameters
46
+ header_params = opts[:header_params] || {}
47
+ # HTTP header 'Accept' (if needed)
48
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
49
+
50
+ # form parameters
51
+ form_params = opts[:form_params] || {}
52
+
53
+ # http body (model)
54
+ post_body = opts[:debug_body]
55
+
56
+ # return_type
57
+ return_type = opts[:debug_return_type] || 'DebugRedisTest200Response'
58
+
59
+ # auth_names
60
+ auth_names = opts[:debug_auth_names] || ['ApiKeyHeader', 'ApiKeyQuery', 'BearerAuth']
61
+
62
+ new_options = opts.merge(
63
+ :operation => :"DebugApi.debug_redis_test",
64
+ :header_params => header_params,
65
+ :query_params => query_params,
66
+ :form_params => form_params,
67
+ :body => post_body,
68
+ :auth_names => auth_names,
69
+ :return_type => return_type
70
+ )
71
+
72
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
73
+ if @api_client.config.debugging
74
+ @api_client.config.logger.debug "API called: DebugApi#debug_redis_test\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
+ end
76
+ return data, status_code, headers
77
+ end
78
+ end
79
+ end