norbelys 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +9 -0
- data/README.md +429 -0
- data/Rakefile +10 -0
- data/docs/AddProgramSenderParams.md +18 -0
- data/docs/AiEmailVariantContent.md +28 -0
- data/docs/AnalyticsApi.md +81 -0
- data/docs/AnalyticsQuery.md +20 -0
- data/docs/AnalyticsQueryName.md +15 -0
- data/docs/AnalyticsQueryParams.md +50 -0
- data/docs/AnalyticsQueryResult.md +20 -0
- data/docs/ApiError.md +18 -0
- data/docs/ApiErrorDetail.md +26 -0
- data/docs/AudienceActivityAction.md +15 -0
- data/docs/AudienceActivityCondition.md +20 -0
- data/docs/AudienceActivityLinkFilter.md +20 -0
- data/docs/AudienceActivityLinkMatchOp.md +15 -0
- data/docs/AudienceActivityParams.md +32 -0
- data/docs/AudienceAttributeCondition.md +22 -0
- data/docs/AudienceConditionOp.md +15 -0
- data/docs/AudienceConditionValue.md +15 -0
- data/docs/AudienceFilter.md +20 -0
- data/docs/AudienceMatch.md +15 -0
- data/docs/AudienceRule.md +26 -0
- data/docs/AudienceSource.md +26 -0
- data/docs/AudienceStatusBreakdown.md +20 -0
- data/docs/AudienceSummary.md +26 -0
- data/docs/AudienceWeekPoint.md +20 -0
- data/docs/BulkUpdateSenderPatch.md +34 -0
- data/docs/BulkUpdateSendersInput.md +20 -0
- data/docs/BulkUpdateSendersResult.md +24 -0
- data/docs/CampaignReportShare.md +22 -0
- data/docs/CollectionAddress.md +28 -0
- data/docs/ConnectionSettings.md +22 -0
- data/docs/CreateSenderInput.md +42 -0
- data/docs/DetachResult.md +18 -0
- data/docs/DmarcRecordToPublish.md +22 -0
- data/docs/Domain.md +38 -0
- data/docs/DomainAge.md +30 -0
- data/docs/DomainCapacity.md +28 -0
- data/docs/DomainCreateParams.md +24 -0
- data/docs/DomainDetail.md +42 -0
- data/docs/DomainHealth.md +24 -0
- data/docs/DomainList.md +26 -0
- data/docs/DomainMonitoring.md +30 -0
- data/docs/DomainMonitoringParams.md +20 -0
- data/docs/DomainSending.md +26 -0
- data/docs/DomainSendingPolicy.md +36 -0
- data/docs/DomainSendingPolicyParams.md +32 -0
- data/docs/DomainSendingUpdateParams.md +20 -0
- data/docs/DomainTracking.md +50 -0
- data/docs/DomainTrackingParams.md +22 -0
- data/docs/DomainTrackingUpdateParams.md +24 -0
- data/docs/DomainUpdateParams.md +22 -0
- data/docs/DomainsApi.md +525 -0
- data/docs/EmailVariantContent.md +28 -0
- data/docs/EnrollProgramParams.md +28 -0
- data/docs/EnrollProgramResult.md +28 -0
- data/docs/Enrollment.md +42 -0
- data/docs/EnrollmentCounts.md +44 -0
- data/docs/EnrollmentList.md +28 -0
- data/docs/EnrollmentPersonRef.md +22 -0
- data/docs/EnrollmentProgramRef.md +20 -0
- data/docs/Features.md +18 -0
- data/docs/Field.md +38 -0
- data/docs/FieldCreateParams.md +26 -0
- data/docs/FieldList.md +20 -0
- data/docs/FieldType.md +15 -0
- data/docs/FieldUpdateParams.md +24 -0
- data/docs/FieldsApi.md +297 -0
- data/docs/FileObject.md +28 -0
- data/docs/FileUpload.md +22 -0
- data/docs/FilesApi.md +81 -0
- data/docs/Group.md +34 -0
- data/docs/GroupAddMembersParams.md +20 -0
- data/docs/GroupAddMembersResult.md +22 -0
- data/docs/GroupCreateParams.md +22 -0
- data/docs/GroupList.md +26 -0
- data/docs/GroupUpdateParams.md +22 -0
- data/docs/GroupsApi.md +521 -0
- data/docs/ImapConnectionUpdate.md +22 -0
- data/docs/InboundMessage.md +48 -0
- data/docs/Integration.md +34 -0
- data/docs/IntegrationConfig.md +26 -0
- data/docs/IntegrationConnectParams.md +18 -0
- data/docs/IntegrationConnectResult.md +18 -0
- data/docs/IntegrationList.md +26 -0
- data/docs/IntegrationNotifyConfig.md +24 -0
- data/docs/IntegrationOptions.md +18 -0
- data/docs/IntegrationProvider.md +15 -0
- data/docs/IntegrationStatus.md +15 -0
- data/docs/IntegrationSyncResult.md +18 -0
- data/docs/IntegrationUpdateParams.md +18 -0
- data/docs/IntegrationsApi.md +513 -0
- data/docs/LaunchProgramParams.md +18 -0
- data/docs/LaunchProgramResult.md +22 -0
- data/docs/Message.md +58 -0
- data/docs/MessageAddress.md +20 -0
- data/docs/MessageAttachment.md +28 -0
- data/docs/MessageAttachmentDownload.md +32 -0
- data/docs/MessageAttachmentInput.md +22 -0
- data/docs/MessageAttachmentList.md +22 -0
- data/docs/MessageCreateParams.md +44 -0
- data/docs/MessageEnrollParams.md +26 -0
- data/docs/MessageList.md +26 -0
- data/docs/MessageReplyParams.md +40 -0
- data/docs/MessageSource.md +36 -0
- data/docs/MessageSourceAttachment.md +22 -0
- data/docs/MessageTestParams.md +40 -0
- data/docs/MessageUpdateParams.md +22 -0
- data/docs/MessagesApi.md +543 -0
- data/docs/MonthlyEmailUsageMeter.md +24 -0
- data/docs/Organization.md +30 -0
- data/docs/OrganizationAlerts.md +18 -0
- data/docs/OrganizationAlertsParams.md +18 -0
- data/docs/OrganizationApi.md +350 -0
- data/docs/OrganizationBouncePolicy.md +20 -0
- data/docs/OrganizationBouncePolicyParams.md +20 -0
- data/docs/OrganizationOnboarding.md +20 -0
- data/docs/OrganizationProfile.md +22 -0
- data/docs/OrganizationProfileParams.md +22 -0
- data/docs/OrganizationPulse.md +28 -0
- data/docs/OrganizationUpdateParams.md +24 -0
- data/docs/OrganizationUsage.md +26 -0
- data/docs/OutboundMessage.md +46 -0
- data/docs/PeopleApi.md +681 -0
- data/docs/PeopleBulkCreateParams.md +28 -0
- data/docs/PeopleBulkCreateResult.md +34 -0
- data/docs/Person.md +52 -0
- data/docs/PersonCreateParams.md +30 -0
- data/docs/PersonDetail.md +60 -0
- data/docs/PersonErased.md +20 -0
- data/docs/PersonGroupRef.md +22 -0
- data/docs/PersonImportItem.md +30 -0
- data/docs/PersonImportReason.md +22 -0
- data/docs/PersonImportStats.md +36 -0
- data/docs/PersonList.md +26 -0
- data/docs/PersonListItem.md +50 -0
- data/docs/PersonSegmentRef.md +22 -0
- data/docs/PersonUpdateParams.md +30 -0
- data/docs/Program.md +78 -0
- data/docs/ProgramCreateParams.md +62 -0
- data/docs/ProgramDetail.md +84 -0
- data/docs/ProgramList.md +26 -0
- data/docs/ProgramListItem.md +80 -0
- data/docs/ProgramPauseMeta.md +20 -0
- data/docs/ProgramSenderRef.md +26 -0
- data/docs/ProgramStats.md +22 -0
- data/docs/ProgramStepInput.md +38 -0
- data/docs/ProgramUpdateParams.md +62 -0
- data/docs/ProgramVariantInput.md +26 -0
- data/docs/ProgramsApi.md +1283 -0
- data/docs/ProgramsAudienceList.md +26 -0
- data/docs/ProgramsSendersList.md +26 -0
- data/docs/ProviderApiSenderInput.md +38 -0
- data/docs/PulseDeliverability.md +30 -0
- data/docs/PulseProgram.md +42 -0
- data/docs/PulseSenderFleet.md +30 -0
- data/docs/PulseValue.md +26 -0
- data/docs/ReportShare.md +22 -0
- data/docs/Segment.md +32 -0
- data/docs/SegmentCreateParams.md +22 -0
- data/docs/SegmentList.md +26 -0
- data/docs/SegmentUpdateParams.md +22 -0
- data/docs/SegmentsApi.md +373 -0
- data/docs/SelfHostedSenderInput.md +36 -0
- data/docs/Sender.md +66 -0
- data/docs/SenderBulkError.md +20 -0
- data/docs/SenderDetail.md +70 -0
- data/docs/SenderList.md +26 -0
- data/docs/SenderRemoveResult.md +20 -0
- data/docs/SenderUsage.md +24 -0
- data/docs/SenderWarmupStatus.md +20 -0
- data/docs/SendersApi.md +531 -0
- data/docs/SlackChannel.md +20 -0
- data/docs/SmtpConnectionSettings.md +26 -0
- data/docs/SmtpConnectionUpdate.md +26 -0
- data/docs/SmtpSenderInput.md +40 -0
- data/docs/StaticEmailVariantContent.md +28 -0
- data/docs/StepWithVariants.md +46 -0
- data/docs/Suppression.md +32 -0
- data/docs/SuppressionBulkParams.md +20 -0
- data/docs/SuppressionBulkResult.md +18 -0
- data/docs/SuppressionCreateParams.md +24 -0
- data/docs/SuppressionList.md +26 -0
- data/docs/SuppressionScope.md +15 -0
- data/docs/SuppressionsApi.md +369 -0
- data/docs/SyncModel.md +15 -0
- data/docs/TeamSize.md +15 -0
- data/docs/TrackingDnsRecord.md +22 -0
- data/docs/UpdateSenderInput.md +48 -0
- data/docs/UsageMeter.md +22 -0
- data/docs/UsagePlan.md +22 -0
- data/docs/Variant.md +34 -0
- data/docs/VariantAi.md +22 -0
- data/docs/VerifyApi.md +81 -0
- data/docs/VerifyEmailInput.md +18 -0
- data/docs/VerifyMx.md +22 -0
- data/docs/VerifyReachability.md +15 -0
- data/docs/VerifyReasonCode.md +15 -0
- data/docs/VerifyResult.md +38 -0
- data/docs/VerifySignals.md +28 -0
- data/docs/VerifySyntax.md +22 -0
- data/docs/VoiceSenderInput.md +38 -0
- data/docs/WarmupRuntimeStatus.md +32 -0
- data/docs/WarmupSettings.md +44 -0
- data/docs/WarmupTemplate.md +20 -0
- data/docs/WarmupTodayTally.md +22 -0
- data/lib/norbelys/api/analytics_api.rb +97 -0
- data/lib/norbelys/api/domains_api.rb +528 -0
- data/lib/norbelys/api/fields_api.rb +290 -0
- data/lib/norbelys/api/files_api.rb +97 -0
- data/lib/norbelys/api/groups_api.rb +516 -0
- data/lib/norbelys/api/integrations_api.rb +509 -0
- data/lib/norbelys/api/messages_api.rb +572 -0
- data/lib/norbelys/api/organization_api.rb +329 -0
- data/lib/norbelys/api/people_api.rb +689 -0
- data/lib/norbelys/api/programs_api.rb +1299 -0
- data/lib/norbelys/api/segments_api.rb +370 -0
- data/lib/norbelys/api/senders_api.rb +539 -0
- data/lib/norbelys/api/suppressions_api.rb +370 -0
- data/lib/norbelys/api/verify_api.rb +97 -0
- data/lib/norbelys/api_client.rb +394 -0
- data/lib/norbelys/api_error.rb +58 -0
- data/lib/norbelys/configuration.rb +308 -0
- data/lib/norbelys/models/add_program_sender_params.rb +222 -0
- data/lib/norbelys/models/ai_email_variant_content.rb +318 -0
- data/lib/norbelys/models/analytics_query.rb +252 -0
- data/lib/norbelys/models/analytics_query_name.rb +63 -0
- data/lib/norbelys/models/analytics_query_params.rb +485 -0
- data/lib/norbelys/models/analytics_query_result.rb +260 -0
- data/lib/norbelys/models/api_error.rb +221 -0
- data/lib/norbelys/models/api_error_detail.rb +310 -0
- data/lib/norbelys/models/audience_activity_action.rb +45 -0
- data/lib/norbelys/models/audience_activity_condition.rb +233 -0
- data/lib/norbelys/models/audience_activity_link_filter.rb +289 -0
- data/lib/norbelys/models/audience_activity_link_match_op.rb +40 -0
- data/lib/norbelys/models/audience_activity_params.rb +395 -0
- data/lib/norbelys/models/audience_attribute_condition.rb +289 -0
- data/lib/norbelys/models/audience_condition_op.rb +59 -0
- data/lib/norbelys/models/audience_condition_value.rb +107 -0
- data/lib/norbelys/models/audience_filter.rb +270 -0
- data/lib/norbelys/models/audience_match.rb +40 -0
- data/lib/norbelys/models/audience_rule.rb +104 -0
- data/lib/norbelys/models/audience_source.rb +343 -0
- data/lib/norbelys/models/audience_status_breakdown.rb +292 -0
- data/lib/norbelys/models/audience_summary.rb +351 -0
- data/lib/norbelys/models/audience_week_point.rb +258 -0
- data/lib/norbelys/models/bulk_update_sender_patch.rb +368 -0
- data/lib/norbelys/models/bulk_update_senders_input.rb +268 -0
- data/lib/norbelys/models/bulk_update_senders_result.rb +291 -0
- data/lib/norbelys/models/campaign_report_share.rb +244 -0
- data/lib/norbelys/models/collection_address.rb +321 -0
- data/lib/norbelys/models/connection_settings.rb +331 -0
- data/lib/norbelys/models/create_sender_input.rb +106 -0
- data/lib/norbelys/models/detach_result.rb +223 -0
- data/lib/norbelys/models/dmarc_record_to_publish.rb +252 -0
- data/lib/norbelys/models/domain.rb +421 -0
- data/lib/norbelys/models/domain_age.rb +351 -0
- data/lib/norbelys/models/domain_capacity.rb +397 -0
- data/lib/norbelys/models/domain_create_params.rb +307 -0
- data/lib/norbelys/models/domain_detail.rb +445 -0
- data/lib/norbelys/models/domain_health.rb +310 -0
- data/lib/norbelys/models/domain_list.rb +292 -0
- data/lib/norbelys/models/domain_monitoring.rb +380 -0
- data/lib/norbelys/models/domain_monitoring_params.rb +262 -0
- data/lib/norbelys/models/domain_sending.rb +302 -0
- data/lib/norbelys/models/domain_sending_policy.rb +479 -0
- data/lib/norbelys/models/domain_sending_policy_params.rb +389 -0
- data/lib/norbelys/models/domain_sending_update_params.rb +225 -0
- data/lib/norbelys/models/domain_tracking.rb +570 -0
- data/lib/norbelys/models/domain_tracking_params.rb +268 -0
- data/lib/norbelys/models/domain_tracking_update_params.rb +306 -0
- data/lib/norbelys/models/domain_update_params.rb +259 -0
- data/lib/norbelys/models/email_variant_content.rb +104 -0
- data/lib/norbelys/models/enroll_program_params.rb +308 -0
- data/lib/norbelys/models/enroll_program_result.rb +366 -0
- data/lib/norbelys/models/enrollment.rb +405 -0
- data/lib/norbelys/models/enrollment_counts.rb +660 -0
- data/lib/norbelys/models/enrollment_list.rb +308 -0
- data/lib/norbelys/models/enrollment_person_ref.rb +246 -0
- data/lib/norbelys/models/enrollment_program_ref.rb +239 -0
- data/lib/norbelys/models/features.rb +223 -0
- data/lib/norbelys/models/field.rb +401 -0
- data/lib/norbelys/models/field_create_params.rb +386 -0
- data/lib/norbelys/models/field_list.rb +234 -0
- data/lib/norbelys/models/field_type.rb +45 -0
- data/lib/norbelys/models/field_update_params.rb +324 -0
- data/lib/norbelys/models/file_object.rb +321 -0
- data/lib/norbelys/models/file_upload.rb +324 -0
- data/lib/norbelys/models/group.rb +339 -0
- data/lib/norbelys/models/group_add_members_params.rb +227 -0
- data/lib/norbelys/models/group_add_members_result.rb +313 -0
- data/lib/norbelys/models/group_create_params.rb +308 -0
- data/lib/norbelys/models/group_list.rb +299 -0
- data/lib/norbelys/models/group_update_params.rb +293 -0
- data/lib/norbelys/models/imap_connection_update.rb +317 -0
- data/lib/norbelys/models/inbound_message.rb +442 -0
- data/lib/norbelys/models/integration.rb +340 -0
- data/lib/norbelys/models/integration_config.rb +254 -0
- data/lib/norbelys/models/integration_connect_params.rb +244 -0
- data/lib/norbelys/models/integration_connect_result.rb +222 -0
- data/lib/norbelys/models/integration_list.rb +292 -0
- data/lib/norbelys/models/integration_notify_config.rb +246 -0
- data/lib/norbelys/models/integration_options.rb +224 -0
- data/lib/norbelys/models/integration_provider.rb +52 -0
- data/lib/norbelys/models/integration_status.rb +41 -0
- data/lib/norbelys/models/integration_sync_result.rb +224 -0
- data/lib/norbelys/models/integration_update_params.rb +222 -0
- data/lib/norbelys/models/launch_program_params.rb +230 -0
- data/lib/norbelys/models/launch_program_result.rb +292 -0
- data/lib/norbelys/models/message.rb +104 -0
- data/lib/norbelys/models/message_address.rb +232 -0
- data/lib/norbelys/models/message_attachment.rb +312 -0
- data/lib/norbelys/models/message_attachment_download.rb +341 -0
- data/lib/norbelys/models/message_attachment_input.rb +296 -0
- data/lib/norbelys/models/message_attachment_list.rb +253 -0
- data/lib/norbelys/models/message_create_params.rb +105 -0
- data/lib/norbelys/models/message_enroll_params.rb +278 -0
- data/lib/norbelys/models/message_list.rb +299 -0
- data/lib/norbelys/models/message_reply_params.rb +369 -0
- data/lib/norbelys/models/message_source.rb +348 -0
- data/lib/norbelys/models/message_source_attachment.rb +242 -0
- data/lib/norbelys/models/message_test_params.rb +364 -0
- data/lib/norbelys/models/message_update_params.rb +269 -0
- data/lib/norbelys/models/monthly_email_usage_meter.rb +303 -0
- data/lib/norbelys/models/organization.rb +321 -0
- data/lib/norbelys/models/organization_alerts.rb +223 -0
- data/lib/norbelys/models/organization_alerts_params.rb +216 -0
- data/lib/norbelys/models/organization_bounce_policy.rb +240 -0
- data/lib/norbelys/models/organization_bounce_policy_params.rb +226 -0
- data/lib/norbelys/models/organization_onboarding.rb +250 -0
- data/lib/norbelys/models/organization_profile.rb +264 -0
- data/lib/norbelys/models/organization_profile_params.rb +270 -0
- data/lib/norbelys/models/organization_pulse.rb +301 -0
- data/lib/norbelys/models/organization_update_params.rb +242 -0
- data/lib/norbelys/models/organization_usage.rb +282 -0
- data/lib/norbelys/models/outbound_message.rb +447 -0
- data/lib/norbelys/models/people_bulk_create_params.rb +401 -0
- data/lib/norbelys/models/people_bulk_create_result.rb +493 -0
- data/lib/norbelys/models/person.rb +500 -0
- data/lib/norbelys/models/person_create_params.rb +320 -0
- data/lib/norbelys/models/person_detail.rb +548 -0
- data/lib/norbelys/models/person_erased.rb +234 -0
- data/lib/norbelys/models/person_group_ref.rb +251 -0
- data/lib/norbelys/models/person_import_item.rb +339 -0
- data/lib/norbelys/models/person_import_reason.rb +309 -0
- data/lib/norbelys/models/person_import_stats.rb +518 -0
- data/lib/norbelys/models/person_list.rb +299 -0
- data/lib/norbelys/models/person_list_item.rb +488 -0
- data/lib/norbelys/models/person_segment_ref.rb +251 -0
- data/lib/norbelys/models/person_update_params.rb +313 -0
- data/lib/norbelys/models/program.rb +871 -0
- data/lib/norbelys/models/program_create_params.rb +704 -0
- data/lib/norbelys/models/program_detail.rb +911 -0
- data/lib/norbelys/models/program_list.rb +292 -0
- data/lib/norbelys/models/program_list_item.rb +887 -0
- data/lib/norbelys/models/program_pause_meta.rb +295 -0
- data/lib/norbelys/models/program_sender_ref.rb +295 -0
- data/lib/norbelys/models/program_stats.rb +297 -0
- data/lib/norbelys/models/program_step_input.rb +469 -0
- data/lib/norbelys/models/program_update_params.rb +697 -0
- data/lib/norbelys/models/program_variant_input.rb +274 -0
- data/lib/norbelys/models/programs_audience_list.rb +293 -0
- data/lib/norbelys/models/programs_senders_list.rb +293 -0
- data/lib/norbelys/models/provider_api_sender_input.rb +395 -0
- data/lib/norbelys/models/pulse_deliverability.rb +325 -0
- data/lib/norbelys/models/pulse_program.rb +453 -0
- data/lib/norbelys/models/pulse_sender_fleet.rb +325 -0
- data/lib/norbelys/models/pulse_value.rb +291 -0
- data/lib/norbelys/models/report_share.rb +244 -0
- data/lib/norbelys/models/segment.rb +307 -0
- data/lib/norbelys/models/segment_create_params.rb +296 -0
- data/lib/norbelys/models/segment_list.rb +299 -0
- data/lib/norbelys/models/segment_update_params.rb +278 -0
- data/lib/norbelys/models/self_hosted_sender_input.rb +378 -0
- data/lib/norbelys/models/sender.rb +708 -0
- data/lib/norbelys/models/sender_bulk_error.rb +239 -0
- data/lib/norbelys/models/sender_detail.rb +726 -0
- data/lib/norbelys/models/sender_list.rb +299 -0
- data/lib/norbelys/models/sender_remove_result.rb +268 -0
- data/lib/norbelys/models/sender_usage.rb +331 -0
- data/lib/norbelys/models/sender_warmup_status.rb +230 -0
- data/lib/norbelys/models/slack_channel.rb +239 -0
- data/lib/norbelys/models/smtp_connection_settings.rb +351 -0
- data/lib/norbelys/models/smtp_connection_update.rb +337 -0
- data/lib/norbelys/models/smtp_sender_input.rb +403 -0
- data/lib/norbelys/models/static_email_variant_content.rb +312 -0
- data/lib/norbelys/models/step_with_variants.rb +591 -0
- data/lib/norbelys/models/suppression.rb +331 -0
- data/lib/norbelys/models/suppression_bulk_params.rb +262 -0
- data/lib/norbelys/models/suppression_bulk_result.rb +241 -0
- data/lib/norbelys/models/suppression_create_params.rb +305 -0
- data/lib/norbelys/models/suppression_list.rb +293 -0
- data/lib/norbelys/models/suppression_scope.rb +40 -0
- data/lib/norbelys/models/sync_model.rb +41 -0
- data/lib/norbelys/models/team_size.rb +43 -0
- data/lib/norbelys/models/tracking_dns_record.rb +252 -0
- data/lib/norbelys/models/update_sender_input.rb +481 -0
- data/lib/norbelys/models/usage_meter.rb +286 -0
- data/lib/norbelys/models/usage_plan.rb +257 -0
- data/lib/norbelys/models/variant.rb +385 -0
- data/lib/norbelys/models/variant_ai.rb +314 -0
- data/lib/norbelys/models/verify_email_input.rb +251 -0
- data/lib/norbelys/models/verify_mx.rb +254 -0
- data/lib/norbelys/models/verify_reachability.rb +42 -0
- data/lib/norbelys/models/verify_reason_code.rb +52 -0
- data/lib/norbelys/models/verify_result.rb +426 -0
- data/lib/norbelys/models/verify_signals.rb +308 -0
- data/lib/norbelys/models/verify_syntax.rb +257 -0
- data/lib/norbelys/models/voice_sender_input.rb +388 -0
- data/lib/norbelys/models/warmup_runtime_status.rb +440 -0
- data/lib/norbelys/models/warmup_settings.rb +562 -0
- data/lib/norbelys/models/warmup_template.rb +295 -0
- data/lib/norbelys/models/warmup_today_tally.rb +314 -0
- data/lib/norbelys/version.rb +15 -0
- data/lib/norbelys.rb +243 -0
- data/norbelys.gemspec +39 -0
- data/spec/api/analytics_api_spec.rb +48 -0
- data/spec/api/domains_api_spec.rb +128 -0
- data/spec/api/fields_api_spec.rb +85 -0
- data/spec/api/files_api_spec.rb +48 -0
- data/spec/api/groups_api_spec.rb +127 -0
- data/spec/api/integrations_api_spec.rb +124 -0
- data/spec/api/messages_api_spec.rb +139 -0
- data/spec/api/organization_api_spec.rb +92 -0
- data/spec/api/people_api_spec.rb +158 -0
- data/spec/api/programs_api_spec.rb +270 -0
- data/spec/api/segments_api_spec.rb +100 -0
- data/spec/api/senders_api_spec.rb +130 -0
- data/spec/api/suppressions_api_spec.rb +98 -0
- data/spec/api/verify_api_spec.rb +48 -0
- data/spec/models/add_program_sender_params_spec.rb +36 -0
- data/spec/models/ai_email_variant_content_spec.rb +66 -0
- data/spec/models/analytics_query_name_spec.rb +30 -0
- data/spec/models/analytics_query_params_spec.rb +136 -0
- data/spec/models/analytics_query_result_spec.rb +42 -0
- data/spec/models/analytics_query_spec.rb +42 -0
- data/spec/models/api_error_detail_spec.rb +64 -0
- data/spec/models/api_error_spec.rb +36 -0
- data/spec/models/audience_activity_action_spec.rb +30 -0
- data/spec/models/audience_activity_condition_spec.rb +42 -0
- data/spec/models/audience_activity_link_filter_spec.rb +42 -0
- data/spec/models/audience_activity_link_match_op_spec.rb +30 -0
- data/spec/models/audience_activity_params_spec.rb +78 -0
- data/spec/models/audience_attribute_condition_spec.rb +48 -0
- data/spec/models/audience_condition_op_spec.rb +30 -0
- data/spec/models/audience_condition_value_spec.rb +21 -0
- data/spec/models/audience_filter_spec.rb +42 -0
- data/spec/models/audience_match_spec.rb +30 -0
- data/spec/models/audience_rule_spec.rb +21 -0
- data/spec/models/audience_source_spec.rb +64 -0
- data/spec/models/audience_status_breakdown_spec.rb +46 -0
- data/spec/models/audience_summary_spec.rb +60 -0
- data/spec/models/audience_week_point_spec.rb +42 -0
- data/spec/models/bulk_update_sender_patch_spec.rb +88 -0
- data/spec/models/bulk_update_senders_input_spec.rb +42 -0
- data/spec/models/bulk_update_senders_result_spec.rb +54 -0
- data/spec/models/campaign_report_share_spec.rb +48 -0
- data/spec/models/collection_address_spec.rb +70 -0
- data/spec/models/connection_settings_spec.rb +52 -0
- data/spec/models/create_sender_input_spec.rb +21 -0
- data/spec/models/detach_result_spec.rb +36 -0
- data/spec/models/dmarc_record_to_publish_spec.rb +48 -0
- data/spec/models/domain_age_spec.rb +76 -0
- data/spec/models/domain_capacity_spec.rb +70 -0
- data/spec/models/domain_create_params_spec.rb +58 -0
- data/spec/models/domain_detail_spec.rb +112 -0
- data/spec/models/domain_health_spec.rb +62 -0
- data/spec/models/domain_list_spec.rb +60 -0
- data/spec/models/domain_monitoring_params_spec.rb +46 -0
- data/spec/models/domain_monitoring_spec.rb +84 -0
- data/spec/models/domain_sending_policy_params_spec.rb +82 -0
- data/spec/models/domain_sending_policy_spec.rb +94 -0
- data/spec/models/domain_sending_spec.rb +60 -0
- data/spec/models/domain_sending_update_params_spec.rb +42 -0
- data/spec/models/domain_spec.rb +100 -0
- data/spec/models/domain_tracking_params_spec.rb +48 -0
- data/spec/models/domain_tracking_spec.rb +160 -0
- data/spec/models/domain_tracking_update_params_spec.rb +58 -0
- data/spec/models/domain_update_params_spec.rb +48 -0
- data/spec/models/email_variant_content_spec.rb +21 -0
- data/spec/models/enroll_program_params_spec.rb +70 -0
- data/spec/models/enroll_program_result_spec.rb +66 -0
- data/spec/models/enrollment_counts_spec.rb +114 -0
- data/spec/models/enrollment_list_spec.rb +66 -0
- data/spec/models/enrollment_person_ref_spec.rb +48 -0
- data/spec/models/enrollment_program_ref_spec.rb +42 -0
- data/spec/models/enrollment_spec.rb +112 -0
- data/spec/models/features_spec.rb +36 -0
- data/spec/models/field_create_params_spec.rb +64 -0
- data/spec/models/field_list_spec.rb +42 -0
- data/spec/models/field_spec.rb +96 -0
- data/spec/models/field_type_spec.rb +30 -0
- data/spec/models/field_update_params_spec.rb +58 -0
- data/spec/models/file_object_spec.rb +66 -0
- data/spec/models/file_upload_spec.rb +48 -0
- data/spec/models/group_add_members_params_spec.rb +42 -0
- data/spec/models/group_add_members_result_spec.rb +48 -0
- data/spec/models/group_create_params_spec.rb +48 -0
- data/spec/models/group_list_spec.rb +60 -0
- data/spec/models/group_spec.rb +84 -0
- data/spec/models/group_update_params_spec.rb +48 -0
- data/spec/models/imap_connection_update_spec.rb +52 -0
- data/spec/models/inbound_message_spec.rb +130 -0
- data/spec/models/integration_config_spec.rb +60 -0
- data/spec/models/integration_connect_params_spec.rb +36 -0
- data/spec/models/integration_connect_result_spec.rb +36 -0
- data/spec/models/integration_list_spec.rb +60 -0
- data/spec/models/integration_notify_config_spec.rb +54 -0
- data/spec/models/integration_options_spec.rb +36 -0
- data/spec/models/integration_provider_spec.rb +30 -0
- data/spec/models/integration_spec.rb +84 -0
- data/spec/models/integration_status_spec.rb +30 -0
- data/spec/models/integration_sync_result_spec.rb +36 -0
- data/spec/models/integration_update_params_spec.rb +36 -0
- data/spec/models/launch_program_params_spec.rb +36 -0
- data/spec/models/launch_program_result_spec.rb +52 -0
- data/spec/models/message_address_spec.rb +42 -0
- data/spec/models/message_attachment_download_spec.rb +78 -0
- data/spec/models/message_attachment_input_spec.rb +48 -0
- data/spec/models/message_attachment_list_spec.rb +48 -0
- data/spec/models/message_attachment_spec.rb +66 -0
- data/spec/models/message_create_params_spec.rb +21 -0
- data/spec/models/message_enroll_params_spec.rb +60 -0
- data/spec/models/message_list_spec.rb +60 -0
- data/spec/models/message_reply_params_spec.rb +102 -0
- data/spec/models/message_source_attachment_spec.rb +48 -0
- data/spec/models/message_source_spec.rb +90 -0
- data/spec/models/message_spec.rb +21 -0
- data/spec/models/message_test_params_spec.rb +102 -0
- data/spec/models/message_update_params_spec.rb +52 -0
- data/spec/models/monthly_email_usage_meter_spec.rb +58 -0
- data/spec/models/organization_alerts_params_spec.rb +36 -0
- data/spec/models/organization_alerts_spec.rb +36 -0
- data/spec/models/organization_bounce_policy_params_spec.rb +42 -0
- data/spec/models/organization_bounce_policy_spec.rb +42 -0
- data/spec/models/organization_onboarding_spec.rb +42 -0
- data/spec/models/organization_profile_params_spec.rb +52 -0
- data/spec/models/organization_profile_spec.rb +48 -0
- data/spec/models/organization_pulse_spec.rb +66 -0
- data/spec/models/organization_spec.rb +72 -0
- data/spec/models/organization_update_params_spec.rb +54 -0
- data/spec/models/organization_usage_spec.rb +60 -0
- data/spec/models/outbound_message_spec.rb +128 -0
- data/spec/models/people_bulk_create_params_spec.rb +70 -0
- data/spec/models/people_bulk_create_result_spec.rb +84 -0
- data/spec/models/person_create_params_spec.rb +76 -0
- data/spec/models/person_detail_spec.rb +170 -0
- data/spec/models/person_erased_spec.rb +42 -0
- data/spec/models/person_group_ref_spec.rb +48 -0
- data/spec/models/person_import_item_spec.rb +76 -0
- data/spec/models/person_import_reason_spec.rb +52 -0
- data/spec/models/person_import_stats_spec.rb +94 -0
- data/spec/models/person_list_item_spec.rb +140 -0
- data/spec/models/person_list_spec.rb +60 -0
- data/spec/models/person_segment_ref_spec.rb +48 -0
- data/spec/models/person_spec.rb +146 -0
- data/spec/models/person_update_params_spec.rb +76 -0
- data/spec/models/program_create_params_spec.rb +180 -0
- data/spec/models/program_detail_spec.rb +254 -0
- data/spec/models/program_list_item_spec.rb +242 -0
- data/spec/models/program_list_spec.rb +60 -0
- data/spec/models/program_pause_meta_spec.rb +42 -0
- data/spec/models/program_sender_ref_spec.rb +60 -0
- data/spec/models/program_spec.rb +236 -0
- data/spec/models/program_stats_spec.rb +48 -0
- data/spec/models/program_step_input_spec.rb +108 -0
- data/spec/models/program_update_params_spec.rb +180 -0
- data/spec/models/program_variant_input_spec.rb +60 -0
- data/spec/models/programs_audience_list_spec.rb +60 -0
- data/spec/models/programs_senders_list_spec.rb +60 -0
- data/spec/models/provider_api_sender_input_spec.rb +96 -0
- data/spec/models/pulse_deliverability_spec.rb +72 -0
- data/spec/models/pulse_program_spec.rb +112 -0
- data/spec/models/pulse_sender_fleet_spec.rb +72 -0
- data/spec/models/pulse_value_spec.rb +60 -0
- data/spec/models/report_share_spec.rb +48 -0
- data/spec/models/segment_create_params_spec.rb +48 -0
- data/spec/models/segment_list_spec.rb +60 -0
- data/spec/models/segment_spec.rb +78 -0
- data/spec/models/segment_update_params_spec.rb +48 -0
- data/spec/models/self_hosted_sender_input_spec.rb +90 -0
- data/spec/models/sender_bulk_error_spec.rb +42 -0
- data/spec/models/sender_detail_spec.rb +212 -0
- data/spec/models/sender_list_spec.rb +60 -0
- data/spec/models/sender_remove_result_spec.rb +46 -0
- data/spec/models/sender_spec.rb +200 -0
- data/spec/models/sender_usage_spec.rb +54 -0
- data/spec/models/sender_warmup_status_spec.rb +42 -0
- data/spec/models/slack_channel_spec.rb +42 -0
- data/spec/models/smtp_connection_settings_spec.rb +64 -0
- data/spec/models/smtp_connection_update_spec.rb +64 -0
- data/spec/models/smtp_sender_input_spec.rb +102 -0
- data/spec/models/static_email_variant_content_spec.rb +66 -0
- data/spec/models/step_with_variants_spec.rb +136 -0
- data/spec/models/suppression_bulk_params_spec.rb +42 -0
- data/spec/models/suppression_bulk_result_spec.rb +36 -0
- data/spec/models/suppression_create_params_spec.rb +58 -0
- data/spec/models/suppression_list_spec.rb +60 -0
- data/spec/models/suppression_scope_spec.rb +30 -0
- data/spec/models/suppression_spec.rb +78 -0
- data/spec/models/sync_model_spec.rb +30 -0
- data/spec/models/team_size_spec.rb +30 -0
- data/spec/models/tracking_dns_record_spec.rb +48 -0
- data/spec/models/update_sender_input_spec.rb +134 -0
- data/spec/models/usage_meter_spec.rb +52 -0
- data/spec/models/usage_plan_spec.rb +48 -0
- data/spec/models/variant_ai_spec.rb +52 -0
- data/spec/models/variant_spec.rb +88 -0
- data/spec/models/verify_email_input_spec.rb +36 -0
- data/spec/models/verify_mx_spec.rb +48 -0
- data/spec/models/verify_reachability_spec.rb +30 -0
- data/spec/models/verify_reason_code_spec.rb +30 -0
- data/spec/models/verify_result_spec.rb +96 -0
- data/spec/models/verify_signals_spec.rb +66 -0
- data/spec/models/verify_syntax_spec.rb +48 -0
- data/spec/models/voice_sender_input_spec.rb +96 -0
- data/spec/models/warmup_runtime_status_spec.rb +86 -0
- data/spec/models/warmup_settings_spec.rb +118 -0
- data/spec/models/warmup_template_spec.rb +42 -0
- data/spec/models/warmup_today_tally_spec.rb +48 -0
- data/spec/spec_helper.rb +111 -0
- metadata +935 -0
data/lib/norbelys.rb
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Norbelys API
|
|
3
|
+
|
|
4
|
+
#The **Norbelys API** is a single, predictable REST surface for cold email and outreach — people, senders, programs, and sending all live behind the five patterns below. Developer-first and AI-first: every name is either already invented (Schema.org) or obvious. ## Authentication Every request authenticates with an **org-scoped API key**. Create one in **Settings → API keys** and send it as a bearer token: ```http GET https://api.norbelys.com/v1/people Authorization: Bearer ak_live_… ``` Interactive agents may instead use OAuth 2.1 (see `/auth.md` and the `/.well-known/oauth-protected-resource` metadata). ## Conventions - **Base URL** — `https://api.norbelys.com/v1`. - **JSON in, JSON out.** Timestamps are ISO-8601 in UTC. - **Cursor pagination.** List endpoints take `limit` + `cursor` and return `{ data, hasMore, nextCursor }` (offset-paged tables add `page` + `total`). - **Expansions.** Detail GETs take an `expand[]` query param to inline related data (e.g. `GET /people/{id}?expand[]=timeline`) instead of extra calls. - **Soft deletes.** Anything that has been used is archived, never hard-deleted — `DELETE` archives the resource and returns it. ## Errors Failures return the same envelope on every 4xx/5xx, with the matching HTTP status: ```json { \"error\": { \"type\": \"invalid_request\", \"code\": \"invalid_param\", \"message\": \"…\", \"hint\": \"…\", \"doc_url\": \"…\" } } ``` `type` is a broad, machine-routable category derived from the status; `code` is the stable machine contract you branch on (never the human `message`). See the `ApiError` schema. ## Idempotency Every `POST` accepts an optional **`Idempotency-Key`** header. Reuse the same key to replay the original result for 24h instead of re-executing — so a retried create can never double-charge or duplicate a record. ## Rate limits & versioning Abuse control is enforced at the edge; responses advertise the policy via the `RateLimit-Policy` header, and a `429` carries `Retry-After`. The API is versioned in the URL path (`/v1`). Breaking changes ship under a new version; a retiring surface is announced with `Deprecation` + `Sunset` response headers at least 90 days ahead.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.0.1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.10.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
# Common files
|
|
14
|
+
require 'norbelys/api_client'
|
|
15
|
+
require 'norbelys/api_error'
|
|
16
|
+
require 'norbelys/version'
|
|
17
|
+
require 'norbelys/configuration'
|
|
18
|
+
|
|
19
|
+
# Models
|
|
20
|
+
require 'norbelys/models/add_program_sender_params'
|
|
21
|
+
require 'norbelys/models/ai_email_variant_content'
|
|
22
|
+
require 'norbelys/models/analytics_query'
|
|
23
|
+
require 'norbelys/models/analytics_query_name'
|
|
24
|
+
require 'norbelys/models/analytics_query_params'
|
|
25
|
+
require 'norbelys/models/analytics_query_result'
|
|
26
|
+
require 'norbelys/models/api_error'
|
|
27
|
+
require 'norbelys/models/api_error_detail'
|
|
28
|
+
require 'norbelys/models/audience_activity_action'
|
|
29
|
+
require 'norbelys/models/audience_activity_condition'
|
|
30
|
+
require 'norbelys/models/audience_activity_link_filter'
|
|
31
|
+
require 'norbelys/models/audience_activity_link_match_op'
|
|
32
|
+
require 'norbelys/models/audience_activity_params'
|
|
33
|
+
require 'norbelys/models/audience_attribute_condition'
|
|
34
|
+
require 'norbelys/models/audience_condition_op'
|
|
35
|
+
require 'norbelys/models/audience_condition_value'
|
|
36
|
+
require 'norbelys/models/audience_filter'
|
|
37
|
+
require 'norbelys/models/audience_match'
|
|
38
|
+
require 'norbelys/models/audience_rule'
|
|
39
|
+
require 'norbelys/models/audience_source'
|
|
40
|
+
require 'norbelys/models/audience_status_breakdown'
|
|
41
|
+
require 'norbelys/models/audience_summary'
|
|
42
|
+
require 'norbelys/models/audience_week_point'
|
|
43
|
+
require 'norbelys/models/bulk_update_sender_patch'
|
|
44
|
+
require 'norbelys/models/bulk_update_senders_input'
|
|
45
|
+
require 'norbelys/models/bulk_update_senders_result'
|
|
46
|
+
require 'norbelys/models/campaign_report_share'
|
|
47
|
+
require 'norbelys/models/collection_address'
|
|
48
|
+
require 'norbelys/models/connection_settings'
|
|
49
|
+
require 'norbelys/models/create_sender_input'
|
|
50
|
+
require 'norbelys/models/detach_result'
|
|
51
|
+
require 'norbelys/models/dmarc_record_to_publish'
|
|
52
|
+
require 'norbelys/models/domain'
|
|
53
|
+
require 'norbelys/models/domain_age'
|
|
54
|
+
require 'norbelys/models/domain_capacity'
|
|
55
|
+
require 'norbelys/models/domain_create_params'
|
|
56
|
+
require 'norbelys/models/domain_detail'
|
|
57
|
+
require 'norbelys/models/domain_health'
|
|
58
|
+
require 'norbelys/models/domain_list'
|
|
59
|
+
require 'norbelys/models/domain_monitoring'
|
|
60
|
+
require 'norbelys/models/domain_monitoring_params'
|
|
61
|
+
require 'norbelys/models/domain_sending'
|
|
62
|
+
require 'norbelys/models/domain_sending_policy'
|
|
63
|
+
require 'norbelys/models/domain_sending_policy_params'
|
|
64
|
+
require 'norbelys/models/domain_sending_update_params'
|
|
65
|
+
require 'norbelys/models/domain_tracking'
|
|
66
|
+
require 'norbelys/models/domain_tracking_params'
|
|
67
|
+
require 'norbelys/models/domain_tracking_update_params'
|
|
68
|
+
require 'norbelys/models/domain_update_params'
|
|
69
|
+
require 'norbelys/models/email_variant_content'
|
|
70
|
+
require 'norbelys/models/enroll_program_params'
|
|
71
|
+
require 'norbelys/models/enroll_program_result'
|
|
72
|
+
require 'norbelys/models/enrollment'
|
|
73
|
+
require 'norbelys/models/enrollment_counts'
|
|
74
|
+
require 'norbelys/models/enrollment_list'
|
|
75
|
+
require 'norbelys/models/enrollment_person_ref'
|
|
76
|
+
require 'norbelys/models/enrollment_program_ref'
|
|
77
|
+
require 'norbelys/models/features'
|
|
78
|
+
require 'norbelys/models/field'
|
|
79
|
+
require 'norbelys/models/field_create_params'
|
|
80
|
+
require 'norbelys/models/field_list'
|
|
81
|
+
require 'norbelys/models/field_type'
|
|
82
|
+
require 'norbelys/models/field_update_params'
|
|
83
|
+
require 'norbelys/models/file_object'
|
|
84
|
+
require 'norbelys/models/file_upload'
|
|
85
|
+
require 'norbelys/models/group'
|
|
86
|
+
require 'norbelys/models/group_add_members_params'
|
|
87
|
+
require 'norbelys/models/group_add_members_result'
|
|
88
|
+
require 'norbelys/models/group_create_params'
|
|
89
|
+
require 'norbelys/models/group_list'
|
|
90
|
+
require 'norbelys/models/group_update_params'
|
|
91
|
+
require 'norbelys/models/imap_connection_update'
|
|
92
|
+
require 'norbelys/models/inbound_message'
|
|
93
|
+
require 'norbelys/models/integration'
|
|
94
|
+
require 'norbelys/models/integration_config'
|
|
95
|
+
require 'norbelys/models/integration_connect_params'
|
|
96
|
+
require 'norbelys/models/integration_connect_result'
|
|
97
|
+
require 'norbelys/models/integration_list'
|
|
98
|
+
require 'norbelys/models/integration_notify_config'
|
|
99
|
+
require 'norbelys/models/integration_options'
|
|
100
|
+
require 'norbelys/models/integration_provider'
|
|
101
|
+
require 'norbelys/models/integration_status'
|
|
102
|
+
require 'norbelys/models/integration_sync_result'
|
|
103
|
+
require 'norbelys/models/integration_update_params'
|
|
104
|
+
require 'norbelys/models/launch_program_params'
|
|
105
|
+
require 'norbelys/models/launch_program_result'
|
|
106
|
+
require 'norbelys/models/message'
|
|
107
|
+
require 'norbelys/models/message_address'
|
|
108
|
+
require 'norbelys/models/message_attachment'
|
|
109
|
+
require 'norbelys/models/message_attachment_download'
|
|
110
|
+
require 'norbelys/models/message_attachment_input'
|
|
111
|
+
require 'norbelys/models/message_attachment_list'
|
|
112
|
+
require 'norbelys/models/message_create_params'
|
|
113
|
+
require 'norbelys/models/message_enroll_params'
|
|
114
|
+
require 'norbelys/models/message_list'
|
|
115
|
+
require 'norbelys/models/message_reply_params'
|
|
116
|
+
require 'norbelys/models/message_source'
|
|
117
|
+
require 'norbelys/models/message_source_attachment'
|
|
118
|
+
require 'norbelys/models/message_test_params'
|
|
119
|
+
require 'norbelys/models/message_update_params'
|
|
120
|
+
require 'norbelys/models/monthly_email_usage_meter'
|
|
121
|
+
require 'norbelys/models/organization'
|
|
122
|
+
require 'norbelys/models/organization_alerts'
|
|
123
|
+
require 'norbelys/models/organization_alerts_params'
|
|
124
|
+
require 'norbelys/models/organization_bounce_policy'
|
|
125
|
+
require 'norbelys/models/organization_bounce_policy_params'
|
|
126
|
+
require 'norbelys/models/organization_onboarding'
|
|
127
|
+
require 'norbelys/models/organization_profile'
|
|
128
|
+
require 'norbelys/models/organization_profile_params'
|
|
129
|
+
require 'norbelys/models/organization_pulse'
|
|
130
|
+
require 'norbelys/models/organization_update_params'
|
|
131
|
+
require 'norbelys/models/organization_usage'
|
|
132
|
+
require 'norbelys/models/outbound_message'
|
|
133
|
+
require 'norbelys/models/people_bulk_create_params'
|
|
134
|
+
require 'norbelys/models/people_bulk_create_result'
|
|
135
|
+
require 'norbelys/models/person'
|
|
136
|
+
require 'norbelys/models/person_create_params'
|
|
137
|
+
require 'norbelys/models/person_detail'
|
|
138
|
+
require 'norbelys/models/person_erased'
|
|
139
|
+
require 'norbelys/models/person_group_ref'
|
|
140
|
+
require 'norbelys/models/person_import_item'
|
|
141
|
+
require 'norbelys/models/person_import_reason'
|
|
142
|
+
require 'norbelys/models/person_import_stats'
|
|
143
|
+
require 'norbelys/models/person_list'
|
|
144
|
+
require 'norbelys/models/person_list_item'
|
|
145
|
+
require 'norbelys/models/person_segment_ref'
|
|
146
|
+
require 'norbelys/models/person_update_params'
|
|
147
|
+
require 'norbelys/models/program'
|
|
148
|
+
require 'norbelys/models/program_create_params'
|
|
149
|
+
require 'norbelys/models/program_detail'
|
|
150
|
+
require 'norbelys/models/program_list'
|
|
151
|
+
require 'norbelys/models/program_list_item'
|
|
152
|
+
require 'norbelys/models/program_pause_meta'
|
|
153
|
+
require 'norbelys/models/program_sender_ref'
|
|
154
|
+
require 'norbelys/models/program_stats'
|
|
155
|
+
require 'norbelys/models/program_step_input'
|
|
156
|
+
require 'norbelys/models/program_update_params'
|
|
157
|
+
require 'norbelys/models/program_variant_input'
|
|
158
|
+
require 'norbelys/models/programs_audience_list'
|
|
159
|
+
require 'norbelys/models/programs_senders_list'
|
|
160
|
+
require 'norbelys/models/provider_api_sender_input'
|
|
161
|
+
require 'norbelys/models/pulse_deliverability'
|
|
162
|
+
require 'norbelys/models/pulse_program'
|
|
163
|
+
require 'norbelys/models/pulse_sender_fleet'
|
|
164
|
+
require 'norbelys/models/pulse_value'
|
|
165
|
+
require 'norbelys/models/report_share'
|
|
166
|
+
require 'norbelys/models/segment'
|
|
167
|
+
require 'norbelys/models/segment_create_params'
|
|
168
|
+
require 'norbelys/models/segment_list'
|
|
169
|
+
require 'norbelys/models/segment_update_params'
|
|
170
|
+
require 'norbelys/models/self_hosted_sender_input'
|
|
171
|
+
require 'norbelys/models/sender'
|
|
172
|
+
require 'norbelys/models/sender_bulk_error'
|
|
173
|
+
require 'norbelys/models/sender_detail'
|
|
174
|
+
require 'norbelys/models/sender_list'
|
|
175
|
+
require 'norbelys/models/sender_remove_result'
|
|
176
|
+
require 'norbelys/models/sender_usage'
|
|
177
|
+
require 'norbelys/models/sender_warmup_status'
|
|
178
|
+
require 'norbelys/models/slack_channel'
|
|
179
|
+
require 'norbelys/models/smtp_connection_settings'
|
|
180
|
+
require 'norbelys/models/smtp_connection_update'
|
|
181
|
+
require 'norbelys/models/smtp_sender_input'
|
|
182
|
+
require 'norbelys/models/static_email_variant_content'
|
|
183
|
+
require 'norbelys/models/step_with_variants'
|
|
184
|
+
require 'norbelys/models/suppression'
|
|
185
|
+
require 'norbelys/models/suppression_bulk_params'
|
|
186
|
+
require 'norbelys/models/suppression_bulk_result'
|
|
187
|
+
require 'norbelys/models/suppression_create_params'
|
|
188
|
+
require 'norbelys/models/suppression_list'
|
|
189
|
+
require 'norbelys/models/suppression_scope'
|
|
190
|
+
require 'norbelys/models/sync_model'
|
|
191
|
+
require 'norbelys/models/team_size'
|
|
192
|
+
require 'norbelys/models/tracking_dns_record'
|
|
193
|
+
require 'norbelys/models/update_sender_input'
|
|
194
|
+
require 'norbelys/models/usage_meter'
|
|
195
|
+
require 'norbelys/models/usage_plan'
|
|
196
|
+
require 'norbelys/models/variant'
|
|
197
|
+
require 'norbelys/models/variant_ai'
|
|
198
|
+
require 'norbelys/models/verify_email_input'
|
|
199
|
+
require 'norbelys/models/verify_mx'
|
|
200
|
+
require 'norbelys/models/verify_reachability'
|
|
201
|
+
require 'norbelys/models/verify_reason_code'
|
|
202
|
+
require 'norbelys/models/verify_result'
|
|
203
|
+
require 'norbelys/models/verify_signals'
|
|
204
|
+
require 'norbelys/models/verify_syntax'
|
|
205
|
+
require 'norbelys/models/voice_sender_input'
|
|
206
|
+
require 'norbelys/models/warmup_runtime_status'
|
|
207
|
+
require 'norbelys/models/warmup_settings'
|
|
208
|
+
require 'norbelys/models/warmup_template'
|
|
209
|
+
require 'norbelys/models/warmup_today_tally'
|
|
210
|
+
|
|
211
|
+
# APIs
|
|
212
|
+
require 'norbelys/api/analytics_api'
|
|
213
|
+
require 'norbelys/api/domains_api'
|
|
214
|
+
require 'norbelys/api/fields_api'
|
|
215
|
+
require 'norbelys/api/files_api'
|
|
216
|
+
require 'norbelys/api/groups_api'
|
|
217
|
+
require 'norbelys/api/integrations_api'
|
|
218
|
+
require 'norbelys/api/messages_api'
|
|
219
|
+
require 'norbelys/api/organization_api'
|
|
220
|
+
require 'norbelys/api/people_api'
|
|
221
|
+
require 'norbelys/api/programs_api'
|
|
222
|
+
require 'norbelys/api/segments_api'
|
|
223
|
+
require 'norbelys/api/senders_api'
|
|
224
|
+
require 'norbelys/api/suppressions_api'
|
|
225
|
+
require 'norbelys/api/verify_api'
|
|
226
|
+
|
|
227
|
+
module Norbelys
|
|
228
|
+
class << self
|
|
229
|
+
# Customize default settings for the SDK using block.
|
|
230
|
+
# Norbelys.configure do |config|
|
|
231
|
+
# config.username = "xxx"
|
|
232
|
+
# config.password = "xxx"
|
|
233
|
+
# end
|
|
234
|
+
# If no block given, return the default Configuration object.
|
|
235
|
+
def configure
|
|
236
|
+
if block_given?
|
|
237
|
+
yield(Configuration.default)
|
|
238
|
+
else
|
|
239
|
+
Configuration.default
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
end
|
data/norbelys.gemspec
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
=begin
|
|
4
|
+
#Norbelys API
|
|
5
|
+
|
|
6
|
+
#The **Norbelys API** is a single, predictable REST surface for cold email and outreach — people, senders, programs, and sending all live behind the five patterns below. Developer-first and AI-first: every name is either already invented (Schema.org) or obvious. ## Authentication Every request authenticates with an **org-scoped API key**. Create one in **Settings → API keys** and send it as a bearer token: ```http GET https://api.norbelys.com/v1/people Authorization: Bearer ak_live_… ``` Interactive agents may instead use OAuth 2.1 (see `/auth.md` and the `/.well-known/oauth-protected-resource` metadata). ## Conventions - **Base URL** — `https://api.norbelys.com/v1`. - **JSON in, JSON out.** Timestamps are ISO-8601 in UTC. - **Cursor pagination.** List endpoints take `limit` + `cursor` and return `{ data, hasMore, nextCursor }` (offset-paged tables add `page` + `total`). - **Expansions.** Detail GETs take an `expand[]` query param to inline related data (e.g. `GET /people/{id}?expand[]=timeline`) instead of extra calls. - **Soft deletes.** Anything that has been used is archived, never hard-deleted — `DELETE` archives the resource and returns it. ## Errors Failures return the same envelope on every 4xx/5xx, with the matching HTTP status: ```json { \"error\": { \"type\": \"invalid_request\", \"code\": \"invalid_param\", \"message\": \"…\", \"hint\": \"…\", \"doc_url\": \"…\" } } ``` `type` is a broad, machine-routable category derived from the status; `code` is the stable machine contract you branch on (never the human `message`). See the `ApiError` schema. ## Idempotency Every `POST` accepts an optional **`Idempotency-Key`** header. Reuse the same key to replay the original result for 24h instead of re-executing — so a retried create can never double-charge or duplicate a record. ## Rate limits & versioning Abuse control is enforced at the edge; responses advertise the policy via the `RateLimit-Policy` header, and a `429` carries `Retry-After`. The API is versioned in the URL path (`/v1`). Breaking changes ship under a new version; a retiring surface is announced with `Deprecation` + `Sunset` response headers at least 90 days ahead.
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 0.0.1
|
|
9
|
+
|
|
10
|
+
Generated by: https://openapi-generator.tech
|
|
11
|
+
Generator version: 7.10.0
|
|
12
|
+
|
|
13
|
+
=end
|
|
14
|
+
|
|
15
|
+
$:.push File.expand_path("../lib", __FILE__)
|
|
16
|
+
require "norbelys/version"
|
|
17
|
+
|
|
18
|
+
Gem::Specification.new do |s|
|
|
19
|
+
s.name = "norbelys"
|
|
20
|
+
s.version = Norbelys::VERSION
|
|
21
|
+
s.platform = Gem::Platform::RUBY
|
|
22
|
+
s.authors = ["OpenAPI-Generator"]
|
|
23
|
+
s.email = [""]
|
|
24
|
+
s.homepage = "https://norbelys.com"
|
|
25
|
+
s.summary = "Norbelys API Ruby Gem"
|
|
26
|
+
s.description = "The **Norbelys API** is a single, predictable REST surface for cold email and outreach — people, senders, programs, and sending all live behind the five patterns below. Developer-first and AI-first: every name is either already invented (Schema.org) or obvious. ## Authentication Every request authenticates with an **org-scoped API key**. Create one in **Settings → API keys** and send it as a bearer token: ```http GET https://api.norbelys.com/v1/people Authorization: Bearer ak_live_… ``` Interactive agents may instead use OAuth 2.1 (see `/auth.md` and the `/.well-known/oauth-protected-resource` metadata). ## Conventions - **Base URL** — `https://api.norbelys.com/v1`. - **JSON in, JSON out.** Timestamps are ISO-8601 in UTC. - **Cursor pagination.** List endpoints take `limit` + `cursor` and return `{ data, hasMore, nextCursor }` (offset-paged tables add `page` + `total`). - **Expansions.** Detail GETs take an `expand[]` query param to inline related data (e.g. `GET /people/{id}?expand[]=timeline`) instead of extra calls. - **Soft deletes.** Anything that has been used is archived, never hard-deleted — `DELETE` archives the resource and returns it. ## Errors Failures return the same envelope on every 4xx/5xx, with the matching HTTP status: ```json { \"error\": { \"type\": \"invalid_request\", \"code\": \"invalid_param\", \"message\": \"…\", \"hint\": \"…\", \"doc_url\": \"…\" } } ``` `type` is a broad, machine-routable category derived from the status; `code` is the stable machine contract you branch on (never the human `message`). See the `ApiError` schema. ## Idempotency Every `POST` accepts an optional **`Idempotency-Key`** header. Reuse the same key to replay the original result for 24h instead of re-executing — so a retried create can never double-charge or duplicate a record. ## Rate limits & versioning Abuse control is enforced at the edge; responses advertise the policy via the `RateLimit-Policy` header, and a `429` carries `Retry-After`. The API is versioned in the URL path (`/v1`). Breaking changes ship under a new version; a retiring surface is announced with `Deprecation` + `Sunset` response headers at least 90 days ahead."
|
|
27
|
+
s.license = "Unlicense"
|
|
28
|
+
s.required_ruby_version = ">= 2.7"
|
|
29
|
+
s.metadata = {}
|
|
30
|
+
|
|
31
|
+
s.add_runtime_dependency 'typhoeus', '~> 1.0', '>= 1.0.1'
|
|
32
|
+
|
|
33
|
+
s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
|
|
34
|
+
|
|
35
|
+
s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
|
|
36
|
+
s.test_files = `find spec/*`.split("\n")
|
|
37
|
+
s.executables = []
|
|
38
|
+
s.require_paths = ["lib"]
|
|
39
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Norbelys API
|
|
3
|
+
|
|
4
|
+
#The **Norbelys API** is a single, predictable REST surface for cold email and outreach — people, senders, programs, and sending all live behind the five patterns below. Developer-first and AI-first: every name is either already invented (Schema.org) or obvious. ## Authentication Every request authenticates with an **org-scoped API key**. Create one in **Settings → API keys** and send it as a bearer token: ```http GET https://api.norbelys.com/v1/people Authorization: Bearer ak_live_… ``` Interactive agents may instead use OAuth 2.1 (see `/auth.md` and the `/.well-known/oauth-protected-resource` metadata). ## Conventions - **Base URL** — `https://api.norbelys.com/v1`. - **JSON in, JSON out.** Timestamps are ISO-8601 in UTC. - **Cursor pagination.** List endpoints take `limit` + `cursor` and return `{ data, hasMore, nextCursor }` (offset-paged tables add `page` + `total`). - **Expansions.** Detail GETs take an `expand[]` query param to inline related data (e.g. `GET /people/{id}?expand[]=timeline`) instead of extra calls. - **Soft deletes.** Anything that has been used is archived, never hard-deleted — `DELETE` archives the resource and returns it. ## Errors Failures return the same envelope on every 4xx/5xx, with the matching HTTP status: ```json { \"error\": { \"type\": \"invalid_request\", \"code\": \"invalid_param\", \"message\": \"…\", \"hint\": \"…\", \"doc_url\": \"…\" } } ``` `type` is a broad, machine-routable category derived from the status; `code` is the stable machine contract you branch on (never the human `message`). See the `ApiError` schema. ## Idempotency Every `POST` accepts an optional **`Idempotency-Key`** header. Reuse the same key to replay the original result for 24h instead of re-executing — so a retried create can never double-charge or duplicate a record. ## Rate limits & versioning Abuse control is enforced at the edge; responses advertise the policy via the `RateLimit-Policy` header, and a `429` carries `Retry-After`. The API is versioned in the URL path (`/v1`). Breaking changes ship under a new version; a retiring surface is announced with `Deprecation` + `Sunset` response headers at least 90 days ahead.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.0.1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.10.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Norbelys::AnalyticsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'AnalyticsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = Norbelys::AnalyticsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of AnalyticsApi' do
|
|
30
|
+
it 'should create an instance of AnalyticsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(Norbelys::AnalyticsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for analytics_query
|
|
36
|
+
# Run an analytics query
|
|
37
|
+
# The ONE read door for all event-derived analytics — choose a named `query` from the catalog and pass its `params`; the tenant is auto-scoped (you can never read another org). Returns flat rows + a count. Covers activity feeds, message/person event traces, time-series, campaign funnels, sender & inbox-provider health, A/B performance, warmup placement, and DMARC rollups. The `query` field documents the full catalog and which params each one takes.
|
|
38
|
+
# @param analytics_query
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @option opts [String] :idempotency_key Opt-in idempotency for a safely retried write: reuse the same key to replay the original result for 24h instead of re-executing. Recommended on every POST.
|
|
41
|
+
# @return [AnalyticsQueryResult]
|
|
42
|
+
describe 'analytics_query test' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Norbelys API
|
|
3
|
+
|
|
4
|
+
#The **Norbelys API** is a single, predictable REST surface for cold email and outreach — people, senders, programs, and sending all live behind the five patterns below. Developer-first and AI-first: every name is either already invented (Schema.org) or obvious. ## Authentication Every request authenticates with an **org-scoped API key**. Create one in **Settings → API keys** and send it as a bearer token: ```http GET https://api.norbelys.com/v1/people Authorization: Bearer ak_live_… ``` Interactive agents may instead use OAuth 2.1 (see `/auth.md` and the `/.well-known/oauth-protected-resource` metadata). ## Conventions - **Base URL** — `https://api.norbelys.com/v1`. - **JSON in, JSON out.** Timestamps are ISO-8601 in UTC. - **Cursor pagination.** List endpoints take `limit` + `cursor` and return `{ data, hasMore, nextCursor }` (offset-paged tables add `page` + `total`). - **Expansions.** Detail GETs take an `expand[]` query param to inline related data (e.g. `GET /people/{id}?expand[]=timeline`) instead of extra calls. - **Soft deletes.** Anything that has been used is archived, never hard-deleted — `DELETE` archives the resource and returns it. ## Errors Failures return the same envelope on every 4xx/5xx, with the matching HTTP status: ```json { \"error\": { \"type\": \"invalid_request\", \"code\": \"invalid_param\", \"message\": \"…\", \"hint\": \"…\", \"doc_url\": \"…\" } } ``` `type` is a broad, machine-routable category derived from the status; `code` is the stable machine contract you branch on (never the human `message`). See the `ApiError` schema. ## Idempotency Every `POST` accepts an optional **`Idempotency-Key`** header. Reuse the same key to replay the original result for 24h instead of re-executing — so a retried create can never double-charge or duplicate a record. ## Rate limits & versioning Abuse control is enforced at the edge; responses advertise the policy via the `RateLimit-Policy` header, and a `429` carries `Retry-After`. The API is versioned in the URL path (`/v1`). Breaking changes ship under a new version; a retiring surface is announced with `Deprecation` + `Sunset` response headers at least 90 days ahead.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.0.1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.10.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Norbelys::DomainsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'DomainsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = Norbelys::DomainsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of DomainsApi' do
|
|
30
|
+
it 'should create an instance of DomainsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(Norbelys::DomainsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for domains_archive
|
|
36
|
+
# Archive a domain
|
|
37
|
+
# Soft-archive a domain (it is versioned, never hard-deleted). Archiving a monitoring domain also revokes its collection addresses, so DMARC report ingestion stops with it; restore re-enables them.
|
|
38
|
+
# @param id
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @return [Domain]
|
|
41
|
+
describe 'domains_archive test' do
|
|
42
|
+
it 'should work' do
|
|
43
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# unit tests for domains_create
|
|
48
|
+
# Create a domain
|
|
49
|
+
# Provision a domain by capability. A `sending` domain registers a cold/SMTP mailbox domain (normally born automatically when you connect a mailbox); a `monitoring` domain starts DMARC monitoring and auto-mints its first collection address (read it back with find?expand[]=collectionAddresses). The common manual use is adding an external monitor-only domain.
|
|
50
|
+
# @param domain_create_params
|
|
51
|
+
# @param [Hash] opts the optional parameters
|
|
52
|
+
# @option opts [String] :idempotency_key Opt-in idempotency for a safely retried write: reuse the same key to replay the original result for 24h instead of re-executing. Recommended on every POST.
|
|
53
|
+
# @return [Domain]
|
|
54
|
+
describe 'domains_create test' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# unit tests for domains_find
|
|
61
|
+
# Get a domain
|
|
62
|
+
# Read one domain (a monitoring domain reports its DMARC collection readiness on read). Pass expand[]=collectionAddresses to inline the rua addresses reports are sent to.
|
|
63
|
+
# @param id
|
|
64
|
+
# @param [Hash] opts the optional parameters
|
|
65
|
+
# @option opts [Array<String>] :expand
|
|
66
|
+
# @return [DomainDetail]
|
|
67
|
+
describe 'domains_find test' do
|
|
68
|
+
it 'should work' do
|
|
69
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# unit tests for domains_list
|
|
74
|
+
# List domains
|
|
75
|
+
# List your domains — both sending domains and DMARC-monitoring domains. Filter by capability, or pass programId to scope to the sending domains a campaign sends from (adds senderCount).
|
|
76
|
+
# @param [Hash] opts the optional parameters
|
|
77
|
+
# @option opts [String] :cursor
|
|
78
|
+
# @option opts [Boolean] :include_archived
|
|
79
|
+
# @option opts [Integer] :limit
|
|
80
|
+
# @option opts [String] :capability
|
|
81
|
+
# @option opts [String] :program_id
|
|
82
|
+
# @return [DomainList]
|
|
83
|
+
describe 'domains_list test' do
|
|
84
|
+
it 'should work' do
|
|
85
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# unit tests for domains_restore
|
|
90
|
+
# Restore an archived domain
|
|
91
|
+
# Un-archive a domain. A monitoring domain also resumes DMARC report collection (its collection addresses are re-enabled).
|
|
92
|
+
# @param id
|
|
93
|
+
# @param [Hash] opts the optional parameters
|
|
94
|
+
# @option opts [String] :idempotency_key Opt-in idempotency for a safely retried write: reuse the same key to replay the original result for 24h instead of re-executing. Recommended on every POST.
|
|
95
|
+
# @return [Domain]
|
|
96
|
+
describe 'domains_restore 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 domains_share
|
|
103
|
+
# Share the DMARC report
|
|
104
|
+
# Mint a public, read-only link to this monitoring domain's DMARC report (send it to a client — no account needed). The link is signed and expires after 30 days; archiving the domain kills it immediately. Mint again for a fresh link.
|
|
105
|
+
# @param id
|
|
106
|
+
# @param [Hash] opts the optional parameters
|
|
107
|
+
# @option opts [String] :idempotency_key Opt-in idempotency for a safely retried write: reuse the same key to replay the original result for 24h instead of re-executing. Recommended on every POST.
|
|
108
|
+
# @return [ReportShare]
|
|
109
|
+
describe 'domains_share test' do
|
|
110
|
+
it 'should work' do
|
|
111
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# unit tests for domains_update
|
|
116
|
+
# Update a domain
|
|
117
|
+
# Update customer-owned settings on a sending or tracking domain. Operational DNS, TLS, health, recommendation, and capacity fields are read-only. The required version provides optimistic concurrency.
|
|
118
|
+
# @param id
|
|
119
|
+
# @param domain_update_params
|
|
120
|
+
# @param [Hash] opts the optional parameters
|
|
121
|
+
# @return [Domain]
|
|
122
|
+
describe 'domains_update test' do
|
|
123
|
+
it 'should work' do
|
|
124
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Norbelys API
|
|
3
|
+
|
|
4
|
+
#The **Norbelys API** is a single, predictable REST surface for cold email and outreach — people, senders, programs, and sending all live behind the five patterns below. Developer-first and AI-first: every name is either already invented (Schema.org) or obvious. ## Authentication Every request authenticates with an **org-scoped API key**. Create one in **Settings → API keys** and send it as a bearer token: ```http GET https://api.norbelys.com/v1/people Authorization: Bearer ak_live_… ``` Interactive agents may instead use OAuth 2.1 (see `/auth.md` and the `/.well-known/oauth-protected-resource` metadata). ## Conventions - **Base URL** — `https://api.norbelys.com/v1`. - **JSON in, JSON out.** Timestamps are ISO-8601 in UTC. - **Cursor pagination.** List endpoints take `limit` + `cursor` and return `{ data, hasMore, nextCursor }` (offset-paged tables add `page` + `total`). - **Expansions.** Detail GETs take an `expand[]` query param to inline related data (e.g. `GET /people/{id}?expand[]=timeline`) instead of extra calls. - **Soft deletes.** Anything that has been used is archived, never hard-deleted — `DELETE` archives the resource and returns it. ## Errors Failures return the same envelope on every 4xx/5xx, with the matching HTTP status: ```json { \"error\": { \"type\": \"invalid_request\", \"code\": \"invalid_param\", \"message\": \"…\", \"hint\": \"…\", \"doc_url\": \"…\" } } ``` `type` is a broad, machine-routable category derived from the status; `code` is the stable machine contract you branch on (never the human `message`). See the `ApiError` schema. ## Idempotency Every `POST` accepts an optional **`Idempotency-Key`** header. Reuse the same key to replay the original result for 24h instead of re-executing — so a retried create can never double-charge or duplicate a record. ## Rate limits & versioning Abuse control is enforced at the edge; responses advertise the policy via the `RateLimit-Policy` header, and a `429` carries `Retry-After`. The API is versioned in the URL path (`/v1`). Breaking changes ship under a new version; a retiring surface is announced with `Deprecation` + `Sunset` response headers at least 90 days ahead.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.0.1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.10.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Norbelys::FieldsApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'FieldsApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = Norbelys::FieldsApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of FieldsApi' do
|
|
30
|
+
it 'should create an instance of FieldsApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(Norbelys::FieldsApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for fields_archive
|
|
36
|
+
# Delete a field
|
|
37
|
+
# Soft-delete a custom field so it stops appearing in the UI, the merge-tag catalog, and segment filters. The values already stored under its `code` on each person are kept, so the field can be restored without data loss.
|
|
38
|
+
# @param id
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @return [Field]
|
|
41
|
+
describe 'fields_archive test' do
|
|
42
|
+
it 'should work' do
|
|
43
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# unit tests for fields_create
|
|
48
|
+
# Create a custom field
|
|
49
|
+
# Create a custom person-field. Its `code` becomes the `{{ code }}` merge tag used in templates and the key it is filtered by in segments; omit `code` to auto-derive a slug from the label. A `dropdown` field must also supply its `options`.
|
|
50
|
+
# @param field_create_params
|
|
51
|
+
# @param [Hash] opts the optional parameters
|
|
52
|
+
# @option opts [String] :idempotency_key Opt-in idempotency for a safely retried write: reuse the same key to replay the original result for 24h instead of re-executing. Recommended on every POST.
|
|
53
|
+
# @return [Field]
|
|
54
|
+
describe 'fields_create test' do
|
|
55
|
+
it 'should work' do
|
|
56
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# unit tests for fields_list
|
|
61
|
+
# List custom fields
|
|
62
|
+
# List all of the org's custom person-fields, in display order. The entire set is returned in one response — there is no pagination, because the set is small. System fields (email, telephone, first/last name) are not included here; only tenant-created custom fields.
|
|
63
|
+
# @param [Hash] opts the optional parameters
|
|
64
|
+
# @option opts [Boolean] :include_archived
|
|
65
|
+
# @return [FieldList]
|
|
66
|
+
describe 'fields_list test' do
|
|
67
|
+
it 'should work' do
|
|
68
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# unit tests for fields_update
|
|
73
|
+
# Update a field
|
|
74
|
+
# Update a field's label, type, options, or filterability. The `code` is immutable after create — live templates and segments reference it — so it cannot be changed here.
|
|
75
|
+
# @param id
|
|
76
|
+
# @param [Hash] opts the optional parameters
|
|
77
|
+
# @option opts [FieldUpdateParams] :field_update_params
|
|
78
|
+
# @return [Field]
|
|
79
|
+
describe 'fields_update test' do
|
|
80
|
+
it 'should work' do
|
|
81
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Norbelys API
|
|
3
|
+
|
|
4
|
+
#The **Norbelys API** is a single, predictable REST surface for cold email and outreach — people, senders, programs, and sending all live behind the five patterns below. Developer-first and AI-first: every name is either already invented (Schema.org) or obvious. ## Authentication Every request authenticates with an **org-scoped API key**. Create one in **Settings → API keys** and send it as a bearer token: ```http GET https://api.norbelys.com/v1/people Authorization: Bearer ak_live_… ``` Interactive agents may instead use OAuth 2.1 (see `/auth.md` and the `/.well-known/oauth-protected-resource` metadata). ## Conventions - **Base URL** — `https://api.norbelys.com/v1`. - **JSON in, JSON out.** Timestamps are ISO-8601 in UTC. - **Cursor pagination.** List endpoints take `limit` + `cursor` and return `{ data, hasMore, nextCursor }` (offset-paged tables add `page` + `total`). - **Expansions.** Detail GETs take an `expand[]` query param to inline related data (e.g. `GET /people/{id}?expand[]=timeline`) instead of extra calls. - **Soft deletes.** Anything that has been used is archived, never hard-deleted — `DELETE` archives the resource and returns it. ## Errors Failures return the same envelope on every 4xx/5xx, with the matching HTTP status: ```json { \"error\": { \"type\": \"invalid_request\", \"code\": \"invalid_param\", \"message\": \"…\", \"hint\": \"…\", \"doc_url\": \"…\" } } ``` `type` is a broad, machine-routable category derived from the status; `code` is the stable machine contract you branch on (never the human `message`). See the `ApiError` schema. ## Idempotency Every `POST` accepts an optional **`Idempotency-Key`** header. Reuse the same key to replay the original result for 24h instead of re-executing — so a retried create can never double-charge or duplicate a record. ## Rate limits & versioning Abuse control is enforced at the edge; responses advertise the policy via the `RateLimit-Policy` header, and a `429` carries `Retry-After`. The API is versioned in the URL path (`/v1`). Breaking changes ship under a new version; a retiring surface is announced with `Deprecation` + `Sunset` response headers at least 90 days ahead.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 0.0.1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.10.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
|
|
16
|
+
# Unit tests for Norbelys::FilesApi
|
|
17
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
18
|
+
# Please update as you see appropriate
|
|
19
|
+
describe 'FilesApi' do
|
|
20
|
+
before do
|
|
21
|
+
# run before each test
|
|
22
|
+
@api_instance = Norbelys::FilesApi.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
after do
|
|
26
|
+
# run after each test
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe 'test an instance of FilesApi' do
|
|
30
|
+
it 'should create an instance of FilesApi' do
|
|
31
|
+
expect(@api_instance).to be_instance_of(Norbelys::FilesApi)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# unit tests for files_create
|
|
36
|
+
# Upload a public file
|
|
37
|
+
# Upload one image or PDF (Base64, max 8 MB decoded) to the public files bucket. Returns the permanent public URL — embed it in email HTML (signature images, campaign bodies, linked PDFs). The URL contains an unguessable id, is never listed, and is served with no search indexing.
|
|
38
|
+
# @param file_upload
|
|
39
|
+
# @param [Hash] opts the optional parameters
|
|
40
|
+
# @option opts [String] :idempotency_key Opt-in idempotency for a safely retried write: reuse the same key to replay the original result for 24h instead of re-executing. Recommended on every POST.
|
|
41
|
+
# @return [FileObject]
|
|
42
|
+
describe 'files_create test' do
|
|
43
|
+
it 'should work' do
|
|
44
|
+
# assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|