lockally 0.1.0 → 0.3.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 (571) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +166 -117
  3. data/docs/AdminApi.md +33 -33
  4. data/docs/{V1AdminLoginPost200Response.md → AdminLogin200Response.md} +2 -2
  5. data/docs/{V1AdminLoginPostRequest.md → AdminLoginRequest.md} +2 -2
  6. data/docs/AdminsApi.md +76 -76
  7. data/docs/AgentSendResult.md +22 -0
  8. data/docs/AgentsApi.md +247 -247
  9. data/docs/AiApi.md +69 -69
  10. data/docs/AiConfig.md +26 -0
  11. data/docs/AiConfigUpdate.md +20 -0
  12. data/docs/AliasesApi.md +59 -59
  13. data/docs/ApiKeysApi.md +59 -59
  14. data/docs/BatchResult.md +1 -1
  15. data/docs/Calendar.md +8 -0
  16. data/docs/CalendarsApi.md +73 -0
  17. data/docs/ContactLookup.md +26 -0
  18. data/docs/ContactLookupContact.md +28 -0
  19. data/docs/ContactLookupHistory.md +22 -0
  20. data/docs/CreateAiUnitsCheckout200Response.md +22 -0
  21. data/docs/{V1AliasesPostRequest.md → CreateAliasRequest.md} +2 -2
  22. data/docs/{V1ApiKeysPost201Response.md → CreateApiKey201Response.md} +2 -2
  23. data/docs/CreateApiKeyRequest.md +22 -0
  24. data/docs/{V1DomainsPostRequest.md → CreateDomainRequest.md} +2 -2
  25. data/docs/{V1MailboxesPostRequest.md → CreateMailboxRequest.md} +2 -2
  26. data/docs/{V1SuppressionsPostRequest.md → CreateSuppressionRequest.md} +2 -2
  27. data/docs/{V1WebhooksPostRequest.md → CreateWebhookRequest.md} +2 -2
  28. data/docs/DomainsApi.md +339 -60
  29. data/docs/Draft.md +44 -0
  30. data/docs/DraftList.md +18 -0
  31. data/docs/DraftResult.md +26 -0
  32. data/docs/DraftsApi.md +115 -115
  33. data/docs/{V1MailboxesEmailExportPost201Response.md → ExportMailbox201Response.md} +2 -2
  34. data/docs/GetCalendarOverview200Response.md +34 -0
  35. data/docs/GetCalendarOverview200ResponseActivityInner.md +24 -0
  36. data/docs/{V1AdminMeGet200Response.md → GetCurrentAdmin200Response.md} +2 -2
  37. data/docs/{V1UsageGet200Response.md → GetUsage200Response.md} +2 -2
  38. data/docs/GetUserInsights200Response.md +2 -0
  39. data/docs/HealthApi.md +11 -11
  40. data/docs/{HealthzGet200Response.md → HealthCheck200Response.md} +2 -2
  41. data/docs/Inbox.md +24 -0
  42. data/docs/InboxList.md +18 -0
  43. data/docs/{V1AdminsPostRequest.md → InviteAdminRequest.md} +2 -2
  44. data/docs/{V1AdminsGet200Response.md → ListAdmins200Response.md} +2 -2
  45. data/docs/{V1AliasesGet200Response.md → ListAliases200Response.md} +2 -2
  46. data/docs/{V1ApiKeysGet200Response.md → ListApiKeys200Response.md} +2 -2
  47. data/docs/{V1DomainsGet200Response.md → ListDomains200Response.md} +2 -2
  48. data/docs/{V1MailboxesGet200Response.md → ListMailboxes200Response.md} +2 -2
  49. data/docs/{V1MessagesGet200Response.md → ListMessages200Response.md} +2 -2
  50. data/docs/{V1SuppressionsGet200Response.md → ListSuppressions200Response.md} +2 -2
  51. data/docs/{V1TemplatesGet200Response.md → ListTemplates200Response.md} +2 -2
  52. data/docs/{V1VacationGet200Response.md → ListVacationResponders200Response.md} +2 -2
  53. data/docs/{V1WebhooksGet200Response.md → ListWebhooks200Response.md} +2 -2
  54. data/docs/MailboxGrant.md +20 -0
  55. data/docs/MailboxGrantList.md +18 -0
  56. data/docs/MailboxesApi.md +204 -204
  57. data/docs/MarkReadResult.md +18 -0
  58. data/docs/MessageDetail.md +52 -0
  59. data/docs/ReturnPath.md +28 -0
  60. data/docs/ReturnPathCheck.md +20 -0
  61. data/docs/SendApi.md +121 -121
  62. data/docs/SendEmail200Response.md +24 -0
  63. data/docs/{V1SendPost202Response.md → SendEmail202Response.md} +2 -2
  64. data/docs/{V1SendBatchPost200Response.md → SendEmailBatch200Response.md} +2 -2
  65. data/docs/{V1SendBatchPostRequest.md → SendEmailBatchRequest.md} +2 -2
  66. data/docs/{V1SendPostRequest.md → SendEmailRequest.md} +7 -3
  67. data/docs/{V1SendPostRequestAttachmentsInner.md → SendEmailRequestAttachmentsInner.md} +2 -2
  68. data/docs/SendMessage.md +5 -1
  69. data/docs/{V1MailboxesEmailVacationPutRequest.md → SetVacationResponderRequest.md} +2 -2
  70. data/docs/SignupApi.md +4 -4
  71. data/docs/SimulatedInbound.md +22 -0
  72. data/docs/{V1InboxesMailboxMessagesPostRequest.md → StartConversationRequest.md} +2 -2
  73. data/docs/SuppressionsApi.md +75 -75
  74. data/docs/TemplatesApi.md +67 -67
  75. data/docs/TenantApi.md +20 -20
  76. data/docs/TestApi.md +11 -11
  77. data/docs/Thread.md +22 -0
  78. data/docs/ThreadClassification.md +22 -0
  79. data/docs/ThreadList.md +20 -0
  80. data/docs/ThreadMessage.md +40 -0
  81. data/docs/ThreadMessageBody.md +42 -0
  82. data/docs/ThreadMessageBodyAllOfBody.md +22 -0
  83. data/docs/ThreadSummary.md +28 -0
  84. data/docs/{V1AdminsIdPatchRequest.md → UpdateAdminRequest.md} +2 -2
  85. data/docs/{V1MailboxesEmailPatchRequest.md → UpdateMailboxRequest.md} +2 -2
  86. data/docs/{V1WebhooksIdPatchRequest.md → UpdateWebhookRequest.md} +2 -2
  87. data/docs/WebhooksApi.md +63 -63
  88. data/docs/Whoami.md +24 -0
  89. data/lib/lockally/api/add_ons_api.rb +1 -1
  90. data/lib/lockally/api/admin_api.rb +31 -31
  91. data/lib/lockally/api/admins_api.rb +90 -90
  92. data/lib/lockally/api/agents_api.rb +310 -310
  93. data/lib/lockally/api/ai_api.rb +70 -70
  94. data/lib/lockally/api/aliases_api.rb +65 -65
  95. data/lib/lockally/api/api_keys_api.rb +67 -67
  96. data/lib/lockally/api/billing_api.rb +1 -1
  97. data/lib/lockally/api/calendars_api.rb +64 -1
  98. data/lib/lockally/api/contact_lists_api.rb +1 -1
  99. data/lib/lockally/api/contacts_api.rb +1 -1
  100. data/lib/lockally/api/dashboard_api.rb +1 -1
  101. data/lib/lockally/api/directory_api.rb +1 -1
  102. data/lib/lockally/api/distribution_lists_api.rb +1 -1
  103. data/lib/lockally/api/domains_api.rb +314 -62
  104. data/lib/lockally/api/drafts_api.rb +141 -141
  105. data/lib/lockally/api/encryption_api.rb +1 -1
  106. data/lib/lockally/api/health_api.rb +10 -10
  107. data/lib/lockally/api/ip_pools_api.rb +1 -1
  108. data/lib/lockally/api/mailboxes_api.rb +236 -236
  109. data/lib/lockally/api/migrations_api.rb +1 -1
  110. data/lib/lockally/api/resources_api.rb +1 -1
  111. data/lib/lockally/api/send_api.rb +147 -147
  112. data/lib/lockally/api/signup_api.rb +4 -4
  113. data/lib/lockally/api/suppressions_api.rb +88 -88
  114. data/lib/lockally/api/templates_api.rb +70 -70
  115. data/lib/lockally/api/tenant_api.rb +16 -16
  116. data/lib/lockally/api/test_api.rb +10 -10
  117. data/lib/lockally/api/users_api.rb +1 -1
  118. data/lib/lockally/api/webhooks_api.rb +74 -74
  119. data/lib/lockally/api_client.rb +1 -1
  120. data/lib/lockally/api_error.rb +1 -1
  121. data/lib/lockally/api_model_base.rb +1 -1
  122. data/lib/lockally/configuration.rb +1 -1
  123. data/lib/lockally/models/activate_add_on200_response.rb +1 -1
  124. data/lib/lockally/models/add_calendar_member_request.rb +1 -1
  125. data/lib/lockally/models/add_contact_list_member_request.rb +1 -1
  126. data/lib/lockally/models/add_on.rb +1 -1
  127. data/lib/lockally/models/add_shared_member_request.rb +1 -1
  128. data/lib/lockally/models/admin.rb +1 -1
  129. data/lib/lockally/models/admin_full.rb +1 -1
  130. data/lib/lockally/models/{v1_admin_login_post200_response.rb → admin_login200_response.rb} +4 -4
  131. data/lib/lockally/models/{v1_admin_login_post_request.rb → admin_login_request.rb} +4 -4
  132. data/lib/lockally/models/agent_send_result.rb +184 -0
  133. data/lib/lockally/models/ai_config.rb +242 -0
  134. data/lib/lockally/models/ai_config_update.rb +214 -0
  135. data/lib/lockally/models/api_key.rb +1 -1
  136. data/lib/lockally/models/audit_event.rb +1 -1
  137. data/lib/lockally/models/batch_lookup_public_keys200_response.rb +1 -1
  138. data/lib/lockally/models/batch_lookup_public_keys200_response_data_inner.rb +1 -1
  139. data/lib/lockally/models/batch_result.rb +4 -3
  140. data/lib/lockally/models/billing_status.rb +1 -1
  141. data/lib/lockally/models/calendar.rb +68 -4
  142. data/lib/lockally/models/calendar_event.rb +1 -1
  143. data/lib/lockally/models/calendar_integration.rb +1 -1
  144. data/lib/lockally/models/calendar_member.rb +1 -1
  145. data/lib/lockally/models/calendar_policies.rb +1 -1
  146. data/lib/lockally/models/contact.rb +1 -1
  147. data/lib/lockally/models/contact_list.rb +1 -1
  148. data/lib/lockally/models/contact_lookup.rb +235 -0
  149. data/lib/lockally/models/contact_lookup_contact.rb +192 -0
  150. data/lib/lockally/models/contact_lookup_history.rb +166 -0
  151. data/lib/lockally/models/create_ai_units_checkout200_response.rb +199 -0
  152. data/lib/lockally/models/{v1_aliases_post_request.rb → create_alias_request.rb} +4 -4
  153. data/lib/lockally/models/{v1_api_keys_post201_response.rb → create_api_key201_response.rb} +4 -4
  154. data/lib/lockally/models/{v1_api_keys_post_request.rb → create_api_key_request.rb} +20 -8
  155. data/lib/lockally/models/create_billing_checkout200_response.rb +1 -1
  156. data/lib/lockally/models/create_billing_checkout_request.rb +1 -1
  157. data/lib/lockally/models/create_calendar_event_request.rb +1 -1
  158. data/lib/lockally/models/create_calendar_integration_request.rb +1 -1
  159. data/lib/lockally/models/create_calendar_request.rb +1 -1
  160. data/lib/lockally/models/create_contact_list_request.rb +1 -1
  161. data/lib/lockally/models/create_contact_request.rb +1 -1
  162. data/lib/lockally/models/create_dedicated_ip_request_request.rb +1 -1
  163. data/lib/lockally/models/create_distribution_list_request.rb +1 -1
  164. data/lib/lockally/models/{v1_domains_post_request.rb → create_domain_request.rb} +4 -4
  165. data/lib/lockally/models/create_encryption_key201_response.rb +1 -1
  166. data/lib/lockally/models/create_encryption_key_request.rb +1 -1
  167. data/lib/lockally/models/create_encryption_recovery_request.rb +1 -1
  168. data/lib/lockally/models/{v1_mailboxes_post_request.rb → create_mailbox_request.rb} +4 -4
  169. data/lib/lockally/models/create_migration_credential_request.rb +1 -1
  170. data/lib/lockally/models/create_migration_credential_request_credentials.rb +1 -1
  171. data/lib/lockally/models/create_migration_request.rb +1 -1
  172. data/lib/lockally/models/create_resource_request.rb +1 -1
  173. data/lib/lockally/models/{v1_suppressions_post_request.rb → create_suppression_request.rb} +4 -4
  174. data/lib/lockally/models/create_units_checkout200_response.rb +1 -1
  175. data/lib/lockally/models/create_units_checkout_request.rb +1 -1
  176. data/lib/lockally/models/create_user_request.rb +1 -1
  177. data/lib/lockally/models/{v1_webhooks_post_request.rb → create_webhook_request.rb} +4 -4
  178. data/lib/lockally/models/dedicated_ip_request.rb +1 -1
  179. data/lib/lockally/models/directory_permissions.rb +1 -1
  180. data/lib/lockally/models/discover_migration202_response.rb +1 -1
  181. data/lib/lockally/models/distribution_list_detail.rb +1 -1
  182. data/lib/lockally/models/distribution_list_summary.rb +1 -1
  183. data/lib/lockally/models/dns_record.rb +1 -1
  184. data/lib/lockally/models/domain.rb +1 -1
  185. data/lib/lockally/models/draft.rb +413 -0
  186. data/lib/lockally/models/draft_list.rb +166 -0
  187. data/lib/lockally/models/draft_result.rb +260 -0
  188. data/lib/lockally/models/{v1_mailboxes_email_export_post201_response.rb → export_mailbox201_response.rb} +4 -4
  189. data/lib/lockally/models/gal_settings.rb +1 -1
  190. data/lib/lockally/models/get_add_on_status200_response.rb +1 -1
  191. data/lib/lockally/models/get_audit_summary200_response.rb +1 -1
  192. data/lib/lockally/models/get_calendar_overview200_response.rb +228 -0
  193. data/lib/lockally/models/get_calendar_overview200_response_activity_inner.rb +174 -0
  194. data/lib/lockally/models/get_calendar_security200_response.rb +1 -1
  195. data/lib/lockally/models/get_calendar_security200_response_alerts_inner.rb +1 -1
  196. data/lib/lockally/models/get_calendar_security200_response_delegated_access_inner.rb +1 -1
  197. data/lib/lockally/models/get_calendar_security200_response_external_sharing.rb +1 -1
  198. data/lib/lockally/models/get_calendar_security200_response_public_calendar_list_inner.rb +1 -1
  199. data/lib/lockally/models/get_contact_list200_response.rb +1 -1
  200. data/lib/lockally/models/get_contact_list200_response_members_inner.rb +1 -1
  201. data/lib/lockally/models/get_contact_lists200_response.rb +1 -1
  202. data/lib/lockally/models/get_contact_lists200_response_data_inner.rb +1 -1
  203. data/lib/lockally/models/{v1_admin_me_get200_response.rb → get_current_admin200_response.rb} +4 -4
  204. data/lib/lockally/models/get_directory_activity200_response.rb +1 -1
  205. data/lib/lockally/models/get_directory_activity200_response_data_inner.rb +1 -1
  206. data/lib/lockally/models/get_directory_stats200_response.rb +1 -1
  207. data/lib/lockally/models/get_domains_status200_response.rb +1 -1
  208. data/lib/lockally/models/get_domains_status200_response_domains_inner.rb +1 -1
  209. data/lib/lockally/models/get_domains_status200_response_domains_inner_checks_inner.rb +1 -1
  210. data/lib/lockally/models/get_encryption_key200_response.rb +1 -1
  211. data/lib/lockally/models/get_integrations_summary200_response.rb +1 -1
  212. data/lib/lockally/models/get_integrations_summary200_response_api_keys_inner.rb +1 -1
  213. data/lib/lockally/models/get_integrations_summary200_response_webhooks_inner.rb +1 -1
  214. data/lib/lockally/models/get_ip_assignment200_response.rb +1 -1
  215. data/lib/lockally/models/get_security200_response.rb +1 -1
  216. data/lib/lockally/models/get_security200_response_alerts_inner.rb +1 -1
  217. data/lib/lockally/models/get_security200_response_stats_inner.rb +1 -1
  218. data/lib/lockally/models/get_storage200_response.rb +1 -1
  219. data/lib/lockally/models/get_storage200_response_top_mailboxes_inner.rb +1 -1
  220. data/lib/lockally/models/get_storage200_response_top_messages_inner.rb +1 -1
  221. data/lib/lockally/models/{v1_usage_get200_response.rb → get_usage200_response.rb} +4 -4
  222. data/lib/lockally/models/get_user_insights200_response.rb +12 -2
  223. data/lib/lockally/models/{healthz_get200_response.rb → health_check200_response.rb} +4 -4
  224. data/lib/lockally/models/inbox.rb +225 -0
  225. data/lib/lockally/models/inbox_list.rb +166 -0
  226. data/lib/lockally/models/{v1_admins_post_request.rb → invite_admin_request.rb} +4 -4
  227. data/lib/lockally/models/list_add_ons200_response.rb +1 -1
  228. data/lib/lockally/models/{v1_api_keys_get200_response.rb → list_admins200_response.rb} +5 -5
  229. data/lib/lockally/models/list_aliases200_response.rb +166 -0
  230. data/lib/lockally/models/{v1_admins_get200_response.rb → list_api_keys200_response.rb} +5 -5
  231. data/lib/lockally/models/list_calendar_events200_response.rb +1 -1
  232. data/lib/lockally/models/list_calendar_integrations200_response.rb +1 -1
  233. data/lib/lockally/models/list_calendar_members200_response.rb +1 -1
  234. data/lib/lockally/models/list_calendars200_response.rb +1 -1
  235. data/lib/lockally/models/list_contact_lists200_response.rb +1 -1
  236. data/lib/lockally/models/list_contacts200_response.rb +1 -1
  237. data/lib/lockally/models/list_dedicated_ip_requests200_response.rb +1 -1
  238. data/lib/lockally/models/list_distribution_lists200_response.rb +1 -1
  239. data/lib/lockally/models/{v1_domains_get200_response.rb → list_domains200_response.rb} +4 -4
  240. data/lib/lockally/models/{v1_mailboxes_get200_response.rb → list_mailboxes200_response.rb} +4 -4
  241. data/lib/lockally/models/{v1_messages_get200_response.rb → list_messages200_response.rb} +4 -4
  242. data/lib/lockally/models/list_migration_credentials200_response.rb +1 -1
  243. data/lib/lockally/models/list_migration_events200_response.rb +1 -1
  244. data/lib/lockally/models/list_migration_mailboxes200_response.rb +1 -1
  245. data/lib/lockally/models/list_migrations200_response.rb +1 -1
  246. data/lib/lockally/models/list_resources200_response.rb +1 -1
  247. data/lib/lockally/models/list_shared_members200_response.rb +1 -1
  248. data/lib/lockally/models/{v1_suppressions_get200_response.rb → list_suppressions200_response.rb} +4 -4
  249. data/lib/lockally/models/{v1_send_batch_post200_response.rb → list_templates200_response.rb} +5 -5
  250. data/lib/lockally/models/list_users200_response.rb +1 -1
  251. data/lib/lockally/models/{v1_vacation_get200_response.rb → list_vacation_responders200_response.rb} +4 -4
  252. data/lib/lockally/models/{v1_aliases_get200_response.rb → list_webhooks200_response.rb} +5 -5
  253. data/lib/lockally/models/mailbox.rb +1 -1
  254. data/lib/lockally/models/mailbox_grant.rb +156 -0
  255. data/lib/lockally/models/mailbox_grant_list.rb +166 -0
  256. data/lib/lockally/models/map_migration_request.rb +1 -1
  257. data/lib/lockally/models/map_migration_request_mappings_inner.rb +1 -1
  258. data/lib/lockally/models/mark_read_result.rb +147 -0
  259. data/lib/lockally/models/message.rb +1 -1
  260. data/lib/lockally/models/message_detail.rb +479 -0
  261. data/lib/lockally/models/message_stats.rb +1 -1
  262. data/lib/lockally/models/message_stats_counts.rb +1 -1
  263. data/lib/lockally/models/message_stats_rates.rb +1 -1
  264. data/lib/lockally/models/message_stats_window.rb +1 -1
  265. data/lib/lockally/models/migration.rb +1 -1
  266. data/lib/lockally/models/migration_credential.rb +1 -1
  267. data/lib/lockally/models/migration_event.rb +1 -1
  268. data/lib/lockally/models/migration_mailbox.rb +1 -1
  269. data/lib/lockally/models/migration_progress.rb +1 -1
  270. data/lib/lockally/models/migration_progress_mailboxes_inner.rb +1 -1
  271. data/lib/lockally/models/migration_settings.rb +1 -1
  272. data/lib/lockally/models/model_alias.rb +1 -1
  273. data/lib/lockally/models/plan_catalog_entry.rb +1 -1
  274. data/lib/lockally/models/problem.rb +1 -1
  275. data/lib/lockally/models/replace_distribution_list_members200_response.rb +1 -1
  276. data/lib/lockally/models/replace_distribution_list_members_request.rb +1 -1
  277. data/lib/lockally/models/resource.rb +1 -1
  278. data/lib/lockally/models/return_path.rb +269 -0
  279. data/lib/lockally/models/return_path_check.rb +157 -0
  280. data/lib/lockally/models/rotate_encryption_key_request.rb +1 -1
  281. data/lib/lockally/models/send_email200_response.rb +218 -0
  282. data/lib/lockally/models/{v1_send_post202_response.rb → send_email202_response.rb} +4 -4
  283. data/lib/lockally/models/{v1_templates_get200_response.rb → send_email_batch200_response.rb} +5 -5
  284. data/lib/lockally/models/{v1_send_batch_post_request.rb → send_email_batch_request.rb} +4 -4
  285. data/lib/lockally/models/{v1_send_post_request.rb → send_email_request.rb} +26 -6
  286. data/lib/lockally/models/{v1_send_post_request_attachments_inner.rb → send_email_request_attachments_inner.rb} +4 -4
  287. data/lib/lockally/models/send_message.rb +23 -3
  288. data/lib/lockally/models/{v1_mailboxes_email_vacation_put_request.rb → set_vacation_responder_request.rb} +4 -4
  289. data/lib/lockally/models/shared_member.rb +1 -1
  290. data/lib/lockally/models/signup_request.rb +1 -1
  291. data/lib/lockally/models/simulated_inbound.rb +167 -0
  292. data/lib/lockally/models/{v1_inboxes_mailbox_messages_post_request.rb → start_conversation_request.rb} +4 -4
  293. data/lib/lockally/models/start_migration202_response.rb +1 -1
  294. data/lib/lockally/models/suppression.rb +1 -1
  295. data/lib/lockally/models/template.rb +1 -1
  296. data/lib/lockally/models/template_input.rb +1 -1
  297. data/lib/lockally/models/tenant.rb +1 -1
  298. data/lib/lockally/models/thread.rb +219 -0
  299. data/lib/lockally/models/thread_classification.rb +186 -0
  300. data/lib/lockally/models/thread_list.rb +192 -0
  301. data/lib/lockally/models/thread_message.rb +397 -0
  302. data/lib/lockally/models/thread_message_body.rb +413 -0
  303. data/lib/lockally/models/thread_message_body_all_of_body.rb +165 -0
  304. data/lib/lockally/models/thread_summary.rb +280 -0
  305. data/lib/lockally/models/unit_bundle.rb +1 -1
  306. data/lib/lockally/models/{v1_admins_id_patch_request.rb → update_admin_request.rb} +4 -4
  307. data/lib/lockally/models/update_calendar_event_request.rb +1 -1
  308. data/lib/lockally/models/update_calendar_integration_request.rb +1 -1
  309. data/lib/lockally/models/update_calendar_member_request.rb +1 -1
  310. data/lib/lockally/models/update_calendar_policies_request.rb +1 -1
  311. data/lib/lockally/models/update_calendar_request.rb +1 -1
  312. data/lib/lockally/models/update_contact_list_request.rb +1 -1
  313. data/lib/lockally/models/update_contact_request.rb +1 -1
  314. data/lib/lockally/models/update_directory_permissions_request.rb +1 -1
  315. data/lib/lockally/models/update_gal_settings_request.rb +1 -1
  316. data/lib/lockally/models/{v1_mailboxes_email_patch_request.rb → update_mailbox_request.rb} +4 -4
  317. data/lib/lockally/models/update_migration_mailbox_request.rb +1 -1
  318. data/lib/lockally/models/update_migration_request.rb +1 -1
  319. data/lib/lockally/models/update_resource_request.rb +1 -1
  320. data/lib/lockally/models/update_user_request.rb +1 -1
  321. data/lib/lockally/models/{v1_webhooks_id_patch_request.rb → update_webhook_request.rb} +4 -4
  322. data/lib/lockally/models/user.rb +1 -1
  323. data/lib/lockally/models/user_event.rb +1 -1
  324. data/lib/lockally/models/vacation_params.rb +1 -1
  325. data/lib/lockally/models/vacation_responder.rb +1 -1
  326. data/lib/lockally/models/webhook.rb +1 -1
  327. data/lib/lockally/models/whoami.rb +177 -0
  328. data/lib/lockally/version.rb +2 -2
  329. data/lib/lockally.rb +65 -35
  330. data/lockally.gemspec +2 -2
  331. data/spec/api/add_ons_api_spec.rb +1 -1
  332. data/spec/api/admin_api_spec.rb +10 -10
  333. data/spec/api/admins_api_spec.rb +23 -23
  334. data/spec/api/agents_api_spec.rb +79 -79
  335. data/spec/api/ai_api_spec.rb +23 -23
  336. data/spec/api/aliases_api_spec.rb +17 -17
  337. data/spec/api/api_keys_api_spec.rb +18 -18
  338. data/spec/api/billing_api_spec.rb +1 -1
  339. data/spec/api/calendars_api_spec.rb +15 -1
  340. data/spec/api/contact_lists_api_spec.rb +1 -1
  341. data/spec/api/contacts_api_spec.rb +1 -1
  342. data/spec/api/dashboard_api_spec.rb +1 -1
  343. data/spec/api/directory_api_spec.rb +1 -1
  344. data/spec/api/distribution_lists_api_spec.rb +1 -1
  345. data/spec/api/domains_api_spec.rb +66 -18
  346. data/spec/api/drafts_api_spec.rb +39 -39
  347. data/spec/api/encryption_api_spec.rb +1 -1
  348. data/spec/api/health_api_spec.rb +4 -4
  349. data/spec/api/ip_pools_api_spec.rb +1 -1
  350. data/spec/api/mailboxes_api_spec.rb +63 -63
  351. data/spec/api/migrations_api_spec.rb +1 -1
  352. data/spec/api/resources_api_spec.rb +1 -1
  353. data/spec/api/send_api_spec.rb +37 -37
  354. data/spec/api/signup_api_spec.rb +2 -2
  355. data/spec/api/suppressions_api_spec.rb +19 -19
  356. data/spec/api/templates_api_spec.rb +18 -18
  357. data/spec/api/tenant_api_spec.rb +6 -6
  358. data/spec/api/test_api_spec.rb +4 -4
  359. data/spec/api/users_api_spec.rb +1 -1
  360. data/spec/api/webhooks_api_spec.rb +20 -20
  361. data/spec/models/activate_add_on200_response_spec.rb +1 -1
  362. data/spec/models/add_calendar_member_request_spec.rb +1 -1
  363. data/spec/models/add_contact_list_member_request_spec.rb +1 -1
  364. data/spec/models/add_on_spec.rb +1 -1
  365. data/spec/models/add_shared_member_request_spec.rb +1 -1
  366. data/spec/models/admin_full_spec.rb +1 -1
  367. data/spec/models/{v1_admin_login_post200_response_spec.rb → admin_login200_response_spec.rb} +7 -7
  368. data/spec/models/{v1_admin_login_post_request_spec.rb → admin_login_request_spec.rb} +7 -7
  369. data/spec/models/admin_spec.rb +1 -1
  370. data/spec/models/agent_send_result_spec.rb +48 -0
  371. data/spec/models/ai_config_spec.rb +64 -0
  372. data/spec/models/{v1_api_keys_post_request_spec.rb → ai_config_update_spec.rb} +13 -13
  373. data/spec/models/api_key_spec.rb +1 -1
  374. data/spec/models/audit_event_spec.rb +1 -1
  375. data/spec/models/batch_lookup_public_keys200_response_data_inner_spec.rb +1 -1
  376. data/spec/models/batch_lookup_public_keys200_response_spec.rb +1 -1
  377. data/spec/models/batch_result_spec.rb +2 -2
  378. data/spec/models/billing_status_spec.rb +1 -1
  379. data/spec/models/calendar_event_spec.rb +1 -1
  380. data/spec/models/calendar_integration_spec.rb +1 -1
  381. data/spec/models/calendar_member_spec.rb +1 -1
  382. data/spec/models/calendar_policies_spec.rb +1 -1
  383. data/spec/models/calendar_spec.rb +34 -2
  384. data/spec/models/contact_list_spec.rb +1 -1
  385. data/spec/models/contact_lookup_contact_spec.rb +66 -0
  386. data/spec/models/contact_lookup_history_spec.rb +48 -0
  387. data/spec/models/contact_lookup_spec.rb +60 -0
  388. data/spec/models/contact_spec.rb +1 -1
  389. data/spec/models/create_ai_units_checkout200_response_spec.rb +48 -0
  390. data/spec/models/{v1_aliases_post_request_spec.rb → create_alias_request_spec.rb} +7 -7
  391. data/spec/models/{v1_api_keys_post201_response_spec.rb → create_api_key201_response_spec.rb} +7 -7
  392. data/spec/models/create_api_key_request_spec.rb +52 -0
  393. data/spec/models/create_billing_checkout200_response_spec.rb +1 -1
  394. data/spec/models/create_billing_checkout_request_spec.rb +1 -1
  395. data/spec/models/create_calendar_event_request_spec.rb +1 -1
  396. data/spec/models/create_calendar_integration_request_spec.rb +1 -1
  397. data/spec/models/create_calendar_request_spec.rb +1 -1
  398. data/spec/models/create_contact_list_request_spec.rb +1 -1
  399. data/spec/models/create_contact_request_spec.rb +1 -1
  400. data/spec/models/create_dedicated_ip_request_request_spec.rb +1 -1
  401. data/spec/models/create_distribution_list_request_spec.rb +1 -1
  402. data/spec/models/{v1_domains_post_request_spec.rb → create_domain_request_spec.rb} +7 -7
  403. data/spec/models/create_encryption_key201_response_spec.rb +1 -1
  404. data/spec/models/create_encryption_key_request_spec.rb +1 -1
  405. data/spec/models/create_encryption_recovery_request_spec.rb +1 -1
  406. data/spec/models/{v1_mailboxes_post_request_spec.rb → create_mailbox_request_spec.rb} +7 -7
  407. data/spec/models/create_migration_credential_request_credentials_spec.rb +1 -1
  408. data/spec/models/create_migration_credential_request_spec.rb +1 -1
  409. data/spec/models/create_migration_request_spec.rb +1 -1
  410. data/spec/models/create_resource_request_spec.rb +1 -1
  411. data/spec/models/{v1_suppressions_post_request_spec.rb → create_suppression_request_spec.rb} +7 -7
  412. data/spec/models/create_units_checkout200_response_spec.rb +1 -1
  413. data/spec/models/create_units_checkout_request_spec.rb +1 -1
  414. data/spec/models/create_user_request_spec.rb +1 -1
  415. data/spec/models/{v1_webhooks_post_request_spec.rb → create_webhook_request_spec.rb} +7 -7
  416. data/spec/models/dedicated_ip_request_spec.rb +1 -1
  417. data/spec/models/directory_permissions_spec.rb +1 -1
  418. data/spec/models/discover_migration202_response_spec.rb +1 -1
  419. data/spec/models/distribution_list_detail_spec.rb +1 -1
  420. data/spec/models/distribution_list_summary_spec.rb +1 -1
  421. data/spec/models/dns_record_spec.rb +1 -1
  422. data/spec/models/domain_spec.rb +1 -1
  423. data/spec/models/{v1_aliases_get200_response_spec.rb → draft_list_spec.rb} +8 -8
  424. data/spec/models/draft_result_spec.rb +64 -0
  425. data/spec/models/draft_spec.rb +118 -0
  426. data/spec/models/{v1_mailboxes_email_export_post201_response_spec.rb → export_mailbox201_response_spec.rb} +7 -7
  427. data/spec/models/gal_settings_spec.rb +1 -1
  428. data/spec/models/get_add_on_status200_response_spec.rb +1 -1
  429. data/spec/models/get_audit_summary200_response_spec.rb +1 -1
  430. data/spec/models/get_calendar_overview200_response_activity_inner_spec.rb +54 -0
  431. data/spec/models/get_calendar_overview200_response_spec.rb +84 -0
  432. data/spec/models/get_calendar_security200_response_alerts_inner_spec.rb +1 -1
  433. data/spec/models/get_calendar_security200_response_delegated_access_inner_spec.rb +1 -1
  434. data/spec/models/get_calendar_security200_response_external_sharing_spec.rb +1 -1
  435. data/spec/models/get_calendar_security200_response_public_calendar_list_inner_spec.rb +1 -1
  436. data/spec/models/get_calendar_security200_response_spec.rb +1 -1
  437. data/spec/models/get_contact_list200_response_members_inner_spec.rb +1 -1
  438. data/spec/models/get_contact_list200_response_spec.rb +1 -1
  439. data/spec/models/get_contact_lists200_response_data_inner_spec.rb +1 -1
  440. data/spec/models/get_contact_lists200_response_spec.rb +1 -1
  441. data/spec/models/{v1_admin_me_get200_response_spec.rb → get_current_admin200_response_spec.rb} +7 -7
  442. data/spec/models/get_directory_activity200_response_data_inner_spec.rb +1 -1
  443. data/spec/models/get_directory_activity200_response_spec.rb +1 -1
  444. data/spec/models/get_directory_stats200_response_spec.rb +1 -1
  445. data/spec/models/get_domains_status200_response_domains_inner_checks_inner_spec.rb +1 -1
  446. data/spec/models/get_domains_status200_response_domains_inner_spec.rb +1 -1
  447. data/spec/models/get_domains_status200_response_spec.rb +1 -1
  448. data/spec/models/get_encryption_key200_response_spec.rb +1 -1
  449. data/spec/models/get_integrations_summary200_response_api_keys_inner_spec.rb +1 -1
  450. data/spec/models/get_integrations_summary200_response_spec.rb +1 -1
  451. data/spec/models/get_integrations_summary200_response_webhooks_inner_spec.rb +1 -1
  452. data/spec/models/get_ip_assignment200_response_spec.rb +1 -1
  453. data/spec/models/get_security200_response_alerts_inner_spec.rb +1 -1
  454. data/spec/models/get_security200_response_spec.rb +1 -1
  455. data/spec/models/get_security200_response_stats_inner_spec.rb +1 -1
  456. data/spec/models/get_storage200_response_spec.rb +1 -1
  457. data/spec/models/get_storage200_response_top_mailboxes_inner_spec.rb +1 -1
  458. data/spec/models/get_storage200_response_top_messages_inner_spec.rb +1 -1
  459. data/spec/models/{v1_usage_get200_response_spec.rb → get_usage200_response_spec.rb} +7 -7
  460. data/spec/models/get_user_insights200_response_spec.rb +7 -1
  461. data/spec/models/{healthz_get200_response_spec.rb → health_check200_response_spec.rb} +7 -7
  462. data/spec/models/inbox_list_spec.rb +36 -0
  463. data/spec/models/inbox_spec.rb +54 -0
  464. data/spec/models/{v1_admins_post_request_spec.rb → invite_admin_request_spec.rb} +7 -7
  465. data/spec/models/list_add_ons200_response_spec.rb +1 -1
  466. data/spec/models/list_admins200_response_spec.rb +36 -0
  467. data/spec/models/{v1_admins_get200_response_spec.rb → list_aliases200_response_spec.rb} +7 -7
  468. data/spec/models/{v1_api_keys_get200_response_spec.rb → list_api_keys200_response_spec.rb} +7 -7
  469. data/spec/models/list_calendar_events200_response_spec.rb +1 -1
  470. data/spec/models/list_calendar_integrations200_response_spec.rb +1 -1
  471. data/spec/models/list_calendar_members200_response_spec.rb +1 -1
  472. data/spec/models/list_calendars200_response_spec.rb +1 -1
  473. data/spec/models/list_contact_lists200_response_spec.rb +1 -1
  474. data/spec/models/list_contacts200_response_spec.rb +1 -1
  475. data/spec/models/list_dedicated_ip_requests200_response_spec.rb +1 -1
  476. data/spec/models/list_distribution_lists200_response_spec.rb +1 -1
  477. data/spec/models/list_domains200_response_spec.rb +36 -0
  478. data/spec/models/{v1_mailboxes_get200_response_spec.rb → list_mailboxes200_response_spec.rb} +7 -7
  479. data/spec/models/{v1_suppressions_get200_response_spec.rb → list_messages200_response_spec.rb} +7 -7
  480. data/spec/models/list_migration_credentials200_response_spec.rb +1 -1
  481. data/spec/models/list_migration_events200_response_spec.rb +1 -1
  482. data/spec/models/list_migration_mailboxes200_response_spec.rb +1 -1
  483. data/spec/models/list_migrations200_response_spec.rb +1 -1
  484. data/spec/models/list_resources200_response_spec.rb +1 -1
  485. data/spec/models/list_shared_members200_response_spec.rb +1 -1
  486. data/spec/models/{v1_messages_get200_response_spec.rb → list_suppressions200_response_spec.rb} +7 -7
  487. data/spec/models/{v1_vacation_get200_response_spec.rb → list_templates200_response_spec.rb} +7 -7
  488. data/spec/models/list_users200_response_spec.rb +1 -1
  489. data/spec/models/list_vacation_responders200_response_spec.rb +36 -0
  490. data/spec/models/{v1_domains_get200_response_spec.rb → list_webhooks200_response_spec.rb} +7 -7
  491. data/spec/models/mailbox_grant_list_spec.rb +36 -0
  492. data/spec/models/mailbox_grant_spec.rb +42 -0
  493. data/spec/models/mailbox_spec.rb +1 -1
  494. data/spec/models/map_migration_request_mappings_inner_spec.rb +1 -1
  495. data/spec/models/map_migration_request_spec.rb +1 -1
  496. data/spec/models/mark_read_result_spec.rb +36 -0
  497. data/spec/models/message_detail_spec.rb +142 -0
  498. data/spec/models/message_spec.rb +1 -1
  499. data/spec/models/message_stats_counts_spec.rb +1 -1
  500. data/spec/models/message_stats_rates_spec.rb +1 -1
  501. data/spec/models/message_stats_spec.rb +1 -1
  502. data/spec/models/message_stats_window_spec.rb +1 -1
  503. data/spec/models/migration_credential_spec.rb +1 -1
  504. data/spec/models/migration_event_spec.rb +1 -1
  505. data/spec/models/migration_mailbox_spec.rb +1 -1
  506. data/spec/models/migration_progress_mailboxes_inner_spec.rb +1 -1
  507. data/spec/models/migration_progress_spec.rb +1 -1
  508. data/spec/models/migration_settings_spec.rb +1 -1
  509. data/spec/models/migration_spec.rb +1 -1
  510. data/spec/models/model_alias_spec.rb +1 -1
  511. data/spec/models/plan_catalog_entry_spec.rb +1 -1
  512. data/spec/models/problem_spec.rb +1 -1
  513. data/spec/models/replace_distribution_list_members200_response_spec.rb +1 -1
  514. data/spec/models/replace_distribution_list_members_request_spec.rb +1 -1
  515. data/spec/models/resource_spec.rb +1 -1
  516. data/spec/models/return_path_check_spec.rb +42 -0
  517. data/spec/models/return_path_spec.rb +70 -0
  518. data/spec/models/rotate_encryption_key_request_spec.rb +1 -1
  519. data/spec/models/send_email200_response_spec.rb +58 -0
  520. data/spec/models/{v1_send_post202_response_spec.rb → send_email202_response_spec.rb} +7 -7
  521. data/spec/models/{v1_templates_get200_response_spec.rb → send_email_batch200_response_spec.rb} +7 -7
  522. data/spec/models/{v1_send_batch_post_request_spec.rb → send_email_batch_request_spec.rb} +7 -7
  523. data/spec/models/{v1_send_post_request_attachments_inner_spec.rb → send_email_request_attachments_inner_spec.rb} +7 -7
  524. data/spec/models/{v1_send_post_request_spec.rb → send_email_request_spec.rb} +19 -7
  525. data/spec/models/send_message_spec.rb +13 -1
  526. data/spec/models/{v1_mailboxes_email_vacation_put_request_spec.rb → set_vacation_responder_request_spec.rb} +7 -7
  527. data/spec/models/shared_member_spec.rb +1 -1
  528. data/spec/models/signup_request_spec.rb +1 -1
  529. data/spec/models/simulated_inbound_spec.rb +48 -0
  530. data/spec/models/{v1_inboxes_mailbox_messages_post_request_spec.rb → start_conversation_request_spec.rb} +7 -7
  531. data/spec/models/start_migration202_response_spec.rb +1 -1
  532. data/spec/models/suppression_spec.rb +1 -1
  533. data/spec/models/template_input_spec.rb +1 -1
  534. data/spec/models/template_spec.rb +1 -1
  535. data/spec/models/tenant_spec.rb +1 -1
  536. data/spec/models/thread_classification_spec.rb +48 -0
  537. data/spec/models/thread_list_spec.rb +42 -0
  538. data/spec/models/thread_message_body_all_of_body_spec.rb +48 -0
  539. data/spec/models/thread_message_body_spec.rb +112 -0
  540. data/spec/models/thread_message_spec.rb +106 -0
  541. data/spec/models/thread_spec.rb +48 -0
  542. data/spec/models/thread_summary_spec.rb +70 -0
  543. data/spec/models/unit_bundle_spec.rb +1 -1
  544. data/spec/models/{v1_admins_id_patch_request_spec.rb → update_admin_request_spec.rb} +7 -7
  545. data/spec/models/update_calendar_event_request_spec.rb +1 -1
  546. data/spec/models/update_calendar_integration_request_spec.rb +1 -1
  547. data/spec/models/update_calendar_member_request_spec.rb +1 -1
  548. data/spec/models/update_calendar_policies_request_spec.rb +1 -1
  549. data/spec/models/update_calendar_request_spec.rb +1 -1
  550. data/spec/models/update_contact_list_request_spec.rb +1 -1
  551. data/spec/models/update_contact_request_spec.rb +1 -1
  552. data/spec/models/update_directory_permissions_request_spec.rb +1 -1
  553. data/spec/models/update_gal_settings_request_spec.rb +1 -1
  554. data/spec/models/{v1_mailboxes_email_patch_request_spec.rb → update_mailbox_request_spec.rb} +7 -7
  555. data/spec/models/update_migration_mailbox_request_spec.rb +1 -1
  556. data/spec/models/update_migration_request_spec.rb +1 -1
  557. data/spec/models/update_resource_request_spec.rb +1 -1
  558. data/spec/models/update_user_request_spec.rb +1 -1
  559. data/spec/models/{v1_webhooks_id_patch_request_spec.rb → update_webhook_request_spec.rb} +7 -7
  560. data/spec/models/user_event_spec.rb +1 -1
  561. data/spec/models/user_spec.rb +1 -1
  562. data/spec/models/vacation_params_spec.rb +1 -1
  563. data/spec/models/vacation_responder_spec.rb +1 -1
  564. data/spec/models/webhook_spec.rb +1 -1
  565. data/spec/models/whoami_spec.rb +54 -0
  566. data/spec/spec_helper.rb +1 -1
  567. metadata +408 -285
  568. data/docs/V1ApiKeysPostRequest.md +0 -20
  569. data/lib/lockally/models/v1_webhooks_get200_response.rb +0 -166
  570. data/spec/models/v1_send_batch_post200_response_spec.rb +0 -36
  571. data/spec/models/v1_webhooks_get200_response_spec.rb +0 -36
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -19,22 +19,28 @@ module Lockally
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # List webhooks
23
- # Returns the calling tenant's webhook subscriptions. Never returns the signing secret — only metadata.
22
+ # Create a webhook
23
+ # Subscribes a URL to one or more event types. Returns the `signing_secret` ONCE in the response — store it immediately. The dispatcher signs every outbound POST per design L3: X-Lockally-Signature: t=<unix>,v1=<hex(hmac_sha256(secret, t + \".\" + body))> Verify on your end using HMAC-SHA256 with a 5-minute timestamp window (replay protection). A reference verifier ships in [internal/webhook](https://github.com/ucheigwedinma/lockally/blob/main/internal/webhook/sign.go). Event names: see the [event catalogue](https://github.com/ucheigwedinma/lockally/blob/main/docs/v1-design.md#64-webhook-event-catalogue-v1).
24
+ # @param create_webhook_request [CreateWebhookRequest]
24
25
  # @param [Hash] opts the optional parameters
25
- # @return [V1WebhooksGet200Response]
26
- def v1_webhooks_get(opts = {})
27
- data, _status_code, _headers = v1_webhooks_get_with_http_info(opts)
26
+ # @return [Webhook]
27
+ def create_webhook(create_webhook_request, opts = {})
28
+ data, _status_code, _headers = create_webhook_with_http_info(create_webhook_request, opts)
28
29
  data
29
30
  end
30
31
 
31
- # List webhooks
32
- # Returns the calling tenant&#39;s webhook subscriptions. Never returns the signing secret — only metadata.
32
+ # Create a webhook
33
+ # Subscribes a URL to one or more event types. Returns the &#x60;signing_secret&#x60; ONCE in the response — store it immediately. The dispatcher signs every outbound POST per design L3: X-Lockally-Signature: t&#x3D;&lt;unix&gt;,v1&#x3D;&lt;hex(hmac_sha256(secret, t + \&quot;.\&quot; + body))&gt; Verify on your end using HMAC-SHA256 with a 5-minute timestamp window (replay protection). A reference verifier ships in [internal/webhook](https://github.com/ucheigwedinma/lockally/blob/main/internal/webhook/sign.go). Event names: see the [event catalogue](https://github.com/ucheigwedinma/lockally/blob/main/docs/v1-design.md#64-webhook-event-catalogue-v1).
34
+ # @param create_webhook_request [CreateWebhookRequest]
33
35
  # @param [Hash] opts the optional parameters
34
- # @return [Array<(V1WebhooksGet200Response, Integer, Hash)>] V1WebhooksGet200Response data, response status code and response headers
35
- def v1_webhooks_get_with_http_info(opts = {})
36
+ # @return [Array<(Webhook, Integer, Hash)>] Webhook data, response status code and response headers
37
+ def create_webhook_with_http_info(create_webhook_request, opts = {})
36
38
  if @api_client.config.debugging
37
- @api_client.config.logger.debug 'Calling API: WebhooksApi.v1_webhooks_get ...'
39
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.create_webhook ...'
40
+ end
41
+ # verify the required parameter 'create_webhook_request' is set
42
+ if @api_client.config.client_side_validation && create_webhook_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'create_webhook_request' when calling WebhooksApi.create_webhook"
38
44
  end
39
45
  # resource path
40
46
  local_var_path = '/v1/webhooks'
@@ -46,21 +52,26 @@ module Lockally
46
52
  header_params = opts[:header_params] || {}
47
53
  # HTTP header 'Accept' (if needed)
48
54
  header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
49
60
 
50
61
  # form parameters
51
62
  form_params = opts[:form_params] || {}
52
63
 
53
64
  # http body (model)
54
- post_body = opts[:debug_body]
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_webhook_request)
55
66
 
56
67
  # return_type
57
- return_type = opts[:debug_return_type] || 'V1WebhooksGet200Response'
68
+ return_type = opts[:debug_return_type] || 'Webhook'
58
69
 
59
70
  # auth_names
60
71
  auth_names = opts[:debug_auth_names] || ['bearerAuth']
61
72
 
62
73
  new_options = opts.merge(
63
- :operation => :"WebhooksApi.v1_webhooks_get",
74
+ :operation => :"WebhooksApi.create_webhook",
64
75
  :header_params => header_params,
65
76
  :query_params => query_params,
66
77
  :form_params => form_params,
@@ -69,9 +80,9 @@ module Lockally
69
80
  :return_type => return_type
70
81
  )
71
82
 
72
- data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
73
84
  if @api_client.config.debugging
74
- @api_client.config.logger.debug "API called: WebhooksApi#v1_webhooks_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
85
+ @api_client.config.logger.debug "API called: WebhooksApi#create_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
86
  end
76
87
  return data, status_code, headers
77
88
  end
@@ -81,8 +92,8 @@ module Lockally
81
92
  # @param id [String]
82
93
  # @param [Hash] opts the optional parameters
83
94
  # @return [nil]
84
- def v1_webhooks_id_delete(id, opts = {})
85
- v1_webhooks_id_delete_with_http_info(id, opts)
95
+ def delete_webhook(id, opts = {})
96
+ delete_webhook_with_http_info(id, opts)
86
97
  nil
87
98
  end
88
99
 
@@ -91,13 +102,13 @@ module Lockally
91
102
  # @param id [String]
92
103
  # @param [Hash] opts the optional parameters
93
104
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
94
- def v1_webhooks_id_delete_with_http_info(id, opts = {})
105
+ def delete_webhook_with_http_info(id, opts = {})
95
106
  if @api_client.config.debugging
96
- @api_client.config.logger.debug 'Calling API: WebhooksApi.v1_webhooks_id_delete ...'
107
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.delete_webhook ...'
97
108
  end
98
109
  # verify the required parameter 'id' is set
99
110
  if @api_client.config.client_side_validation && id.nil?
100
- fail ArgumentError, "Missing the required parameter 'id' when calling WebhooksApi.v1_webhooks_id_delete"
111
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhooksApi.delete_webhook"
101
112
  end
102
113
  # resource path
103
114
  local_var_path = '/v1/webhooks/{id}'.sub('{id}', CGI.escape(id.to_s))
@@ -123,7 +134,7 @@ module Lockally
123
134
  auth_names = opts[:debug_auth_names] || ['bearerAuth']
124
135
 
125
136
  new_options = opts.merge(
126
- :operation => :"WebhooksApi.v1_webhooks_id_delete",
137
+ :operation => :"WebhooksApi.delete_webhook",
127
138
  :header_params => header_params,
128
139
  :query_params => query_params,
129
140
  :form_params => form_params,
@@ -134,42 +145,30 @@ module Lockally
134
145
 
135
146
  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
136
147
  if @api_client.config.debugging
137
- @api_client.config.logger.debug "API called: WebhooksApi#v1_webhooks_id_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
148
+ @api_client.config.logger.debug "API called: WebhooksApi#delete_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
138
149
  end
139
150
  return data, status_code, headers
140
151
  end
141
152
 
142
- # Update a webhook
143
- # Supply at least one of `url`, `events`, `paused`. Setting `paused` to `false` ALSO resets `consecutive_failures` to 0 — re-arms the 50-failure auto-pause counter.
144
- # @param id [String]
145
- # @param v1_webhooks_id_patch_request [V1WebhooksIdPatchRequest]
153
+ # List webhooks
154
+ # Returns the calling tenant's webhook subscriptions. Never returns the signing secret — only metadata.
146
155
  # @param [Hash] opts the optional parameters
147
- # @return [Webhook]
148
- def v1_webhooks_id_patch(id, v1_webhooks_id_patch_request, opts = {})
149
- data, _status_code, _headers = v1_webhooks_id_patch_with_http_info(id, v1_webhooks_id_patch_request, opts)
156
+ # @return [ListWebhooks200Response]
157
+ def list_webhooks(opts = {})
158
+ data, _status_code, _headers = list_webhooks_with_http_info(opts)
150
159
  data
151
160
  end
152
161
 
153
- # Update a webhook
154
- # Supply at least one of &#x60;url&#x60;, &#x60;events&#x60;, &#x60;paused&#x60;. Setting &#x60;paused&#x60; to &#x60;false&#x60; ALSO resets &#x60;consecutive_failures&#x60; to 0 — re-arms the 50-failure auto-pause counter.
155
- # @param id [String]
156
- # @param v1_webhooks_id_patch_request [V1WebhooksIdPatchRequest]
162
+ # List webhooks
163
+ # Returns the calling tenant&#39;s webhook subscriptions. Never returns the signing secret — only metadata.
157
164
  # @param [Hash] opts the optional parameters
158
- # @return [Array<(Webhook, Integer, Hash)>] Webhook data, response status code and response headers
159
- def v1_webhooks_id_patch_with_http_info(id, v1_webhooks_id_patch_request, opts = {})
165
+ # @return [Array<(ListWebhooks200Response, Integer, Hash)>] ListWebhooks200Response data, response status code and response headers
166
+ def list_webhooks_with_http_info(opts = {})
160
167
  if @api_client.config.debugging
161
- @api_client.config.logger.debug 'Calling API: WebhooksApi.v1_webhooks_id_patch ...'
162
- end
163
- # verify the required parameter 'id' is set
164
- if @api_client.config.client_side_validation && id.nil?
165
- fail ArgumentError, "Missing the required parameter 'id' when calling WebhooksApi.v1_webhooks_id_patch"
166
- end
167
- # verify the required parameter 'v1_webhooks_id_patch_request' is set
168
- if @api_client.config.client_side_validation && v1_webhooks_id_patch_request.nil?
169
- fail ArgumentError, "Missing the required parameter 'v1_webhooks_id_patch_request' when calling WebhooksApi.v1_webhooks_id_patch"
168
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.list_webhooks ...'
170
169
  end
171
170
  # resource path
172
- local_var_path = '/v1/webhooks/{id}'.sub('{id}', CGI.escape(id.to_s))
171
+ local_var_path = '/v1/webhooks'
173
172
 
174
173
  # query parameters
175
174
  query_params = opts[:query_params] || {}
@@ -178,26 +177,21 @@ module Lockally
178
177
  header_params = opts[:header_params] || {}
179
178
  # HTTP header 'Accept' (if needed)
180
179
  header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/problem+json']) unless header_params['Accept']
181
- # HTTP header 'Content-Type'
182
- content_type = @api_client.select_header_content_type(['application/json'])
183
- if !content_type.nil?
184
- header_params['Content-Type'] = content_type
185
- end
186
180
 
187
181
  # form parameters
188
182
  form_params = opts[:form_params] || {}
189
183
 
190
184
  # http body (model)
191
- post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_webhooks_id_patch_request)
185
+ post_body = opts[:debug_body]
192
186
 
193
187
  # return_type
194
- return_type = opts[:debug_return_type] || 'Webhook'
188
+ return_type = opts[:debug_return_type] || 'ListWebhooks200Response'
195
189
 
196
190
  # auth_names
197
191
  auth_names = opts[:debug_auth_names] || ['bearerAuth']
198
192
 
199
193
  new_options = opts.merge(
200
- :operation => :"WebhooksApi.v1_webhooks_id_patch",
194
+ :operation => :"WebhooksApi.list_webhooks",
201
195
  :header_params => header_params,
202
196
  :query_params => query_params,
203
197
  :form_params => form_params,
@@ -206,38 +200,44 @@ module Lockally
206
200
  :return_type => return_type
207
201
  )
208
202
 
209
- data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
203
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
210
204
  if @api_client.config.debugging
211
- @api_client.config.logger.debug "API called: WebhooksApi#v1_webhooks_id_patch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
205
+ @api_client.config.logger.debug "API called: WebhooksApi#list_webhooks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
212
206
  end
213
207
  return data, status_code, headers
214
208
  end
215
209
 
216
- # Create a webhook
217
- # Subscribes a URL to one or more event types. Returns the `signing_secret` ONCE in the response — store it immediately. The dispatcher signs every outbound POST per design L3: X-Lockally-Signature: t=<unix>,v1=<hex(hmac_sha256(secret, t + \".\" + body))> Verify on your end using HMAC-SHA256 with a 5-minute timestamp window (replay protection). A reference verifier ships in [internal/webhook](https://github.com/ucheigwedinma/lockally/blob/main/internal/webhook/sign.go). Event names: see the [event catalogue](https://github.com/ucheigwedinma/lockally/blob/main/docs/v1-design.md#64-webhook-event-catalogue-v1).
218
- # @param v1_webhooks_post_request [V1WebhooksPostRequest]
210
+ # Update a webhook
211
+ # Supply at least one of `url`, `events`, `paused`. Setting `paused` to `false` ALSO resets `consecutive_failures` to 0 — re-arms the 50-failure auto-pause counter.
212
+ # @param id [String]
213
+ # @param update_webhook_request [UpdateWebhookRequest]
219
214
  # @param [Hash] opts the optional parameters
220
215
  # @return [Webhook]
221
- def v1_webhooks_post(v1_webhooks_post_request, opts = {})
222
- data, _status_code, _headers = v1_webhooks_post_with_http_info(v1_webhooks_post_request, opts)
216
+ def update_webhook(id, update_webhook_request, opts = {})
217
+ data, _status_code, _headers = update_webhook_with_http_info(id, update_webhook_request, opts)
223
218
  data
224
219
  end
225
220
 
226
- # Create a webhook
227
- # Subscribes a URL to one or more event types. Returns the &#x60;signing_secret&#x60; ONCE in the response — store it immediately. The dispatcher signs every outbound POST per design L3: X-Lockally-Signature: t&#x3D;&lt;unix&gt;,v1&#x3D;&lt;hex(hmac_sha256(secret, t + \&quot;.\&quot; + body))&gt; Verify on your end using HMAC-SHA256 with a 5-minute timestamp window (replay protection). A reference verifier ships in [internal/webhook](https://github.com/ucheigwedinma/lockally/blob/main/internal/webhook/sign.go). Event names: see the [event catalogue](https://github.com/ucheigwedinma/lockally/blob/main/docs/v1-design.md#64-webhook-event-catalogue-v1).
228
- # @param v1_webhooks_post_request [V1WebhooksPostRequest]
221
+ # Update a webhook
222
+ # Supply at least one of &#x60;url&#x60;, &#x60;events&#x60;, &#x60;paused&#x60;. Setting &#x60;paused&#x60; to &#x60;false&#x60; ALSO resets &#x60;consecutive_failures&#x60; to 0 — re-arms the 50-failure auto-pause counter.
223
+ # @param id [String]
224
+ # @param update_webhook_request [UpdateWebhookRequest]
229
225
  # @param [Hash] opts the optional parameters
230
226
  # @return [Array<(Webhook, Integer, Hash)>] Webhook data, response status code and response headers
231
- def v1_webhooks_post_with_http_info(v1_webhooks_post_request, opts = {})
227
+ def update_webhook_with_http_info(id, update_webhook_request, opts = {})
232
228
  if @api_client.config.debugging
233
- @api_client.config.logger.debug 'Calling API: WebhooksApi.v1_webhooks_post ...'
229
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.update_webhook ...'
230
+ end
231
+ # verify the required parameter 'id' is set
232
+ if @api_client.config.client_side_validation && id.nil?
233
+ fail ArgumentError, "Missing the required parameter 'id' when calling WebhooksApi.update_webhook"
234
234
  end
235
- # verify the required parameter 'v1_webhooks_post_request' is set
236
- if @api_client.config.client_side_validation && v1_webhooks_post_request.nil?
237
- fail ArgumentError, "Missing the required parameter 'v1_webhooks_post_request' when calling WebhooksApi.v1_webhooks_post"
235
+ # verify the required parameter 'update_webhook_request' is set
236
+ if @api_client.config.client_side_validation && update_webhook_request.nil?
237
+ fail ArgumentError, "Missing the required parameter 'update_webhook_request' when calling WebhooksApi.update_webhook"
238
238
  end
239
239
  # resource path
240
- local_var_path = '/v1/webhooks'
240
+ local_var_path = '/v1/webhooks/{id}'.sub('{id}', CGI.escape(id.to_s))
241
241
 
242
242
  # query parameters
243
243
  query_params = opts[:query_params] || {}
@@ -256,7 +256,7 @@ module Lockally
256
256
  form_params = opts[:form_params] || {}
257
257
 
258
258
  # http body (model)
259
- post_body = opts[:debug_body] || @api_client.object_to_http_body(v1_webhooks_post_request)
259
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_webhook_request)
260
260
 
261
261
  # return_type
262
262
  return_type = opts[:debug_return_type] || 'Webhook'
@@ -265,7 +265,7 @@ module Lockally
265
265
  auth_names = opts[:debug_auth_names] || ['bearerAuth']
266
266
 
267
267
  new_options = opts.merge(
268
- :operation => :"WebhooksApi.v1_webhooks_post",
268
+ :operation => :"WebhooksApi.update_webhook",
269
269
  :header_params => header_params,
270
270
  :query_params => query_params,
271
271
  :form_params => form_params,
@@ -274,9 +274,9 @@ module Lockally
274
274
  :return_type => return_type
275
275
  )
276
276
 
277
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
277
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
278
278
  if @api_client.config.debugging
279
- @api_client.config.logger.debug "API called: WebhooksApi#v1_webhooks_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
279
+ @api_client.config.logger.debug "API called: WebhooksApi#update_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
280
280
  end
281
281
  return data, status_code, headers
282
282
  end
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Lockally
17
- class V1AdminLoginPost200Response < ApiModelBase
17
+ class AdminLogin200Response < ApiModelBase
18
18
  attr_accessor :token
19
19
 
20
20
  attr_accessor :expires_at
@@ -63,14 +63,14 @@ module Lockally
63
63
  # @param [Hash] attributes Model attributes in the form of hash
64
64
  def initialize(attributes = {})
65
65
  if (!attributes.is_a?(Hash))
66
- fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::V1AdminLoginPost200Response` initialize method"
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::AdminLogin200Response` initialize method"
67
67
  end
68
68
 
69
69
  # check to see if the attribute exists and convert string to symbol for hash key
70
70
  acceptable_attribute_map = self.class.acceptable_attribute_map
71
71
  attributes = attributes.each_with_object({}) { |(k, v), h|
72
72
  if (!acceptable_attribute_map.key?(k.to_sym))
73
- fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::V1AdminLoginPost200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::AdminLogin200Response`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
74
74
  end
75
75
  h[k.to_sym] = v
76
76
  }
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #lockally control plane
3
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`.
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>`, or `lk_test_<...>` for a test key. Create keys in the dashboard, or with `POST /v1/api-keys` using a key that holds `tenant:admin`. The key's plan is checked on every request, so a key stops working if the account moves to a plan without API access, and works again if it moves back. **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
5
 
6
6
  The version of the OpenAPI document: 0.1.0
7
7
  Contact: support@lockally.com
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Lockally
17
- class V1AdminLoginPostRequest < ApiModelBase
17
+ class AdminLoginRequest < ApiModelBase
18
18
  attr_accessor :email
19
19
 
20
20
  attr_accessor :password
@@ -55,14 +55,14 @@ module Lockally
55
55
  # @param [Hash] attributes Model attributes in the form of hash
56
56
  def initialize(attributes = {})
57
57
  if (!attributes.is_a?(Hash))
58
- fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::V1AdminLoginPostRequest` initialize method"
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lockally::AdminLoginRequest` initialize method"
59
59
  end
60
60
 
61
61
  # check to see if the attribute exists and convert string to symbol for hash key
62
62
  acceptable_attribute_map = self.class.acceptable_attribute_map
63
63
  attributes = attributes.each_with_object({}) { |(k, v), h|
64
64
  if (!acceptable_attribute_map.key?(k.to_sym))
65
- fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::V1AdminLoginPostRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
65
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lockally::AdminLoginRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
66
66
  end
67
67
  h[k.to_sym] = v
68
68
  }