lockally 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +481 -0
  5. data/Rakefile +10 -0
  6. data/docs/APIKey.md +32 -0
  7. data/docs/ActivateAddOn200Response.md +24 -0
  8. data/docs/AddCalendarMemberRequest.md +20 -0
  9. data/docs/AddContactListMemberRequest.md +18 -0
  10. data/docs/AddOn.md +28 -0
  11. data/docs/AddOnsApi.md +275 -0
  12. data/docs/AddSharedMemberRequest.md +20 -0
  13. data/docs/Admin.md +30 -0
  14. data/docs/AdminApi.md +205 -0
  15. data/docs/AdminFull.md +36 -0
  16. data/docs/AdminsApi.md +283 -0
  17. data/docs/AgentsApi.md +927 -0
  18. data/docs/AiApi.md +282 -0
  19. data/docs/AliasesApi.md +211 -0
  20. data/docs/ApiKeysApi.md +213 -0
  21. data/docs/AuditEvent.md +26 -0
  22. data/docs/BatchLookupPublicKeys200Response.md +18 -0
  23. data/docs/BatchLookupPublicKeys200ResponseDataInner.md +22 -0
  24. data/docs/BatchResult.md +26 -0
  25. data/docs/BillingApi.md +208 -0
  26. data/docs/BillingStatus.md +46 -0
  27. data/docs/Calendar.md +38 -0
  28. data/docs/CalendarEvent.md +40 -0
  29. data/docs/CalendarIntegration.md +34 -0
  30. data/docs/CalendarMember.md +28 -0
  31. data/docs/CalendarPolicies.md +40 -0
  32. data/docs/CalendarsApi.md +1445 -0
  33. data/docs/Contact.md +44 -0
  34. data/docs/ContactList.md +32 -0
  35. data/docs/ContactListsApi.md +483 -0
  36. data/docs/ContactsApi.md +426 -0
  37. data/docs/CreateBillingCheckout200Response.md +20 -0
  38. data/docs/CreateBillingCheckoutRequest.md +18 -0
  39. data/docs/CreateCalendarEventRequest.md +28 -0
  40. data/docs/CreateCalendarIntegrationRequest.md +20 -0
  41. data/docs/CreateCalendarRequest.md +26 -0
  42. data/docs/CreateContactListRequest.md +22 -0
  43. data/docs/CreateContactRequest.md +32 -0
  44. data/docs/CreateDedicatedIPRequestRequest.md +18 -0
  45. data/docs/CreateDistributionListRequest.md +22 -0
  46. data/docs/CreateEncryptionKey201Response.md +22 -0
  47. data/docs/CreateEncryptionKeyRequest.md +24 -0
  48. data/docs/CreateEncryptionRecoveryRequest.md +20 -0
  49. data/docs/CreateMigrationCredentialRequest.md +22 -0
  50. data/docs/CreateMigrationCredentialRequestCredentials.md +26 -0
  51. data/docs/CreateMigrationRequest.md +24 -0
  52. data/docs/CreateResourceRequest.md +22 -0
  53. data/docs/CreateUnitsCheckout200Response.md +22 -0
  54. data/docs/CreateUnitsCheckoutRequest.md +18 -0
  55. data/docs/CreateUserRequest.md +26 -0
  56. data/docs/DNSRecord.md +28 -0
  57. data/docs/DashboardApi.md +462 -0
  58. data/docs/DedicatedIPRequest.md +30 -0
  59. data/docs/DirectoryApi.md +533 -0
  60. data/docs/DirectoryPermissions.md +30 -0
  61. data/docs/DiscoverMigration202Response.md +18 -0
  62. data/docs/DistributionListDetail.md +30 -0
  63. data/docs/DistributionListSummary.md +28 -0
  64. data/docs/DistributionListsApi.md +345 -0
  65. data/docs/Domain.md +36 -0
  66. data/docs/DomainsApi.md +351 -0
  67. data/docs/DraftsApi.md +503 -0
  68. data/docs/EncryptionApi.md +345 -0
  69. data/docs/GALSettings.md +36 -0
  70. data/docs/GetAddOnStatus200Response.md +22 -0
  71. data/docs/GetAuditSummary200Response.md +26 -0
  72. data/docs/GetCalendarSecurity200Response.md +32 -0
  73. data/docs/GetCalendarSecurity200ResponseAlertsInner.md +20 -0
  74. data/docs/GetCalendarSecurity200ResponseDelegatedAccessInner.md +26 -0
  75. data/docs/GetCalendarSecurity200ResponseExternalSharing.md +22 -0
  76. data/docs/GetCalendarSecurity200ResponsePublicCalendarListInner.md +26 -0
  77. data/docs/GetContactList200Response.md +20 -0
  78. data/docs/GetContactList200ResponseMembersInner.md +22 -0
  79. data/docs/GetContactLists200Response.md +18 -0
  80. data/docs/GetContactLists200ResponseDataInner.md +22 -0
  81. data/docs/GetDirectoryActivity200Response.md +18 -0
  82. data/docs/GetDirectoryActivity200ResponseDataInner.md +24 -0
  83. data/docs/GetDirectoryStats200Response.md +28 -0
  84. data/docs/GetDomainsStatus200Response.md +20 -0
  85. data/docs/GetDomainsStatus200ResponseDomainsInner.md +22 -0
  86. data/docs/GetDomainsStatus200ResponseDomainsInnerChecksInner.md +22 -0
  87. data/docs/GetEncryptionKey200Response.md +28 -0
  88. data/docs/GetIPAssignment200Response.md +26 -0
  89. data/docs/GetIntegrationsSummary200Response.md +30 -0
  90. data/docs/GetIntegrationsSummary200ResponseApiKeysInner.md +22 -0
  91. data/docs/GetIntegrationsSummary200ResponseWebhooksInner.md +24 -0
  92. data/docs/GetSecurity200Response.md +22 -0
  93. data/docs/GetSecurity200ResponseAlertsInner.md +22 -0
  94. data/docs/GetSecurity200ResponseStatsInner.md +22 -0
  95. data/docs/GetStorage200Response.md +28 -0
  96. data/docs/GetStorage200ResponseTopMailboxesInner.md +20 -0
  97. data/docs/GetStorage200ResponseTopMessagesInner.md +26 -0
  98. data/docs/GetUserInsights200Response.md +28 -0
  99. data/docs/HealthApi.md +69 -0
  100. data/docs/HealthzGet200Response.md +20 -0
  101. data/docs/IpPoolsApi.md +205 -0
  102. data/docs/ListAddOns200Response.md +18 -0
  103. data/docs/ListCalendarEvents200Response.md +18 -0
  104. data/docs/ListCalendarIntegrations200Response.md +18 -0
  105. data/docs/ListCalendarMembers200Response.md +18 -0
  106. data/docs/ListCalendars200Response.md +18 -0
  107. data/docs/ListContactLists200Response.md +18 -0
  108. data/docs/ListContacts200Response.md +18 -0
  109. data/docs/ListDedicatedIPRequests200Response.md +18 -0
  110. data/docs/ListDistributionLists200Response.md +18 -0
  111. data/docs/ListMigrationCredentials200Response.md +18 -0
  112. data/docs/ListMigrationEvents200Response.md +18 -0
  113. data/docs/ListMigrationMailboxes200Response.md +18 -0
  114. data/docs/ListMigrations200Response.md +18 -0
  115. data/docs/ListResources200Response.md +18 -0
  116. data/docs/ListSharedMembers200Response.md +18 -0
  117. data/docs/ListUsers200Response.md +20 -0
  118. data/docs/Mailbox.md +38 -0
  119. data/docs/MailboxesApi.md +980 -0
  120. data/docs/MapMigrationRequest.md +18 -0
  121. data/docs/MapMigrationRequestMappingsInner.md +20 -0
  122. data/docs/Message.md +38 -0
  123. data/docs/MessageStats.md +26 -0
  124. data/docs/MessageStatsCounts.md +24 -0
  125. data/docs/MessageStatsRates.md +24 -0
  126. data/docs/MessageStatsWindow.md +20 -0
  127. data/docs/Migration.md +44 -0
  128. data/docs/MigrationCredential.md +30 -0
  129. data/docs/MigrationEvent.md +36 -0
  130. data/docs/MigrationMailbox.md +54 -0
  131. data/docs/MigrationProgress.md +36 -0
  132. data/docs/MigrationProgressMailboxesInner.md +30 -0
  133. data/docs/MigrationSettings.md +26 -0
  134. data/docs/MigrationsApi.md +1434 -0
  135. data/docs/ModelAlias.md +26 -0
  136. data/docs/PlanCatalogEntry.md +36 -0
  137. data/docs/Problem.md +26 -0
  138. data/docs/ReplaceDistributionListMembers200Response.md +26 -0
  139. data/docs/ReplaceDistributionListMembersRequest.md +18 -0
  140. data/docs/Resource.md +32 -0
  141. data/docs/ResourcesApi.md +345 -0
  142. data/docs/RotateEncryptionKeyRequest.md +22 -0
  143. data/docs/SendApi.md +446 -0
  144. data/docs/SendMessage.md +42 -0
  145. data/docs/SharedMember.md +28 -0
  146. data/docs/SignupApi.md +70 -0
  147. data/docs/SignupRequest.md +26 -0
  148. data/docs/StartMigration202Response.md +20 -0
  149. data/docs/Suppression.md +24 -0
  150. data/docs/SuppressionsApi.md +284 -0
  151. data/docs/Template.md +30 -0
  152. data/docs/TemplateInput.md +24 -0
  153. data/docs/TemplatesApi.md +345 -0
  154. data/docs/Tenant.md +40 -0
  155. data/docs/TenantApi.md +141 -0
  156. data/docs/TestApi.md +74 -0
  157. data/docs/UnitBundle.md +26 -0
  158. data/docs/UpdateCalendarEventRequest.md +28 -0
  159. data/docs/UpdateCalendarIntegrationRequest.md +22 -0
  160. data/docs/UpdateCalendarMemberRequest.md +18 -0
  161. data/docs/UpdateCalendarPoliciesRequest.md +34 -0
  162. data/docs/UpdateCalendarRequest.md +26 -0
  163. data/docs/UpdateContactListRequest.md +22 -0
  164. data/docs/UpdateContactRequest.md +34 -0
  165. data/docs/UpdateDirectoryPermissionsRequest.md +24 -0
  166. data/docs/UpdateGALSettingsRequest.md +26 -0
  167. data/docs/UpdateMigrationMailboxRequest.md +20 -0
  168. data/docs/UpdateMigrationRequest.md +20 -0
  169. data/docs/UpdateResourceRequest.md +24 -0
  170. data/docs/UpdateUserRequest.md +26 -0
  171. data/docs/User.md +38 -0
  172. data/docs/UserEvent.md +22 -0
  173. data/docs/UsersApi.md +352 -0
  174. data/docs/V1AdminLoginPost200Response.md +24 -0
  175. data/docs/V1AdminLoginPostRequest.md +20 -0
  176. data/docs/V1AdminMeGet200Response.md +20 -0
  177. data/docs/V1AdminsGet200Response.md +18 -0
  178. data/docs/V1AdminsIdPatchRequest.md +24 -0
  179. data/docs/V1AdminsPostRequest.md +24 -0
  180. data/docs/V1AliasesGet200Response.md +18 -0
  181. data/docs/V1AliasesPostRequest.md +20 -0
  182. data/docs/V1ApiKeysGet200Response.md +18 -0
  183. data/docs/V1ApiKeysPost201Response.md +34 -0
  184. data/docs/V1ApiKeysPostRequest.md +20 -0
  185. data/docs/V1DomainsGet200Response.md +18 -0
  186. data/docs/V1DomainsPostRequest.md +18 -0
  187. data/docs/V1InboxesMailboxMessagesPostRequest.md +26 -0
  188. data/docs/V1MailboxesEmailExportPost201Response.md +22 -0
  189. data/docs/V1MailboxesEmailPatchRequest.md +22 -0
  190. data/docs/V1MailboxesEmailVacationPutRequest.md +20 -0
  191. data/docs/V1MailboxesGet200Response.md +20 -0
  192. data/docs/V1MailboxesPostRequest.md +22 -0
  193. data/docs/V1MessagesGet200Response.md +20 -0
  194. data/docs/V1SendBatchPost200Response.md +18 -0
  195. data/docs/V1SendBatchPostRequest.md +18 -0
  196. data/docs/V1SendPost202Response.md +24 -0
  197. data/docs/V1SendPostRequest.md +42 -0
  198. data/docs/V1SendPostRequestAttachmentsInner.md +22 -0
  199. data/docs/V1SuppressionsGet200Response.md +20 -0
  200. data/docs/V1SuppressionsPostRequest.md +20 -0
  201. data/docs/V1TemplatesGet200Response.md +18 -0
  202. data/docs/V1UsageGet200Response.md +42 -0
  203. data/docs/V1VacationGet200Response.md +18 -0
  204. data/docs/V1WebhooksGet200Response.md +18 -0
  205. data/docs/V1WebhooksIdPatchRequest.md +22 -0
  206. data/docs/V1WebhooksPostRequest.md +20 -0
  207. data/docs/VacationParams.md +24 -0
  208. data/docs/VacationResponder.md +30 -0
  209. data/docs/Webhook.md +38 -0
  210. data/docs/WebhooksApi.md +285 -0
  211. data/git_push.sh +57 -0
  212. data/lib/lockally/api/add_ons_api.rb +260 -0
  213. data/lib/lockally/api/admin_api.rb +204 -0
  214. data/lib/lockally/api/admins_api.rb +282 -0
  215. data/lib/lockally/api/agents_api.rb +900 -0
  216. data/lib/lockally/api/ai_api.rb +259 -0
  217. data/lib/lockally/api/aliases_api.rb +208 -0
  218. data/lib/lockally/api/api_keys_api.rb +210 -0
  219. data/lib/lockally/api/billing_api.rb +209 -0
  220. data/lib/lockally/api/calendars_api.rb +1390 -0
  221. data/lib/lockally/api/contact_lists_api.rb +476 -0
  222. data/lib/lockally/api/contacts_api.rb +413 -0
  223. data/lib/lockally/api/dashboard_api.rb +407 -0
  224. data/lib/lockally/api/directory_api.rb +484 -0
  225. data/lib/lockally/api/distribution_lists_api.rb +337 -0
  226. data/lib/lockally/api/domains_api.rb +334 -0
  227. data/lib/lockally/api/drafts_api.rb +487 -0
  228. data/lib/lockally/api/encryption_api.rb +343 -0
  229. data/lib/lockally/api/health_api.rb +79 -0
  230. data/lib/lockally/api/ip_pools_api.rb +198 -0
  231. data/lib/lockally/api/mailboxes_api.rb +946 -0
  232. data/lib/lockally/api/migrations_api.rb +1340 -0
  233. data/lib/lockally/api/resources_api.rb +337 -0
  234. data/lib/lockally/api/send_api.rb +453 -0
  235. data/lib/lockally/api/signup_api.rb +88 -0
  236. data/lib/lockally/api/suppressions_api.rb +282 -0
  237. data/lib/lockally/api/templates_api.rb +337 -0
  238. data/lib/lockally/api/tenant_api.rb +136 -0
  239. data/lib/lockally/api/test_api.rb +79 -0
  240. data/lib/lockally/api/users_api.rb +350 -0
  241. data/lib/lockally/api/webhooks_api.rb +284 -0
  242. data/lib/lockally/api_client.rb +441 -0
  243. data/lib/lockally/api_error.rb +58 -0
  244. data/lib/lockally/api_model_base.rb +88 -0
  245. data/lib/lockally/configuration.rb +404 -0
  246. data/lib/lockally/models/activate_add_on200_response.rb +242 -0
  247. data/lib/lockally/models/add_calendar_member_request.rb +209 -0
  248. data/lib/lockally/models/add_contact_list_member_request.rb +164 -0
  249. data/lib/lockally/models/add_on.rb +294 -0
  250. data/lib/lockally/models/add_shared_member_request.rb +209 -0
  251. data/lib/lockally/models/admin.rb +310 -0
  252. data/lib/lockally/models/admin_full.rb +362 -0
  253. data/lib/lockally/models/api_key.rb +315 -0
  254. data/lib/lockally/models/audit_event.rb +183 -0
  255. data/lib/lockally/models/batch_lookup_public_keys200_response.rb +149 -0
  256. data/lib/lockally/models/batch_lookup_public_keys200_response_data_inner.rb +165 -0
  257. data/lib/lockally/models/batch_result.rb +218 -0
  258. data/lib/lockally/models/billing_status.rb +507 -0
  259. data/lib/lockally/models/calendar.rb +363 -0
  260. data/lib/lockally/models/calendar_event.rb +416 -0
  261. data/lib/lockally/models/calendar_integration.rb +347 -0
  262. data/lib/lockally/models/calendar_member.rb +318 -0
  263. data/lib/lockally/models/calendar_policies.rb +297 -0
  264. data/lib/lockally/models/contact.rb +424 -0
  265. data/lib/lockally/models/contact_list.rb +353 -0
  266. data/lib/lockally/models/create_billing_checkout200_response.rb +190 -0
  267. data/lib/lockally/models/create_billing_checkout_request.rb +188 -0
  268. data/lib/lockally/models/create_calendar_event_request.rb +245 -0
  269. data/lib/lockally/models/create_calendar_integration_request.rb +197 -0
  270. data/lib/lockally/models/create_calendar_request.rb +236 -0
  271. data/lib/lockally/models/create_contact_list_request.rb +218 -0
  272. data/lib/lockally/models/create_contact_request.rb +280 -0
  273. data/lib/lockally/models/create_dedicated_ip_request_request.rb +164 -0
  274. data/lib/lockally/models/create_distribution_list_request.rb +184 -0
  275. data/lib/lockally/models/create_encryption_key201_response.rb +165 -0
  276. data/lib/lockally/models/create_encryption_key_request.rb +225 -0
  277. data/lib/lockally/models/create_encryption_recovery_request.rb +190 -0
  278. data/lib/lockally/models/create_migration_credential_request.rb +223 -0
  279. data/lib/lockally/models/create_migration_credential_request_credentials.rb +217 -0
  280. data/lib/lockally/models/create_migration_request.rb +225 -0
  281. data/lib/lockally/models/create_resource_request.rb +237 -0
  282. data/lib/lockally/models/create_units_checkout200_response.rb +216 -0
  283. data/lib/lockally/models/create_units_checkout_request.rb +188 -0
  284. data/lib/lockally/models/create_user_request.rb +234 -0
  285. data/lib/lockally/models/dedicated_ip_request.rb +293 -0
  286. data/lib/lockally/models/directory_permissions.rb +316 -0
  287. data/lib/lockally/models/discover_migration202_response.rb +164 -0
  288. data/lib/lockally/models/distribution_list_detail.rb +305 -0
  289. data/lib/lockally/models/distribution_list_summary.rb +277 -0
  290. data/lib/lockally/models/dns_record.rb +304 -0
  291. data/lib/lockally/models/domain.rb +367 -0
  292. data/lib/lockally/models/gal_settings.rb +354 -0
  293. data/lib/lockally/models/get_add_on_status200_response.rb +216 -0
  294. data/lib/lockally/models/get_audit_summary200_response.rb +189 -0
  295. data/lib/lockally/models/get_calendar_security200_response.rb +216 -0
  296. data/lib/lockally/models/get_calendar_security200_response_alerts_inner.rb +190 -0
  297. data/lib/lockally/models/get_calendar_security200_response_delegated_access_inner.rb +183 -0
  298. data/lib/lockally/models/get_calendar_security200_response_external_sharing.rb +165 -0
  299. data/lib/lockally/models/get_calendar_security200_response_public_calendar_list_inner.rb +183 -0
  300. data/lib/lockally/models/get_contact_list200_response.rb +158 -0
  301. data/lib/lockally/models/get_contact_list200_response_members_inner.rb +165 -0
  302. data/lib/lockally/models/get_contact_lists200_response.rb +149 -0
  303. data/lib/lockally/models/get_contact_lists200_response_data_inner.rb +165 -0
  304. data/lib/lockally/models/get_directory_activity200_response.rb +149 -0
  305. data/lib/lockally/models/get_directory_activity200_response_data_inner.rb +174 -0
  306. data/lib/lockally/models/get_directory_stats200_response.rb +192 -0
  307. data/lib/lockally/models/get_domains_status200_response.rb +158 -0
  308. data/lib/lockally/models/get_domains_status200_response_domains_inner.rb +167 -0
  309. data/lib/lockally/models/get_domains_status200_response_domains_inner_checks_inner.rb +199 -0
  310. data/lib/lockally/models/get_encryption_key200_response.rb +192 -0
  311. data/lib/lockally/models/get_integrations_summary200_response.rb +205 -0
  312. data/lib/lockally/models/get_integrations_summary200_response_api_keys_inner.rb +165 -0
  313. data/lib/lockally/models/get_integrations_summary200_response_webhooks_inner.rb +174 -0
  314. data/lib/lockally/models/get_ip_assignment200_response.rb +183 -0
  315. data/lib/lockally/models/get_security200_response.rb +203 -0
  316. data/lib/lockally/models/get_security200_response_alerts_inner.rb +199 -0
  317. data/lib/lockally/models/get_security200_response_stats_inner.rb +165 -0
  318. data/lib/lockally/models/get_storage200_response.rb +196 -0
  319. data/lib/lockally/models/get_storage200_response_top_mailboxes_inner.rb +156 -0
  320. data/lib/lockally/models/get_storage200_response_top_messages_inner.rb +185 -0
  321. data/lib/lockally/models/get_user_insights200_response.rb +198 -0
  322. data/lib/lockally/models/healthz_get200_response.rb +214 -0
  323. data/lib/lockally/models/list_add_ons200_response.rb +166 -0
  324. data/lib/lockally/models/list_calendar_events200_response.rb +149 -0
  325. data/lib/lockally/models/list_calendar_integrations200_response.rb +149 -0
  326. data/lib/lockally/models/list_calendar_members200_response.rb +149 -0
  327. data/lib/lockally/models/list_calendars200_response.rb +149 -0
  328. data/lib/lockally/models/list_contact_lists200_response.rb +149 -0
  329. data/lib/lockally/models/list_contacts200_response.rb +149 -0
  330. data/lib/lockally/models/list_dedicated_ip_requests200_response.rb +166 -0
  331. data/lib/lockally/models/list_distribution_lists200_response.rb +166 -0
  332. data/lib/lockally/models/list_migration_credentials200_response.rb +166 -0
  333. data/lib/lockally/models/list_migration_events200_response.rb +166 -0
  334. data/lib/lockally/models/list_migration_mailboxes200_response.rb +166 -0
  335. data/lib/lockally/models/list_migrations200_response.rb +166 -0
  336. data/lib/lockally/models/list_resources200_response.rb +149 -0
  337. data/lib/lockally/models/list_shared_members200_response.rb +166 -0
  338. data/lib/lockally/models/list_users200_response.rb +192 -0
  339. data/lib/lockally/models/mailbox.rb +357 -0
  340. data/lib/lockally/models/map_migration_request.rb +166 -0
  341. data/lib/lockally/models/map_migration_request_mappings_inner.rb +190 -0
  342. data/lib/lockally/models/message.rb +400 -0
  343. data/lib/lockally/models/message_stats.rb +183 -0
  344. data/lib/lockally/models/message_stats_counts.rb +174 -0
  345. data/lib/lockally/models/message_stats_rates.rb +174 -0
  346. data/lib/lockally/models/message_stats_window.rb +156 -0
  347. data/lib/lockally/models/migration.rb +441 -0
  348. data/lib/lockally/models/migration_credential.rb +310 -0
  349. data/lib/lockally/models/migration_event.rb +330 -0
  350. data/lib/lockally/models/migration_mailbox.rb +462 -0
  351. data/lib/lockally/models/migration_progress.rb +400 -0
  352. data/lib/lockally/models/migration_progress_mailboxes_inner.rb +286 -0
  353. data/lib/lockally/models/migration_settings.rb +185 -0
  354. data/lib/lockally/models/model_alias.rb +268 -0
  355. data/lib/lockally/models/plan_catalog_entry.rb +398 -0
  356. data/lib/lockally/models/problem.rb +235 -0
  357. data/lib/lockally/models/replace_distribution_list_members200_response.rb +270 -0
  358. data/lib/lockally/models/replace_distribution_list_members_request.rb +166 -0
  359. data/lib/lockally/models/resource.rb +353 -0
  360. data/lib/lockally/models/rotate_encryption_key_request.rb +199 -0
  361. data/lib/lockally/models/send_message.rb +310 -0
  362. data/lib/lockally/models/shared_member.rb +318 -0
  363. data/lib/lockally/models/signup_request.rb +279 -0
  364. data/lib/lockally/models/start_migration202_response.rb +190 -0
  365. data/lib/lockally/models/suppression.rb +208 -0
  366. data/lib/lockally/models/template.rb +201 -0
  367. data/lib/lockally/models/template_input.rb +195 -0
  368. data/lib/lockally/models/tenant.rb +424 -0
  369. data/lib/lockally/models/unit_bundle.rb +268 -0
  370. data/lib/lockally/models/update_calendar_event_request.rb +192 -0
  371. data/lib/lockally/models/update_calendar_integration_request.rb +199 -0
  372. data/lib/lockally/models/update_calendar_member_request.rb +188 -0
  373. data/lib/lockally/models/update_calendar_policies_request.rb +337 -0
  374. data/lib/lockally/models/update_calendar_request.rb +217 -0
  375. data/lib/lockally/models/update_contact_list_request.rb +199 -0
  376. data/lib/lockally/models/update_contact_request.rb +265 -0
  377. data/lib/lockally/models/update_directory_permissions_request.rb +244 -0
  378. data/lib/lockally/models/update_gal_settings_request.rb +217 -0
  379. data/lib/lockally/models/update_migration_mailbox_request.rb +157 -0
  380. data/lib/lockally/models/update_migration_request.rb +156 -0
  381. data/lib/lockally/models/update_resource_request.rb +220 -0
  382. data/lib/lockally/models/update_user_request.rb +217 -0
  383. data/lib/lockally/models/user.rb +397 -0
  384. data/lib/lockally/models/user_event.rb +165 -0
  385. data/lib/lockally/models/v1_admin_login_post200_response.rb +242 -0
  386. data/lib/lockally/models/v1_admin_login_post_request.rb +199 -0
  387. data/lib/lockally/models/v1_admin_me_get200_response.rb +190 -0
  388. data/lib/lockally/models/v1_admins_get200_response.rb +166 -0
  389. data/lib/lockally/models/v1_admins_id_patch_request.rb +227 -0
  390. data/lib/lockally/models/v1_admins_post_request.rb +246 -0
  391. data/lib/lockally/models/v1_aliases_get200_response.rb +166 -0
  392. data/lib/lockally/models/v1_aliases_post_request.rb +190 -0
  393. data/lib/lockally/models/v1_api_keys_get200_response.rb +166 -0
  394. data/lib/lockally/models/v1_api_keys_post201_response.rb +349 -0
  395. data/lib/lockally/models/v1_api_keys_post_request.rb +211 -0
  396. data/lib/lockally/models/v1_domains_get200_response.rb +166 -0
  397. data/lib/lockally/models/v1_domains_post_request.rb +164 -0
  398. data/lib/lockally/models/v1_inboxes_mailbox_messages_post_request.rb +221 -0
  399. data/lib/lockally/models/v1_mailboxes_email_export_post201_response.rb +241 -0
  400. data/lib/lockally/models/v1_mailboxes_email_patch_request.rb +203 -0
  401. data/lib/lockally/models/v1_mailboxes_email_vacation_put_request.rb +175 -0
  402. data/lib/lockally/models/v1_mailboxes_get200_response.rb +192 -0
  403. data/lib/lockally/models/v1_mailboxes_post_request.rb +205 -0
  404. data/lib/lockally/models/v1_messages_get200_response.rb +176 -0
  405. data/lib/lockally/models/v1_send_batch_post200_response.rb +149 -0
  406. data/lib/lockally/models/v1_send_batch_post_request.rb +184 -0
  407. data/lib/lockally/models/v1_send_post202_response.rb +252 -0
  408. data/lib/lockally/models/v1_send_post_request.rb +316 -0
  409. data/lib/lockally/models/v1_send_post_request_attachments_inner.rb +217 -0
  410. data/lib/lockally/models/v1_suppressions_get200_response.rb +158 -0
  411. data/lib/lockally/models/v1_suppressions_post_request.rb +209 -0
  412. data/lib/lockally/models/v1_templates_get200_response.rb +149 -0
  413. data/lib/lockally/models/v1_usage_get200_response.rb +300 -0
  414. data/lib/lockally/models/v1_vacation_get200_response.rb +166 -0
  415. data/lib/lockally/models/v1_webhooks_get200_response.rb +166 -0
  416. data/lib/lockally/models/v1_webhooks_id_patch_request.rb +167 -0
  417. data/lib/lockally/models/v1_webhooks_post_request.rb +202 -0
  418. data/lib/lockally/models/vacation_params.rb +208 -0
  419. data/lib/lockally/models/vacation_responder.rb +305 -0
  420. data/lib/lockally/models/webhook.rb +359 -0
  421. data/lib/lockally/version.rb +15 -0
  422. data/lib/lockally.rb +245 -0
  423. data/lockally.gemspec +41 -0
  424. data/spec/api/add_ons_api_spec.rb +78 -0
  425. data/spec/api/admin_api_spec.rb +69 -0
  426. data/spec/api/admins_api_spec.rb +82 -0
  427. data/spec/api/agents_api_spec.rb +197 -0
  428. data/spec/api/ai_api_spec.rb +81 -0
  429. data/spec/api/aliases_api_spec.rb +69 -0
  430. data/spec/api/api_keys_api_spec.rb +70 -0
  431. data/spec/api/billing_api_spec.rb +67 -0
  432. data/spec/api/calendars_api_spec.rb +274 -0
  433. data/spec/api/contact_lists_api_spec.rb +114 -0
  434. data/spec/api/contacts_api_spec.rb +106 -0
  435. data/spec/api/dashboard_api_spec.rb +105 -0
  436. data/spec/api/directory_api_spec.rb +117 -0
  437. data/spec/api/distribution_lists_api_spec.rb +90 -0
  438. data/spec/api/domains_api_spec.rb +93 -0
  439. data/spec/api/drafts_api_spec.rb +121 -0
  440. data/spec/api/encryption_api_spec.rb +90 -0
  441. data/spec/api/health_api_spec.rb +46 -0
  442. data/spec/api/ip_pools_api_spec.rb +66 -0
  443. data/spec/api/mailboxes_api_spec.rb +203 -0
  444. data/spec/api/migrations_api_spec.rb +268 -0
  445. data/spec/api/resources_api_spec.rb +90 -0
  446. data/spec/api/send_api_spec.rb +115 -0
  447. data/spec/api/signup_api_spec.rb +46 -0
  448. data/spec/api/suppressions_api_spec.rb +81 -0
  449. data/spec/api/templates_api_spec.rb +90 -0
  450. data/spec/api/tenant_api_spec.rb +57 -0
  451. data/spec/api/test_api_spec.rb +46 -0
  452. data/spec/api/users_api_spec.rb +92 -0
  453. data/spec/api/webhooks_api_spec.rb +83 -0
  454. data/spec/models/activate_add_on200_response_spec.rb +54 -0
  455. data/spec/models/add_calendar_member_request_spec.rb +46 -0
  456. data/spec/models/add_contact_list_member_request_spec.rb +36 -0
  457. data/spec/models/add_on_spec.rb +66 -0
  458. data/spec/models/add_shared_member_request_spec.rb +46 -0
  459. data/spec/models/admin_full_spec.rb +94 -0
  460. data/spec/models/admin_spec.rb +76 -0
  461. data/spec/models/api_key_spec.rb +78 -0
  462. data/spec/models/audit_event_spec.rb +60 -0
  463. data/spec/models/batch_lookup_public_keys200_response_data_inner_spec.rb +48 -0
  464. data/spec/models/batch_lookup_public_keys200_response_spec.rb +36 -0
  465. data/spec/models/batch_result_spec.rb +64 -0
  466. data/spec/models/billing_status_spec.rb +128 -0
  467. data/spec/models/calendar_event_spec.rb +102 -0
  468. data/spec/models/calendar_integration_spec.rb +92 -0
  469. data/spec/models/calendar_member_spec.rb +70 -0
  470. data/spec/models/calendar_policies_spec.rb +106 -0
  471. data/spec/models/calendar_spec.rb +100 -0
  472. data/spec/models/contact_list_spec.rb +82 -0
  473. data/spec/models/contact_spec.rb +118 -0
  474. data/spec/models/create_billing_checkout200_response_spec.rb +42 -0
  475. data/spec/models/create_billing_checkout_request_spec.rb +40 -0
  476. data/spec/models/create_calendar_event_request_spec.rb +66 -0
  477. data/spec/models/create_calendar_integration_request_spec.rb +46 -0
  478. data/spec/models/create_calendar_request_spec.rb +64 -0
  479. data/spec/models/create_contact_list_request_spec.rb +52 -0
  480. data/spec/models/create_contact_request_spec.rb +82 -0
  481. data/spec/models/create_dedicated_ip_request_request_spec.rb +36 -0
  482. data/spec/models/create_distribution_list_request_spec.rb +48 -0
  483. data/spec/models/create_encryption_key201_response_spec.rb +48 -0
  484. data/spec/models/create_encryption_key_request_spec.rb +54 -0
  485. data/spec/models/create_encryption_recovery_request_spec.rb +42 -0
  486. data/spec/models/create_migration_credential_request_credentials_spec.rb +60 -0
  487. data/spec/models/create_migration_credential_request_spec.rb +52 -0
  488. data/spec/models/create_migration_request_spec.rb +54 -0
  489. data/spec/models/create_resource_request_spec.rb +52 -0
  490. data/spec/models/create_units_checkout200_response_spec.rb +48 -0
  491. data/spec/models/create_units_checkout_request_spec.rb +40 -0
  492. data/spec/models/create_user_request_spec.rb +60 -0
  493. data/spec/models/dedicated_ip_request_spec.rb +76 -0
  494. data/spec/models/directory_permissions_spec.rb +88 -0
  495. data/spec/models/discover_migration202_response_spec.rb +36 -0
  496. data/spec/models/distribution_list_detail_spec.rb +72 -0
  497. data/spec/models/distribution_list_summary_spec.rb +66 -0
  498. data/spec/models/dns_record_spec.rb +74 -0
  499. data/spec/models/domain_spec.rb +90 -0
  500. data/spec/models/gal_settings_spec.rb +94 -0
  501. data/spec/models/get_add_on_status200_response_spec.rb +48 -0
  502. data/spec/models/get_audit_summary200_response_spec.rb +60 -0
  503. data/spec/models/get_calendar_security200_response_alerts_inner_spec.rb +46 -0
  504. data/spec/models/get_calendar_security200_response_delegated_access_inner_spec.rb +60 -0
  505. data/spec/models/get_calendar_security200_response_external_sharing_spec.rb +48 -0
  506. data/spec/models/get_calendar_security200_response_public_calendar_list_inner_spec.rb +60 -0
  507. data/spec/models/get_calendar_security200_response_spec.rb +78 -0
  508. data/spec/models/get_contact_list200_response_members_inner_spec.rb +48 -0
  509. data/spec/models/get_contact_list200_response_spec.rb +42 -0
  510. data/spec/models/get_contact_lists200_response_data_inner_spec.rb +48 -0
  511. data/spec/models/get_contact_lists200_response_spec.rb +36 -0
  512. data/spec/models/get_directory_activity200_response_data_inner_spec.rb +54 -0
  513. data/spec/models/get_directory_activity200_response_spec.rb +36 -0
  514. data/spec/models/get_directory_stats200_response_spec.rb +66 -0
  515. data/spec/models/get_domains_status200_response_domains_inner_checks_inner_spec.rb +52 -0
  516. data/spec/models/get_domains_status200_response_domains_inner_spec.rb +48 -0
  517. data/spec/models/get_domains_status200_response_spec.rb +42 -0
  518. data/spec/models/get_encryption_key200_response_spec.rb +66 -0
  519. data/spec/models/get_integrations_summary200_response_api_keys_inner_spec.rb +48 -0
  520. data/spec/models/get_integrations_summary200_response_spec.rb +72 -0
  521. data/spec/models/get_integrations_summary200_response_webhooks_inner_spec.rb +54 -0
  522. data/spec/models/get_ip_assignment200_response_spec.rb +60 -0
  523. data/spec/models/get_security200_response_alerts_inner_spec.rb +52 -0
  524. data/spec/models/get_security200_response_spec.rb +52 -0
  525. data/spec/models/get_security200_response_stats_inner_spec.rb +48 -0
  526. data/spec/models/get_storage200_response_spec.rb +66 -0
  527. data/spec/models/get_storage200_response_top_mailboxes_inner_spec.rb +42 -0
  528. data/spec/models/get_storage200_response_top_messages_inner_spec.rb +60 -0
  529. data/spec/models/get_user_insights200_response_spec.rb +66 -0
  530. data/spec/models/healthz_get200_response_spec.rb +46 -0
  531. data/spec/models/list_add_ons200_response_spec.rb +36 -0
  532. data/spec/models/list_calendar_events200_response_spec.rb +36 -0
  533. data/spec/models/list_calendar_integrations200_response_spec.rb +36 -0
  534. data/spec/models/list_calendar_members200_response_spec.rb +36 -0
  535. data/spec/models/list_calendars200_response_spec.rb +36 -0
  536. data/spec/models/list_contact_lists200_response_spec.rb +36 -0
  537. data/spec/models/list_contacts200_response_spec.rb +36 -0
  538. data/spec/models/list_dedicated_ip_requests200_response_spec.rb +36 -0
  539. data/spec/models/list_distribution_lists200_response_spec.rb +36 -0
  540. data/spec/models/list_migration_credentials200_response_spec.rb +36 -0
  541. data/spec/models/list_migration_events200_response_spec.rb +36 -0
  542. data/spec/models/list_migration_mailboxes200_response_spec.rb +36 -0
  543. data/spec/models/list_migrations200_response_spec.rb +36 -0
  544. data/spec/models/list_resources200_response_spec.rb +36 -0
  545. data/spec/models/list_shared_members200_response_spec.rb +36 -0
  546. data/spec/models/list_users200_response_spec.rb +42 -0
  547. data/spec/models/mailbox_spec.rb +96 -0
  548. data/spec/models/map_migration_request_mappings_inner_spec.rb +42 -0
  549. data/spec/models/map_migration_request_spec.rb +36 -0
  550. data/spec/models/message_spec.rb +100 -0
  551. data/spec/models/message_stats_counts_spec.rb +54 -0
  552. data/spec/models/message_stats_rates_spec.rb +54 -0
  553. data/spec/models/message_stats_spec.rb +60 -0
  554. data/spec/models/message_stats_window_spec.rb +42 -0
  555. data/spec/models/migration_credential_spec.rb +76 -0
  556. data/spec/models/migration_event_spec.rb +90 -0
  557. data/spec/models/migration_mailbox_spec.rb +144 -0
  558. data/spec/models/migration_progress_mailboxes_inner_spec.rb +72 -0
  559. data/spec/models/migration_progress_spec.rb +90 -0
  560. data/spec/models/migration_settings_spec.rb +60 -0
  561. data/spec/models/migration_spec.rb +118 -0
  562. data/spec/models/model_alias_spec.rb +60 -0
  563. data/spec/models/plan_catalog_entry_spec.rb +90 -0
  564. data/spec/models/problem_spec.rb +60 -0
  565. data/spec/models/replace_distribution_list_members200_response_spec.rb +60 -0
  566. data/spec/models/replace_distribution_list_members_request_spec.rb +36 -0
  567. data/spec/models/resource_spec.rb +82 -0
  568. data/spec/models/rotate_encryption_key_request_spec.rb +48 -0
  569. data/spec/models/send_message_spec.rb +108 -0
  570. data/spec/models/shared_member_spec.rb +70 -0
  571. data/spec/models/signup_request_spec.rb +64 -0
  572. data/spec/models/start_migration202_response_spec.rb +42 -0
  573. data/spec/models/suppression_spec.rb +58 -0
  574. data/spec/models/template_input_spec.rb +54 -0
  575. data/spec/models/template_spec.rb +72 -0
  576. data/spec/models/tenant_spec.rb +106 -0
  577. data/spec/models/unit_bundle_spec.rb +60 -0
  578. data/spec/models/update_calendar_event_request_spec.rb +66 -0
  579. data/spec/models/update_calendar_integration_request_spec.rb +52 -0
  580. data/spec/models/update_calendar_member_request_spec.rb +40 -0
  581. data/spec/models/update_calendar_policies_request_spec.rb +88 -0
  582. data/spec/models/update_calendar_request_spec.rb +64 -0
  583. data/spec/models/update_contact_list_request_spec.rb +52 -0
  584. data/spec/models/update_contact_request_spec.rb +92 -0
  585. data/spec/models/update_directory_permissions_request_spec.rb +70 -0
  586. data/spec/models/update_gal_settings_request_spec.rb +64 -0
  587. data/spec/models/update_migration_mailbox_request_spec.rb +42 -0
  588. data/spec/models/update_migration_request_spec.rb +42 -0
  589. data/spec/models/update_resource_request_spec.rb +62 -0
  590. data/spec/models/update_user_request_spec.rb +64 -0
  591. data/spec/models/user_event_spec.rb +48 -0
  592. data/spec/models/user_spec.rb +100 -0
  593. data/spec/models/v1_admin_login_post200_response_spec.rb +54 -0
  594. data/spec/models/v1_admin_login_post_request_spec.rb +42 -0
  595. data/spec/models/v1_admin_me_get200_response_spec.rb +42 -0
  596. data/spec/models/v1_admins_get200_response_spec.rb +36 -0
  597. data/spec/models/v1_admins_id_patch_request_spec.rb +58 -0
  598. data/spec/models/v1_admins_post_request_spec.rb +58 -0
  599. data/spec/models/v1_aliases_get200_response_spec.rb +36 -0
  600. data/spec/models/v1_aliases_post_request_spec.rb +42 -0
  601. data/spec/models/v1_api_keys_get200_response_spec.rb +36 -0
  602. data/spec/models/v1_api_keys_post201_response_spec.rb +84 -0
  603. data/spec/models/v1_api_keys_post_request_spec.rb +46 -0
  604. data/spec/models/v1_domains_get200_response_spec.rb +36 -0
  605. data/spec/models/v1_domains_post_request_spec.rb +36 -0
  606. data/spec/models/v1_inboxes_mailbox_messages_post_request_spec.rb +60 -0
  607. data/spec/models/v1_mailboxes_email_export_post201_response_spec.rb +52 -0
  608. data/spec/models/v1_mailboxes_email_patch_request_spec.rb +48 -0
  609. data/spec/models/v1_mailboxes_email_vacation_put_request_spec.rb +42 -0
  610. data/spec/models/v1_mailboxes_get200_response_spec.rb +42 -0
  611. data/spec/models/v1_mailboxes_post_request_spec.rb +48 -0
  612. data/spec/models/v1_messages_get200_response_spec.rb +42 -0
  613. data/spec/models/v1_send_batch_post200_response_spec.rb +36 -0
  614. data/spec/models/v1_send_batch_post_request_spec.rb +36 -0
  615. data/spec/models/v1_send_post202_response_spec.rb +58 -0
  616. data/spec/models/v1_send_post_request_attachments_inner_spec.rb +48 -0
  617. data/spec/models/v1_send_post_request_spec.rb +108 -0
  618. data/spec/models/v1_suppressions_get200_response_spec.rb +42 -0
  619. data/spec/models/v1_suppressions_post_request_spec.rb +46 -0
  620. data/spec/models/v1_templates_get200_response_spec.rb +36 -0
  621. data/spec/models/v1_usage_get200_response_spec.rb +108 -0
  622. data/spec/models/v1_vacation_get200_response_spec.rb +36 -0
  623. data/spec/models/v1_webhooks_get200_response_spec.rb +36 -0
  624. data/spec/models/v1_webhooks_id_patch_request_spec.rb +48 -0
  625. data/spec/models/v1_webhooks_post_request_spec.rb +42 -0
  626. data/spec/models/vacation_params_spec.rb +54 -0
  627. data/spec/models/vacation_responder_spec.rb +72 -0
  628. data/spec/models/webhook_spec.rb +96 -0
  629. data/spec/spec_helper.rb +111 -0
  630. metadata +952 -0
@@ -0,0 +1,259 @@
1
+ =begin
2
+ #lockally control plane
3
+
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+ Contact: support@lockally.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Lockally
16
+ class AiApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Read the tenant's AI configuration
23
+ # Mode (off/byok/units), model, masked key hint, AI-unit balance, whether the units tier is available on this deployment.
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [Object]
26
+ def v1_ai_config_get(opts = {})
27
+ data, _status_code, _headers = v1_ai_config_get_with_http_info(opts)
28
+ data
29
+ end
30
+
31
+ # Read the tenant&#39;s AI configuration
32
+ # Mode (off/byok/units), model, masked key hint, AI-unit balance, whether the units tier is available on this deployment.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
35
+ def v1_ai_config_get_with_http_info(opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: AiApi.v1_ai_config_get ...'
38
+ end
39
+ # resource path
40
+ local_var_path = '/v1/ai-config'
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] || 'Object'
58
+
59
+ # auth_names
60
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
61
+
62
+ new_options = opts.merge(
63
+ :operation => :"AiApi.v1_ai_config_get",
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: AiApi#v1_ai_config_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
+ end
76
+ return data, status_code, headers
77
+ end
78
+
79
+ # Configure the AI tier
80
+ # Body: {\"mode\": \"off|byok|units\", \"model\": \"...\", \"anthropic_key\": \"sk-ant-...\"}. BYOK keys are stored AES-256-GCM encrypted; the cleartext is never returned. Omit anthropic_key to keep the stored one.
81
+ # @param [Hash] opts the optional parameters
82
+ # @return [Object]
83
+ def v1_ai_config_put(opts = {})
84
+ data, _status_code, _headers = v1_ai_config_put_with_http_info(opts)
85
+ data
86
+ end
87
+
88
+ # Configure the AI tier
89
+ # Body: {\&quot;mode\&quot;: \&quot;off|byok|units\&quot;, \&quot;model\&quot;: \&quot;...\&quot;, \&quot;anthropic_key\&quot;: \&quot;sk-ant-...\&quot;}. BYOK keys are stored AES-256-GCM encrypted; the cleartext is never returned. Omit anthropic_key to keep the stored one.
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
92
+ def v1_ai_config_put_with_http_info(opts = {})
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug 'Calling API: AiApi.v1_ai_config_put ...'
95
+ end
96
+ # resource path
97
+ local_var_path = '/v1/ai-config'
98
+
99
+ # query parameters
100
+ query_params = opts[:query_params] || {}
101
+
102
+ # header parameters
103
+ header_params = opts[:header_params] || {}
104
+ # HTTP header 'Accept' (if needed)
105
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
106
+
107
+ # form parameters
108
+ form_params = opts[:form_params] || {}
109
+
110
+ # http body (model)
111
+ post_body = opts[:debug_body]
112
+
113
+ # return_type
114
+ return_type = opts[:debug_return_type] || 'Object'
115
+
116
+ # auth_names
117
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
118
+
119
+ new_options = opts.merge(
120
+ :operation => :"AiApi.v1_ai_config_put",
121
+ :header_params => header_params,
122
+ :query_params => query_params,
123
+ :form_params => form_params,
124
+ :body => post_body,
125
+ :auth_names => auth_names,
126
+ :return_type => return_type
127
+ )
128
+
129
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
130
+ if @api_client.config.debugging
131
+ @api_client.config.logger.debug "API called: AiApi#v1_ai_config_put\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
132
+ end
133
+ return data, status_code, headers
134
+ end
135
+
136
+ # Buy prepaid AI units
137
+ # Body: {\"bundle\": \"100|500|2000\"}. One classification = one unit; bundles expire after 6 months. Admin session required. 503 until Paystack billing is configured.
138
+ # @param [Hash] opts the optional parameters
139
+ # @return [Object]
140
+ def v1_billing_ai_units_checkout_post(opts = {})
141
+ data, _status_code, _headers = v1_billing_ai_units_checkout_post_with_http_info(opts)
142
+ data
143
+ end
144
+
145
+ # Buy prepaid AI units
146
+ # Body: {\&quot;bundle\&quot;: \&quot;100|500|2000\&quot;}. One classification &#x3D; one unit; bundles expire after 6 months. Admin session required. 503 until Paystack billing is configured.
147
+ # @param [Hash] opts the optional parameters
148
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
149
+ def v1_billing_ai_units_checkout_post_with_http_info(opts = {})
150
+ if @api_client.config.debugging
151
+ @api_client.config.logger.debug 'Calling API: AiApi.v1_billing_ai_units_checkout_post ...'
152
+ end
153
+ # resource path
154
+ local_var_path = '/v1/billing/ai-units/checkout'
155
+
156
+ # query parameters
157
+ query_params = opts[:query_params] || {}
158
+
159
+ # header parameters
160
+ header_params = opts[:header_params] || {}
161
+ # HTTP header 'Accept' (if needed)
162
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
163
+
164
+ # form parameters
165
+ form_params = opts[:form_params] || {}
166
+
167
+ # http body (model)
168
+ post_body = opts[:debug_body]
169
+
170
+ # return_type
171
+ return_type = opts[:debug_return_type] || 'Object'
172
+
173
+ # auth_names
174
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
175
+
176
+ new_options = opts.merge(
177
+ :operation => :"AiApi.v1_billing_ai_units_checkout_post",
178
+ :header_params => header_params,
179
+ :query_params => query_params,
180
+ :form_params => form_params,
181
+ :body => post_body,
182
+ :auth_names => auth_names,
183
+ :return_type => return_type
184
+ )
185
+
186
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
187
+ if @api_client.config.debugging
188
+ @api_client.config.logger.debug "API called: AiApi#v1_billing_ai_units_checkout_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
189
+ end
190
+ return data, status_code, headers
191
+ end
192
+
193
+ # LLM-classify a thread
194
+ # Returns {intent, urgency, summary, suggested_action} via the tenant's AI tier (BYOK or prepaid units — see /v1/ai-config). Cached per thread state: unchanged threads return the cache free; ?refresh=true forces a re-run. A failed model call charges nothing. 402 when the AI tier is off.
195
+ # @param thread_id [String]
196
+ # @param [Hash] opts the optional parameters
197
+ # @option opts [Boolean] :refresh
198
+ # @return [Object]
199
+ def v1_threads_thread_id_classify_post(thread_id, opts = {})
200
+ data, _status_code, _headers = v1_threads_thread_id_classify_post_with_http_info(thread_id, opts)
201
+ data
202
+ end
203
+
204
+ # LLM-classify a thread
205
+ # Returns {intent, urgency, summary, suggested_action} via the tenant&#39;s AI tier (BYOK or prepaid units — see /v1/ai-config). Cached per thread state: unchanged threads return the cache free; ?refresh&#x3D;true forces a re-run. A failed model call charges nothing. 402 when the AI tier is off.
206
+ # @param thread_id [String]
207
+ # @param [Hash] opts the optional parameters
208
+ # @option opts [Boolean] :refresh
209
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
210
+ def v1_threads_thread_id_classify_post_with_http_info(thread_id, opts = {})
211
+ if @api_client.config.debugging
212
+ @api_client.config.logger.debug 'Calling API: AiApi.v1_threads_thread_id_classify_post ...'
213
+ end
214
+ # verify the required parameter 'thread_id' is set
215
+ if @api_client.config.client_side_validation && thread_id.nil?
216
+ fail ArgumentError, "Missing the required parameter 'thread_id' when calling AiApi.v1_threads_thread_id_classify_post"
217
+ end
218
+ # resource path
219
+ local_var_path = '/v1/threads/{threadID}/classify'.sub('{threadID}', CGI.escape(thread_id.to_s))
220
+
221
+ # query parameters
222
+ query_params = opts[:query_params] || {}
223
+ query_params[:'refresh'] = opts[:'refresh'] if !opts[:'refresh'].nil?
224
+
225
+ # header parameters
226
+ header_params = opts[:header_params] || {}
227
+ # HTTP header 'Accept' (if needed)
228
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
229
+
230
+ # form parameters
231
+ form_params = opts[:form_params] || {}
232
+
233
+ # http body (model)
234
+ post_body = opts[:debug_body]
235
+
236
+ # return_type
237
+ return_type = opts[:debug_return_type] || 'Object'
238
+
239
+ # auth_names
240
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
241
+
242
+ new_options = opts.merge(
243
+ :operation => :"AiApi.v1_threads_thread_id_classify_post",
244
+ :header_params => header_params,
245
+ :query_params => query_params,
246
+ :form_params => form_params,
247
+ :body => post_body,
248
+ :auth_names => auth_names,
249
+ :return_type => return_type
250
+ )
251
+
252
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
253
+ if @api_client.config.debugging
254
+ @api_client.config.logger.debug "API called: AiApi#v1_threads_thread_id_classify_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
255
+ end
256
+ return data, status_code, headers
257
+ end
258
+ end
259
+ end
@@ -0,0 +1,208 @@
1
+ =begin
2
+ #lockally control plane
3
+
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+ Contact: support@lockally.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Lockally
16
+ class AliasesApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete an alias
23
+ # Hard-delete (no soft-delete window — aliases are cheap to recreate).
24
+ # @param address [String]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [nil]
27
+ def v1_aliases_address_delete(address, opts = {})
28
+ v1_aliases_address_delete_with_http_info(address, opts)
29
+ nil
30
+ end
31
+
32
+ # Delete an alias
33
+ # Hard-delete (no soft-delete window — aliases are cheap to recreate).
34
+ # @param address [String]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
37
+ def v1_aliases_address_delete_with_http_info(address, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: AliasesApi.v1_aliases_address_delete ...'
40
+ end
41
+ # verify the required parameter 'address' is set
42
+ if @api_client.config.client_side_validation && address.nil?
43
+ fail ArgumentError, "Missing the required parameter 'address' when calling AliasesApi.v1_aliases_address_delete"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v1/aliases/{address}'.sub('{address}', CGI.escape(address.to_s))
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/problem+json']) unless header_params['Accept']
55
+
56
+ # form parameters
57
+ form_params = opts[:form_params] || {}
58
+
59
+ # http body (model)
60
+ post_body = opts[:debug_body]
61
+
62
+ # return_type
63
+ return_type = opts[:debug_return_type]
64
+
65
+ # auth_names
66
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
67
+
68
+ new_options = opts.merge(
69
+ :operation => :"AliasesApi.v1_aliases_address_delete",
70
+ :header_params => header_params,
71
+ :query_params => query_params,
72
+ :form_params => form_params,
73
+ :body => post_body,
74
+ :auth_names => auth_names,
75
+ :return_type => return_type
76
+ )
77
+
78
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
79
+ if @api_client.config.debugging
80
+ @api_client.config.logger.debug "API called: AliasesApi#v1_aliases_address_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
+ end
82
+ return data, status_code, headers
83
+ end
84
+
85
+ # List aliases
86
+ # @param [Hash] opts the optional parameters
87
+ # @return [V1AliasesGet200Response]
88
+ def v1_aliases_get(opts = {})
89
+ data, _status_code, _headers = v1_aliases_get_with_http_info(opts)
90
+ data
91
+ end
92
+
93
+ # List aliases
94
+ # @param [Hash] opts the optional parameters
95
+ # @return [Array<(V1AliasesGet200Response, Integer, Hash)>] V1AliasesGet200Response data, response status code and response headers
96
+ def v1_aliases_get_with_http_info(opts = {})
97
+ if @api_client.config.debugging
98
+ @api_client.config.logger.debug 'Calling API: AliasesApi.v1_aliases_get ...'
99
+ end
100
+ # resource path
101
+ local_var_path = '/v1/aliases'
102
+
103
+ # query parameters
104
+ query_params = opts[:query_params] || {}
105
+
106
+ # header parameters
107
+ header_params = opts[:header_params] || {}
108
+ # HTTP header 'Accept' (if needed)
109
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
110
+
111
+ # form parameters
112
+ form_params = opts[:form_params] || {}
113
+
114
+ # http body (model)
115
+ post_body = opts[:debug_body]
116
+
117
+ # return_type
118
+ return_type = opts[:debug_return_type] || 'V1AliasesGet200Response'
119
+
120
+ # auth_names
121
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
122
+
123
+ new_options = opts.merge(
124
+ :operation => :"AliasesApi.v1_aliases_get",
125
+ :header_params => header_params,
126
+ :query_params => query_params,
127
+ :form_params => form_params,
128
+ :body => post_body,
129
+ :auth_names => auth_names,
130
+ :return_type => return_type
131
+ )
132
+
133
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
134
+ if @api_client.config.debugging
135
+ @api_client.config.logger.debug "API called: AliasesApi#v1_aliases_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
136
+ end
137
+ return data, status_code, headers
138
+ end
139
+
140
+ # Create an alias
141
+ # Creates an email alias. `alias_address` must be on a verified tenant-owned domain. `alias_target` can be any email — intra-tenant or external (forwarding to a Gmail account is a legitimate use).
142
+ # @param v1_aliases_post_request [V1AliasesPostRequest]
143
+ # @param [Hash] opts the optional parameters
144
+ # @return [ModelAlias]
145
+ def v1_aliases_post(v1_aliases_post_request, opts = {})
146
+ data, _status_code, _headers = v1_aliases_post_with_http_info(v1_aliases_post_request, opts)
147
+ data
148
+ end
149
+
150
+ # Create an alias
151
+ # Creates an email alias. &#x60;alias_address&#x60; must be on a verified tenant-owned domain. &#x60;alias_target&#x60; can be any email — intra-tenant or external (forwarding to a Gmail account is a legitimate use).
152
+ # @param v1_aliases_post_request [V1AliasesPostRequest]
153
+ # @param [Hash] opts the optional parameters
154
+ # @return [Array<(ModelAlias, Integer, Hash)>] ModelAlias data, response status code and response headers
155
+ def v1_aliases_post_with_http_info(v1_aliases_post_request, opts = {})
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug 'Calling API: AliasesApi.v1_aliases_post ...'
158
+ end
159
+ # verify the required parameter 'v1_aliases_post_request' is set
160
+ if @api_client.config.client_side_validation && v1_aliases_post_request.nil?
161
+ fail ArgumentError, "Missing the required parameter 'v1_aliases_post_request' when calling AliasesApi.v1_aliases_post"
162
+ end
163
+ # resource path
164
+ local_var_path = '/v1/aliases'
165
+
166
+ # query parameters
167
+ query_params = opts[:query_params] || {}
168
+
169
+ # header parameters
170
+ header_params = opts[:header_params] || {}
171
+ # HTTP header 'Accept' (if needed)
172
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
173
+ # HTTP header 'Content-Type'
174
+ content_type = @api_client.select_header_content_type(['application/json'])
175
+ if !content_type.nil?
176
+ header_params['Content-Type'] = content_type
177
+ end
178
+
179
+ # form parameters
180
+ form_params = opts[:form_params] || {}
181
+
182
+ # http body (model)
183
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_aliases_post_request)
184
+
185
+ # return_type
186
+ return_type = opts[:debug_return_type] || 'ModelAlias'
187
+
188
+ # auth_names
189
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
190
+
191
+ new_options = opts.merge(
192
+ :operation => :"AliasesApi.v1_aliases_post",
193
+ :header_params => header_params,
194
+ :query_params => query_params,
195
+ :form_params => form_params,
196
+ :body => post_body,
197
+ :auth_names => auth_names,
198
+ :return_type => return_type
199
+ )
200
+
201
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
202
+ if @api_client.config.debugging
203
+ @api_client.config.logger.debug "API called: AliasesApi#v1_aliases_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
204
+ end
205
+ return data, status_code, headers
206
+ end
207
+ end
208
+ end
@@ -0,0 +1,210 @@
1
+ =begin
2
+ #lockally control plane
3
+
4
+ #The lockally control plane lets integrators and direct customers manage everything except actual mail data flow (which uses standard JMAP / IMAP / SMTP-submission against the data plane endpoints). **Authentication.** All `/v1/*` endpoints require a Bearer API key in the `Authorization` header. Keys are formatted `lk_live_<8-char-prefix>_<32-char-secret>`. Generate the first key for a tenant via `cmd/seed`; subsequent keys via `POST /v1/api-keys`. **Errors.** Failures return [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457) `application/problem+json` documents. **Scopes.** Each endpoint requires a specific scope on the presented key. Insufficient scope returns `403` with the required scope name in `detail`.
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+ Contact: support@lockally.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.23.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Lockally
16
+ class ApiKeysApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # List API keys
23
+ # Returns all API keys (active and revoked) belonging to the calling tenant. The `secret` is **never** returned — only prefix + metadata.
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [V1ApiKeysGet200Response]
26
+ def v1_api_keys_get(opts = {})
27
+ data, _status_code, _headers = v1_api_keys_get_with_http_info(opts)
28
+ data
29
+ end
30
+
31
+ # List API keys
32
+ # Returns all API keys (active and revoked) belonging to the calling tenant. The &#x60;secret&#x60; is **never** returned — only prefix + metadata.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(V1ApiKeysGet200Response, Integer, Hash)>] V1ApiKeysGet200Response data, response status code and response headers
35
+ def v1_api_keys_get_with_http_info(opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: ApiKeysApi.v1_api_keys_get ...'
38
+ end
39
+ # resource path
40
+ local_var_path = '/v1/api-keys'
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', 'application/problem+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] || 'V1ApiKeysGet200Response'
58
+
59
+ # auth_names
60
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
61
+
62
+ new_options = opts.merge(
63
+ :operation => :"ApiKeysApi.v1_api_keys_get",
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: ApiKeysApi#v1_api_keys_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
+ end
76
+ return data, status_code, headers
77
+ end
78
+
79
+ # Revoke an API key
80
+ # Soft-deletes (sets `revoked_at`) on the named key. The row stays for audit purposes; the key no longer authenticates. You **cannot revoke the key currently being used** to make this call — that would lock you out. Use a different `tenant:admin` key.
81
+ # @param id [String]
82
+ # @param [Hash] opts the optional parameters
83
+ # @return [nil]
84
+ def v1_api_keys_id_delete(id, opts = {})
85
+ v1_api_keys_id_delete_with_http_info(id, opts)
86
+ nil
87
+ end
88
+
89
+ # Revoke an API key
90
+ # Soft-deletes (sets &#x60;revoked_at&#x60;) on the named key. The row stays for audit purposes; the key no longer authenticates. You **cannot revoke the key currently being used** to make this call — that would lock you out. Use a different &#x60;tenant:admin&#x60; key.
91
+ # @param id [String]
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
94
+ def v1_api_keys_id_delete_with_http_info(id, opts = {})
95
+ if @api_client.config.debugging
96
+ @api_client.config.logger.debug 'Calling API: ApiKeysApi.v1_api_keys_id_delete ...'
97
+ end
98
+ # verify the required parameter 'id' is set
99
+ if @api_client.config.client_side_validation && id.nil?
100
+ fail ArgumentError, "Missing the required parameter 'id' when calling ApiKeysApi.v1_api_keys_id_delete"
101
+ end
102
+ # resource path
103
+ local_var_path = '/v1/api-keys/{id}'.sub('{id}', CGI.escape(id.to_s))
104
+
105
+ # query parameters
106
+ query_params = opts[:query_params] || {}
107
+
108
+ # header parameters
109
+ header_params = opts[:header_params] || {}
110
+ # HTTP header 'Accept' (if needed)
111
+ header_params['Accept'] = @api_client.select_header_accept(['application/problem+json']) unless header_params['Accept']
112
+
113
+ # form parameters
114
+ form_params = opts[:form_params] || {}
115
+
116
+ # http body (model)
117
+ post_body = opts[:debug_body]
118
+
119
+ # return_type
120
+ return_type = opts[:debug_return_type]
121
+
122
+ # auth_names
123
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
124
+
125
+ new_options = opts.merge(
126
+ :operation => :"ApiKeysApi.v1_api_keys_id_delete",
127
+ :header_params => header_params,
128
+ :query_params => query_params,
129
+ :form_params => form_params,
130
+ :body => post_body,
131
+ :auth_names => auth_names,
132
+ :return_type => return_type
133
+ )
134
+
135
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
136
+ if @api_client.config.debugging
137
+ @api_client.config.logger.debug "API called: ApiKeysApi#v1_api_keys_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
138
+ end
139
+ return data, status_code, headers
140
+ end
141
+
142
+ # Create an API key
143
+ # Provisions a fresh API key for the calling tenant. **The full `secret` is included in this response ONLY** — store it immediately. The cleartext secret is not recoverable from the argon2id hash kept server-side; rotate by creating a new key and revoking the old one.
144
+ # @param v1_api_keys_post_request [V1ApiKeysPostRequest]
145
+ # @param [Hash] opts the optional parameters
146
+ # @return [V1ApiKeysPost201Response]
147
+ def v1_api_keys_post(v1_api_keys_post_request, opts = {})
148
+ data, _status_code, _headers = v1_api_keys_post_with_http_info(v1_api_keys_post_request, opts)
149
+ data
150
+ end
151
+
152
+ # Create an API key
153
+ # Provisions a fresh API key for the calling tenant. **The full &#x60;secret&#x60; is included in this response ONLY** — store it immediately. The cleartext secret is not recoverable from the argon2id hash kept server-side; rotate by creating a new key and revoking the old one.
154
+ # @param v1_api_keys_post_request [V1ApiKeysPostRequest]
155
+ # @param [Hash] opts the optional parameters
156
+ # @return [Array<(V1ApiKeysPost201Response, Integer, Hash)>] V1ApiKeysPost201Response data, response status code and response headers
157
+ def v1_api_keys_post_with_http_info(v1_api_keys_post_request, opts = {})
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug 'Calling API: ApiKeysApi.v1_api_keys_post ...'
160
+ end
161
+ # verify the required parameter 'v1_api_keys_post_request' is set
162
+ if @api_client.config.client_side_validation && v1_api_keys_post_request.nil?
163
+ fail ArgumentError, "Missing the required parameter 'v1_api_keys_post_request' when calling ApiKeysApi.v1_api_keys_post"
164
+ end
165
+ # resource path
166
+ local_var_path = '/v1/api-keys'
167
+
168
+ # query parameters
169
+ query_params = opts[:query_params] || {}
170
+
171
+ # header parameters
172
+ header_params = opts[:header_params] || {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
175
+ # HTTP header 'Content-Type'
176
+ content_type = @api_client.select_header_content_type(['application/json'])
177
+ if !content_type.nil?
178
+ header_params['Content-Type'] = content_type
179
+ end
180
+
181
+ # form parameters
182
+ form_params = opts[:form_params] || {}
183
+
184
+ # http body (model)
185
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_api_keys_post_request)
186
+
187
+ # return_type
188
+ return_type = opts[:debug_return_type] || 'V1ApiKeysPost201Response'
189
+
190
+ # auth_names
191
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
192
+
193
+ new_options = opts.merge(
194
+ :operation => :"ApiKeysApi.v1_api_keys_post",
195
+ :header_params => header_params,
196
+ :query_params => query_params,
197
+ :form_params => form_params,
198
+ :body => post_body,
199
+ :auth_names => auth_names,
200
+ :return_type => return_type
201
+ )
202
+
203
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug "API called: ApiKeysApi#v1_api_keys_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
206
+ end
207
+ return data, status_code, headers
208
+ end
209
+ end
210
+ end