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,900 @@
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 AgentsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # List a key's mailbox grants
23
+ # @param key_id [String]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [Object]
26
+ def v1_api_keys_key_id_mailboxes_get(key_id, opts = {})
27
+ data, _status_code, _headers = v1_api_keys_key_id_mailboxes_get_with_http_info(key_id, opts)
28
+ data
29
+ end
30
+
31
+ # List a key&#39;s mailbox grants
32
+ # @param key_id [String]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
35
+ def v1_api_keys_key_id_mailboxes_get_with_http_info(key_id, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_api_keys_key_id_mailboxes_get ...'
38
+ end
39
+ # verify the required parameter 'key_id' is set
40
+ if @api_client.config.client_side_validation && key_id.nil?
41
+ fail ArgumentError, "Missing the required parameter 'key_id' when calling AgentsApi.v1_api_keys_key_id_mailboxes_get"
42
+ end
43
+ # resource path
44
+ local_var_path = '/v1/api-keys/{keyID}/mailboxes'.sub('{keyID}', CGI.escape(key_id.to_s))
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
53
+
54
+ # form parameters
55
+ form_params = opts[:form_params] || {}
56
+
57
+ # http body (model)
58
+ post_body = opts[:debug_body]
59
+
60
+ # return_type
61
+ return_type = opts[:debug_return_type] || 'Object'
62
+
63
+ # auth_names
64
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
65
+
66
+ new_options = opts.merge(
67
+ :operation => :"AgentsApi.v1_api_keys_key_id_mailboxes_get",
68
+ :header_params => header_params,
69
+ :query_params => query_params,
70
+ :form_params => form_params,
71
+ :body => post_body,
72
+ :auth_names => auth_names,
73
+ :return_type => return_type
74
+ )
75
+
76
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
77
+ if @api_client.config.debugging
78
+ @api_client.config.logger.debug "API called: AgentsApi#v1_api_keys_key_id_mailboxes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
+ end
80
+ return data, status_code, headers
81
+ end
82
+
83
+ # Revoke a mailbox grant
84
+ # @param key_id [String]
85
+ # @param mailbox_id [String]
86
+ # @param [Hash] opts the optional parameters
87
+ # @return [nil]
88
+ def v1_api_keys_key_id_mailboxes_mailbox_id_delete(key_id, mailbox_id, opts = {})
89
+ v1_api_keys_key_id_mailboxes_mailbox_id_delete_with_http_info(key_id, mailbox_id, opts)
90
+ nil
91
+ end
92
+
93
+ # Revoke a mailbox grant
94
+ # @param key_id [String]
95
+ # @param mailbox_id [String]
96
+ # @param [Hash] opts the optional parameters
97
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
98
+ def v1_api_keys_key_id_mailboxes_mailbox_id_delete_with_http_info(key_id, mailbox_id, opts = {})
99
+ if @api_client.config.debugging
100
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_api_keys_key_id_mailboxes_mailbox_id_delete ...'
101
+ end
102
+ # verify the required parameter 'key_id' is set
103
+ if @api_client.config.client_side_validation && key_id.nil?
104
+ fail ArgumentError, "Missing the required parameter 'key_id' when calling AgentsApi.v1_api_keys_key_id_mailboxes_mailbox_id_delete"
105
+ end
106
+ # verify the required parameter 'mailbox_id' is set
107
+ if @api_client.config.client_side_validation && mailbox_id.nil?
108
+ fail ArgumentError, "Missing the required parameter 'mailbox_id' when calling AgentsApi.v1_api_keys_key_id_mailboxes_mailbox_id_delete"
109
+ end
110
+ # resource path
111
+ local_var_path = '/v1/api-keys/{keyID}/mailboxes/{mailboxID}'.sub('{keyID}', CGI.escape(key_id.to_s)).sub('{mailboxID}', CGI.escape(mailbox_id.to_s))
112
+
113
+ # query parameters
114
+ query_params = opts[:query_params] || {}
115
+
116
+ # header parameters
117
+ header_params = opts[:header_params] || {}
118
+
119
+ # form parameters
120
+ form_params = opts[:form_params] || {}
121
+
122
+ # http body (model)
123
+ post_body = opts[:debug_body]
124
+
125
+ # return_type
126
+ return_type = opts[:debug_return_type]
127
+
128
+ # auth_names
129
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
130
+
131
+ new_options = opts.merge(
132
+ :operation => :"AgentsApi.v1_api_keys_key_id_mailboxes_mailbox_id_delete",
133
+ :header_params => header_params,
134
+ :query_params => query_params,
135
+ :form_params => form_params,
136
+ :body => post_body,
137
+ :auth_names => auth_names,
138
+ :return_type => return_type
139
+ )
140
+
141
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
142
+ if @api_client.config.debugging
143
+ @api_client.config.logger.debug "API called: AgentsApi#v1_api_keys_key_id_mailboxes_mailbox_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
144
+ end
145
+ return data, status_code, headers
146
+ end
147
+
148
+ # Grant a mailbox to a key
149
+ # Body: {\"mailbox\": \"email or id\"}. Refused (422) for mailboxes with agent access disabled or an active E2E encryption key — the server cannot read E2E mailboxes.
150
+ # @param key_id [String]
151
+ # @param [Hash] opts the optional parameters
152
+ # @return [Object]
153
+ def v1_api_keys_key_id_mailboxes_post(key_id, opts = {})
154
+ data, _status_code, _headers = v1_api_keys_key_id_mailboxes_post_with_http_info(key_id, opts)
155
+ data
156
+ end
157
+
158
+ # Grant a mailbox to a key
159
+ # Body: {\&quot;mailbox\&quot;: \&quot;email or id\&quot;}. Refused (422) for mailboxes with agent access disabled or an active E2E encryption key — the server cannot read E2E mailboxes.
160
+ # @param key_id [String]
161
+ # @param [Hash] opts the optional parameters
162
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
163
+ def v1_api_keys_key_id_mailboxes_post_with_http_info(key_id, opts = {})
164
+ if @api_client.config.debugging
165
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_api_keys_key_id_mailboxes_post ...'
166
+ end
167
+ # verify the required parameter 'key_id' is set
168
+ if @api_client.config.client_side_validation && key_id.nil?
169
+ fail ArgumentError, "Missing the required parameter 'key_id' when calling AgentsApi.v1_api_keys_key_id_mailboxes_post"
170
+ end
171
+ # resource path
172
+ local_var_path = '/v1/api-keys/{keyID}/mailboxes'.sub('{keyID}', CGI.escape(key_id.to_s))
173
+
174
+ # query parameters
175
+ query_params = opts[:query_params] || {}
176
+
177
+ # header parameters
178
+ header_params = opts[:header_params] || {}
179
+ # HTTP header 'Accept' (if needed)
180
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
181
+
182
+ # form parameters
183
+ form_params = opts[:form_params] || {}
184
+
185
+ # http body (model)
186
+ post_body = opts[:debug_body]
187
+
188
+ # return_type
189
+ return_type = opts[:debug_return_type] || 'Object'
190
+
191
+ # auth_names
192
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
193
+
194
+ new_options = opts.merge(
195
+ :operation => :"AgentsApi.v1_api_keys_key_id_mailboxes_post",
196
+ :header_params => header_params,
197
+ :query_params => query_params,
198
+ :form_params => form_params,
199
+ :body => post_body,
200
+ :auth_names => auth_names,
201
+ :return_type => return_type
202
+ )
203
+
204
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
205
+ if @api_client.config.debugging
206
+ @api_client.config.logger.debug "API called: AgentsApi#v1_api_keys_key_id_mailboxes_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
207
+ end
208
+ return data, status_code, headers
209
+ end
210
+
211
+ # Introspect the calling credentials
212
+ # Returns the tenant, auth kind (api_key/session), key label, and granted scopes. The MCP server uses this to scope-filter tool discovery.
213
+ # @param [Hash] opts the optional parameters
214
+ # @return [Object]
215
+ def v1_auth_whoami_get(opts = {})
216
+ data, _status_code, _headers = v1_auth_whoami_get_with_http_info(opts)
217
+ data
218
+ end
219
+
220
+ # Introspect the calling credentials
221
+ # Returns the tenant, auth kind (api_key/session), key label, and granted scopes. The MCP server uses this to scope-filter tool discovery.
222
+ # @param [Hash] opts the optional parameters
223
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
224
+ def v1_auth_whoami_get_with_http_info(opts = {})
225
+ if @api_client.config.debugging
226
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_auth_whoami_get ...'
227
+ end
228
+ # resource path
229
+ local_var_path = '/v1/auth/whoami'
230
+
231
+ # query parameters
232
+ query_params = opts[:query_params] || {}
233
+
234
+ # header parameters
235
+ header_params = opts[:header_params] || {}
236
+ # HTTP header 'Accept' (if needed)
237
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
238
+
239
+ # form parameters
240
+ form_params = opts[:form_params] || {}
241
+
242
+ # http body (model)
243
+ post_body = opts[:debug_body]
244
+
245
+ # return_type
246
+ return_type = opts[:debug_return_type] || 'Object'
247
+
248
+ # auth_names
249
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
250
+
251
+ new_options = opts.merge(
252
+ :operation => :"AgentsApi.v1_auth_whoami_get",
253
+ :header_params => header_params,
254
+ :query_params => query_params,
255
+ :form_params => form_params,
256
+ :body => post_body,
257
+ :auth_names => auth_names,
258
+ :return_type => return_type
259
+ )
260
+
261
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
262
+ if @api_client.config.debugging
263
+ @api_client.config.logger.debug "API called: AgentsApi#v1_auth_whoami_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
264
+ end
265
+ return data, status_code, headers
266
+ end
267
+
268
+ # Who is this sender?
269
+ # Directory record (name, company, role, notes), whether the address is one of the tenant's own mailboxes, and grant-aware correspondence history (thread count, first/last seen across granted mailboxes only).
270
+ # @param email [String]
271
+ # @param [Hash] opts the optional parameters
272
+ # @return [Object]
273
+ def v1_contacts_lookup_get(email, opts = {})
274
+ data, _status_code, _headers = v1_contacts_lookup_get_with_http_info(email, opts)
275
+ data
276
+ end
277
+
278
+ # Who is this sender?
279
+ # Directory record (name, company, role, notes), whether the address is one of the tenant&#39;s own mailboxes, and grant-aware correspondence history (thread count, first/last seen across granted mailboxes only).
280
+ # @param email [String]
281
+ # @param [Hash] opts the optional parameters
282
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
283
+ def v1_contacts_lookup_get_with_http_info(email, opts = {})
284
+ if @api_client.config.debugging
285
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_contacts_lookup_get ...'
286
+ end
287
+ # verify the required parameter 'email' is set
288
+ if @api_client.config.client_side_validation && email.nil?
289
+ fail ArgumentError, "Missing the required parameter 'email' when calling AgentsApi.v1_contacts_lookup_get"
290
+ end
291
+ # resource path
292
+ local_var_path = '/v1/contacts/lookup'
293
+
294
+ # query parameters
295
+ query_params = opts[:query_params] || {}
296
+ query_params[:'email'] = email
297
+
298
+ # header parameters
299
+ header_params = opts[:header_params] || {}
300
+ # HTTP header 'Accept' (if needed)
301
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
302
+
303
+ # form parameters
304
+ form_params = opts[:form_params] || {}
305
+
306
+ # http body (model)
307
+ post_body = opts[:debug_body]
308
+
309
+ # return_type
310
+ return_type = opts[:debug_return_type] || 'Object'
311
+
312
+ # auth_names
313
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
314
+
315
+ new_options = opts.merge(
316
+ :operation => :"AgentsApi.v1_contacts_lookup_get",
317
+ :header_params => header_params,
318
+ :query_params => query_params,
319
+ :form_params => form_params,
320
+ :body => post_body,
321
+ :auth_names => auth_names,
322
+ :return_type => return_type
323
+ )
324
+
325
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
326
+ if @api_client.config.debugging
327
+ @api_client.config.logger.debug "API called: AgentsApi#v1_contacts_lookup_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
328
+ end
329
+ return data, status_code, headers
330
+ end
331
+
332
+ # List granted inboxes
333
+ # The mailboxes this key is granted, with thread counts and last activity. Admin sessions see every agent-enabled, non-E2E mailbox.
334
+ # @param [Hash] opts the optional parameters
335
+ # @return [Object]
336
+ def v1_inboxes_get(opts = {})
337
+ data, _status_code, _headers = v1_inboxes_get_with_http_info(opts)
338
+ data
339
+ end
340
+
341
+ # List granted inboxes
342
+ # The mailboxes this key is granted, with thread counts and last activity. Admin sessions see every agent-enabled, non-E2E mailbox.
343
+ # @param [Hash] opts the optional parameters
344
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
345
+ def v1_inboxes_get_with_http_info(opts = {})
346
+ if @api_client.config.debugging
347
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_inboxes_get ...'
348
+ end
349
+ # resource path
350
+ local_var_path = '/v1/inboxes'
351
+
352
+ # query parameters
353
+ query_params = opts[:query_params] || {}
354
+
355
+ # header parameters
356
+ header_params = opts[:header_params] || {}
357
+ # HTTP header 'Accept' (if needed)
358
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
359
+
360
+ # form parameters
361
+ form_params = opts[:form_params] || {}
362
+
363
+ # http body (model)
364
+ post_body = opts[:debug_body]
365
+
366
+ # return_type
367
+ return_type = opts[:debug_return_type] || 'Object'
368
+
369
+ # auth_names
370
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
371
+
372
+ new_options = opts.merge(
373
+ :operation => :"AgentsApi.v1_inboxes_get",
374
+ :header_params => header_params,
375
+ :query_params => query_params,
376
+ :form_params => form_params,
377
+ :body => post_body,
378
+ :auth_names => auth_names,
379
+ :return_type => return_type
380
+ )
381
+
382
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
383
+ if @api_client.config.debugging
384
+ @api_client.config.logger.debug "API called: AgentsApi#v1_inboxes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
385
+ end
386
+ return data, status_code, headers
387
+ end
388
+
389
+ # Start a new conversation (agent stream)
390
+ # Sends a new email from a granted mailbox. Classified stream=agent (isolated reputation, per-key rate caps). The first inbound reply adopts the created thread via the References chain. Idempotency-Key required. Mailboxes with agent_draft_policy=always_approve divert this into a pending draft.
391
+ # @param mailbox [String]
392
+ # @param idempotency_key [String]
393
+ # @param v1_inboxes_mailbox_messages_post_request [V1InboxesMailboxMessagesPostRequest]
394
+ # @param [Hash] opts the optional parameters
395
+ # @return [Object]
396
+ def v1_inboxes_mailbox_messages_post(mailbox, idempotency_key, v1_inboxes_mailbox_messages_post_request, opts = {})
397
+ data, _status_code, _headers = v1_inboxes_mailbox_messages_post_with_http_info(mailbox, idempotency_key, v1_inboxes_mailbox_messages_post_request, opts)
398
+ data
399
+ end
400
+
401
+ # Start a new conversation (agent stream)
402
+ # Sends a new email from a granted mailbox. Classified stream&#x3D;agent (isolated reputation, per-key rate caps). The first inbound reply adopts the created thread via the References chain. Idempotency-Key required. Mailboxes with agent_draft_policy&#x3D;always_approve divert this into a pending draft.
403
+ # @param mailbox [String]
404
+ # @param idempotency_key [String]
405
+ # @param v1_inboxes_mailbox_messages_post_request [V1InboxesMailboxMessagesPostRequest]
406
+ # @param [Hash] opts the optional parameters
407
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
408
+ def v1_inboxes_mailbox_messages_post_with_http_info(mailbox, idempotency_key, v1_inboxes_mailbox_messages_post_request, opts = {})
409
+ if @api_client.config.debugging
410
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_inboxes_mailbox_messages_post ...'
411
+ end
412
+ # verify the required parameter 'mailbox' is set
413
+ if @api_client.config.client_side_validation && mailbox.nil?
414
+ fail ArgumentError, "Missing the required parameter 'mailbox' when calling AgentsApi.v1_inboxes_mailbox_messages_post"
415
+ end
416
+ # verify the required parameter 'idempotency_key' is set
417
+ if @api_client.config.client_side_validation && idempotency_key.nil?
418
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling AgentsApi.v1_inboxes_mailbox_messages_post"
419
+ end
420
+ if @api_client.config.client_side_validation && idempotency_key.to_s.length > 255
421
+ fail ArgumentError, 'invalid value for "idempotency_key" when calling AgentsApi.v1_inboxes_mailbox_messages_post, the character length must be smaller than or equal to 255.'
422
+ end
423
+
424
+ # verify the required parameter 'v1_inboxes_mailbox_messages_post_request' is set
425
+ if @api_client.config.client_side_validation && v1_inboxes_mailbox_messages_post_request.nil?
426
+ fail ArgumentError, "Missing the required parameter 'v1_inboxes_mailbox_messages_post_request' when calling AgentsApi.v1_inboxes_mailbox_messages_post"
427
+ end
428
+ # resource path
429
+ local_var_path = '/v1/inboxes/{mailbox}/messages'.sub('{mailbox}', CGI.escape(mailbox.to_s))
430
+
431
+ # query parameters
432
+ query_params = opts[:query_params] || {}
433
+
434
+ # header parameters
435
+ header_params = opts[:header_params] || {}
436
+ # HTTP header 'Accept' (if needed)
437
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
438
+ # HTTP header 'Content-Type'
439
+ content_type = @api_client.select_header_content_type(['application/json'])
440
+ if !content_type.nil?
441
+ header_params['Content-Type'] = content_type
442
+ end
443
+ header_params[:'Idempotency-Key'] = idempotency_key
444
+
445
+ # form parameters
446
+ form_params = opts[:form_params] || {}
447
+
448
+ # http body (model)
449
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_inboxes_mailbox_messages_post_request)
450
+
451
+ # return_type
452
+ return_type = opts[:debug_return_type] || 'Object'
453
+
454
+ # auth_names
455
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
456
+
457
+ new_options = opts.merge(
458
+ :operation => :"AgentsApi.v1_inboxes_mailbox_messages_post",
459
+ :header_params => header_params,
460
+ :query_params => query_params,
461
+ :form_params => form_params,
462
+ :body => post_body,
463
+ :auth_names => auth_names,
464
+ :return_type => return_type
465
+ )
466
+
467
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
468
+ if @api_client.config.debugging
469
+ @api_client.config.logger.debug "API called: AgentsApi#v1_inboxes_mailbox_messages_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
470
+ end
471
+ return data, status_code, headers
472
+ end
473
+
474
+ # List conversation threads
475
+ # Newest-active first. Cursors: `?before=<RFC3339>` pages backwards; `?since=<RFC3339>` delta-syncs forward (oldest first) so an agent can catch up in order.
476
+ # @param mailbox [String] mailbox email or id
477
+ # @param [Hash] opts the optional parameters
478
+ # @option opts [Time] :since
479
+ # @option opts [Time] :before
480
+ # @option opts [Integer] :limit (default to 50)
481
+ # @return [Object]
482
+ def v1_inboxes_mailbox_threads_get(mailbox, opts = {})
483
+ data, _status_code, _headers = v1_inboxes_mailbox_threads_get_with_http_info(mailbox, opts)
484
+ data
485
+ end
486
+
487
+ # List conversation threads
488
+ # Newest-active first. Cursors: &#x60;?before&#x3D;&lt;RFC3339&gt;&#x60; pages backwards; &#x60;?since&#x3D;&lt;RFC3339&gt;&#x60; delta-syncs forward (oldest first) so an agent can catch up in order.
489
+ # @param mailbox [String] mailbox email or id
490
+ # @param [Hash] opts the optional parameters
491
+ # @option opts [Time] :since
492
+ # @option opts [Time] :before
493
+ # @option opts [Integer] :limit (default to 50)
494
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
495
+ def v1_inboxes_mailbox_threads_get_with_http_info(mailbox, opts = {})
496
+ if @api_client.config.debugging
497
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_inboxes_mailbox_threads_get ...'
498
+ end
499
+ # verify the required parameter 'mailbox' is set
500
+ if @api_client.config.client_side_validation && mailbox.nil?
501
+ fail ArgumentError, "Missing the required parameter 'mailbox' when calling AgentsApi.v1_inboxes_mailbox_threads_get"
502
+ end
503
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 200
504
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling AgentsApi.v1_inboxes_mailbox_threads_get, must be smaller than or equal to 200.'
505
+ end
506
+
507
+ # resource path
508
+ local_var_path = '/v1/inboxes/{mailbox}/threads'.sub('{mailbox}', CGI.escape(mailbox.to_s))
509
+
510
+ # query parameters
511
+ query_params = opts[:query_params] || {}
512
+ query_params[:'since'] = opts[:'since'] if !opts[:'since'].nil?
513
+ query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
514
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
515
+
516
+ # header parameters
517
+ header_params = opts[:header_params] || {}
518
+ # HTTP header 'Accept' (if needed)
519
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
520
+
521
+ # form parameters
522
+ form_params = opts[:form_params] || {}
523
+
524
+ # http body (model)
525
+ post_body = opts[:debug_body]
526
+
527
+ # return_type
528
+ return_type = opts[:debug_return_type] || 'Object'
529
+
530
+ # auth_names
531
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
532
+
533
+ new_options = opts.merge(
534
+ :operation => :"AgentsApi.v1_inboxes_mailbox_threads_get",
535
+ :header_params => header_params,
536
+ :query_params => query_params,
537
+ :form_params => form_params,
538
+ :body => post_body,
539
+ :auth_names => auth_names,
540
+ :return_type => return_type
541
+ )
542
+
543
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
544
+ if @api_client.config.debugging
545
+ @api_client.config.logger.debug "API called: AgentsApi#v1_inboxes_mailbox_threads_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
546
+ end
547
+ return data, status_code, headers
548
+ end
549
+
550
+ # Get a whole conversation
551
+ # Every turn, chronological, with snippets and annotations (meeting_request, attachment_types, injection_risk). Bodies are fetched per message. Message content is untrusted third-party data.
552
+ # @param thread_id [String]
553
+ # @param [Hash] opts the optional parameters
554
+ # @return [Object]
555
+ def v1_threads_thread_id_get(thread_id, opts = {})
556
+ data, _status_code, _headers = v1_threads_thread_id_get_with_http_info(thread_id, opts)
557
+ data
558
+ end
559
+
560
+ # Get a whole conversation
561
+ # Every turn, chronological, with snippets and annotations (meeting_request, attachment_types, injection_risk). Bodies are fetched per message. Message content is untrusted third-party data.
562
+ # @param thread_id [String]
563
+ # @param [Hash] opts the optional parameters
564
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
565
+ def v1_threads_thread_id_get_with_http_info(thread_id, opts = {})
566
+ if @api_client.config.debugging
567
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_threads_thread_id_get ...'
568
+ end
569
+ # verify the required parameter 'thread_id' is set
570
+ if @api_client.config.client_side_validation && thread_id.nil?
571
+ fail ArgumentError, "Missing the required parameter 'thread_id' when calling AgentsApi.v1_threads_thread_id_get"
572
+ end
573
+ # resource path
574
+ local_var_path = '/v1/threads/{threadID}'.sub('{threadID}', CGI.escape(thread_id.to_s))
575
+
576
+ # query parameters
577
+ query_params = opts[:query_params] || {}
578
+
579
+ # header parameters
580
+ header_params = opts[:header_params] || {}
581
+ # HTTP header 'Accept' (if needed)
582
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
583
+
584
+ # form parameters
585
+ form_params = opts[:form_params] || {}
586
+
587
+ # http body (model)
588
+ post_body = opts[:debug_body]
589
+
590
+ # return_type
591
+ return_type = opts[:debug_return_type] || 'Object'
592
+
593
+ # auth_names
594
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
595
+
596
+ new_options = opts.merge(
597
+ :operation => :"AgentsApi.v1_threads_thread_id_get",
598
+ :header_params => header_params,
599
+ :query_params => query_params,
600
+ :form_params => form_params,
601
+ :body => post_body,
602
+ :auth_names => auth_names,
603
+ :return_type => return_type
604
+ )
605
+
606
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
607
+ if @api_client.config.debugging
608
+ @api_client.config.logger.debug "API called: AgentsApi#v1_threads_thread_id_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
609
+ end
610
+ return data, status_code, headers
611
+ end
612
+
613
+ # Download an attachment
614
+ # @param thread_id [String]
615
+ # @param message_id [String]
616
+ # @param idx [Integer]
617
+ # @param [Hash] opts the optional parameters
618
+ # @return [nil]
619
+ def v1_threads_thread_id_messages_message_id_attachments_idx_get(thread_id, message_id, idx, opts = {})
620
+ v1_threads_thread_id_messages_message_id_attachments_idx_get_with_http_info(thread_id, message_id, idx, opts)
621
+ nil
622
+ end
623
+
624
+ # Download an attachment
625
+ # @param thread_id [String]
626
+ # @param message_id [String]
627
+ # @param idx [Integer]
628
+ # @param [Hash] opts the optional parameters
629
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
630
+ def v1_threads_thread_id_messages_message_id_attachments_idx_get_with_http_info(thread_id, message_id, idx, opts = {})
631
+ if @api_client.config.debugging
632
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_threads_thread_id_messages_message_id_attachments_idx_get ...'
633
+ end
634
+ # verify the required parameter 'thread_id' is set
635
+ if @api_client.config.client_side_validation && thread_id.nil?
636
+ fail ArgumentError, "Missing the required parameter 'thread_id' when calling AgentsApi.v1_threads_thread_id_messages_message_id_attachments_idx_get"
637
+ end
638
+ # verify the required parameter 'message_id' is set
639
+ if @api_client.config.client_side_validation && message_id.nil?
640
+ fail ArgumentError, "Missing the required parameter 'message_id' when calling AgentsApi.v1_threads_thread_id_messages_message_id_attachments_idx_get"
641
+ end
642
+ # verify the required parameter 'idx' is set
643
+ if @api_client.config.client_side_validation && idx.nil?
644
+ fail ArgumentError, "Missing the required parameter 'idx' when calling AgentsApi.v1_threads_thread_id_messages_message_id_attachments_idx_get"
645
+ end
646
+ if @api_client.config.client_side_validation && idx < 0
647
+ fail ArgumentError, 'invalid value for "idx" when calling AgentsApi.v1_threads_thread_id_messages_message_id_attachments_idx_get, must be greater than or equal to 0.'
648
+ end
649
+
650
+ # resource path
651
+ local_var_path = '/v1/threads/{threadID}/messages/{messageID}/attachments/{idx}'.sub('{threadID}', CGI.escape(thread_id.to_s)).sub('{messageID}', CGI.escape(message_id.to_s)).sub('{idx}', CGI.escape(idx.to_s))
652
+
653
+ # query parameters
654
+ query_params = opts[:query_params] || {}
655
+
656
+ # header parameters
657
+ header_params = opts[:header_params] || {}
658
+
659
+ # form parameters
660
+ form_params = opts[:form_params] || {}
661
+
662
+ # http body (model)
663
+ post_body = opts[:debug_body]
664
+
665
+ # return_type
666
+ return_type = opts[:debug_return_type]
667
+
668
+ # auth_names
669
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
670
+
671
+ new_options = opts.merge(
672
+ :operation => :"AgentsApi.v1_threads_thread_id_messages_message_id_attachments_idx_get",
673
+ :header_params => header_params,
674
+ :query_params => query_params,
675
+ :form_params => form_params,
676
+ :body => post_body,
677
+ :auth_names => auth_names,
678
+ :return_type => return_type
679
+ )
680
+
681
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
682
+ if @api_client.config.debugging
683
+ @api_client.config.logger.debug "API called: AgentsApi#v1_threads_thread_id_messages_message_id_attachments_idx_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
684
+ end
685
+ return data, status_code, headers
686
+ end
687
+
688
+ # Get one message with body
689
+ # Full text/html body fetched on demand from mail storage. Never marks the message read.
690
+ # @param thread_id [String]
691
+ # @param message_id [String]
692
+ # @param [Hash] opts the optional parameters
693
+ # @return [Object]
694
+ def v1_threads_thread_id_messages_message_id_get(thread_id, message_id, opts = {})
695
+ data, _status_code, _headers = v1_threads_thread_id_messages_message_id_get_with_http_info(thread_id, message_id, opts)
696
+ data
697
+ end
698
+
699
+ # Get one message with body
700
+ # Full text/html body fetched on demand from mail storage. Never marks the message read.
701
+ # @param thread_id [String]
702
+ # @param message_id [String]
703
+ # @param [Hash] opts the optional parameters
704
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
705
+ def v1_threads_thread_id_messages_message_id_get_with_http_info(thread_id, message_id, opts = {})
706
+ if @api_client.config.debugging
707
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_threads_thread_id_messages_message_id_get ...'
708
+ end
709
+ # verify the required parameter 'thread_id' is set
710
+ if @api_client.config.client_side_validation && thread_id.nil?
711
+ fail ArgumentError, "Missing the required parameter 'thread_id' when calling AgentsApi.v1_threads_thread_id_messages_message_id_get"
712
+ end
713
+ # verify the required parameter 'message_id' is set
714
+ if @api_client.config.client_side_validation && message_id.nil?
715
+ fail ArgumentError, "Missing the required parameter 'message_id' when calling AgentsApi.v1_threads_thread_id_messages_message_id_get"
716
+ end
717
+ # resource path
718
+ local_var_path = '/v1/threads/{threadID}/messages/{messageID}'.sub('{threadID}', CGI.escape(thread_id.to_s)).sub('{messageID}', CGI.escape(message_id.to_s))
719
+
720
+ # query parameters
721
+ query_params = opts[:query_params] || {}
722
+
723
+ # header parameters
724
+ header_params = opts[:header_params] || {}
725
+ # HTTP header 'Accept' (if needed)
726
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
727
+
728
+ # form parameters
729
+ form_params = opts[:form_params] || {}
730
+
731
+ # http body (model)
732
+ post_body = opts[:debug_body]
733
+
734
+ # return_type
735
+ return_type = opts[:debug_return_type] || 'Object'
736
+
737
+ # auth_names
738
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
739
+
740
+ new_options = opts.merge(
741
+ :operation => :"AgentsApi.v1_threads_thread_id_messages_message_id_get",
742
+ :header_params => header_params,
743
+ :query_params => query_params,
744
+ :form_params => form_params,
745
+ :body => post_body,
746
+ :auth_names => auth_names,
747
+ :return_type => return_type
748
+ )
749
+
750
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
751
+ if @api_client.config.debugging
752
+ @api_client.config.logger.debug "API called: AgentsApi#v1_threads_thread_id_messages_message_id_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
753
+ end
754
+ return data, status_code, headers
755
+ end
756
+
757
+ # Mark read/unread
758
+ # The ONLY way agent access changes unread state. Body: {\"read\": true|false} (default true).
759
+ # @param thread_id [String]
760
+ # @param message_id [String]
761
+ # @param [Hash] opts the optional parameters
762
+ # @return [Object]
763
+ def v1_threads_thread_id_messages_message_id_read_post(thread_id, message_id, opts = {})
764
+ data, _status_code, _headers = v1_threads_thread_id_messages_message_id_read_post_with_http_info(thread_id, message_id, opts)
765
+ data
766
+ end
767
+
768
+ # Mark read/unread
769
+ # The ONLY way agent access changes unread state. Body: {\&quot;read\&quot;: true|false} (default true).
770
+ # @param thread_id [String]
771
+ # @param message_id [String]
772
+ # @param [Hash] opts the optional parameters
773
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
774
+ def v1_threads_thread_id_messages_message_id_read_post_with_http_info(thread_id, message_id, opts = {})
775
+ if @api_client.config.debugging
776
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_threads_thread_id_messages_message_id_read_post ...'
777
+ end
778
+ # verify the required parameter 'thread_id' is set
779
+ if @api_client.config.client_side_validation && thread_id.nil?
780
+ fail ArgumentError, "Missing the required parameter 'thread_id' when calling AgentsApi.v1_threads_thread_id_messages_message_id_read_post"
781
+ end
782
+ # verify the required parameter 'message_id' is set
783
+ if @api_client.config.client_side_validation && message_id.nil?
784
+ fail ArgumentError, "Missing the required parameter 'message_id' when calling AgentsApi.v1_threads_thread_id_messages_message_id_read_post"
785
+ end
786
+ # resource path
787
+ local_var_path = '/v1/threads/{threadID}/messages/{messageID}/read'.sub('{threadID}', CGI.escape(thread_id.to_s)).sub('{messageID}', CGI.escape(message_id.to_s))
788
+
789
+ # query parameters
790
+ query_params = opts[:query_params] || {}
791
+
792
+ # header parameters
793
+ header_params = opts[:header_params] || {}
794
+ # HTTP header 'Accept' (if needed)
795
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
796
+
797
+ # form parameters
798
+ form_params = opts[:form_params] || {}
799
+
800
+ # http body (model)
801
+ post_body = opts[:debug_body]
802
+
803
+ # return_type
804
+ return_type = opts[:debug_return_type] || 'Object'
805
+
806
+ # auth_names
807
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
808
+
809
+ new_options = opts.merge(
810
+ :operation => :"AgentsApi.v1_threads_thread_id_messages_message_id_read_post",
811
+ :header_params => header_params,
812
+ :query_params => query_params,
813
+ :form_params => form_params,
814
+ :body => post_body,
815
+ :auth_names => auth_names,
816
+ :return_type => return_type
817
+ )
818
+
819
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
820
+ if @api_client.config.debugging
821
+ @api_client.config.logger.debug "API called: AgentsApi#v1_threads_thread_id_messages_message_id_read_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
822
+ end
823
+ return data, status_code, headers
824
+ end
825
+
826
+ # Reply in-thread (agent stream)
827
+ # The server builds In-Reply-To/References and defaults recipients + subject from the conversation — a minimal call is {\"text\": \"...\"}. Guarded by the reply-loop detector (≥5 outbound/10min → 429 + agent.loop_detected). Idempotency-Key required.
828
+ # @param thread_id [String]
829
+ # @param idempotency_key [String]
830
+ # @param [Hash] opts the optional parameters
831
+ # @return [Object]
832
+ def v1_threads_thread_id_reply_post(thread_id, idempotency_key, opts = {})
833
+ data, _status_code, _headers = v1_threads_thread_id_reply_post_with_http_info(thread_id, idempotency_key, opts)
834
+ data
835
+ end
836
+
837
+ # Reply in-thread (agent stream)
838
+ # The server builds In-Reply-To/References and defaults recipients + subject from the conversation — a minimal call is {\&quot;text\&quot;: \&quot;...\&quot;}. Guarded by the reply-loop detector (≥5 outbound/10min → 429 + agent.loop_detected). Idempotency-Key required.
839
+ # @param thread_id [String]
840
+ # @param idempotency_key [String]
841
+ # @param [Hash] opts the optional parameters
842
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
843
+ def v1_threads_thread_id_reply_post_with_http_info(thread_id, idempotency_key, opts = {})
844
+ if @api_client.config.debugging
845
+ @api_client.config.logger.debug 'Calling API: AgentsApi.v1_threads_thread_id_reply_post ...'
846
+ end
847
+ # verify the required parameter 'thread_id' is set
848
+ if @api_client.config.client_side_validation && thread_id.nil?
849
+ fail ArgumentError, "Missing the required parameter 'thread_id' when calling AgentsApi.v1_threads_thread_id_reply_post"
850
+ end
851
+ # verify the required parameter 'idempotency_key' is set
852
+ if @api_client.config.client_side_validation && idempotency_key.nil?
853
+ fail ArgumentError, "Missing the required parameter 'idempotency_key' when calling AgentsApi.v1_threads_thread_id_reply_post"
854
+ end
855
+ if @api_client.config.client_side_validation && idempotency_key.to_s.length > 255
856
+ fail ArgumentError, 'invalid value for "idempotency_key" when calling AgentsApi.v1_threads_thread_id_reply_post, the character length must be smaller than or equal to 255.'
857
+ end
858
+
859
+ # resource path
860
+ local_var_path = '/v1/threads/{threadID}/reply'.sub('{threadID}', CGI.escape(thread_id.to_s))
861
+
862
+ # query parameters
863
+ query_params = opts[:query_params] || {}
864
+
865
+ # header parameters
866
+ header_params = opts[:header_params] || {}
867
+ # HTTP header 'Accept' (if needed)
868
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
869
+ header_params[:'Idempotency-Key'] = idempotency_key
870
+
871
+ # form parameters
872
+ form_params = opts[:form_params] || {}
873
+
874
+ # http body (model)
875
+ post_body = opts[:debug_body]
876
+
877
+ # return_type
878
+ return_type = opts[:debug_return_type] || 'Object'
879
+
880
+ # auth_names
881
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
882
+
883
+ new_options = opts.merge(
884
+ :operation => :"AgentsApi.v1_threads_thread_id_reply_post",
885
+ :header_params => header_params,
886
+ :query_params => query_params,
887
+ :form_params => form_params,
888
+ :body => post_body,
889
+ :auth_names => auth_names,
890
+ :return_type => return_type
891
+ )
892
+
893
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
894
+ if @api_client.config.debugging
895
+ @api_client.config.logger.debug "API called: AgentsApi#v1_threads_thread_id_reply_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
896
+ end
897
+ return data, status_code, headers
898
+ end
899
+ end
900
+ end