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.
- checksums.yaml +4 -4
- data/README.md +166 -117
- data/docs/AdminApi.md +33 -33
- data/docs/{V1AdminLoginPost200Response.md → AdminLogin200Response.md} +2 -2
- data/docs/{V1AdminLoginPostRequest.md → AdminLoginRequest.md} +2 -2
- data/docs/AdminsApi.md +76 -76
- data/docs/AgentSendResult.md +22 -0
- data/docs/AgentsApi.md +247 -247
- data/docs/AiApi.md +69 -69
- data/docs/AiConfig.md +26 -0
- data/docs/AiConfigUpdate.md +20 -0
- data/docs/AliasesApi.md +59 -59
- data/docs/ApiKeysApi.md +59 -59
- data/docs/BatchResult.md +1 -1
- data/docs/Calendar.md +8 -0
- data/docs/CalendarsApi.md +73 -0
- data/docs/ContactLookup.md +26 -0
- data/docs/ContactLookupContact.md +28 -0
- data/docs/ContactLookupHistory.md +22 -0
- data/docs/CreateAiUnitsCheckout200Response.md +22 -0
- data/docs/{V1AliasesPostRequest.md → CreateAliasRequest.md} +2 -2
- data/docs/{V1ApiKeysPost201Response.md → CreateApiKey201Response.md} +2 -2
- data/docs/CreateApiKeyRequest.md +22 -0
- data/docs/{V1DomainsPostRequest.md → CreateDomainRequest.md} +2 -2
- data/docs/{V1MailboxesPostRequest.md → CreateMailboxRequest.md} +2 -2
- data/docs/{V1SuppressionsPostRequest.md → CreateSuppressionRequest.md} +2 -2
- data/docs/{V1WebhooksPostRequest.md → CreateWebhookRequest.md} +2 -2
- data/docs/DomainsApi.md +339 -60
- data/docs/Draft.md +44 -0
- data/docs/DraftList.md +18 -0
- data/docs/DraftResult.md +26 -0
- data/docs/DraftsApi.md +115 -115
- data/docs/{V1MailboxesEmailExportPost201Response.md → ExportMailbox201Response.md} +2 -2
- data/docs/GetCalendarOverview200Response.md +34 -0
- data/docs/GetCalendarOverview200ResponseActivityInner.md +24 -0
- data/docs/{V1AdminMeGet200Response.md → GetCurrentAdmin200Response.md} +2 -2
- data/docs/{V1UsageGet200Response.md → GetUsage200Response.md} +2 -2
- data/docs/GetUserInsights200Response.md +2 -0
- data/docs/HealthApi.md +11 -11
- data/docs/{HealthzGet200Response.md → HealthCheck200Response.md} +2 -2
- data/docs/Inbox.md +24 -0
- data/docs/InboxList.md +18 -0
- data/docs/{V1AdminsPostRequest.md → InviteAdminRequest.md} +2 -2
- data/docs/{V1AdminsGet200Response.md → ListAdmins200Response.md} +2 -2
- data/docs/{V1AliasesGet200Response.md → ListAliases200Response.md} +2 -2
- data/docs/{V1ApiKeysGet200Response.md → ListApiKeys200Response.md} +2 -2
- data/docs/{V1DomainsGet200Response.md → ListDomains200Response.md} +2 -2
- data/docs/{V1MailboxesGet200Response.md → ListMailboxes200Response.md} +2 -2
- data/docs/{V1MessagesGet200Response.md → ListMessages200Response.md} +2 -2
- data/docs/{V1SuppressionsGet200Response.md → ListSuppressions200Response.md} +2 -2
- data/docs/{V1TemplatesGet200Response.md → ListTemplates200Response.md} +2 -2
- data/docs/{V1VacationGet200Response.md → ListVacationResponders200Response.md} +2 -2
- data/docs/{V1WebhooksGet200Response.md → ListWebhooks200Response.md} +2 -2
- data/docs/MailboxGrant.md +20 -0
- data/docs/MailboxGrantList.md +18 -0
- data/docs/MailboxesApi.md +204 -204
- data/docs/MarkReadResult.md +18 -0
- data/docs/MessageDetail.md +52 -0
- data/docs/ReturnPath.md +28 -0
- data/docs/ReturnPathCheck.md +20 -0
- data/docs/SendApi.md +121 -121
- data/docs/SendEmail200Response.md +24 -0
- data/docs/{V1SendPost202Response.md → SendEmail202Response.md} +2 -2
- data/docs/{V1SendBatchPost200Response.md → SendEmailBatch200Response.md} +2 -2
- data/docs/{V1SendBatchPostRequest.md → SendEmailBatchRequest.md} +2 -2
- data/docs/{V1SendPostRequest.md → SendEmailRequest.md} +7 -3
- data/docs/{V1SendPostRequestAttachmentsInner.md → SendEmailRequestAttachmentsInner.md} +2 -2
- data/docs/SendMessage.md +5 -1
- data/docs/{V1MailboxesEmailVacationPutRequest.md → SetVacationResponderRequest.md} +2 -2
- data/docs/SignupApi.md +4 -4
- data/docs/SimulatedInbound.md +22 -0
- data/docs/{V1InboxesMailboxMessagesPostRequest.md → StartConversationRequest.md} +2 -2
- data/docs/SuppressionsApi.md +75 -75
- data/docs/TemplatesApi.md +67 -67
- data/docs/TenantApi.md +20 -20
- data/docs/TestApi.md +11 -11
- data/docs/Thread.md +22 -0
- data/docs/ThreadClassification.md +22 -0
- data/docs/ThreadList.md +20 -0
- data/docs/ThreadMessage.md +40 -0
- data/docs/ThreadMessageBody.md +42 -0
- data/docs/ThreadMessageBodyAllOfBody.md +22 -0
- data/docs/ThreadSummary.md +28 -0
- data/docs/{V1AdminsIdPatchRequest.md → UpdateAdminRequest.md} +2 -2
- data/docs/{V1MailboxesEmailPatchRequest.md → UpdateMailboxRequest.md} +2 -2
- data/docs/{V1WebhooksIdPatchRequest.md → UpdateWebhookRequest.md} +2 -2
- data/docs/WebhooksApi.md +63 -63
- data/docs/Whoami.md +24 -0
- data/lib/lockally/api/add_ons_api.rb +1 -1
- data/lib/lockally/api/admin_api.rb +31 -31
- data/lib/lockally/api/admins_api.rb +90 -90
- data/lib/lockally/api/agents_api.rb +310 -310
- data/lib/lockally/api/ai_api.rb +70 -70
- data/lib/lockally/api/aliases_api.rb +65 -65
- data/lib/lockally/api/api_keys_api.rb +67 -67
- data/lib/lockally/api/billing_api.rb +1 -1
- data/lib/lockally/api/calendars_api.rb +64 -1
- data/lib/lockally/api/contact_lists_api.rb +1 -1
- data/lib/lockally/api/contacts_api.rb +1 -1
- data/lib/lockally/api/dashboard_api.rb +1 -1
- data/lib/lockally/api/directory_api.rb +1 -1
- data/lib/lockally/api/distribution_lists_api.rb +1 -1
- data/lib/lockally/api/domains_api.rb +314 -62
- data/lib/lockally/api/drafts_api.rb +141 -141
- data/lib/lockally/api/encryption_api.rb +1 -1
- data/lib/lockally/api/health_api.rb +10 -10
- data/lib/lockally/api/ip_pools_api.rb +1 -1
- data/lib/lockally/api/mailboxes_api.rb +236 -236
- data/lib/lockally/api/migrations_api.rb +1 -1
- data/lib/lockally/api/resources_api.rb +1 -1
- data/lib/lockally/api/send_api.rb +147 -147
- data/lib/lockally/api/signup_api.rb +4 -4
- data/lib/lockally/api/suppressions_api.rb +88 -88
- data/lib/lockally/api/templates_api.rb +70 -70
- data/lib/lockally/api/tenant_api.rb +16 -16
- data/lib/lockally/api/test_api.rb +10 -10
- data/lib/lockally/api/users_api.rb +1 -1
- data/lib/lockally/api/webhooks_api.rb +74 -74
- data/lib/lockally/api_client.rb +1 -1
- data/lib/lockally/api_error.rb +1 -1
- data/lib/lockally/api_model_base.rb +1 -1
- data/lib/lockally/configuration.rb +1 -1
- data/lib/lockally/models/activate_add_on200_response.rb +1 -1
- data/lib/lockally/models/add_calendar_member_request.rb +1 -1
- data/lib/lockally/models/add_contact_list_member_request.rb +1 -1
- data/lib/lockally/models/add_on.rb +1 -1
- data/lib/lockally/models/add_shared_member_request.rb +1 -1
- data/lib/lockally/models/admin.rb +1 -1
- data/lib/lockally/models/admin_full.rb +1 -1
- data/lib/lockally/models/{v1_admin_login_post200_response.rb → admin_login200_response.rb} +4 -4
- data/lib/lockally/models/{v1_admin_login_post_request.rb → admin_login_request.rb} +4 -4
- data/lib/lockally/models/agent_send_result.rb +184 -0
- data/lib/lockally/models/ai_config.rb +242 -0
- data/lib/lockally/models/ai_config_update.rb +214 -0
- data/lib/lockally/models/api_key.rb +1 -1
- data/lib/lockally/models/audit_event.rb +1 -1
- data/lib/lockally/models/batch_lookup_public_keys200_response.rb +1 -1
- data/lib/lockally/models/batch_lookup_public_keys200_response_data_inner.rb +1 -1
- data/lib/lockally/models/batch_result.rb +4 -3
- data/lib/lockally/models/billing_status.rb +1 -1
- data/lib/lockally/models/calendar.rb +68 -4
- data/lib/lockally/models/calendar_event.rb +1 -1
- data/lib/lockally/models/calendar_integration.rb +1 -1
- data/lib/lockally/models/calendar_member.rb +1 -1
- data/lib/lockally/models/calendar_policies.rb +1 -1
- data/lib/lockally/models/contact.rb +1 -1
- data/lib/lockally/models/contact_list.rb +1 -1
- data/lib/lockally/models/contact_lookup.rb +235 -0
- data/lib/lockally/models/contact_lookup_contact.rb +192 -0
- data/lib/lockally/models/contact_lookup_history.rb +166 -0
- data/lib/lockally/models/create_ai_units_checkout200_response.rb +199 -0
- data/lib/lockally/models/{v1_aliases_post_request.rb → create_alias_request.rb} +4 -4
- data/lib/lockally/models/{v1_api_keys_post201_response.rb → create_api_key201_response.rb} +4 -4
- data/lib/lockally/models/{v1_api_keys_post_request.rb → create_api_key_request.rb} +20 -8
- data/lib/lockally/models/create_billing_checkout200_response.rb +1 -1
- data/lib/lockally/models/create_billing_checkout_request.rb +1 -1
- data/lib/lockally/models/create_calendar_event_request.rb +1 -1
- data/lib/lockally/models/create_calendar_integration_request.rb +1 -1
- data/lib/lockally/models/create_calendar_request.rb +1 -1
- data/lib/lockally/models/create_contact_list_request.rb +1 -1
- data/lib/lockally/models/create_contact_request.rb +1 -1
- data/lib/lockally/models/create_dedicated_ip_request_request.rb +1 -1
- data/lib/lockally/models/create_distribution_list_request.rb +1 -1
- data/lib/lockally/models/{v1_domains_post_request.rb → create_domain_request.rb} +4 -4
- data/lib/lockally/models/create_encryption_key201_response.rb +1 -1
- data/lib/lockally/models/create_encryption_key_request.rb +1 -1
- data/lib/lockally/models/create_encryption_recovery_request.rb +1 -1
- data/lib/lockally/models/{v1_mailboxes_post_request.rb → create_mailbox_request.rb} +4 -4
- data/lib/lockally/models/create_migration_credential_request.rb +1 -1
- data/lib/lockally/models/create_migration_credential_request_credentials.rb +1 -1
- data/lib/lockally/models/create_migration_request.rb +1 -1
- data/lib/lockally/models/create_resource_request.rb +1 -1
- data/lib/lockally/models/{v1_suppressions_post_request.rb → create_suppression_request.rb} +4 -4
- data/lib/lockally/models/create_units_checkout200_response.rb +1 -1
- data/lib/lockally/models/create_units_checkout_request.rb +1 -1
- data/lib/lockally/models/create_user_request.rb +1 -1
- data/lib/lockally/models/{v1_webhooks_post_request.rb → create_webhook_request.rb} +4 -4
- data/lib/lockally/models/dedicated_ip_request.rb +1 -1
- data/lib/lockally/models/directory_permissions.rb +1 -1
- data/lib/lockally/models/discover_migration202_response.rb +1 -1
- data/lib/lockally/models/distribution_list_detail.rb +1 -1
- data/lib/lockally/models/distribution_list_summary.rb +1 -1
- data/lib/lockally/models/dns_record.rb +1 -1
- data/lib/lockally/models/domain.rb +1 -1
- data/lib/lockally/models/draft.rb +413 -0
- data/lib/lockally/models/draft_list.rb +166 -0
- data/lib/lockally/models/draft_result.rb +260 -0
- data/lib/lockally/models/{v1_mailboxes_email_export_post201_response.rb → export_mailbox201_response.rb} +4 -4
- data/lib/lockally/models/gal_settings.rb +1 -1
- data/lib/lockally/models/get_add_on_status200_response.rb +1 -1
- data/lib/lockally/models/get_audit_summary200_response.rb +1 -1
- data/lib/lockally/models/get_calendar_overview200_response.rb +228 -0
- data/lib/lockally/models/get_calendar_overview200_response_activity_inner.rb +174 -0
- data/lib/lockally/models/get_calendar_security200_response.rb +1 -1
- data/lib/lockally/models/get_calendar_security200_response_alerts_inner.rb +1 -1
- data/lib/lockally/models/get_calendar_security200_response_delegated_access_inner.rb +1 -1
- data/lib/lockally/models/get_calendar_security200_response_external_sharing.rb +1 -1
- data/lib/lockally/models/get_calendar_security200_response_public_calendar_list_inner.rb +1 -1
- data/lib/lockally/models/get_contact_list200_response.rb +1 -1
- data/lib/lockally/models/get_contact_list200_response_members_inner.rb +1 -1
- data/lib/lockally/models/get_contact_lists200_response.rb +1 -1
- data/lib/lockally/models/get_contact_lists200_response_data_inner.rb +1 -1
- data/lib/lockally/models/{v1_admin_me_get200_response.rb → get_current_admin200_response.rb} +4 -4
- data/lib/lockally/models/get_directory_activity200_response.rb +1 -1
- data/lib/lockally/models/get_directory_activity200_response_data_inner.rb +1 -1
- data/lib/lockally/models/get_directory_stats200_response.rb +1 -1
- data/lib/lockally/models/get_domains_status200_response.rb +1 -1
- data/lib/lockally/models/get_domains_status200_response_domains_inner.rb +1 -1
- data/lib/lockally/models/get_domains_status200_response_domains_inner_checks_inner.rb +1 -1
- data/lib/lockally/models/get_encryption_key200_response.rb +1 -1
- data/lib/lockally/models/get_integrations_summary200_response.rb +1 -1
- data/lib/lockally/models/get_integrations_summary200_response_api_keys_inner.rb +1 -1
- data/lib/lockally/models/get_integrations_summary200_response_webhooks_inner.rb +1 -1
- data/lib/lockally/models/get_ip_assignment200_response.rb +1 -1
- data/lib/lockally/models/get_security200_response.rb +1 -1
- data/lib/lockally/models/get_security200_response_alerts_inner.rb +1 -1
- data/lib/lockally/models/get_security200_response_stats_inner.rb +1 -1
- data/lib/lockally/models/get_storage200_response.rb +1 -1
- data/lib/lockally/models/get_storage200_response_top_mailboxes_inner.rb +1 -1
- data/lib/lockally/models/get_storage200_response_top_messages_inner.rb +1 -1
- data/lib/lockally/models/{v1_usage_get200_response.rb → get_usage200_response.rb} +4 -4
- data/lib/lockally/models/get_user_insights200_response.rb +12 -2
- data/lib/lockally/models/{healthz_get200_response.rb → health_check200_response.rb} +4 -4
- data/lib/lockally/models/inbox.rb +225 -0
- data/lib/lockally/models/inbox_list.rb +166 -0
- data/lib/lockally/models/{v1_admins_post_request.rb → invite_admin_request.rb} +4 -4
- data/lib/lockally/models/list_add_ons200_response.rb +1 -1
- data/lib/lockally/models/{v1_api_keys_get200_response.rb → list_admins200_response.rb} +5 -5
- data/lib/lockally/models/list_aliases200_response.rb +166 -0
- data/lib/lockally/models/{v1_admins_get200_response.rb → list_api_keys200_response.rb} +5 -5
- data/lib/lockally/models/list_calendar_events200_response.rb +1 -1
- data/lib/lockally/models/list_calendar_integrations200_response.rb +1 -1
- data/lib/lockally/models/list_calendar_members200_response.rb +1 -1
- data/lib/lockally/models/list_calendars200_response.rb +1 -1
- data/lib/lockally/models/list_contact_lists200_response.rb +1 -1
- data/lib/lockally/models/list_contacts200_response.rb +1 -1
- data/lib/lockally/models/list_dedicated_ip_requests200_response.rb +1 -1
- data/lib/lockally/models/list_distribution_lists200_response.rb +1 -1
- data/lib/lockally/models/{v1_domains_get200_response.rb → list_domains200_response.rb} +4 -4
- data/lib/lockally/models/{v1_mailboxes_get200_response.rb → list_mailboxes200_response.rb} +4 -4
- data/lib/lockally/models/{v1_messages_get200_response.rb → list_messages200_response.rb} +4 -4
- data/lib/lockally/models/list_migration_credentials200_response.rb +1 -1
- data/lib/lockally/models/list_migration_events200_response.rb +1 -1
- data/lib/lockally/models/list_migration_mailboxes200_response.rb +1 -1
- data/lib/lockally/models/list_migrations200_response.rb +1 -1
- data/lib/lockally/models/list_resources200_response.rb +1 -1
- data/lib/lockally/models/list_shared_members200_response.rb +1 -1
- data/lib/lockally/models/{v1_suppressions_get200_response.rb → list_suppressions200_response.rb} +4 -4
- data/lib/lockally/models/{v1_send_batch_post200_response.rb → list_templates200_response.rb} +5 -5
- data/lib/lockally/models/list_users200_response.rb +1 -1
- data/lib/lockally/models/{v1_vacation_get200_response.rb → list_vacation_responders200_response.rb} +4 -4
- data/lib/lockally/models/{v1_aliases_get200_response.rb → list_webhooks200_response.rb} +5 -5
- data/lib/lockally/models/mailbox.rb +1 -1
- data/lib/lockally/models/mailbox_grant.rb +156 -0
- data/lib/lockally/models/mailbox_grant_list.rb +166 -0
- data/lib/lockally/models/map_migration_request.rb +1 -1
- data/lib/lockally/models/map_migration_request_mappings_inner.rb +1 -1
- data/lib/lockally/models/mark_read_result.rb +147 -0
- data/lib/lockally/models/message.rb +1 -1
- data/lib/lockally/models/message_detail.rb +479 -0
- data/lib/lockally/models/message_stats.rb +1 -1
- data/lib/lockally/models/message_stats_counts.rb +1 -1
- data/lib/lockally/models/message_stats_rates.rb +1 -1
- data/lib/lockally/models/message_stats_window.rb +1 -1
- data/lib/lockally/models/migration.rb +1 -1
- data/lib/lockally/models/migration_credential.rb +1 -1
- data/lib/lockally/models/migration_event.rb +1 -1
- data/lib/lockally/models/migration_mailbox.rb +1 -1
- data/lib/lockally/models/migration_progress.rb +1 -1
- data/lib/lockally/models/migration_progress_mailboxes_inner.rb +1 -1
- data/lib/lockally/models/migration_settings.rb +1 -1
- data/lib/lockally/models/model_alias.rb +1 -1
- data/lib/lockally/models/plan_catalog_entry.rb +1 -1
- data/lib/lockally/models/problem.rb +1 -1
- data/lib/lockally/models/replace_distribution_list_members200_response.rb +1 -1
- data/lib/lockally/models/replace_distribution_list_members_request.rb +1 -1
- data/lib/lockally/models/resource.rb +1 -1
- data/lib/lockally/models/return_path.rb +269 -0
- data/lib/lockally/models/return_path_check.rb +157 -0
- data/lib/lockally/models/rotate_encryption_key_request.rb +1 -1
- data/lib/lockally/models/send_email200_response.rb +218 -0
- data/lib/lockally/models/{v1_send_post202_response.rb → send_email202_response.rb} +4 -4
- data/lib/lockally/models/{v1_templates_get200_response.rb → send_email_batch200_response.rb} +5 -5
- data/lib/lockally/models/{v1_send_batch_post_request.rb → send_email_batch_request.rb} +4 -4
- data/lib/lockally/models/{v1_send_post_request.rb → send_email_request.rb} +26 -6
- data/lib/lockally/models/{v1_send_post_request_attachments_inner.rb → send_email_request_attachments_inner.rb} +4 -4
- data/lib/lockally/models/send_message.rb +23 -3
- data/lib/lockally/models/{v1_mailboxes_email_vacation_put_request.rb → set_vacation_responder_request.rb} +4 -4
- data/lib/lockally/models/shared_member.rb +1 -1
- data/lib/lockally/models/signup_request.rb +1 -1
- data/lib/lockally/models/simulated_inbound.rb +167 -0
- data/lib/lockally/models/{v1_inboxes_mailbox_messages_post_request.rb → start_conversation_request.rb} +4 -4
- data/lib/lockally/models/start_migration202_response.rb +1 -1
- data/lib/lockally/models/suppression.rb +1 -1
- data/lib/lockally/models/template.rb +1 -1
- data/lib/lockally/models/template_input.rb +1 -1
- data/lib/lockally/models/tenant.rb +1 -1
- data/lib/lockally/models/thread.rb +219 -0
- data/lib/lockally/models/thread_classification.rb +186 -0
- data/lib/lockally/models/thread_list.rb +192 -0
- data/lib/lockally/models/thread_message.rb +397 -0
- data/lib/lockally/models/thread_message_body.rb +413 -0
- data/lib/lockally/models/thread_message_body_all_of_body.rb +165 -0
- data/lib/lockally/models/thread_summary.rb +280 -0
- data/lib/lockally/models/unit_bundle.rb +1 -1
- data/lib/lockally/models/{v1_admins_id_patch_request.rb → update_admin_request.rb} +4 -4
- data/lib/lockally/models/update_calendar_event_request.rb +1 -1
- data/lib/lockally/models/update_calendar_integration_request.rb +1 -1
- data/lib/lockally/models/update_calendar_member_request.rb +1 -1
- data/lib/lockally/models/update_calendar_policies_request.rb +1 -1
- data/lib/lockally/models/update_calendar_request.rb +1 -1
- data/lib/lockally/models/update_contact_list_request.rb +1 -1
- data/lib/lockally/models/update_contact_request.rb +1 -1
- data/lib/lockally/models/update_directory_permissions_request.rb +1 -1
- data/lib/lockally/models/update_gal_settings_request.rb +1 -1
- data/lib/lockally/models/{v1_mailboxes_email_patch_request.rb → update_mailbox_request.rb} +4 -4
- data/lib/lockally/models/update_migration_mailbox_request.rb +1 -1
- data/lib/lockally/models/update_migration_request.rb +1 -1
- data/lib/lockally/models/update_resource_request.rb +1 -1
- data/lib/lockally/models/update_user_request.rb +1 -1
- data/lib/lockally/models/{v1_webhooks_id_patch_request.rb → update_webhook_request.rb} +4 -4
- data/lib/lockally/models/user.rb +1 -1
- data/lib/lockally/models/user_event.rb +1 -1
- data/lib/lockally/models/vacation_params.rb +1 -1
- data/lib/lockally/models/vacation_responder.rb +1 -1
- data/lib/lockally/models/webhook.rb +1 -1
- data/lib/lockally/models/whoami.rb +177 -0
- data/lib/lockally/version.rb +2 -2
- data/lib/lockally.rb +65 -35
- data/lockally.gemspec +2 -2
- data/spec/api/add_ons_api_spec.rb +1 -1
- data/spec/api/admin_api_spec.rb +10 -10
- data/spec/api/admins_api_spec.rb +23 -23
- data/spec/api/agents_api_spec.rb +79 -79
- data/spec/api/ai_api_spec.rb +23 -23
- data/spec/api/aliases_api_spec.rb +17 -17
- data/spec/api/api_keys_api_spec.rb +18 -18
- data/spec/api/billing_api_spec.rb +1 -1
- data/spec/api/calendars_api_spec.rb +15 -1
- data/spec/api/contact_lists_api_spec.rb +1 -1
- data/spec/api/contacts_api_spec.rb +1 -1
- data/spec/api/dashboard_api_spec.rb +1 -1
- data/spec/api/directory_api_spec.rb +1 -1
- data/spec/api/distribution_lists_api_spec.rb +1 -1
- data/spec/api/domains_api_spec.rb +66 -18
- data/spec/api/drafts_api_spec.rb +39 -39
- data/spec/api/encryption_api_spec.rb +1 -1
- data/spec/api/health_api_spec.rb +4 -4
- data/spec/api/ip_pools_api_spec.rb +1 -1
- data/spec/api/mailboxes_api_spec.rb +63 -63
- data/spec/api/migrations_api_spec.rb +1 -1
- data/spec/api/resources_api_spec.rb +1 -1
- data/spec/api/send_api_spec.rb +37 -37
- data/spec/api/signup_api_spec.rb +2 -2
- data/spec/api/suppressions_api_spec.rb +19 -19
- data/spec/api/templates_api_spec.rb +18 -18
- data/spec/api/tenant_api_spec.rb +6 -6
- data/spec/api/test_api_spec.rb +4 -4
- data/spec/api/users_api_spec.rb +1 -1
- data/spec/api/webhooks_api_spec.rb +20 -20
- data/spec/models/activate_add_on200_response_spec.rb +1 -1
- data/spec/models/add_calendar_member_request_spec.rb +1 -1
- data/spec/models/add_contact_list_member_request_spec.rb +1 -1
- data/spec/models/add_on_spec.rb +1 -1
- data/spec/models/add_shared_member_request_spec.rb +1 -1
- data/spec/models/admin_full_spec.rb +1 -1
- data/spec/models/{v1_admin_login_post200_response_spec.rb → admin_login200_response_spec.rb} +7 -7
- data/spec/models/{v1_admin_login_post_request_spec.rb → admin_login_request_spec.rb} +7 -7
- data/spec/models/admin_spec.rb +1 -1
- data/spec/models/agent_send_result_spec.rb +48 -0
- data/spec/models/ai_config_spec.rb +64 -0
- data/spec/models/{v1_api_keys_post_request_spec.rb → ai_config_update_spec.rb} +13 -13
- data/spec/models/api_key_spec.rb +1 -1
- data/spec/models/audit_event_spec.rb +1 -1
- data/spec/models/batch_lookup_public_keys200_response_data_inner_spec.rb +1 -1
- data/spec/models/batch_lookup_public_keys200_response_spec.rb +1 -1
- data/spec/models/batch_result_spec.rb +2 -2
- data/spec/models/billing_status_spec.rb +1 -1
- data/spec/models/calendar_event_spec.rb +1 -1
- data/spec/models/calendar_integration_spec.rb +1 -1
- data/spec/models/calendar_member_spec.rb +1 -1
- data/spec/models/calendar_policies_spec.rb +1 -1
- data/spec/models/calendar_spec.rb +34 -2
- data/spec/models/contact_list_spec.rb +1 -1
- data/spec/models/contact_lookup_contact_spec.rb +66 -0
- data/spec/models/contact_lookup_history_spec.rb +48 -0
- data/spec/models/contact_lookup_spec.rb +60 -0
- data/spec/models/contact_spec.rb +1 -1
- data/spec/models/create_ai_units_checkout200_response_spec.rb +48 -0
- data/spec/models/{v1_aliases_post_request_spec.rb → create_alias_request_spec.rb} +7 -7
- data/spec/models/{v1_api_keys_post201_response_spec.rb → create_api_key201_response_spec.rb} +7 -7
- data/spec/models/create_api_key_request_spec.rb +52 -0
- data/spec/models/create_billing_checkout200_response_spec.rb +1 -1
- data/spec/models/create_billing_checkout_request_spec.rb +1 -1
- data/spec/models/create_calendar_event_request_spec.rb +1 -1
- data/spec/models/create_calendar_integration_request_spec.rb +1 -1
- data/spec/models/create_calendar_request_spec.rb +1 -1
- data/spec/models/create_contact_list_request_spec.rb +1 -1
- data/spec/models/create_contact_request_spec.rb +1 -1
- data/spec/models/create_dedicated_ip_request_request_spec.rb +1 -1
- data/spec/models/create_distribution_list_request_spec.rb +1 -1
- data/spec/models/{v1_domains_post_request_spec.rb → create_domain_request_spec.rb} +7 -7
- data/spec/models/create_encryption_key201_response_spec.rb +1 -1
- data/spec/models/create_encryption_key_request_spec.rb +1 -1
- data/spec/models/create_encryption_recovery_request_spec.rb +1 -1
- data/spec/models/{v1_mailboxes_post_request_spec.rb → create_mailbox_request_spec.rb} +7 -7
- data/spec/models/create_migration_credential_request_credentials_spec.rb +1 -1
- data/spec/models/create_migration_credential_request_spec.rb +1 -1
- data/spec/models/create_migration_request_spec.rb +1 -1
- data/spec/models/create_resource_request_spec.rb +1 -1
- data/spec/models/{v1_suppressions_post_request_spec.rb → create_suppression_request_spec.rb} +7 -7
- data/spec/models/create_units_checkout200_response_spec.rb +1 -1
- data/spec/models/create_units_checkout_request_spec.rb +1 -1
- data/spec/models/create_user_request_spec.rb +1 -1
- data/spec/models/{v1_webhooks_post_request_spec.rb → create_webhook_request_spec.rb} +7 -7
- data/spec/models/dedicated_ip_request_spec.rb +1 -1
- data/spec/models/directory_permissions_spec.rb +1 -1
- data/spec/models/discover_migration202_response_spec.rb +1 -1
- data/spec/models/distribution_list_detail_spec.rb +1 -1
- data/spec/models/distribution_list_summary_spec.rb +1 -1
- data/spec/models/dns_record_spec.rb +1 -1
- data/spec/models/domain_spec.rb +1 -1
- data/spec/models/{v1_aliases_get200_response_spec.rb → draft_list_spec.rb} +8 -8
- data/spec/models/draft_result_spec.rb +64 -0
- data/spec/models/draft_spec.rb +118 -0
- data/spec/models/{v1_mailboxes_email_export_post201_response_spec.rb → export_mailbox201_response_spec.rb} +7 -7
- data/spec/models/gal_settings_spec.rb +1 -1
- data/spec/models/get_add_on_status200_response_spec.rb +1 -1
- data/spec/models/get_audit_summary200_response_spec.rb +1 -1
- data/spec/models/get_calendar_overview200_response_activity_inner_spec.rb +54 -0
- data/spec/models/get_calendar_overview200_response_spec.rb +84 -0
- data/spec/models/get_calendar_security200_response_alerts_inner_spec.rb +1 -1
- data/spec/models/get_calendar_security200_response_delegated_access_inner_spec.rb +1 -1
- data/spec/models/get_calendar_security200_response_external_sharing_spec.rb +1 -1
- data/spec/models/get_calendar_security200_response_public_calendar_list_inner_spec.rb +1 -1
- data/spec/models/get_calendar_security200_response_spec.rb +1 -1
- data/spec/models/get_contact_list200_response_members_inner_spec.rb +1 -1
- data/spec/models/get_contact_list200_response_spec.rb +1 -1
- data/spec/models/get_contact_lists200_response_data_inner_spec.rb +1 -1
- data/spec/models/get_contact_lists200_response_spec.rb +1 -1
- data/spec/models/{v1_admin_me_get200_response_spec.rb → get_current_admin200_response_spec.rb} +7 -7
- data/spec/models/get_directory_activity200_response_data_inner_spec.rb +1 -1
- data/spec/models/get_directory_activity200_response_spec.rb +1 -1
- data/spec/models/get_directory_stats200_response_spec.rb +1 -1
- data/spec/models/get_domains_status200_response_domains_inner_checks_inner_spec.rb +1 -1
- data/spec/models/get_domains_status200_response_domains_inner_spec.rb +1 -1
- data/spec/models/get_domains_status200_response_spec.rb +1 -1
- data/spec/models/get_encryption_key200_response_spec.rb +1 -1
- data/spec/models/get_integrations_summary200_response_api_keys_inner_spec.rb +1 -1
- data/spec/models/get_integrations_summary200_response_spec.rb +1 -1
- data/spec/models/get_integrations_summary200_response_webhooks_inner_spec.rb +1 -1
- data/spec/models/get_ip_assignment200_response_spec.rb +1 -1
- data/spec/models/get_security200_response_alerts_inner_spec.rb +1 -1
- data/spec/models/get_security200_response_spec.rb +1 -1
- data/spec/models/get_security200_response_stats_inner_spec.rb +1 -1
- data/spec/models/get_storage200_response_spec.rb +1 -1
- data/spec/models/get_storage200_response_top_mailboxes_inner_spec.rb +1 -1
- data/spec/models/get_storage200_response_top_messages_inner_spec.rb +1 -1
- data/spec/models/{v1_usage_get200_response_spec.rb → get_usage200_response_spec.rb} +7 -7
- data/spec/models/get_user_insights200_response_spec.rb +7 -1
- data/spec/models/{healthz_get200_response_spec.rb → health_check200_response_spec.rb} +7 -7
- data/spec/models/inbox_list_spec.rb +36 -0
- data/spec/models/inbox_spec.rb +54 -0
- data/spec/models/{v1_admins_post_request_spec.rb → invite_admin_request_spec.rb} +7 -7
- data/spec/models/list_add_ons200_response_spec.rb +1 -1
- data/spec/models/list_admins200_response_spec.rb +36 -0
- data/spec/models/{v1_admins_get200_response_spec.rb → list_aliases200_response_spec.rb} +7 -7
- data/spec/models/{v1_api_keys_get200_response_spec.rb → list_api_keys200_response_spec.rb} +7 -7
- data/spec/models/list_calendar_events200_response_spec.rb +1 -1
- data/spec/models/list_calendar_integrations200_response_spec.rb +1 -1
- data/spec/models/list_calendar_members200_response_spec.rb +1 -1
- data/spec/models/list_calendars200_response_spec.rb +1 -1
- data/spec/models/list_contact_lists200_response_spec.rb +1 -1
- data/spec/models/list_contacts200_response_spec.rb +1 -1
- data/spec/models/list_dedicated_ip_requests200_response_spec.rb +1 -1
- data/spec/models/list_distribution_lists200_response_spec.rb +1 -1
- data/spec/models/list_domains200_response_spec.rb +36 -0
- data/spec/models/{v1_mailboxes_get200_response_spec.rb → list_mailboxes200_response_spec.rb} +7 -7
- data/spec/models/{v1_suppressions_get200_response_spec.rb → list_messages200_response_spec.rb} +7 -7
- data/spec/models/list_migration_credentials200_response_spec.rb +1 -1
- data/spec/models/list_migration_events200_response_spec.rb +1 -1
- data/spec/models/list_migration_mailboxes200_response_spec.rb +1 -1
- data/spec/models/list_migrations200_response_spec.rb +1 -1
- data/spec/models/list_resources200_response_spec.rb +1 -1
- data/spec/models/list_shared_members200_response_spec.rb +1 -1
- data/spec/models/{v1_messages_get200_response_spec.rb → list_suppressions200_response_spec.rb} +7 -7
- data/spec/models/{v1_vacation_get200_response_spec.rb → list_templates200_response_spec.rb} +7 -7
- data/spec/models/list_users200_response_spec.rb +1 -1
- data/spec/models/list_vacation_responders200_response_spec.rb +36 -0
- data/spec/models/{v1_domains_get200_response_spec.rb → list_webhooks200_response_spec.rb} +7 -7
- data/spec/models/mailbox_grant_list_spec.rb +36 -0
- data/spec/models/mailbox_grant_spec.rb +42 -0
- data/spec/models/mailbox_spec.rb +1 -1
- data/spec/models/map_migration_request_mappings_inner_spec.rb +1 -1
- data/spec/models/map_migration_request_spec.rb +1 -1
- data/spec/models/mark_read_result_spec.rb +36 -0
- data/spec/models/message_detail_spec.rb +142 -0
- data/spec/models/message_spec.rb +1 -1
- data/spec/models/message_stats_counts_spec.rb +1 -1
- data/spec/models/message_stats_rates_spec.rb +1 -1
- data/spec/models/message_stats_spec.rb +1 -1
- data/spec/models/message_stats_window_spec.rb +1 -1
- data/spec/models/migration_credential_spec.rb +1 -1
- data/spec/models/migration_event_spec.rb +1 -1
- data/spec/models/migration_mailbox_spec.rb +1 -1
- data/spec/models/migration_progress_mailboxes_inner_spec.rb +1 -1
- data/spec/models/migration_progress_spec.rb +1 -1
- data/spec/models/migration_settings_spec.rb +1 -1
- data/spec/models/migration_spec.rb +1 -1
- data/spec/models/model_alias_spec.rb +1 -1
- data/spec/models/plan_catalog_entry_spec.rb +1 -1
- data/spec/models/problem_spec.rb +1 -1
- data/spec/models/replace_distribution_list_members200_response_spec.rb +1 -1
- data/spec/models/replace_distribution_list_members_request_spec.rb +1 -1
- data/spec/models/resource_spec.rb +1 -1
- data/spec/models/return_path_check_spec.rb +42 -0
- data/spec/models/return_path_spec.rb +70 -0
- data/spec/models/rotate_encryption_key_request_spec.rb +1 -1
- data/spec/models/send_email200_response_spec.rb +58 -0
- data/spec/models/{v1_send_post202_response_spec.rb → send_email202_response_spec.rb} +7 -7
- data/spec/models/{v1_templates_get200_response_spec.rb → send_email_batch200_response_spec.rb} +7 -7
- data/spec/models/{v1_send_batch_post_request_spec.rb → send_email_batch_request_spec.rb} +7 -7
- data/spec/models/{v1_send_post_request_attachments_inner_spec.rb → send_email_request_attachments_inner_spec.rb} +7 -7
- data/spec/models/{v1_send_post_request_spec.rb → send_email_request_spec.rb} +19 -7
- data/spec/models/send_message_spec.rb +13 -1
- data/spec/models/{v1_mailboxes_email_vacation_put_request_spec.rb → set_vacation_responder_request_spec.rb} +7 -7
- data/spec/models/shared_member_spec.rb +1 -1
- data/spec/models/signup_request_spec.rb +1 -1
- data/spec/models/simulated_inbound_spec.rb +48 -0
- data/spec/models/{v1_inboxes_mailbox_messages_post_request_spec.rb → start_conversation_request_spec.rb} +7 -7
- data/spec/models/start_migration202_response_spec.rb +1 -1
- data/spec/models/suppression_spec.rb +1 -1
- data/spec/models/template_input_spec.rb +1 -1
- data/spec/models/template_spec.rb +1 -1
- data/spec/models/tenant_spec.rb +1 -1
- data/spec/models/thread_classification_spec.rb +48 -0
- data/spec/models/thread_list_spec.rb +42 -0
- data/spec/models/thread_message_body_all_of_body_spec.rb +48 -0
- data/spec/models/thread_message_body_spec.rb +112 -0
- data/spec/models/thread_message_spec.rb +106 -0
- data/spec/models/thread_spec.rb +48 -0
- data/spec/models/thread_summary_spec.rb +70 -0
- data/spec/models/unit_bundle_spec.rb +1 -1
- data/spec/models/{v1_admins_id_patch_request_spec.rb → update_admin_request_spec.rb} +7 -7
- data/spec/models/update_calendar_event_request_spec.rb +1 -1
- data/spec/models/update_calendar_integration_request_spec.rb +1 -1
- data/spec/models/update_calendar_member_request_spec.rb +1 -1
- data/spec/models/update_calendar_policies_request_spec.rb +1 -1
- data/spec/models/update_calendar_request_spec.rb +1 -1
- data/spec/models/update_contact_list_request_spec.rb +1 -1
- data/spec/models/update_contact_request_spec.rb +1 -1
- data/spec/models/update_directory_permissions_request_spec.rb +1 -1
- data/spec/models/update_gal_settings_request_spec.rb +1 -1
- data/spec/models/{v1_mailboxes_email_patch_request_spec.rb → update_mailbox_request_spec.rb} +7 -7
- data/spec/models/update_migration_mailbox_request_spec.rb +1 -1
- data/spec/models/update_migration_request_spec.rb +1 -1
- data/spec/models/update_resource_request_spec.rb +1 -1
- data/spec/models/update_user_request_spec.rb +1 -1
- data/spec/models/{v1_webhooks_id_patch_request_spec.rb → update_webhook_request_spec.rb} +7 -7
- data/spec/models/user_event_spec.rb +1 -1
- data/spec/models/user_spec.rb +1 -1
- data/spec/models/vacation_params_spec.rb +1 -1
- data/spec/models/vacation_responder_spec.rb +1 -1
- data/spec/models/webhook_spec.rb +1 -1
- data/spec/models/whoami_spec.rb +54 -0
- data/spec/spec_helper.rb +1 -1
- metadata +408 -285
- data/docs/V1ApiKeysPostRequest.md +0 -20
- data/lib/lockally/models/v1_webhooks_get200_response.rb +0 -166
- data/spec/models/v1_send_batch_post200_response_spec.rb +0 -36
- data/spec/models/v1_webhooks_get200_response_spec.rb +0 -36
data/spec/api/send_api_spec.rb
CHANGED
|
@@ -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
|
|
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
|
|
@@ -32,47 +32,30 @@ describe 'SendApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# unit tests for
|
|
36
|
-
# List outbound messages
|
|
37
|
-
# Returns recent outbound messages for the calling tenant, sorted newest first. Backs the send-status pill in the SvelteKit /sends view and the outbound search box.
|
|
38
|
-
# @param [Hash] opts the optional parameters
|
|
39
|
-
# @option opts [String] :status
|
|
40
|
-
# @option opts [String] :sender Exact match against the `from` mailbox.
|
|
41
|
-
# @option opts [String] :q Free-text search across subject + sender.
|
|
42
|
-
# @option opts [Time] :since Only messages queued at or after this RFC 3339 instant.
|
|
43
|
-
# @option opts [String] :cursor queued_at of the prior page boundary. Pass back the `next_cursor` returned by the previous call.
|
|
44
|
-
# @option opts [Integer] :limit
|
|
45
|
-
# @return [V1MessagesGet200Response]
|
|
46
|
-
describe 'v1_messages_get test' do
|
|
47
|
-
it 'should work' do
|
|
48
|
-
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
# unit tests for v1_messages_id_delete
|
|
35
|
+
# unit tests for cancel_message
|
|
53
36
|
# Cancel a scheduled send
|
|
54
37
|
# Cancels a still-scheduled message (future queued_at). Already sending/sent → 409.
|
|
55
38
|
# @param id
|
|
56
39
|
# @param [Hash] opts the optional parameters
|
|
57
40
|
# @return [nil]
|
|
58
|
-
describe '
|
|
41
|
+
describe 'cancel_message test' do
|
|
59
42
|
it 'should work' do
|
|
60
43
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
61
44
|
end
|
|
62
45
|
end
|
|
63
46
|
|
|
64
|
-
# unit tests for
|
|
47
|
+
# unit tests for get_message
|
|
65
48
|
# Get message status
|
|
66
49
|
# @param id
|
|
67
50
|
# @param [Hash] opts the optional parameters
|
|
68
|
-
# @return [
|
|
69
|
-
describe '
|
|
51
|
+
# @return [MessageDetail]
|
|
52
|
+
describe 'get_message test' do
|
|
70
53
|
it 'should work' do
|
|
71
54
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
72
55
|
end
|
|
73
56
|
end
|
|
74
57
|
|
|
75
|
-
# unit tests for
|
|
58
|
+
# unit tests for get_message_stats
|
|
76
59
|
# Aggregate delivery stats
|
|
77
60
|
# Counts by delivery outcome (delivered/bounced/deferred/complaint) plus rates over a window, from the delivery-event store. Privacy-first: this reflects what receiving servers reported, NOT whether a human opened the mail — Lockally does no open/click tracking.
|
|
78
61
|
# @param [Hash] opts the optional parameters
|
|
@@ -80,33 +63,50 @@ describe 'SendApi' do
|
|
|
80
63
|
# @option opts [Time] :to Window end (default now).
|
|
81
64
|
# @option opts [String] :domain Filter by sender domain.
|
|
82
65
|
# @return [MessageStats]
|
|
83
|
-
describe '
|
|
66
|
+
describe 'get_message_stats test' do
|
|
84
67
|
it 'should work' do
|
|
85
68
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
86
69
|
end
|
|
87
70
|
end
|
|
88
71
|
|
|
89
|
-
# unit tests for
|
|
90
|
-
#
|
|
91
|
-
#
|
|
92
|
-
# @param idempotency_key
|
|
93
|
-
# @param v1_send_batch_post_request
|
|
72
|
+
# unit tests for list_messages
|
|
73
|
+
# List outbound messages
|
|
74
|
+
# Returns recent outbound messages for the calling tenant, sorted newest first. Backs the send-status pill in the SvelteKit /sends view and the outbound search box.
|
|
94
75
|
# @param [Hash] opts the optional parameters
|
|
95
|
-
# @
|
|
96
|
-
|
|
76
|
+
# @option opts [String] :status
|
|
77
|
+
# @option opts [String] :sender Exact match against the `from` mailbox.
|
|
78
|
+
# @option opts [String] :q Free-text search across subject + sender.
|
|
79
|
+
# @option opts [Time] :since Only messages queued at or after this RFC 3339 instant.
|
|
80
|
+
# @option opts [String] :cursor queued_at of the prior page boundary. Pass back the `next_cursor` returned by the previous call.
|
|
81
|
+
# @option opts [Integer] :limit
|
|
82
|
+
# @return [ListMessages200Response]
|
|
83
|
+
describe 'list_messages test' do
|
|
97
84
|
it 'should work' do
|
|
98
85
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
99
86
|
end
|
|
100
87
|
end
|
|
101
88
|
|
|
102
|
-
# unit tests for
|
|
89
|
+
# unit tests for send_email
|
|
103
90
|
# Send an email
|
|
104
|
-
# Submits an email for delivery via lockally. Returns 202 immediately once the message is accepted into lockally's queue; the actual SMTP submission to the recipient is async. Track delivery via `GET /v1/messages/{id}` or webhook subscriptions for `delivery.delivered` / `delivery.bounced` / `delivery.complaint`. **Idempotency-Key required.** Per design L7 — any unique string per send, 24-hour dedupe window. Repeated calls with the same key return byte-exact the original response and do NOT create a duplicate message. **Sender authorisation.** `from` must be
|
|
91
|
+
# Submits an email for delivery via lockally. Returns 202 immediately once the message is accepted into lockally's queue; the actual SMTP submission to the recipient is async. Track delivery via `GET /v1/messages/{id}` or webhook subscriptions for `delivery.delivered` / `delivery.bounced` / `delivery.complaint`. **Idempotency-Key required.** Per design L7 — any unique string per send, 24-hour dedupe window. Repeated calls with the same key return byte-exact the original response and do NOT create a duplicate message. **Sender authorisation.** `from` must be an address the calling tenant owns on a verified domain. A mailbox always qualifies. On business and combined accounts an **alias** qualifies too, so a send-only address such as `no-reply@` need not be a billed seat. An alias on an unverified domain, or one belonging to another account, is refused with `403`. A catch-all creates no aliases and so grants no sending rights. **Rate cap.** Per-tenant `rate_cap_per_min` (returned on `/v1/tenant`) is enforced — 429 with `Retry-After: 60` once tripped. **Recipient warning.** Over 25 total recipients (To+Cc+Bcc) sets a `warning` field in the response — large fan-outs queue noticeably at scale. Hard cap is 100/send. **Not every success is a 202.** Check the status code, not just the body. A `200` means nothing was queued: either every recipient was already suppressed, or the call used a test key and the send was simulated. Both are successes, and neither produces a real delivery. See the `200` response below. **Warm-up headers.** While the platform is in its outbound warm-up ramp, accepted sends carry `X-Warmup-Day`, `X-Warmup-Daily-Cap` and `X-Warmup-Used-Today`. They describe a platform-wide cap shared by every tenant, not your own allowance, and they disappear once the ramp finishes. Hitting the cap returns 429.
|
|
92
|
+
# @param idempotency_key
|
|
93
|
+
# @param send_email_request
|
|
94
|
+
# @param [Hash] opts the optional parameters
|
|
95
|
+
# @return [SendEmail200Response]
|
|
96
|
+
describe 'send_email test' do
|
|
97
|
+
it 'should work' do
|
|
98
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# unit tests for send_email_batch
|
|
103
|
+
# Send a batch of emails
|
|
104
|
+
# Sends up to 500 messages in one call. Each is validated and enqueued independently — a bad message fails only its own slot (partial success, HTTP 200). One `Idempotency-Key` header covers the batch; per-message keys are derived as `<key>:<index>`.
|
|
105
105
|
# @param idempotency_key
|
|
106
|
-
# @param
|
|
106
|
+
# @param send_email_batch_request
|
|
107
107
|
# @param [Hash] opts the optional parameters
|
|
108
|
-
# @return [
|
|
109
|
-
describe '
|
|
108
|
+
# @return [SendEmailBatch200Response]
|
|
109
|
+
describe 'send_email_batch test' do
|
|
110
110
|
it 'should work' do
|
|
111
111
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
112
112
|
end
|
data/spec/api/signup_api_spec.rb
CHANGED
|
@@ -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
|
|
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
|
|
@@ -36,7 +36,7 @@ describe 'SignupApi' do
|
|
|
36
36
|
# Sign up a new tenant
|
|
37
37
|
# @param signup_request
|
|
38
38
|
# @param [Hash] opts the optional parameters
|
|
39
|
-
# @return [
|
|
39
|
+
# @return [AdminLogin200Response]
|
|
40
40
|
describe 'signup test' do
|
|
41
41
|
it 'should work' do
|
|
42
42
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
@@ -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
|
|
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
|
|
@@ -32,47 +32,47 @@ describe 'SuppressionsApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# unit tests for
|
|
35
|
+
# unit tests for create_suppression
|
|
36
|
+
# Add a suppression
|
|
37
|
+
# @param create_suppression_request
|
|
38
|
+
# @param [Hash] opts the optional parameters
|
|
39
|
+
# @return [Suppression]
|
|
40
|
+
describe 'create_suppression test' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# unit tests for delete_suppression
|
|
36
47
|
# Remove a suppression
|
|
37
48
|
# @param email
|
|
38
49
|
# @param [Hash] opts the optional parameters
|
|
39
50
|
# @return [nil]
|
|
40
|
-
describe '
|
|
51
|
+
describe 'delete_suppression test' do
|
|
41
52
|
it 'should work' do
|
|
42
53
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
54
|
end
|
|
44
55
|
end
|
|
45
56
|
|
|
46
|
-
# unit tests for
|
|
57
|
+
# unit tests for get_suppression
|
|
47
58
|
# Check whether an address is suppressed
|
|
48
59
|
# @param email
|
|
49
60
|
# @param [Hash] opts the optional parameters
|
|
50
61
|
# @return [Suppression]
|
|
51
|
-
describe '
|
|
62
|
+
describe 'get_suppression test' do
|
|
52
63
|
it 'should work' do
|
|
53
64
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
54
65
|
end
|
|
55
66
|
end
|
|
56
67
|
|
|
57
|
-
# unit tests for
|
|
68
|
+
# unit tests for list_suppressions
|
|
58
69
|
# List suppressed recipients
|
|
59
70
|
# @param [Hash] opts the optional parameters
|
|
60
71
|
# @option opts [String] :reason
|
|
61
72
|
# @option opts [String] :cursor
|
|
62
73
|
# @option opts [Integer] :limit
|
|
63
|
-
# @return [
|
|
64
|
-
describe '
|
|
65
|
-
it 'should work' do
|
|
66
|
-
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
# unit tests for v1_suppressions_post
|
|
71
|
-
# Add a suppression
|
|
72
|
-
# @param v1_suppressions_post_request
|
|
73
|
-
# @param [Hash] opts the optional parameters
|
|
74
|
-
# @return [Suppression]
|
|
75
|
-
describe 'v1_suppressions_post test' do
|
|
74
|
+
# @return [ListSuppressions200Response]
|
|
75
|
+
describe 'list_suppressions test' do
|
|
76
76
|
it 'should work' do
|
|
77
77
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
78
78
|
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
|
|
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
|
|
@@ -32,56 +32,56 @@ describe 'TemplatesApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# unit tests for
|
|
36
|
-
#
|
|
35
|
+
# unit tests for create_template
|
|
36
|
+
# Create a template
|
|
37
|
+
# @param template_input
|
|
37
38
|
# @param [Hash] opts the optional parameters
|
|
38
|
-
# @return [
|
|
39
|
-
describe '
|
|
39
|
+
# @return [Template]
|
|
40
|
+
describe 'create_template test' do
|
|
40
41
|
it 'should work' do
|
|
41
42
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
42
43
|
end
|
|
43
44
|
end
|
|
44
45
|
|
|
45
|
-
# unit tests for
|
|
46
|
+
# unit tests for delete_template
|
|
46
47
|
# Delete a template
|
|
47
48
|
# @param id
|
|
48
49
|
# @param [Hash] opts the optional parameters
|
|
49
50
|
# @return [nil]
|
|
50
|
-
describe '
|
|
51
|
+
describe 'delete_template test' do
|
|
51
52
|
it 'should work' do
|
|
52
53
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
53
54
|
end
|
|
54
55
|
end
|
|
55
56
|
|
|
56
|
-
# unit tests for
|
|
57
|
+
# unit tests for get_template
|
|
57
58
|
# Get a template
|
|
58
59
|
# @param id
|
|
59
60
|
# @param [Hash] opts the optional parameters
|
|
60
61
|
# @return [Template]
|
|
61
|
-
describe '
|
|
62
|
+
describe 'get_template test' do
|
|
62
63
|
it 'should work' do
|
|
63
64
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
64
65
|
end
|
|
65
66
|
end
|
|
66
67
|
|
|
67
|
-
# unit tests for
|
|
68
|
-
#
|
|
69
|
-
# @param id
|
|
70
|
-
# @param template_input
|
|
68
|
+
# unit tests for list_templates
|
|
69
|
+
# List templates
|
|
71
70
|
# @param [Hash] opts the optional parameters
|
|
72
|
-
# @return [
|
|
73
|
-
describe '
|
|
71
|
+
# @return [ListTemplates200Response]
|
|
72
|
+
describe 'list_templates test' do
|
|
74
73
|
it 'should work' do
|
|
75
74
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
76
75
|
end
|
|
77
76
|
end
|
|
78
77
|
|
|
79
|
-
# unit tests for
|
|
80
|
-
#
|
|
78
|
+
# unit tests for update_template
|
|
79
|
+
# Update a template
|
|
80
|
+
# @param id
|
|
81
81
|
# @param template_input
|
|
82
82
|
# @param [Hash] opts the optional parameters
|
|
83
83
|
# @return [Template]
|
|
84
|
-
describe '
|
|
84
|
+
describe 'update_template test' do
|
|
85
85
|
it 'should work' do
|
|
86
86
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
87
87
|
end
|
data/spec/api/tenant_api_spec.rb
CHANGED
|
@@ -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
|
|
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
|
|
@@ -32,23 +32,23 @@ describe 'TenantApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# unit tests for
|
|
35
|
+
# unit tests for get_tenant
|
|
36
36
|
# Get the calling tenant
|
|
37
37
|
# Returns the tenant the presented API key belongs to.
|
|
38
38
|
# @param [Hash] opts the optional parameters
|
|
39
39
|
# @return [Tenant]
|
|
40
|
-
describe '
|
|
40
|
+
describe 'get_tenant test' do
|
|
41
41
|
it 'should work' do
|
|
42
42
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
# unit tests for
|
|
46
|
+
# unit tests for get_usage
|
|
47
47
|
# Usage snapshot
|
|
48
48
|
# Returns the tenant's current usage + cap consumption. Designed for poll-based alerting on the integrator side (e.g. \"warn when daily quota is 80% used\"). Refreshed live from Postgres — there is no cache, so callers should poll at most once per minute.
|
|
49
49
|
# @param [Hash] opts the optional parameters
|
|
50
|
-
# @return [
|
|
51
|
-
describe '
|
|
50
|
+
# @return [GetUsage200Response]
|
|
51
|
+
describe 'get_usage test' do
|
|
52
52
|
it 'should work' do
|
|
53
53
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
54
54
|
end
|
data/spec/api/test_api_spec.rb
CHANGED
|
@@ -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
|
|
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
|
|
@@ -32,12 +32,12 @@ describe 'TestApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# unit tests for
|
|
35
|
+
# unit tests for simulate_inbound_email
|
|
36
36
|
# Simulate an inbound email (test keys only)
|
|
37
37
|
# Runs a synthetic message through the REAL indexing pipeline — thread adoption, deterministic extraction (incl. injection_risk), and the message.received webhook — so the whole agent loop is testable without a real domain or MTA. Requires an lk_test_* key (create with {\"test\": true} on POST /v1/api-keys). Body: {mailbox, from, subject, text, in_reply_to?, references?}.
|
|
38
38
|
# @param [Hash] opts the optional parameters
|
|
39
|
-
# @return [
|
|
40
|
-
describe '
|
|
39
|
+
# @return [SimulatedInbound]
|
|
40
|
+
describe 'simulate_inbound_email test' do
|
|
41
41
|
it 'should work' do
|
|
42
42
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
43
|
end
|
data/spec/api/users_api_spec.rb
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
@@ -32,49 +32,49 @@ describe 'WebhooksApi' do
|
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
# unit tests for
|
|
36
|
-
#
|
|
37
|
-
# Returns the
|
|
35
|
+
# unit tests for create_webhook
|
|
36
|
+
# Create a webhook
|
|
37
|
+
# 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).
|
|
38
|
+
# @param create_webhook_request
|
|
38
39
|
# @param [Hash] opts the optional parameters
|
|
39
|
-
# @return [
|
|
40
|
-
describe '
|
|
40
|
+
# @return [Webhook]
|
|
41
|
+
describe 'create_webhook test' do
|
|
41
42
|
it 'should work' do
|
|
42
43
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
43
44
|
end
|
|
44
45
|
end
|
|
45
46
|
|
|
46
|
-
# unit tests for
|
|
47
|
+
# unit tests for delete_webhook
|
|
47
48
|
# Delete a webhook
|
|
48
49
|
# Hard-delete; cascades to `webhook_deliveries` history.
|
|
49
50
|
# @param id
|
|
50
51
|
# @param [Hash] opts the optional parameters
|
|
51
52
|
# @return [nil]
|
|
52
|
-
describe '
|
|
53
|
+
describe 'delete_webhook test' do
|
|
53
54
|
it 'should work' do
|
|
54
55
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
55
56
|
end
|
|
56
57
|
end
|
|
57
58
|
|
|
58
|
-
# unit tests for
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
# @param id
|
|
62
|
-
# @param v1_webhooks_id_patch_request
|
|
59
|
+
# unit tests for list_webhooks
|
|
60
|
+
# List webhooks
|
|
61
|
+
# Returns the calling tenant's webhook subscriptions. Never returns the signing secret — only metadata.
|
|
63
62
|
# @param [Hash] opts the optional parameters
|
|
64
|
-
# @return [
|
|
65
|
-
describe '
|
|
63
|
+
# @return [ListWebhooks200Response]
|
|
64
|
+
describe 'list_webhooks test' do
|
|
66
65
|
it 'should work' do
|
|
67
66
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
68
67
|
end
|
|
69
68
|
end
|
|
70
69
|
|
|
71
|
-
# unit tests for
|
|
72
|
-
#
|
|
73
|
-
#
|
|
74
|
-
# @param
|
|
70
|
+
# unit tests for update_webhook
|
|
71
|
+
# Update a webhook
|
|
72
|
+
# 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.
|
|
73
|
+
# @param id
|
|
74
|
+
# @param update_webhook_request
|
|
75
75
|
# @param [Hash] opts the optional parameters
|
|
76
76
|
# @return [Webhook]
|
|
77
|
-
describe '
|
|
77
|
+
describe 'update_webhook test' do
|
|
78
78
|
it 'should work' do
|
|
79
79
|
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
80
80
|
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
|
|
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
|
|
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
|
|
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
|
data/spec/models/add_on_spec.rb
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
data/spec/models/{v1_admin_login_post200_response_spec.rb → admin_login200_response_spec.rb}
RENAMED
|
@@ -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
|
|
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,16 +14,16 @@ require 'spec_helper'
|
|
|
14
14
|
require 'json'
|
|
15
15
|
require 'date'
|
|
16
16
|
|
|
17
|
-
# Unit tests for Lockally::
|
|
17
|
+
# Unit tests for Lockally::AdminLogin200Response
|
|
18
18
|
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
19
|
# Please update as you see appropriate
|
|
20
|
-
describe Lockally::
|
|
21
|
-
#let(:instance) { Lockally::
|
|
20
|
+
describe Lockally::AdminLogin200Response do
|
|
21
|
+
#let(:instance) { Lockally::AdminLogin200Response.new }
|
|
22
22
|
|
|
23
|
-
describe 'test an instance of
|
|
24
|
-
it 'should create an instance of
|
|
23
|
+
describe 'test an instance of AdminLogin200Response' do
|
|
24
|
+
it 'should create an instance of AdminLogin200Response' do
|
|
25
25
|
# uncomment below to test the instance creation
|
|
26
|
-
#expect(instance).to be_instance_of(Lockally::
|
|
26
|
+
#expect(instance).to be_instance_of(Lockally::AdminLogin200Response)
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|