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
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8615d05737d2c7cad17ff224f13903d8846f7211670509790471db46dfdd7129
4
+ data.tar.gz: 60cef2102af8ca6c4a38fd66a403a0e6ec3459a61a4de61e32fc5e38913a09d6
5
+ SHA512:
6
+ metadata.gz: 0045faf810f273f2c8cc9a827911981fa1d8f948eda8fae360a12d87f0653d1507160ddc1d36efa90b89959a0151a75552c259174cb3dbac62e9bf6dcf98c207
7
+ data.tar.gz: c310c740299c41070c1f6b0e3c0a16c3285315109fe51bff00eb3c734be8676d24aa11afb11e16f04ffe1f420653d81559576eec12be475e6e1477786b83461d
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,134 @@
1
+ # qsafe-sdk for Ruby
2
+
3
+ Post-quantum cryptography SDK for the [QSafe API](https://rushikesh66-pqc-api.hf.space) — supports ML-KEM (Kyber) encryption and ML-DSA (Dilithium) signatures.
4
+
5
+ - API version: 1.0.0
6
+ - Ruby: 2.7+
7
+
8
+ ## Installation
9
+
10
+ Add to your Gemfile:
11
+
12
+ ```ruby
13
+ gem 'qsafe-sdk', '~> 1.0'
14
+ ```
15
+
16
+ Then run:
17
+
18
+ ```sh
19
+ bundle install
20
+ ```
21
+
22
+ Or install directly:
23
+
24
+ ```sh
25
+ gem install qsafe-sdk
26
+ ```
27
+
28
+ ## Authentication
29
+
30
+ | Method | Use case | How to set |
31
+ |--------|----------|------------|
32
+ | **API Key** | Programmatic access (recommended) | `config.api_key['ApiKeyHeader'] = 'pqc_your_key'` |
33
+ | **JWT Bearer** | Managing API keys, user sessions | `config.access_token = 'your_jwt_token'` |
34
+
35
+ > **Getting an API key:** Register → Login (JWT) → `POST /api-keys` → copy `data.api_key`.
36
+
37
+ ## Quick Start — API Key Auth (Recommended)
38
+
39
+ ```ruby
40
+ require 'qsafe_sdk'
41
+
42
+ # Configure API key
43
+ QSafe.configure do |config|
44
+ config.api_key['ApiKeyHeader'] = 'pqc_your_api_key_here'
45
+ end
46
+
47
+ keypairs_api = QSafe::KeypairsApi.new
48
+ crypto_api = QSafe::CryptographicOperationsApi.new
49
+
50
+ # 1. Generate a KEM keypair
51
+ kp = keypairs_api.generate_keypair(QSafe::GenerateKeypairRequest.new(algorithm: 'KYBER768'))
52
+ keypair_id = kp.data.id
53
+ puts "Keypair: #{keypair_id}"
54
+
55
+ # 2. Encrypt
56
+ enc = crypto_api.encrypt_data(keypair_id, QSafe::EncryptRequest.new(plaintext: 'Hello, quantum-safe world!'))
57
+ ciphertext = enc.data.ciphertext
58
+ encapsulated_key = enc.data.encapsulated_key
59
+
60
+ # 3. Decrypt
61
+ dec = crypto_api.decrypt_data(keypair_id, QSafe::DecryptRequest.new(
62
+ ciphertext: ciphertext,
63
+ encapsulated_key: encapsulated_key
64
+ ))
65
+ puts "Decrypted: #{dec.data.plaintext}"
66
+ ```
67
+
68
+ ### Sign & Verify
69
+
70
+ ```ruby
71
+ # Generate signature keypair
72
+ kp = keypairs_api.generate_keypair(QSafe::GenerateKeypairRequest.new(algorithm: 'DILITHIUM3'))
73
+ keypair_id = kp.data.id
74
+
75
+ # Sign
76
+ sig = crypto_api.sign_data(keypair_id, QSafe::SignRequest.new(
77
+ message: 'I approve this transaction',
78
+ hash_algorithm: 'sha256'
79
+ ))
80
+ signature = sig.data.signature
81
+
82
+ # Verify
83
+ ver = crypto_api.verify_signature(keypair_id, QSafe::VerifyRequest.new(
84
+ message: 'I approve this transaction',
85
+ signature: signature,
86
+ hash_algorithm: 'sha256'
87
+ ))
88
+ puts "Valid: #{ver.data.verification_result.valid}"
89
+ ```
90
+
91
+ ## Quick Start — JWT Auth (for managing API keys)
92
+
93
+ ```ruby
94
+ require 'qsafe_sdk'
95
+
96
+ auth_api = QSafe::AuthenticationApi.new
97
+
98
+ # Register
99
+ reg = auth_api.register_user(QSafe::RegisterRequest.new(
100
+ email: 'you@example.com',
101
+ password: 'SecureP@ssw0rd123',
102
+ first_name: 'Your',
103
+ last_name: 'Name'
104
+ ))
105
+ jwt_token = reg.data.access_token
106
+
107
+ # Use JWT to create an API key
108
+ QSafe.configure { |c| c.access_token = jwt_token }
109
+ keys_api = QSafe::APIKeysApi.new
110
+ key_resp = keys_api.create_api_key(QSafe::CreateApiKeyRequest.new(
111
+ name: 'My Production Key',
112
+ permissions: %w[read write crypto_encrypt crypto_decrypt crypto_sign crypto_verify]
113
+ ))
114
+ raw_api_key = key_resp.data.api_key # pqc_xxxx — save this!
115
+ puts "API Key: #{raw_api_key}"
116
+ ```
117
+
118
+ ## API Reference
119
+
120
+ | Method | Endpoint | Auth |
121
+ |--------|----------|------|
122
+ | `AuthenticationApi#register_user` | POST /auth/register | None |
123
+ | `AuthenticationApi#login_user` | POST /auth/login | None |
124
+ | `APIKeysApi#create_api_key` | POST /api-keys | **JWT only** |
125
+ | `KeypairsApi#generate_keypair` | POST /generate-keypair | JWT or API key |
126
+ | `CryptographicOperationsApi#encrypt_data` | POST /keypairs/{id}/encrypt | JWT or API key |
127
+ | `CryptographicOperationsApi#decrypt_data` | POST /keypairs/{id}/decrypt | JWT or API key |
128
+ | `CryptographicOperationsApi#sign_data` | POST /keypairs/{id}/sign | JWT or API key |
129
+ | `CryptographicOperationsApi#verify_signature` | POST /keypairs/{id}/verify | JWT or API key |
130
+
131
+ ## Support
132
+
133
+ - API docs: https://rushikesh66-pqc-api.hf.space/api-docs
134
+ - Issues: https://github.com/rushikesh-kakadiya/QSafeApi/issues
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,40 @@
1
+ # QSafe::ApiKey
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | | [optional] |
8
+ | **name** | **String** | | [optional] |
9
+ | **key_prefix** | **String** | Masked prefix of the API key (for identification only) | [optional] |
10
+ | **permissions** | **Array&lt;String&gt;** | | [optional] |
11
+ | **rate_limit_per_hour** | **Integer** | | [optional] |
12
+ | **is_active** | **Boolean** | | [optional] |
13
+ | **usage_count** | **Integer** | | [optional] |
14
+ | **created_at** | **Time** | | [optional] |
15
+ | **updated_at** | **Time** | | [optional] |
16
+ | **expires_at** | **Time** | | [optional] |
17
+ | **allowed_ips** | **Array&lt;String&gt;** | | [optional] |
18
+ | **allowed_origins** | **Array&lt;String&gt;** | | [optional] |
19
+
20
+ ## Example
21
+
22
+ ```ruby
23
+ require 'qsafe-sdk'
24
+
25
+ instance = QSafe::ApiKey.new(
26
+ id: 01cfd7fc-aa84-49aa-9a97-2dc68f736fac,
27
+ name: Production API Key,
28
+ key_prefix: pqc_8bf97ab3...,
29
+ permissions: [&quot;read&quot;,&quot;crypto_encrypt&quot;,&quot;crypto_decrypt&quot;],
30
+ rate_limit_per_hour: 1000,
31
+ is_active: true,
32
+ usage_count: 0,
33
+ created_at: null,
34
+ updated_at: null,
35
+ expires_at: null,
36
+ allowed_ips: [&quot;192.168.1.0/24&quot;],
37
+ allowed_origins: [&quot;https://app.example.com&quot;]
38
+ )
39
+ ```
40
+
@@ -0,0 +1,20 @@
1
+ # QSafe::AuthResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **success** | **Boolean** | | [optional] |
8
+ | **data** | [**AuthResponseData**](AuthResponseData.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'qsafe-sdk'
14
+
15
+ instance = QSafe::AuthResponse.new(
16
+ success: true,
17
+ data: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,26 @@
1
+ # QSafe::AuthResponseData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **access_token** | **String** | JWT access token — use as Bearer token in subsequent requests | [optional] |
8
+ | **refresh_token** | **String** | | [optional] |
9
+ | **token_type** | **String** | | [optional] |
10
+ | **expires_in** | **String** | Token expiry duration (e.g. \&quot;1h\&quot;) | [optional] |
11
+ | **user** | [**User**](User.md) | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'qsafe-sdk'
17
+
18
+ instance = QSafe::AuthResponseData.new(
19
+ access_token: null,
20
+ refresh_token: null,
21
+ token_type: Bearer,
22
+ expires_in: 1h,
23
+ user: null
24
+ )
25
+ ```
26
+