coss 0.1.0 → 0.2.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/CHANGELOG.md +5 -0
- data/lib/coss/billing/types/usage_billing_request_meter.rb +7 -0
- data/lib/coss/client.rb +21 -1
- data/lib/coss/domains/client.rb +54 -2
- data/lib/coss/domains/types/create_domain_request.rb +2 -0
- data/lib/coss/domains/types/list_domains_request.rb +11 -0
- data/lib/coss/domains/types/update_domain_request.rb +13 -0
- data/lib/coss/email/client.rb +7 -0
- data/lib/coss/email/subaccounts/client.rb +322 -0
- data/lib/coss/email/subaccounts/types/create_subaccount_request.rb +19 -0
- data/lib/coss/email/subaccounts/types/create_subaccount_request_quotas.rb +18 -0
- data/lib/coss/email/subaccounts/types/delete_subaccounts_request.rb +13 -0
- data/lib/coss/email/subaccounts/types/get_subaccounts_request.rb +13 -0
- data/lib/coss/email/subaccounts/types/list_subaccounts_request.rb +15 -0
- data/lib/coss/email/subaccounts/types/reinstate_subaccounts_request.rb +13 -0
- data/lib/coss/email/subaccounts/types/stats_subaccounts_request.rb +17 -0
- data/lib/coss/email/subaccounts/types/update_subaccount_request.rb +23 -0
- data/lib/coss/email/subaccounts/types/update_subaccount_request_quotas.rb +18 -0
- data/lib/coss/email/subaccounts/types/update_subaccount_request_status.rb +16 -0
- data/lib/coss/email/suppressions/client.rb +7 -1
- data/lib/coss/email/suppressions/types/check_suppressions_request.rb +2 -0
- data/lib/coss/email/suppressions/types/create_suppression_request.rb +2 -0
- data/lib/coss/email/suppressions/types/export_suppressions_request.rb +2 -0
- data/lib/coss/email/suppressions/types/import_suppressions_request.rb +2 -0
- data/lib/coss/email/suppressions/types/list_suppressions_request.rb +2 -0
- data/lib/coss/email/types/list_email_request.rb +2 -0
- data/lib/coss/forms/client.rb +233 -0
- data/lib/coss/forms/submissions/client.rb +229 -0
- data/lib/coss/forms/submissions/types/file_submissions_request.rb +17 -0
- data/lib/coss/forms/submissions/types/get_submissions_request.rb +15 -0
- data/lib/coss/forms/submissions/types/list_submissions_request.rb +19 -0
- data/lib/coss/forms/submissions/types/release_submissions_request.rb +15 -0
- data/lib/coss/forms/submissions/types/remove_submissions_request.rb +15 -0
- data/lib/coss/forms/types/create_form_request.rb +33 -0
- data/lib/coss/forms/types/create_form_request_contacts.rb +23 -0
- data/lib/coss/forms/types/create_form_request_files.rb +17 -0
- data/lib/coss/forms/types/create_form_request_hosted.rb +19 -0
- data/lib/coss/forms/types/create_form_request_notifications.rb +13 -0
- data/lib/coss/forms/types/create_form_request_spam.rb +19 -0
- data/lib/coss/forms/types/create_form_request_spam_captcha.rb +14 -0
- data/lib/coss/forms/types/create_form_request_spam_on_review.rb +14 -0
- data/lib/coss/forms/types/create_form_request_submitter.rb +15 -0
- data/lib/coss/forms/types/get_forms_request.rb +11 -0
- data/lib/coss/forms/types/list_forms_request.rb +13 -0
- data/lib/coss/forms/types/remove_forms_request.rb +11 -0
- data/lib/coss/forms/types/update_form_request.rb +35 -0
- data/lib/coss/forms/types/update_form_request_contacts.rb +23 -0
- data/lib/coss/forms/types/update_form_request_files.rb +17 -0
- data/lib/coss/forms/types/update_form_request_hosted.rb +19 -0
- data/lib/coss/forms/types/update_form_request_notifications.rb +13 -0
- data/lib/coss/forms/types/update_form_request_spam.rb +19 -0
- data/lib/coss/forms/types/update_form_request_spam_captcha.rb +14 -0
- data/lib/coss/forms/types/update_form_request_spam_on_review.rb +14 -0
- data/lib/coss/forms/types/update_form_request_submitter.rb +15 -0
- data/lib/coss/inboxes/client.rb +234 -0
- data/lib/coss/inboxes/messages/client.rb +259 -0
- data/lib/coss/inboxes/messages/types/get_attachment_messages_request.rb +17 -0
- data/lib/coss/inboxes/messages/types/get_messages_request.rb +15 -0
- data/lib/coss/inboxes/messages/types/list_messages_request.rb +19 -0
- data/lib/coss/inboxes/messages/types/list_messages_request_direction.rb +16 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request.rb +31 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request_bcc.rb +17 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request_cc.rb +17 -0
- data/lib/coss/inboxes/messages/types/reply_inbox_message_request_tags_item.rb +15 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request.rb +31 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_bcc.rb +17 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_cc.rb +17 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_tags_item.rb +15 -0
- data/lib/coss/inboxes/messages/types/send_inbox_message_request_to.rb +17 -0
- data/lib/coss/inboxes/threads/client.rb +147 -0
- data/lib/coss/inboxes/threads/types/delete_threads_request.rb +15 -0
- data/lib/coss/inboxes/threads/types/get_threads_request.rb +15 -0
- data/lib/coss/inboxes/threads/types/list_threads_request.rb +17 -0
- data/lib/coss/inboxes/types/create_inbox_request.rb +17 -0
- data/lib/coss/inboxes/types/delete_inboxes_request.rb +11 -0
- data/lib/coss/inboxes/types/get_inboxes_request.rb +11 -0
- data/lib/coss/inboxes/types/list_inboxes_request.rb +13 -0
- data/lib/coss/inboxes/types/update_inbox_request.rb +13 -0
- data/lib/coss/risk/client.rb +46 -0
- data/lib/coss/risk/types/risk_phone_check_request.rb +11 -0
- data/lib/coss/sign/client.rb +39 -0
- data/lib/coss/sign/documents/client.rb +177 -0
- data/lib/coss/sign/documents/types/get_documents_request.rb +13 -0
- data/lib/coss/sign/documents/types/list_documents_request.rb +15 -0
- data/lib/coss/sign/documents/types/remove_documents_request.rb +13 -0
- data/lib/coss/sign/documents/types/upload_sign_document_request.rb +15 -0
- data/lib/coss/sign/requests/client.rb +409 -0
- data/lib/coss/sign/requests/types/audit_trail_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/cancel_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/create_sign_request_request.rb +31 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_documents_item.rb +17 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_documents_item_content.rb +15 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_documents_item_document_id.rb +13 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_signers_item.rb +23 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_signers_item_delivery.rb +16 -0
- data/lib/coss/sign/requests/types/create_sign_request_request_signing_order.rb +16 -0
- data/lib/coss/sign/requests/types/get_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/list_requests_request.rb +17 -0
- data/lib/coss/sign/requests/types/remind_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/remove_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/send_requests_request.rb +13 -0
- data/lib/coss/sign/requests/types/signed_document_requests_request.rb +13 -0
- data/lib/coss/sign/sessions/client.rb +69 -0
- data/lib/coss/sign/sessions/types/create_sign_session_request.rb +17 -0
- data/lib/coss/sign/settings/client.rb +92 -0
- data/lib/coss/sign/settings/types/update_sign_settings_request.rb +25 -0
- data/lib/coss/sign/settings/types/update_sign_settings_request_theme.rb +17 -0
- data/lib/coss/sign/templates/client.rb +374 -0
- data/lib/coss/sign/templates/types/create_sign_builder_session_request.rb +15 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request.rb +33 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signers_item.rb +23 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signers_item_delivery.rb +16 -0
- data/lib/coss/sign/templates/types/create_sign_request_from_template_request_signing_order.rb +16 -0
- data/lib/coss/sign/templates/types/create_sign_template_request.rb +25 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_documents_item.rb +17 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_documents_item_content.rb +15 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_documents_item_document_id.rb +13 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item.rb +17 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_anchor.rb +31 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_anchor_type.rb +21 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_document.rb +33 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_fields_item_document_type.rb +21 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_roles_item.rb +15 -0
- data/lib/coss/sign/templates/types/create_sign_template_request_signing_order.rb +16 -0
- data/lib/coss/sign/templates/types/get_templates_request.rb +13 -0
- data/lib/coss/sign/templates/types/list_templates_request.rb +15 -0
- data/lib/coss/sign/templates/types/remove_templates_request.rb +13 -0
- data/lib/coss/sign/templates/types/update_sign_template_request.rb +27 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_documents_item.rb +17 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_documents_item_content.rb +15 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_documents_item_document_id.rb +13 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item.rb +17 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_anchor.rb +31 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_anchor_type.rb +21 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_document.rb +33 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_fields_item_document_type.rb +21 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_roles_item.rb +15 -0
- data/lib/coss/sign/templates/types/update_sign_template_request_signing_order.rb +16 -0
- data/lib/coss/types/billing_limits.rb +2 -0
- data/lib/coss/types/billing_usage_item_meter.rb +7 -0
- data/lib/coss/types/billing_webhook_event_three_data_meter.rb +7 -0
- data/lib/coss/types/contact_source.rb +1 -0
- data/lib/coss/types/contact_webhook_event_data_source.rb +1 -0
- data/lib/coss/types/credit_meter.rb +7 -0
- data/lib/coss/types/credit_meters_item.rb +7 -0
- data/lib/coss/types/deleted_form.rb +13 -0
- data/lib/coss/types/deleted_form_object.rb +11 -0
- data/lib/coss/types/deleted_form_submission.rb +13 -0
- data/lib/coss/types/deleted_form_submission_object.rb +11 -0
- data/lib/coss/types/deleted_inbox.rb +13 -0
- data/lib/coss/types/deleted_inbox_object.rb +11 -0
- data/lib/coss/types/deleted_inbox_thread.rb +13 -0
- data/lib/coss/types/deleted_inbox_thread_object.rb +11 -0
- data/lib/coss/types/deleted_sign_document.rb +13 -0
- data/lib/coss/types/deleted_sign_document_object.rb +11 -0
- data/lib/coss/types/deleted_sign_request.rb +13 -0
- data/lib/coss/types/deleted_sign_request_object.rb +11 -0
- data/lib/coss/types/deleted_sign_template.rb +13 -0
- data/lib/coss/types/deleted_sign_template_object.rb +11 -0
- data/lib/coss/types/domain.rb +4 -0
- data/lib/coss/types/email.rb +2 -0
- data/lib/coss/types/email_summary.rb +2 -0
- data/lib/coss/types/email_webhook_event_data.rb +2 -0
- data/lib/coss/types/error_body.rb +2 -0
- data/lib/coss/types/form.rb +47 -0
- data/lib/coss/types/form_contacts.rb +21 -0
- data/lib/coss/types/form_field.rb +21 -0
- data/lib/coss/types/form_field_input.rb +21 -0
- data/lib/coss/types/form_field_input_type.rb +22 -0
- data/lib/coss/types/form_field_type.rb +22 -0
- data/lib/coss/types/form_files.rb +15 -0
- data/lib/coss/types/form_hosted.rb +19 -0
- data/lib/coss/types/form_list.rb +13 -0
- data/lib/coss/types/form_list_object.rb +11 -0
- data/lib/coss/types/form_notifications.rb +11 -0
- data/lib/coss/types/form_object.rb +11 -0
- data/lib/coss/types/form_spam.rb +17 -0
- data/lib/coss/types/form_spam_captcha.rb +12 -0
- data/lib/coss/types/form_spam_on_review.rb +12 -0
- data/lib/coss/types/form_submission.rb +43 -0
- data/lib/coss/types/form_submission_data_value.rb +13 -0
- data/lib/coss/types/form_submission_file.rb +17 -0
- data/lib/coss/types/form_submission_list.rb +13 -0
- data/lib/coss/types/form_submission_list_object.rb +11 -0
- data/lib/coss/types/form_submission_object.rb +11 -0
- data/lib/coss/types/form_submission_risk.rb +14 -0
- data/lib/coss/types/form_submission_risk_decision.rb +13 -0
- data/lib/coss/types/form_submission_spam_reason.rb +14 -0
- data/lib/coss/types/form_submission_status.rb +14 -0
- data/lib/coss/types/form_submission_webhook_event.rb +19 -0
- data/lib/coss/types/form_submission_webhook_event_data.rb +27 -0
- data/lib/coss/types/form_submission_webhook_event_data_data_value.rb +13 -0
- data/lib/coss/types/form_submission_webhook_event_data_spam_reason.rb +14 -0
- data/lib/coss/types/form_submission_webhook_event_data_status.rb +14 -0
- data/lib/coss/types/form_submission_webhook_event_object.rb +11 -0
- data/lib/coss/types/form_submission_webhook_event_type.rb +12 -0
- data/lib/coss/types/form_submitter.rb +13 -0
- data/lib/coss/types/inbox.rb +31 -0
- data/lib/coss/types/inbox_kind.rb +12 -0
- data/lib/coss/types/inbox_list.rb +13 -0
- data/lib/coss/types/inbox_list_object.rb +11 -0
- data/lib/coss/types/inbox_message.rb +55 -0
- data/lib/coss/types/inbox_message_direction.rb +12 -0
- data/lib/coss/types/inbox_message_list.rb +13 -0
- data/lib/coss/types/inbox_message_list_object.rb +11 -0
- data/lib/coss/types/inbox_message_object.rb +11 -0
- data/lib/coss/types/inbox_message_received_webhook_event.rb +19 -0
- data/lib/coss/types/inbox_message_received_webhook_event_data.rb +33 -0
- data/lib/coss/types/inbox_message_received_webhook_event_object.rb +11 -0
- data/lib/coss/types/inbox_message_received_webhook_event_type.rb +11 -0
- data/lib/coss/types/inbox_message_status.rb +16 -0
- data/lib/coss/types/inbox_message_summary.rb +39 -0
- data/lib/coss/types/inbox_message_summary_direction.rb +12 -0
- data/lib/coss/types/inbox_message_summary_object.rb +11 -0
- data/lib/coss/types/inbox_message_summary_status.rb +16 -0
- data/lib/coss/types/inbox_object.rb +11 -0
- data/lib/coss/types/inbox_thread.rb +29 -0
- data/lib/coss/types/inbox_thread_list.rb +13 -0
- data/lib/coss/types/inbox_thread_list_object.rb +11 -0
- data/lib/coss/types/inbox_thread_object.rb +11 -0
- data/lib/coss/types/inbox_thread_summary.rb +27 -0
- data/lib/coss/types/inbox_thread_summary_object.rb +11 -0
- data/lib/coss/types/invoice_line_meter.rb +7 -0
- data/lib/coss/types/log_drain_source.rb +3 -0
- data/lib/coss/types/log_source.rb +3 -0
- data/lib/coss/types/risk_phone_carrier.rb +13 -0
- data/lib/coss/types/risk_phone_check.rb +23 -0
- data/lib/coss/types/risk_phone_check_degraded_item.rb +12 -0
- data/lib/coss/types/risk_phone_check_line_type.rb +22 -0
- data/lib/coss/types/risk_phone_check_object.rb +11 -0
- data/lib/coss/types/risk_phone_sim_swap.rb +13 -0
- data/lib/coss/types/send_email_request.rb +2 -0
- data/lib/coss/types/sign_builder_session.rb +19 -0
- data/lib/coss/types/sign_builder_session_object.rb +11 -0
- data/lib/coss/types/sign_document.rb +27 -0
- data/lib/coss/types/sign_document_anchors_item.rb +20 -0
- data/lib/coss/types/sign_document_list.rb +13 -0
- data/lib/coss/types/sign_document_list_object.rb +11 -0
- data/lib/coss/types/sign_document_object.rb +11 -0
- data/lib/coss/types/sign_document_pages_item.rb +11 -0
- data/lib/coss/types/sign_event.rb +31 -0
- data/lib/coss/types/sign_event_actor.rb +14 -0
- data/lib/coss/types/sign_event_details.rb +23 -0
- data/lib/coss/types/sign_event_list.rb +13 -0
- data/lib/coss/types/sign_event_list_object.rb +11 -0
- data/lib/coss/types/sign_event_object.rb +11 -0
- data/lib/coss/types/sign_event_type.rb +22 -0
- data/lib/coss/types/sign_field.rb +33 -0
- data/lib/coss/types/sign_field_input.rb +13 -0
- data/lib/coss/types/sign_field_input_anchor.rb +23 -0
- data/lib/coss/types/sign_field_input_anchor_type.rb +17 -0
- data/lib/coss/types/sign_field_input_document.rb +25 -0
- data/lib/coss/types/sign_field_input_document_type.rb +17 -0
- data/lib/coss/types/sign_field_object.rb +11 -0
- data/lib/coss/types/sign_field_type.rb +17 -0
- data/lib/coss/types/sign_request.rb +47 -0
- data/lib/coss/types/sign_request_documents_item.rb +15 -0
- data/lib/coss/types/sign_request_list.rb +13 -0
- data/lib/coss/types/sign_request_list_object.rb +11 -0
- data/lib/coss/types/sign_request_object.rb +11 -0
- data/lib/coss/types/sign_request_signed_document.rb +11 -0
- data/lib/coss/types/sign_request_signing_order.rb +12 -0
- data/lib/coss/types/sign_request_status.rb +16 -0
- data/lib/coss/types/sign_request_webhook_event.rb +19 -0
- data/lib/coss/types/sign_request_webhook_event_data.rb +23 -0
- data/lib/coss/types/sign_request_webhook_event_data_signer.rb +18 -0
- data/lib/coss/types/sign_request_webhook_event_data_signer_status.rb +15 -0
- data/lib/coss/types/sign_request_webhook_event_data_status.rb +16 -0
- data/lib/coss/types/sign_request_webhook_event_object.rb +11 -0
- data/lib/coss/types/sign_request_webhook_event_type.rb +17 -0
- data/lib/coss/types/sign_session.rb +21 -0
- data/lib/coss/types/sign_session_object.rb +11 -0
- data/lib/coss/types/sign_settings.rb +23 -0
- data/lib/coss/types/sign_settings_object.rb +11 -0
- data/lib/coss/types/sign_settings_theme.rb +13 -0
- data/lib/coss/types/sign_signer.rb +33 -0
- data/lib/coss/types/sign_signer_authentication.rb +12 -0
- data/lib/coss/types/sign_signer_delivery.rb +12 -0
- data/lib/coss/types/sign_signer_object.rb +11 -0
- data/lib/coss/types/sign_signer_status.rb +15 -0
- data/lib/coss/types/sign_template.rb +33 -0
- data/lib/coss/types/sign_template_documents_item.rb +17 -0
- data/lib/coss/types/sign_template_documents_item_pages_item.rb +11 -0
- data/lib/coss/types/sign_template_fields_item.rb +31 -0
- data/lib/coss/types/sign_template_fields_item_type.rb +17 -0
- data/lib/coss/types/sign_template_list.rb +13 -0
- data/lib/coss/types/sign_template_list_object.rb +11 -0
- data/lib/coss/types/sign_template_object.rb +11 -0
- data/lib/coss/types/sign_template_roles_item.rb +11 -0
- data/lib/coss/types/sign_template_signing_order.rb +12 -0
- data/lib/coss/types/subaccount.rb +27 -0
- data/lib/coss/types/subaccount_list.rb +13 -0
- data/lib/coss/types/subaccount_list_object.rb +11 -0
- data/lib/coss/types/subaccount_object.rb +11 -0
- data/lib/coss/types/subaccount_quotas.rb +13 -0
- data/lib/coss/types/subaccount_reputation.rb +15 -0
- data/lib/coss/types/subaccount_reputation_status.rb +13 -0
- data/lib/coss/types/subaccount_stats.rb +17 -0
- data/lib/coss/types/subaccount_stats_day.rb +23 -0
- data/lib/coss/types/subaccount_stats_object.rb +11 -0
- data/lib/coss/types/subaccount_status.rb +13 -0
- data/lib/coss/types/subaccount_webhook_event.rb +19 -0
- data/lib/coss/types/subaccount_webhook_event_data.rb +21 -0
- data/lib/coss/types/subaccount_webhook_event_data_previous_status.rb +13 -0
- data/lib/coss/types/subaccount_webhook_event_data_status.rb +13 -0
- data/lib/coss/types/subaccount_webhook_event_object.rb +11 -0
- data/lib/coss/types/subaccount_webhook_event_type.rb +14 -0
- data/lib/coss/types/suppression.rb +2 -0
- data/lib/coss/types/usage_meter.rb +7 -0
- data/lib/coss/types/verification.rb +39 -0
- data/lib/coss/types/verification_channel.rb +12 -0
- data/lib/coss/types/verification_check.rb +13 -0
- data/lib/coss/types/verification_check_object.rb +11 -0
- data/lib/coss/types/verification_failure.rb +12 -0
- data/lib/coss/types/verification_list.rb +13 -0
- data/lib/coss/types/verification_list_object.rb +11 -0
- data/lib/coss/types/verification_object.rb +11 -0
- data/lib/coss/types/verification_reasons_item.rb +12 -0
- data/lib/coss/types/verification_send.rb +17 -0
- data/lib/coss/types/verification_send_channel.rb +12 -0
- data/lib/coss/types/verification_send_route.rb +14 -0
- data/lib/coss/types/verification_status.rb +16 -0
- data/lib/coss/types/verification_tags_item.rb +11 -0
- data/lib/coss/types/verification_webhook_event.rb +19 -0
- data/lib/coss/types/verification_webhook_event_data.rb +25 -0
- data/lib/coss/types/verification_webhook_event_data_channel.rb +12 -0
- data/lib/coss/types/verification_webhook_event_data_failure.rb +11 -0
- data/lib/coss/types/verification_webhook_event_data_reasons_item.rb +12 -0
- data/lib/coss/types/verification_webhook_event_data_status.rb +16 -0
- data/lib/coss/types/verification_webhook_event_data_tags_item.rb +11 -0
- data/lib/coss/types/verification_webhook_event_object.rb +11 -0
- data/lib/coss/types/verification_webhook_event_type.rb +13 -0
- data/lib/coss/types/webhook_test_event_event.rb +8 -0
- data/lib/coss/verify/client.rb +248 -0
- data/lib/coss/verify/types/cancel_verify_request.rb +11 -0
- data/lib/coss/verify/types/check_verification_request.rb +17 -0
- data/lib/coss/verify/types/get_verify_request.rb +11 -0
- data/lib/coss/verify/types/list_verify_request.rb +17 -0
- data/lib/coss/verify/types/list_verify_request_status.rb +18 -0
- data/lib/coss/verify/types/start_verification_request.rb +21 -0
- data/lib/coss/verify/types/start_verification_request_channel.rb +14 -0
- data/lib/coss/verify/types/start_verification_request_tags_item.rb +13 -0
- data/lib/coss/version.rb +1 -1
- data/lib/coss/webhook_endpoints/types/create_webhook_endpoint_request_event_types_item.rb +17 -0
- data/lib/coss/webhook_endpoints/types/update_webhook_endpoint_request_event_types_item.rb +17 -0
- data/lib/coss/webhook_events/types/create_test_webhook_event_request_type.rb +17 -0
- data/lib/coss/webhook_listeners/types/create_webhook_listener_request_event_types_item.rb +17 -0
- data/lib/coss.rb +309 -0
- data/reference.md +7422 -2479
- metadata +310 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: db2a36443a05458d327a71f7d2cb9f008bac45c478ec9c671b54f2a3968caf95
|
|
4
|
+
data.tar.gz: 260b90bc919e4ec3c6076c703c31a72e419842daecf8d3ce4e16d9b32987cf08
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 54a4756575583de9be754d9c1d70ccb1dc6a3d71a4f01035aaa4e64c426d3cc3fca0523bac7779c4ab6b69ee6d970fa8db03b6923563455d8444be7a0152dd24
|
|
7
|
+
data.tar.gz: f742f3b37f4a16310db632a557d44150fbda12b94635efe7870460381c4012dffbba408cf3b846afb09e949480aee493530568bda099599f1ee433d6cded46aa
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
- Regenerated from the API's OpenAPI document at 9051e32f1f00. What changed in the API: the
|
|
6
|
+
[API changelog](https://coss.com/docs/api-reference/changelog).
|
|
7
|
+
|
|
3
8
|
## 0.1.0
|
|
4
9
|
|
|
5
10
|
- First release: every endpoint of the coss.com API (version `2026-10-10`), generated from its
|
|
@@ -8,10 +8,17 @@ module Coss
|
|
|
8
8
|
|
|
9
9
|
EMAIL_RECIPIENTS = "email.recipients"
|
|
10
10
|
EMAIL_DEDICATED_IP = "email.dedicated_ip"
|
|
11
|
+
EMAIL_RECEIVED = "email.received"
|
|
12
|
+
EMAIL_INBOXES = "email.inboxes"
|
|
11
13
|
SMS_SEGMENTS = "sms.segments"
|
|
12
14
|
SMS_RECEIVED_SEGMENTS = "sms.received_segments"
|
|
13
15
|
SMS_NUMBERS = "sms.numbers"
|
|
14
16
|
SMS_REGISTRATIONS = "sms.registrations"
|
|
17
|
+
SIGN_COMPLETED_REQUESTS = "sign.completed_requests"
|
|
18
|
+
RISK_PHONE_CHECKS = "risk.phone_checks"
|
|
19
|
+
VERIFY_VERIFICATIONS = "verify.verifications"
|
|
20
|
+
VERIFY_SMS = "verify.sms"
|
|
21
|
+
FORMS_SUBMISSIONS = "forms.submissions"
|
|
15
22
|
VIDEO_PARTICIPANT_MINUTES = "video.participant_minutes"
|
|
16
23
|
SCHEDULING_BOOKINGS = "scheduling.bookings"
|
|
17
24
|
end
|
data/lib/coss/client.rb
CHANGED
|
@@ -12,7 +12,7 @@ module Coss
|
|
|
12
12
|
@raw_client = Coss::Internal::Http::RawClient.new(
|
|
13
13
|
base_url: base_url || Coss::Environment::DEFAULT,
|
|
14
14
|
headers: {
|
|
15
|
-
"User-Agent" => "coss-ruby/0.
|
|
15
|
+
"User-Agent" => "coss-ruby/0.2.0",
|
|
16
16
|
"X-Fern-Language" => "Ruby",
|
|
17
17
|
Authorization: "Bearer #{api_key}",
|
|
18
18
|
"Coss-Version" => api_version.to_s
|
|
@@ -62,6 +62,16 @@ module Coss
|
|
|
62
62
|
@sms ||= Coss::Sms::Client.new(client: @raw_client)
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
+
# @return [Coss::Verify::Client]
|
|
66
|
+
def verify
|
|
67
|
+
@verify ||= Coss::Verify::Client.new(client: @raw_client)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# @return [Coss::Forms::Client]
|
|
71
|
+
def forms
|
|
72
|
+
@forms ||= Coss::Forms::Client.new(client: @raw_client)
|
|
73
|
+
end
|
|
74
|
+
|
|
65
75
|
# @return [Coss::Reputation::Client]
|
|
66
76
|
def reputation
|
|
67
77
|
@reputation ||= Coss::Reputation::Client.new(client: @raw_client)
|
|
@@ -87,6 +97,11 @@ module Coss
|
|
|
87
97
|
@log_drains ||= Coss::LogDrains::Client.new(client: @raw_client)
|
|
88
98
|
end
|
|
89
99
|
|
|
100
|
+
# @return [Coss::Inboxes::Client]
|
|
101
|
+
def inboxes
|
|
102
|
+
@inboxes ||= Coss::Inboxes::Client.new(client: @raw_client)
|
|
103
|
+
end
|
|
104
|
+
|
|
90
105
|
# @return [Coss::Risk::Client]
|
|
91
106
|
def risk
|
|
92
107
|
@risk ||= Coss::Risk::Client.new(client: @raw_client)
|
|
@@ -96,5 +111,10 @@ module Coss
|
|
|
96
111
|
def hooks
|
|
97
112
|
@hooks ||= Coss::Hooks::Client.new(client: @raw_client)
|
|
98
113
|
end
|
|
114
|
+
|
|
115
|
+
# @return [Coss::Sign::Client]
|
|
116
|
+
def sign
|
|
117
|
+
@sign ||= Coss::Sign::Client.new(client: @raw_client)
|
|
118
|
+
end
|
|
99
119
|
end
|
|
100
120
|
end
|
data/lib/coss/domains/client.rb
CHANGED
|
@@ -14,22 +14,28 @@ module Coss
|
|
|
14
14
|
# so every API key of the organization sees the same domains.
|
|
15
15
|
#
|
|
16
16
|
# @param request_options [Hash]
|
|
17
|
-
# @param
|
|
17
|
+
# @param params [Hash]
|
|
18
18
|
# @option request_options [String] :base_url
|
|
19
19
|
# @option request_options [Hash{String => Object}] :additional_headers
|
|
20
20
|
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
21
21
|
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
22
22
|
# @option request_options [Integer] :timeout_in_seconds
|
|
23
|
+
# @option params [String, nil] :subaccount
|
|
23
24
|
#
|
|
24
25
|
# @example
|
|
25
26
|
# client.domains.list
|
|
26
27
|
#
|
|
27
28
|
# @return [Coss::Types::DomainList]
|
|
28
|
-
def list(request_options: {}, **
|
|
29
|
+
def list(request_options: {}, **params)
|
|
30
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
31
|
+
query_params = {}
|
|
32
|
+
query_params["subaccount"] = params[:subaccount] if params.key?(:subaccount)
|
|
33
|
+
|
|
29
34
|
request = Coss::Internal::JSON::Request.new(
|
|
30
35
|
base_url: request_options[:base_url],
|
|
31
36
|
method: "GET",
|
|
32
37
|
path: "v1/domains",
|
|
38
|
+
query: query_params,
|
|
33
39
|
request_options: request_options
|
|
34
40
|
)
|
|
35
41
|
begin
|
|
@@ -163,6 +169,52 @@ module Coss
|
|
|
163
169
|
end
|
|
164
170
|
end
|
|
165
171
|
|
|
172
|
+
# Shares one of the organization's own domains with its sub-accounts (they may then send from it, through the
|
|
173
|
+
# organization's reputation), or stops sharing it.
|
|
174
|
+
#
|
|
175
|
+
# @param request_options [Hash]
|
|
176
|
+
# @param params [Coss::Domains::Types::UpdateDomainRequest]
|
|
177
|
+
# @option request_options [String] :base_url
|
|
178
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
179
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
180
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
181
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
182
|
+
# @option params [String] :id
|
|
183
|
+
#
|
|
184
|
+
# @example
|
|
185
|
+
# client.domains.update(
|
|
186
|
+
# id: "dom_01k7c8m4q2f3e9v6t5r1n0p8yz",
|
|
187
|
+
# shared_with_subaccounts: true
|
|
188
|
+
# )
|
|
189
|
+
#
|
|
190
|
+
# @return [Coss::Types::Domain]
|
|
191
|
+
def update(request_options: {}, **params)
|
|
192
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
193
|
+
request_data = Coss::Domains::Types::UpdateDomainRequest.new(params).to_h
|
|
194
|
+
non_body_param_names = %w[id]
|
|
195
|
+
body = request_data.except(*non_body_param_names)
|
|
196
|
+
|
|
197
|
+
request = Coss::Internal::JSON::Request.new(
|
|
198
|
+
base_url: request_options[:base_url],
|
|
199
|
+
method: "PATCH",
|
|
200
|
+
path: "v1/domains/#{URI.encode_uri_component(params[:id].to_s)}",
|
|
201
|
+
body: body,
|
|
202
|
+
request_options: request_options
|
|
203
|
+
)
|
|
204
|
+
begin
|
|
205
|
+
response = @client.send(request)
|
|
206
|
+
rescue Net::HTTPRequestTimeout
|
|
207
|
+
raise Coss::Errors::TimeoutError
|
|
208
|
+
end
|
|
209
|
+
code = response.code.to_i
|
|
210
|
+
if code.between?(200, 299)
|
|
211
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Domain.load(response.body))
|
|
212
|
+
else
|
|
213
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
214
|
+
raise error_class.new(response.body, code: code)
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
|
|
166
218
|
# Asks the delivery provider and DNS about the domain immediately instead of waiting for the next background
|
|
167
219
|
# check, and returns the updated domain. A `failed` domain starts verification over with fresh DKIM records, which
|
|
168
220
|
# have to be published again. Its tracking domain, if any, is checked too (and set up again if it `failed`).
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Domains
|
|
5
|
+
module Types
|
|
6
|
+
class UpdateDomainRequest < Internal::Types::Model
|
|
7
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :shared_with_subaccounts, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
data/lib/coss/email/client.rb
CHANGED
|
@@ -27,6 +27,7 @@ module Coss
|
|
|
27
27
|
# @option params [String, nil] :q
|
|
28
28
|
# @option params [String, nil] :category
|
|
29
29
|
# @option params [String, nil] :batch_id
|
|
30
|
+
# @option params [String, nil] :subaccount
|
|
30
31
|
# @option params [String, nil] :created_after
|
|
31
32
|
# @option params [String, nil] :created_before
|
|
32
33
|
# @option params [Integer, nil] :limit
|
|
@@ -45,6 +46,7 @@ module Coss
|
|
|
45
46
|
query_params["q"] = params[:q] if params.key?(:q)
|
|
46
47
|
query_params["category"] = params[:category] if params.key?(:category)
|
|
47
48
|
query_params["batch_id"] = params[:batch_id] if params.key?(:batch_id)
|
|
49
|
+
query_params["subaccount"] = params[:subaccount] if params.key?(:subaccount)
|
|
48
50
|
query_params["created_after"] = params[:created_after] if params.key?(:created_after)
|
|
49
51
|
query_params["created_before"] = params[:created_before] if params.key?(:created_before)
|
|
50
52
|
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
@@ -460,6 +462,11 @@ module Coss
|
|
|
460
462
|
@suppressions ||= Coss::Email::Suppressions::Client.new(client: @client)
|
|
461
463
|
end
|
|
462
464
|
|
|
465
|
+
# @return [Coss::Subaccounts::Client]
|
|
466
|
+
def subaccounts
|
|
467
|
+
@subaccounts ||= Coss::Email::Subaccounts::Client.new(client: @client)
|
|
468
|
+
end
|
|
469
|
+
|
|
463
470
|
# @return [Coss::Tracking::Client]
|
|
464
471
|
def tracking
|
|
465
472
|
@tracking ||= Coss::Email::Tracking::Client.new(client: @client)
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Email
|
|
5
|
+
module Subaccounts
|
|
6
|
+
class Client
|
|
7
|
+
# @param client [Coss::Internal::Http::RawClient]
|
|
8
|
+
#
|
|
9
|
+
# @return [void]
|
|
10
|
+
def initialize(client:)
|
|
11
|
+
@client = client
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The environment's sub-accounts, newest first. Sub-accounts belong to the API key's own environment: a
|
|
15
|
+
# `coss_test_…` key only ever sees sandbox ones, a `coss_live_…` key only production ones.
|
|
16
|
+
#
|
|
17
|
+
# @param request_options [Hash]
|
|
18
|
+
# @param params [Hash]
|
|
19
|
+
# @option request_options [String] :base_url
|
|
20
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
21
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
22
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
23
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
24
|
+
# @option params [Integer, nil] :limit
|
|
25
|
+
# @option params [String, nil] :after
|
|
26
|
+
#
|
|
27
|
+
# @example
|
|
28
|
+
# client.email.subaccounts.list(after: "sub_01k7c8m4q2f3e9v6t5r1n0p8yz")
|
|
29
|
+
#
|
|
30
|
+
# @return [Coss::Types::SubaccountList]
|
|
31
|
+
def list(request_options: {}, **params)
|
|
32
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
33
|
+
query_params = {}
|
|
34
|
+
query_params["limit"] = params[:limit] if params.key?(:limit)
|
|
35
|
+
query_params["after"] = params[:after] if params.key?(:after)
|
|
36
|
+
|
|
37
|
+
request = Coss::Internal::JSON::Request.new(
|
|
38
|
+
base_url: request_options[:base_url],
|
|
39
|
+
method: "GET",
|
|
40
|
+
path: "v1/subaccounts",
|
|
41
|
+
query: query_params,
|
|
42
|
+
request_options: request_options
|
|
43
|
+
)
|
|
44
|
+
begin
|
|
45
|
+
response = @client.send(request)
|
|
46
|
+
rescue Net::HTTPRequestTimeout
|
|
47
|
+
raise Coss::Errors::TimeoutError
|
|
48
|
+
end
|
|
49
|
+
code = response.code.to_i
|
|
50
|
+
if code.between?(200, 299)
|
|
51
|
+
(response.body.to_s.empty? ? nil : Coss::Types::SubaccountList.load(response.body))
|
|
52
|
+
else
|
|
53
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
54
|
+
raise error_class.new(response.body, code: code)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Creates a sub-account: one of your users, who gets their own domains, suppressions, quotas and reputation.
|
|
59
|
+
# Give it a `uid` (e.g. your user's id) to address it by in every path and send. Sub-accounts belong to the API
|
|
60
|
+
# key's own environment: a `coss_test_…` key only ever sees sandbox ones, a `coss_live_…` key only production
|
|
61
|
+
# ones.
|
|
62
|
+
#
|
|
63
|
+
# @param request_options [Hash]
|
|
64
|
+
# @param params [Coss::Email::Subaccounts::Types::CreateSubaccountRequest]
|
|
65
|
+
# @option request_options [String] :base_url
|
|
66
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
67
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
68
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
69
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
70
|
+
#
|
|
71
|
+
# @example
|
|
72
|
+
# client.email.subaccounts.create(
|
|
73
|
+
# name: "Acme Bakery",
|
|
74
|
+
# uid: "user_8812",
|
|
75
|
+
# quotas: {
|
|
76
|
+
# recipients_per_day: 5000
|
|
77
|
+
# }
|
|
78
|
+
# )
|
|
79
|
+
#
|
|
80
|
+
# @return [Coss::Types::Subaccount]
|
|
81
|
+
def create(request_options: {}, **params)
|
|
82
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
83
|
+
headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
|
|
84
|
+
request = Coss::Internal::JSON::Request.new(
|
|
85
|
+
base_url: request_options[:base_url],
|
|
86
|
+
method: "POST",
|
|
87
|
+
path: "v1/subaccounts",
|
|
88
|
+
headers: headers,
|
|
89
|
+
body: Coss::Email::Subaccounts::Types::CreateSubaccountRequest.new(params).to_h,
|
|
90
|
+
request_options: request_options,
|
|
91
|
+
max_retries: 0
|
|
92
|
+
)
|
|
93
|
+
begin
|
|
94
|
+
response = @client.send(request)
|
|
95
|
+
rescue Net::HTTPRequestTimeout
|
|
96
|
+
raise Coss::Errors::TimeoutError
|
|
97
|
+
end
|
|
98
|
+
code = response.code.to_i
|
|
99
|
+
if code.between?(200, 299)
|
|
100
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Subaccount.load(response.body))
|
|
101
|
+
else
|
|
102
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
103
|
+
raise error_class.new(response.body, code: code)
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# A sub-account of the API key's environment, by its id or uid, with its quotas and reputation.
|
|
108
|
+
#
|
|
109
|
+
# @param request_options [Hash]
|
|
110
|
+
# @param params [Hash]
|
|
111
|
+
# @option request_options [String] :base_url
|
|
112
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
113
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
114
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
115
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
116
|
+
# @option params [String] :subaccount
|
|
117
|
+
#
|
|
118
|
+
# @example
|
|
119
|
+
# client.email.subaccounts.get(subaccount: "user_8812")
|
|
120
|
+
#
|
|
121
|
+
# @return [Coss::Types::Subaccount]
|
|
122
|
+
def get(request_options: {}, **params)
|
|
123
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
124
|
+
request = Coss::Internal::JSON::Request.new(
|
|
125
|
+
base_url: request_options[:base_url],
|
|
126
|
+
method: "GET",
|
|
127
|
+
path: "v1/subaccounts/#{URI.encode_uri_component(params[:subaccount].to_s)}",
|
|
128
|
+
request_options: request_options
|
|
129
|
+
)
|
|
130
|
+
begin
|
|
131
|
+
response = @client.send(request)
|
|
132
|
+
rescue Net::HTTPRequestTimeout
|
|
133
|
+
raise Coss::Errors::TimeoutError
|
|
134
|
+
end
|
|
135
|
+
code = response.code.to_i
|
|
136
|
+
if code.between?(200, 299)
|
|
137
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Subaccount.load(response.body))
|
|
138
|
+
else
|
|
139
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
140
|
+
raise error_class.new(response.body, code: code)
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Starts deleting the sub-account: its sends are refused at once, then its domains are released and it is
|
|
145
|
+
# removed with its suppressions (`status` is `deleting` until then). Its emails stay, with its id. Repeating the
|
|
146
|
+
# call returns it as it is.
|
|
147
|
+
#
|
|
148
|
+
# @param request_options [Hash]
|
|
149
|
+
# @param params [Hash]
|
|
150
|
+
# @option request_options [String] :base_url
|
|
151
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
152
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
153
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
154
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
155
|
+
# @option params [String] :subaccount
|
|
156
|
+
#
|
|
157
|
+
# @example
|
|
158
|
+
# client.email.subaccounts.delete(subaccount: "user_8812")
|
|
159
|
+
#
|
|
160
|
+
# @return [Coss::Types::Subaccount]
|
|
161
|
+
def delete(request_options: {}, **params)
|
|
162
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
163
|
+
request = Coss::Internal::JSON::Request.new(
|
|
164
|
+
base_url: request_options[:base_url],
|
|
165
|
+
method: "DELETE",
|
|
166
|
+
path: "v1/subaccounts/#{URI.encode_uri_component(params[:subaccount].to_s)}",
|
|
167
|
+
request_options: request_options
|
|
168
|
+
)
|
|
169
|
+
begin
|
|
170
|
+
response = @client.send(request)
|
|
171
|
+
rescue Net::HTTPRequestTimeout
|
|
172
|
+
raise Coss::Errors::TimeoutError
|
|
173
|
+
end
|
|
174
|
+
code = response.code.to_i
|
|
175
|
+
if code.between?(200, 299)
|
|
176
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Subaccount.load(response.body))
|
|
177
|
+
else
|
|
178
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
179
|
+
raise error_class.new(response.body, code: code)
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Changes the name, uid, metadata, status or quotas. Fields left out keep their value; `status: "disabled"`
|
|
184
|
+
# refuses its sends until it is `active` again.
|
|
185
|
+
#
|
|
186
|
+
# @param request_options [Hash]
|
|
187
|
+
# @param params [Coss::Email::Subaccounts::Types::UpdateSubaccountRequest]
|
|
188
|
+
# @option request_options [String] :base_url
|
|
189
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
190
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
191
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
192
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
193
|
+
# @option params [String] :subaccount
|
|
194
|
+
#
|
|
195
|
+
# @example
|
|
196
|
+
# client.email.subaccounts.update(
|
|
197
|
+
# subaccount: "user_8812",
|
|
198
|
+
# status: "disabled"
|
|
199
|
+
# )
|
|
200
|
+
#
|
|
201
|
+
# @return [Coss::Types::Subaccount]
|
|
202
|
+
def update(request_options: {}, **params)
|
|
203
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
204
|
+
request_data = Coss::Email::Subaccounts::Types::UpdateSubaccountRequest.new(params).to_h
|
|
205
|
+
non_body_param_names = %w[subaccount]
|
|
206
|
+
body = request_data.except(*non_body_param_names)
|
|
207
|
+
|
|
208
|
+
request = Coss::Internal::JSON::Request.new(
|
|
209
|
+
base_url: request_options[:base_url],
|
|
210
|
+
method: "PATCH",
|
|
211
|
+
path: "v1/subaccounts/#{URI.encode_uri_component(params[:subaccount].to_s)}",
|
|
212
|
+
body: body,
|
|
213
|
+
request_options: request_options
|
|
214
|
+
)
|
|
215
|
+
begin
|
|
216
|
+
response = @client.send(request)
|
|
217
|
+
rescue Net::HTTPRequestTimeout
|
|
218
|
+
raise Coss::Errors::TimeoutError
|
|
219
|
+
end
|
|
220
|
+
code = response.code.to_i
|
|
221
|
+
if code.between?(200, 299)
|
|
222
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Subaccount.load(response.body))
|
|
223
|
+
else
|
|
224
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
225
|
+
raise error_class.new(response.body, code: code)
|
|
226
|
+
end
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
# Lifts the sub-account's reputation pause (or warning) once you fixed what caused it: its rates are measured
|
|
230
|
+
# again from now on. A pause is never lifted on its own. Repeating the call returns it as it is. Your
|
|
231
|
+
# organization's own reputation still counts its sending.
|
|
232
|
+
#
|
|
233
|
+
# @param request_options [Hash]
|
|
234
|
+
# @param params [Hash]
|
|
235
|
+
# @option request_options [String] :base_url
|
|
236
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
237
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
238
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
239
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
240
|
+
# @option params [String] :subaccount
|
|
241
|
+
#
|
|
242
|
+
# @example
|
|
243
|
+
# client.email.subaccounts.reinstate(subaccount: "user_8812")
|
|
244
|
+
#
|
|
245
|
+
# @return [Coss::Types::Subaccount]
|
|
246
|
+
def reinstate(request_options: {}, **params)
|
|
247
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
248
|
+
headers = { "Idempotency-Key" => Coss::Internal::IdempotencyKey.generate }
|
|
249
|
+
request = Coss::Internal::JSON::Request.new(
|
|
250
|
+
base_url: request_options[:base_url],
|
|
251
|
+
method: "POST",
|
|
252
|
+
path: "v1/subaccounts/#{URI.encode_uri_component(params[:subaccount].to_s)}/reinstate",
|
|
253
|
+
headers: headers,
|
|
254
|
+
request_options: request_options
|
|
255
|
+
)
|
|
256
|
+
begin
|
|
257
|
+
response = @client.send(request)
|
|
258
|
+
rescue Net::HTTPRequestTimeout
|
|
259
|
+
raise Coss::Errors::TimeoutError
|
|
260
|
+
end
|
|
261
|
+
code = response.code.to_i
|
|
262
|
+
if code.between?(200, 299)
|
|
263
|
+
(response.body.to_s.empty? ? nil : Coss::Types::Subaccount.load(response.body))
|
|
264
|
+
else
|
|
265
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
266
|
+
raise error_class.new(response.body, code: code)
|
|
267
|
+
end
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
# The sub-account's sending per UTC day: recipients, sent, delivered, bounced, complained, failed and
|
|
271
|
+
# suppressed, counted from its emails as they are now (a later bounce moves its day's numbers). Emails are kept
|
|
272
|
+
# 45 days, so earlier days are left out.
|
|
273
|
+
#
|
|
274
|
+
# @param request_options [Hash]
|
|
275
|
+
# @param params [Hash]
|
|
276
|
+
# @option request_options [String] :base_url
|
|
277
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
278
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
279
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
280
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
281
|
+
# @option params [String] :subaccount
|
|
282
|
+
# @option params [String, nil] :from
|
|
283
|
+
# @option params [String, nil] :to
|
|
284
|
+
#
|
|
285
|
+
# @example
|
|
286
|
+
# client.email.subaccounts.stats(
|
|
287
|
+
# subaccount: "user_8812",
|
|
288
|
+
# from: "2026-10-01",
|
|
289
|
+
# to: "2026-10-15"
|
|
290
|
+
# )
|
|
291
|
+
#
|
|
292
|
+
# @return [Coss::Types::SubaccountStats]
|
|
293
|
+
def stats(request_options: {}, **params)
|
|
294
|
+
params = Coss::Internal::Types::Utils.normalize_keys(params)
|
|
295
|
+
query_params = {}
|
|
296
|
+
query_params["from"] = params[:from] if params.key?(:from)
|
|
297
|
+
query_params["to"] = params[:to] if params.key?(:to)
|
|
298
|
+
|
|
299
|
+
request = Coss::Internal::JSON::Request.new(
|
|
300
|
+
base_url: request_options[:base_url],
|
|
301
|
+
method: "GET",
|
|
302
|
+
path: "v1/subaccounts/#{URI.encode_uri_component(params[:subaccount].to_s)}/stats",
|
|
303
|
+
query: query_params,
|
|
304
|
+
request_options: request_options
|
|
305
|
+
)
|
|
306
|
+
begin
|
|
307
|
+
response = @client.send(request)
|
|
308
|
+
rescue Net::HTTPRequestTimeout
|
|
309
|
+
raise Coss::Errors::TimeoutError
|
|
310
|
+
end
|
|
311
|
+
code = response.code.to_i
|
|
312
|
+
if code.between?(200, 299)
|
|
313
|
+
(response.body.to_s.empty? ? nil : Coss::Types::SubaccountStats.load(response.body))
|
|
314
|
+
else
|
|
315
|
+
error_class = Coss::Errors::ResponseError.subclass_for_code(code)
|
|
316
|
+
raise error_class.new(response.body, code: code)
|
|
317
|
+
end
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
end
|
|
322
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Email
|
|
5
|
+
module Subaccounts
|
|
6
|
+
module Types
|
|
7
|
+
class CreateSubaccountRequest < Internal::Types::Model
|
|
8
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :uid, -> { String }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :metadata, -> { Internal::Types::Hash[String, String] }, optional: true, nullable: false
|
|
13
|
+
|
|
14
|
+
field :quotas, -> { Coss::Email::Subaccounts::Types::CreateSubaccountRequestQuotas }, optional: true, nullable: false
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Email
|
|
5
|
+
module Subaccounts
|
|
6
|
+
module Types
|
|
7
|
+
# Fields left out keep their value; `null` removes a quota.
|
|
8
|
+
class CreateSubaccountRequestQuotas < Internal::Types::Model
|
|
9
|
+
field :recipients_per_day, -> { Integer }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :recipients_per_second, -> { Integer }, optional: true, nullable: false
|
|
12
|
+
|
|
13
|
+
field :burst, -> { Integer }, optional: true, nullable: false
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Email
|
|
5
|
+
module Subaccounts
|
|
6
|
+
module Types
|
|
7
|
+
class DeleteSubaccountsRequest < Internal::Types::Model
|
|
8
|
+
field :subaccount, -> { String }, optional: false, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Email
|
|
5
|
+
module Subaccounts
|
|
6
|
+
module Types
|
|
7
|
+
class ListSubaccountsRequest < Internal::Types::Model
|
|
8
|
+
field :limit, -> { Integer }, optional: true, nullable: false
|
|
9
|
+
|
|
10
|
+
field :after, -> { String }, optional: true, nullable: false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Email
|
|
5
|
+
module Subaccounts
|
|
6
|
+
module Types
|
|
7
|
+
class ReinstateSubaccountsRequest < Internal::Types::Model
|
|
8
|
+
field :subaccount, -> { String }, optional: false, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Coss
|
|
4
|
+
module Email
|
|
5
|
+
module Subaccounts
|
|
6
|
+
module Types
|
|
7
|
+
class StatsSubaccountsRequest < Internal::Types::Model
|
|
8
|
+
field :subaccount, -> { String }, optional: false, nullable: false
|
|
9
|
+
|
|
10
|
+
field :from, -> { String }, optional: true, nullable: false
|
|
11
|
+
|
|
12
|
+
field :to, -> { String }, optional: true, nullable: false
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|