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.
Files changed (624) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +429 -0
  4. data/Rakefile +10 -0
  5. data/docs/AddProgramSenderParams.md +18 -0
  6. data/docs/AiEmailVariantContent.md +28 -0
  7. data/docs/AnalyticsApi.md +81 -0
  8. data/docs/AnalyticsQuery.md +20 -0
  9. data/docs/AnalyticsQueryName.md +15 -0
  10. data/docs/AnalyticsQueryParams.md +50 -0
  11. data/docs/AnalyticsQueryResult.md +20 -0
  12. data/docs/ApiError.md +18 -0
  13. data/docs/ApiErrorDetail.md +26 -0
  14. data/docs/AudienceActivityAction.md +15 -0
  15. data/docs/AudienceActivityCondition.md +20 -0
  16. data/docs/AudienceActivityLinkFilter.md +20 -0
  17. data/docs/AudienceActivityLinkMatchOp.md +15 -0
  18. data/docs/AudienceActivityParams.md +32 -0
  19. data/docs/AudienceAttributeCondition.md +22 -0
  20. data/docs/AudienceConditionOp.md +15 -0
  21. data/docs/AudienceConditionValue.md +15 -0
  22. data/docs/AudienceFilter.md +20 -0
  23. data/docs/AudienceMatch.md +15 -0
  24. data/docs/AudienceRule.md +26 -0
  25. data/docs/AudienceSource.md +26 -0
  26. data/docs/AudienceStatusBreakdown.md +20 -0
  27. data/docs/AudienceSummary.md +26 -0
  28. data/docs/AudienceWeekPoint.md +20 -0
  29. data/docs/BulkUpdateSenderPatch.md +34 -0
  30. data/docs/BulkUpdateSendersInput.md +20 -0
  31. data/docs/BulkUpdateSendersResult.md +24 -0
  32. data/docs/CampaignReportShare.md +22 -0
  33. data/docs/CollectionAddress.md +28 -0
  34. data/docs/ConnectionSettings.md +22 -0
  35. data/docs/CreateSenderInput.md +42 -0
  36. data/docs/DetachResult.md +18 -0
  37. data/docs/DmarcRecordToPublish.md +22 -0
  38. data/docs/Domain.md +38 -0
  39. data/docs/DomainAge.md +30 -0
  40. data/docs/DomainCapacity.md +28 -0
  41. data/docs/DomainCreateParams.md +24 -0
  42. data/docs/DomainDetail.md +42 -0
  43. data/docs/DomainHealth.md +24 -0
  44. data/docs/DomainList.md +26 -0
  45. data/docs/DomainMonitoring.md +30 -0
  46. data/docs/DomainMonitoringParams.md +20 -0
  47. data/docs/DomainSending.md +26 -0
  48. data/docs/DomainSendingPolicy.md +36 -0
  49. data/docs/DomainSendingPolicyParams.md +32 -0
  50. data/docs/DomainSendingUpdateParams.md +20 -0
  51. data/docs/DomainTracking.md +50 -0
  52. data/docs/DomainTrackingParams.md +22 -0
  53. data/docs/DomainTrackingUpdateParams.md +24 -0
  54. data/docs/DomainUpdateParams.md +22 -0
  55. data/docs/DomainsApi.md +525 -0
  56. data/docs/EmailVariantContent.md +28 -0
  57. data/docs/EnrollProgramParams.md +28 -0
  58. data/docs/EnrollProgramResult.md +28 -0
  59. data/docs/Enrollment.md +42 -0
  60. data/docs/EnrollmentCounts.md +44 -0
  61. data/docs/EnrollmentList.md +28 -0
  62. data/docs/EnrollmentPersonRef.md +22 -0
  63. data/docs/EnrollmentProgramRef.md +20 -0
  64. data/docs/Features.md +18 -0
  65. data/docs/Field.md +38 -0
  66. data/docs/FieldCreateParams.md +26 -0
  67. data/docs/FieldList.md +20 -0
  68. data/docs/FieldType.md +15 -0
  69. data/docs/FieldUpdateParams.md +24 -0
  70. data/docs/FieldsApi.md +297 -0
  71. data/docs/FileObject.md +28 -0
  72. data/docs/FileUpload.md +22 -0
  73. data/docs/FilesApi.md +81 -0
  74. data/docs/Group.md +34 -0
  75. data/docs/GroupAddMembersParams.md +20 -0
  76. data/docs/GroupAddMembersResult.md +22 -0
  77. data/docs/GroupCreateParams.md +22 -0
  78. data/docs/GroupList.md +26 -0
  79. data/docs/GroupUpdateParams.md +22 -0
  80. data/docs/GroupsApi.md +521 -0
  81. data/docs/ImapConnectionUpdate.md +22 -0
  82. data/docs/InboundMessage.md +48 -0
  83. data/docs/Integration.md +34 -0
  84. data/docs/IntegrationConfig.md +26 -0
  85. data/docs/IntegrationConnectParams.md +18 -0
  86. data/docs/IntegrationConnectResult.md +18 -0
  87. data/docs/IntegrationList.md +26 -0
  88. data/docs/IntegrationNotifyConfig.md +24 -0
  89. data/docs/IntegrationOptions.md +18 -0
  90. data/docs/IntegrationProvider.md +15 -0
  91. data/docs/IntegrationStatus.md +15 -0
  92. data/docs/IntegrationSyncResult.md +18 -0
  93. data/docs/IntegrationUpdateParams.md +18 -0
  94. data/docs/IntegrationsApi.md +513 -0
  95. data/docs/LaunchProgramParams.md +18 -0
  96. data/docs/LaunchProgramResult.md +22 -0
  97. data/docs/Message.md +58 -0
  98. data/docs/MessageAddress.md +20 -0
  99. data/docs/MessageAttachment.md +28 -0
  100. data/docs/MessageAttachmentDownload.md +32 -0
  101. data/docs/MessageAttachmentInput.md +22 -0
  102. data/docs/MessageAttachmentList.md +22 -0
  103. data/docs/MessageCreateParams.md +44 -0
  104. data/docs/MessageEnrollParams.md +26 -0
  105. data/docs/MessageList.md +26 -0
  106. data/docs/MessageReplyParams.md +40 -0
  107. data/docs/MessageSource.md +36 -0
  108. data/docs/MessageSourceAttachment.md +22 -0
  109. data/docs/MessageTestParams.md +40 -0
  110. data/docs/MessageUpdateParams.md +22 -0
  111. data/docs/MessagesApi.md +543 -0
  112. data/docs/MonthlyEmailUsageMeter.md +24 -0
  113. data/docs/Organization.md +30 -0
  114. data/docs/OrganizationAlerts.md +18 -0
  115. data/docs/OrganizationAlertsParams.md +18 -0
  116. data/docs/OrganizationApi.md +350 -0
  117. data/docs/OrganizationBouncePolicy.md +20 -0
  118. data/docs/OrganizationBouncePolicyParams.md +20 -0
  119. data/docs/OrganizationOnboarding.md +20 -0
  120. data/docs/OrganizationProfile.md +22 -0
  121. data/docs/OrganizationProfileParams.md +22 -0
  122. data/docs/OrganizationPulse.md +28 -0
  123. data/docs/OrganizationUpdateParams.md +24 -0
  124. data/docs/OrganizationUsage.md +26 -0
  125. data/docs/OutboundMessage.md +46 -0
  126. data/docs/PeopleApi.md +681 -0
  127. data/docs/PeopleBulkCreateParams.md +28 -0
  128. data/docs/PeopleBulkCreateResult.md +34 -0
  129. data/docs/Person.md +52 -0
  130. data/docs/PersonCreateParams.md +30 -0
  131. data/docs/PersonDetail.md +60 -0
  132. data/docs/PersonErased.md +20 -0
  133. data/docs/PersonGroupRef.md +22 -0
  134. data/docs/PersonImportItem.md +30 -0
  135. data/docs/PersonImportReason.md +22 -0
  136. data/docs/PersonImportStats.md +36 -0
  137. data/docs/PersonList.md +26 -0
  138. data/docs/PersonListItem.md +50 -0
  139. data/docs/PersonSegmentRef.md +22 -0
  140. data/docs/PersonUpdateParams.md +30 -0
  141. data/docs/Program.md +78 -0
  142. data/docs/ProgramCreateParams.md +62 -0
  143. data/docs/ProgramDetail.md +84 -0
  144. data/docs/ProgramList.md +26 -0
  145. data/docs/ProgramListItem.md +80 -0
  146. data/docs/ProgramPauseMeta.md +20 -0
  147. data/docs/ProgramSenderRef.md +26 -0
  148. data/docs/ProgramStats.md +22 -0
  149. data/docs/ProgramStepInput.md +38 -0
  150. data/docs/ProgramUpdateParams.md +62 -0
  151. data/docs/ProgramVariantInput.md +26 -0
  152. data/docs/ProgramsApi.md +1283 -0
  153. data/docs/ProgramsAudienceList.md +26 -0
  154. data/docs/ProgramsSendersList.md +26 -0
  155. data/docs/ProviderApiSenderInput.md +38 -0
  156. data/docs/PulseDeliverability.md +30 -0
  157. data/docs/PulseProgram.md +42 -0
  158. data/docs/PulseSenderFleet.md +30 -0
  159. data/docs/PulseValue.md +26 -0
  160. data/docs/ReportShare.md +22 -0
  161. data/docs/Segment.md +32 -0
  162. data/docs/SegmentCreateParams.md +22 -0
  163. data/docs/SegmentList.md +26 -0
  164. data/docs/SegmentUpdateParams.md +22 -0
  165. data/docs/SegmentsApi.md +373 -0
  166. data/docs/SelfHostedSenderInput.md +36 -0
  167. data/docs/Sender.md +66 -0
  168. data/docs/SenderBulkError.md +20 -0
  169. data/docs/SenderDetail.md +70 -0
  170. data/docs/SenderList.md +26 -0
  171. data/docs/SenderRemoveResult.md +20 -0
  172. data/docs/SenderUsage.md +24 -0
  173. data/docs/SenderWarmupStatus.md +20 -0
  174. data/docs/SendersApi.md +531 -0
  175. data/docs/SlackChannel.md +20 -0
  176. data/docs/SmtpConnectionSettings.md +26 -0
  177. data/docs/SmtpConnectionUpdate.md +26 -0
  178. data/docs/SmtpSenderInput.md +40 -0
  179. data/docs/StaticEmailVariantContent.md +28 -0
  180. data/docs/StepWithVariants.md +46 -0
  181. data/docs/Suppression.md +32 -0
  182. data/docs/SuppressionBulkParams.md +20 -0
  183. data/docs/SuppressionBulkResult.md +18 -0
  184. data/docs/SuppressionCreateParams.md +24 -0
  185. data/docs/SuppressionList.md +26 -0
  186. data/docs/SuppressionScope.md +15 -0
  187. data/docs/SuppressionsApi.md +369 -0
  188. data/docs/SyncModel.md +15 -0
  189. data/docs/TeamSize.md +15 -0
  190. data/docs/TrackingDnsRecord.md +22 -0
  191. data/docs/UpdateSenderInput.md +48 -0
  192. data/docs/UsageMeter.md +22 -0
  193. data/docs/UsagePlan.md +22 -0
  194. data/docs/Variant.md +34 -0
  195. data/docs/VariantAi.md +22 -0
  196. data/docs/VerifyApi.md +81 -0
  197. data/docs/VerifyEmailInput.md +18 -0
  198. data/docs/VerifyMx.md +22 -0
  199. data/docs/VerifyReachability.md +15 -0
  200. data/docs/VerifyReasonCode.md +15 -0
  201. data/docs/VerifyResult.md +38 -0
  202. data/docs/VerifySignals.md +28 -0
  203. data/docs/VerifySyntax.md +22 -0
  204. data/docs/VoiceSenderInput.md +38 -0
  205. data/docs/WarmupRuntimeStatus.md +32 -0
  206. data/docs/WarmupSettings.md +44 -0
  207. data/docs/WarmupTemplate.md +20 -0
  208. data/docs/WarmupTodayTally.md +22 -0
  209. data/lib/norbelys/api/analytics_api.rb +97 -0
  210. data/lib/norbelys/api/domains_api.rb +528 -0
  211. data/lib/norbelys/api/fields_api.rb +290 -0
  212. data/lib/norbelys/api/files_api.rb +97 -0
  213. data/lib/norbelys/api/groups_api.rb +516 -0
  214. data/lib/norbelys/api/integrations_api.rb +509 -0
  215. data/lib/norbelys/api/messages_api.rb +572 -0
  216. data/lib/norbelys/api/organization_api.rb +329 -0
  217. data/lib/norbelys/api/people_api.rb +689 -0
  218. data/lib/norbelys/api/programs_api.rb +1299 -0
  219. data/lib/norbelys/api/segments_api.rb +370 -0
  220. data/lib/norbelys/api/senders_api.rb +539 -0
  221. data/lib/norbelys/api/suppressions_api.rb +370 -0
  222. data/lib/norbelys/api/verify_api.rb +97 -0
  223. data/lib/norbelys/api_client.rb +394 -0
  224. data/lib/norbelys/api_error.rb +58 -0
  225. data/lib/norbelys/configuration.rb +308 -0
  226. data/lib/norbelys/models/add_program_sender_params.rb +222 -0
  227. data/lib/norbelys/models/ai_email_variant_content.rb +318 -0
  228. data/lib/norbelys/models/analytics_query.rb +252 -0
  229. data/lib/norbelys/models/analytics_query_name.rb +63 -0
  230. data/lib/norbelys/models/analytics_query_params.rb +485 -0
  231. data/lib/norbelys/models/analytics_query_result.rb +260 -0
  232. data/lib/norbelys/models/api_error.rb +221 -0
  233. data/lib/norbelys/models/api_error_detail.rb +310 -0
  234. data/lib/norbelys/models/audience_activity_action.rb +45 -0
  235. data/lib/norbelys/models/audience_activity_condition.rb +233 -0
  236. data/lib/norbelys/models/audience_activity_link_filter.rb +289 -0
  237. data/lib/norbelys/models/audience_activity_link_match_op.rb +40 -0
  238. data/lib/norbelys/models/audience_activity_params.rb +395 -0
  239. data/lib/norbelys/models/audience_attribute_condition.rb +289 -0
  240. data/lib/norbelys/models/audience_condition_op.rb +59 -0
  241. data/lib/norbelys/models/audience_condition_value.rb +107 -0
  242. data/lib/norbelys/models/audience_filter.rb +270 -0
  243. data/lib/norbelys/models/audience_match.rb +40 -0
  244. data/lib/norbelys/models/audience_rule.rb +104 -0
  245. data/lib/norbelys/models/audience_source.rb +343 -0
  246. data/lib/norbelys/models/audience_status_breakdown.rb +292 -0
  247. data/lib/norbelys/models/audience_summary.rb +351 -0
  248. data/lib/norbelys/models/audience_week_point.rb +258 -0
  249. data/lib/norbelys/models/bulk_update_sender_patch.rb +368 -0
  250. data/lib/norbelys/models/bulk_update_senders_input.rb +268 -0
  251. data/lib/norbelys/models/bulk_update_senders_result.rb +291 -0
  252. data/lib/norbelys/models/campaign_report_share.rb +244 -0
  253. data/lib/norbelys/models/collection_address.rb +321 -0
  254. data/lib/norbelys/models/connection_settings.rb +331 -0
  255. data/lib/norbelys/models/create_sender_input.rb +106 -0
  256. data/lib/norbelys/models/detach_result.rb +223 -0
  257. data/lib/norbelys/models/dmarc_record_to_publish.rb +252 -0
  258. data/lib/norbelys/models/domain.rb +421 -0
  259. data/lib/norbelys/models/domain_age.rb +351 -0
  260. data/lib/norbelys/models/domain_capacity.rb +397 -0
  261. data/lib/norbelys/models/domain_create_params.rb +307 -0
  262. data/lib/norbelys/models/domain_detail.rb +445 -0
  263. data/lib/norbelys/models/domain_health.rb +310 -0
  264. data/lib/norbelys/models/domain_list.rb +292 -0
  265. data/lib/norbelys/models/domain_monitoring.rb +380 -0
  266. data/lib/norbelys/models/domain_monitoring_params.rb +262 -0
  267. data/lib/norbelys/models/domain_sending.rb +302 -0
  268. data/lib/norbelys/models/domain_sending_policy.rb +479 -0
  269. data/lib/norbelys/models/domain_sending_policy_params.rb +389 -0
  270. data/lib/norbelys/models/domain_sending_update_params.rb +225 -0
  271. data/lib/norbelys/models/domain_tracking.rb +570 -0
  272. data/lib/norbelys/models/domain_tracking_params.rb +268 -0
  273. data/lib/norbelys/models/domain_tracking_update_params.rb +306 -0
  274. data/lib/norbelys/models/domain_update_params.rb +259 -0
  275. data/lib/norbelys/models/email_variant_content.rb +104 -0
  276. data/lib/norbelys/models/enroll_program_params.rb +308 -0
  277. data/lib/norbelys/models/enroll_program_result.rb +366 -0
  278. data/lib/norbelys/models/enrollment.rb +405 -0
  279. data/lib/norbelys/models/enrollment_counts.rb +660 -0
  280. data/lib/norbelys/models/enrollment_list.rb +308 -0
  281. data/lib/norbelys/models/enrollment_person_ref.rb +246 -0
  282. data/lib/norbelys/models/enrollment_program_ref.rb +239 -0
  283. data/lib/norbelys/models/features.rb +223 -0
  284. data/lib/norbelys/models/field.rb +401 -0
  285. data/lib/norbelys/models/field_create_params.rb +386 -0
  286. data/lib/norbelys/models/field_list.rb +234 -0
  287. data/lib/norbelys/models/field_type.rb +45 -0
  288. data/lib/norbelys/models/field_update_params.rb +324 -0
  289. data/lib/norbelys/models/file_object.rb +321 -0
  290. data/lib/norbelys/models/file_upload.rb +324 -0
  291. data/lib/norbelys/models/group.rb +339 -0
  292. data/lib/norbelys/models/group_add_members_params.rb +227 -0
  293. data/lib/norbelys/models/group_add_members_result.rb +313 -0
  294. data/lib/norbelys/models/group_create_params.rb +308 -0
  295. data/lib/norbelys/models/group_list.rb +299 -0
  296. data/lib/norbelys/models/group_update_params.rb +293 -0
  297. data/lib/norbelys/models/imap_connection_update.rb +317 -0
  298. data/lib/norbelys/models/inbound_message.rb +442 -0
  299. data/lib/norbelys/models/integration.rb +340 -0
  300. data/lib/norbelys/models/integration_config.rb +254 -0
  301. data/lib/norbelys/models/integration_connect_params.rb +244 -0
  302. data/lib/norbelys/models/integration_connect_result.rb +222 -0
  303. data/lib/norbelys/models/integration_list.rb +292 -0
  304. data/lib/norbelys/models/integration_notify_config.rb +246 -0
  305. data/lib/norbelys/models/integration_options.rb +224 -0
  306. data/lib/norbelys/models/integration_provider.rb +52 -0
  307. data/lib/norbelys/models/integration_status.rb +41 -0
  308. data/lib/norbelys/models/integration_sync_result.rb +224 -0
  309. data/lib/norbelys/models/integration_update_params.rb +222 -0
  310. data/lib/norbelys/models/launch_program_params.rb +230 -0
  311. data/lib/norbelys/models/launch_program_result.rb +292 -0
  312. data/lib/norbelys/models/message.rb +104 -0
  313. data/lib/norbelys/models/message_address.rb +232 -0
  314. data/lib/norbelys/models/message_attachment.rb +312 -0
  315. data/lib/norbelys/models/message_attachment_download.rb +341 -0
  316. data/lib/norbelys/models/message_attachment_input.rb +296 -0
  317. data/lib/norbelys/models/message_attachment_list.rb +253 -0
  318. data/lib/norbelys/models/message_create_params.rb +105 -0
  319. data/lib/norbelys/models/message_enroll_params.rb +278 -0
  320. data/lib/norbelys/models/message_list.rb +299 -0
  321. data/lib/norbelys/models/message_reply_params.rb +369 -0
  322. data/lib/norbelys/models/message_source.rb +348 -0
  323. data/lib/norbelys/models/message_source_attachment.rb +242 -0
  324. data/lib/norbelys/models/message_test_params.rb +364 -0
  325. data/lib/norbelys/models/message_update_params.rb +269 -0
  326. data/lib/norbelys/models/monthly_email_usage_meter.rb +303 -0
  327. data/lib/norbelys/models/organization.rb +321 -0
  328. data/lib/norbelys/models/organization_alerts.rb +223 -0
  329. data/lib/norbelys/models/organization_alerts_params.rb +216 -0
  330. data/lib/norbelys/models/organization_bounce_policy.rb +240 -0
  331. data/lib/norbelys/models/organization_bounce_policy_params.rb +226 -0
  332. data/lib/norbelys/models/organization_onboarding.rb +250 -0
  333. data/lib/norbelys/models/organization_profile.rb +264 -0
  334. data/lib/norbelys/models/organization_profile_params.rb +270 -0
  335. data/lib/norbelys/models/organization_pulse.rb +301 -0
  336. data/lib/norbelys/models/organization_update_params.rb +242 -0
  337. data/lib/norbelys/models/organization_usage.rb +282 -0
  338. data/lib/norbelys/models/outbound_message.rb +447 -0
  339. data/lib/norbelys/models/people_bulk_create_params.rb +401 -0
  340. data/lib/norbelys/models/people_bulk_create_result.rb +493 -0
  341. data/lib/norbelys/models/person.rb +500 -0
  342. data/lib/norbelys/models/person_create_params.rb +320 -0
  343. data/lib/norbelys/models/person_detail.rb +548 -0
  344. data/lib/norbelys/models/person_erased.rb +234 -0
  345. data/lib/norbelys/models/person_group_ref.rb +251 -0
  346. data/lib/norbelys/models/person_import_item.rb +339 -0
  347. data/lib/norbelys/models/person_import_reason.rb +309 -0
  348. data/lib/norbelys/models/person_import_stats.rb +518 -0
  349. data/lib/norbelys/models/person_list.rb +299 -0
  350. data/lib/norbelys/models/person_list_item.rb +488 -0
  351. data/lib/norbelys/models/person_segment_ref.rb +251 -0
  352. data/lib/norbelys/models/person_update_params.rb +313 -0
  353. data/lib/norbelys/models/program.rb +871 -0
  354. data/lib/norbelys/models/program_create_params.rb +704 -0
  355. data/lib/norbelys/models/program_detail.rb +911 -0
  356. data/lib/norbelys/models/program_list.rb +292 -0
  357. data/lib/norbelys/models/program_list_item.rb +887 -0
  358. data/lib/norbelys/models/program_pause_meta.rb +295 -0
  359. data/lib/norbelys/models/program_sender_ref.rb +295 -0
  360. data/lib/norbelys/models/program_stats.rb +297 -0
  361. data/lib/norbelys/models/program_step_input.rb +469 -0
  362. data/lib/norbelys/models/program_update_params.rb +697 -0
  363. data/lib/norbelys/models/program_variant_input.rb +274 -0
  364. data/lib/norbelys/models/programs_audience_list.rb +293 -0
  365. data/lib/norbelys/models/programs_senders_list.rb +293 -0
  366. data/lib/norbelys/models/provider_api_sender_input.rb +395 -0
  367. data/lib/norbelys/models/pulse_deliverability.rb +325 -0
  368. data/lib/norbelys/models/pulse_program.rb +453 -0
  369. data/lib/norbelys/models/pulse_sender_fleet.rb +325 -0
  370. data/lib/norbelys/models/pulse_value.rb +291 -0
  371. data/lib/norbelys/models/report_share.rb +244 -0
  372. data/lib/norbelys/models/segment.rb +307 -0
  373. data/lib/norbelys/models/segment_create_params.rb +296 -0
  374. data/lib/norbelys/models/segment_list.rb +299 -0
  375. data/lib/norbelys/models/segment_update_params.rb +278 -0
  376. data/lib/norbelys/models/self_hosted_sender_input.rb +378 -0
  377. data/lib/norbelys/models/sender.rb +708 -0
  378. data/lib/norbelys/models/sender_bulk_error.rb +239 -0
  379. data/lib/norbelys/models/sender_detail.rb +726 -0
  380. data/lib/norbelys/models/sender_list.rb +299 -0
  381. data/lib/norbelys/models/sender_remove_result.rb +268 -0
  382. data/lib/norbelys/models/sender_usage.rb +331 -0
  383. data/lib/norbelys/models/sender_warmup_status.rb +230 -0
  384. data/lib/norbelys/models/slack_channel.rb +239 -0
  385. data/lib/norbelys/models/smtp_connection_settings.rb +351 -0
  386. data/lib/norbelys/models/smtp_connection_update.rb +337 -0
  387. data/lib/norbelys/models/smtp_sender_input.rb +403 -0
  388. data/lib/norbelys/models/static_email_variant_content.rb +312 -0
  389. data/lib/norbelys/models/step_with_variants.rb +591 -0
  390. data/lib/norbelys/models/suppression.rb +331 -0
  391. data/lib/norbelys/models/suppression_bulk_params.rb +262 -0
  392. data/lib/norbelys/models/suppression_bulk_result.rb +241 -0
  393. data/lib/norbelys/models/suppression_create_params.rb +305 -0
  394. data/lib/norbelys/models/suppression_list.rb +293 -0
  395. data/lib/norbelys/models/suppression_scope.rb +40 -0
  396. data/lib/norbelys/models/sync_model.rb +41 -0
  397. data/lib/norbelys/models/team_size.rb +43 -0
  398. data/lib/norbelys/models/tracking_dns_record.rb +252 -0
  399. data/lib/norbelys/models/update_sender_input.rb +481 -0
  400. data/lib/norbelys/models/usage_meter.rb +286 -0
  401. data/lib/norbelys/models/usage_plan.rb +257 -0
  402. data/lib/norbelys/models/variant.rb +385 -0
  403. data/lib/norbelys/models/variant_ai.rb +314 -0
  404. data/lib/norbelys/models/verify_email_input.rb +251 -0
  405. data/lib/norbelys/models/verify_mx.rb +254 -0
  406. data/lib/norbelys/models/verify_reachability.rb +42 -0
  407. data/lib/norbelys/models/verify_reason_code.rb +52 -0
  408. data/lib/norbelys/models/verify_result.rb +426 -0
  409. data/lib/norbelys/models/verify_signals.rb +308 -0
  410. data/lib/norbelys/models/verify_syntax.rb +257 -0
  411. data/lib/norbelys/models/voice_sender_input.rb +388 -0
  412. data/lib/norbelys/models/warmup_runtime_status.rb +440 -0
  413. data/lib/norbelys/models/warmup_settings.rb +562 -0
  414. data/lib/norbelys/models/warmup_template.rb +295 -0
  415. data/lib/norbelys/models/warmup_today_tally.rb +314 -0
  416. data/lib/norbelys/version.rb +15 -0
  417. data/lib/norbelys.rb +243 -0
  418. data/norbelys.gemspec +39 -0
  419. data/spec/api/analytics_api_spec.rb +48 -0
  420. data/spec/api/domains_api_spec.rb +128 -0
  421. data/spec/api/fields_api_spec.rb +85 -0
  422. data/spec/api/files_api_spec.rb +48 -0
  423. data/spec/api/groups_api_spec.rb +127 -0
  424. data/spec/api/integrations_api_spec.rb +124 -0
  425. data/spec/api/messages_api_spec.rb +139 -0
  426. data/spec/api/organization_api_spec.rb +92 -0
  427. data/spec/api/people_api_spec.rb +158 -0
  428. data/spec/api/programs_api_spec.rb +270 -0
  429. data/spec/api/segments_api_spec.rb +100 -0
  430. data/spec/api/senders_api_spec.rb +130 -0
  431. data/spec/api/suppressions_api_spec.rb +98 -0
  432. data/spec/api/verify_api_spec.rb +48 -0
  433. data/spec/models/add_program_sender_params_spec.rb +36 -0
  434. data/spec/models/ai_email_variant_content_spec.rb +66 -0
  435. data/spec/models/analytics_query_name_spec.rb +30 -0
  436. data/spec/models/analytics_query_params_spec.rb +136 -0
  437. data/spec/models/analytics_query_result_spec.rb +42 -0
  438. data/spec/models/analytics_query_spec.rb +42 -0
  439. data/spec/models/api_error_detail_spec.rb +64 -0
  440. data/spec/models/api_error_spec.rb +36 -0
  441. data/spec/models/audience_activity_action_spec.rb +30 -0
  442. data/spec/models/audience_activity_condition_spec.rb +42 -0
  443. data/spec/models/audience_activity_link_filter_spec.rb +42 -0
  444. data/spec/models/audience_activity_link_match_op_spec.rb +30 -0
  445. data/spec/models/audience_activity_params_spec.rb +78 -0
  446. data/spec/models/audience_attribute_condition_spec.rb +48 -0
  447. data/spec/models/audience_condition_op_spec.rb +30 -0
  448. data/spec/models/audience_condition_value_spec.rb +21 -0
  449. data/spec/models/audience_filter_spec.rb +42 -0
  450. data/spec/models/audience_match_spec.rb +30 -0
  451. data/spec/models/audience_rule_spec.rb +21 -0
  452. data/spec/models/audience_source_spec.rb +64 -0
  453. data/spec/models/audience_status_breakdown_spec.rb +46 -0
  454. data/spec/models/audience_summary_spec.rb +60 -0
  455. data/spec/models/audience_week_point_spec.rb +42 -0
  456. data/spec/models/bulk_update_sender_patch_spec.rb +88 -0
  457. data/spec/models/bulk_update_senders_input_spec.rb +42 -0
  458. data/spec/models/bulk_update_senders_result_spec.rb +54 -0
  459. data/spec/models/campaign_report_share_spec.rb +48 -0
  460. data/spec/models/collection_address_spec.rb +70 -0
  461. data/spec/models/connection_settings_spec.rb +52 -0
  462. data/spec/models/create_sender_input_spec.rb +21 -0
  463. data/spec/models/detach_result_spec.rb +36 -0
  464. data/spec/models/dmarc_record_to_publish_spec.rb +48 -0
  465. data/spec/models/domain_age_spec.rb +76 -0
  466. data/spec/models/domain_capacity_spec.rb +70 -0
  467. data/spec/models/domain_create_params_spec.rb +58 -0
  468. data/spec/models/domain_detail_spec.rb +112 -0
  469. data/spec/models/domain_health_spec.rb +62 -0
  470. data/spec/models/domain_list_spec.rb +60 -0
  471. data/spec/models/domain_monitoring_params_spec.rb +46 -0
  472. data/spec/models/domain_monitoring_spec.rb +84 -0
  473. data/spec/models/domain_sending_policy_params_spec.rb +82 -0
  474. data/spec/models/domain_sending_policy_spec.rb +94 -0
  475. data/spec/models/domain_sending_spec.rb +60 -0
  476. data/spec/models/domain_sending_update_params_spec.rb +42 -0
  477. data/spec/models/domain_spec.rb +100 -0
  478. data/spec/models/domain_tracking_params_spec.rb +48 -0
  479. data/spec/models/domain_tracking_spec.rb +160 -0
  480. data/spec/models/domain_tracking_update_params_spec.rb +58 -0
  481. data/spec/models/domain_update_params_spec.rb +48 -0
  482. data/spec/models/email_variant_content_spec.rb +21 -0
  483. data/spec/models/enroll_program_params_spec.rb +70 -0
  484. data/spec/models/enroll_program_result_spec.rb +66 -0
  485. data/spec/models/enrollment_counts_spec.rb +114 -0
  486. data/spec/models/enrollment_list_spec.rb +66 -0
  487. data/spec/models/enrollment_person_ref_spec.rb +48 -0
  488. data/spec/models/enrollment_program_ref_spec.rb +42 -0
  489. data/spec/models/enrollment_spec.rb +112 -0
  490. data/spec/models/features_spec.rb +36 -0
  491. data/spec/models/field_create_params_spec.rb +64 -0
  492. data/spec/models/field_list_spec.rb +42 -0
  493. data/spec/models/field_spec.rb +96 -0
  494. data/spec/models/field_type_spec.rb +30 -0
  495. data/spec/models/field_update_params_spec.rb +58 -0
  496. data/spec/models/file_object_spec.rb +66 -0
  497. data/spec/models/file_upload_spec.rb +48 -0
  498. data/spec/models/group_add_members_params_spec.rb +42 -0
  499. data/spec/models/group_add_members_result_spec.rb +48 -0
  500. data/spec/models/group_create_params_spec.rb +48 -0
  501. data/spec/models/group_list_spec.rb +60 -0
  502. data/spec/models/group_spec.rb +84 -0
  503. data/spec/models/group_update_params_spec.rb +48 -0
  504. data/spec/models/imap_connection_update_spec.rb +52 -0
  505. data/spec/models/inbound_message_spec.rb +130 -0
  506. data/spec/models/integration_config_spec.rb +60 -0
  507. data/spec/models/integration_connect_params_spec.rb +36 -0
  508. data/spec/models/integration_connect_result_spec.rb +36 -0
  509. data/spec/models/integration_list_spec.rb +60 -0
  510. data/spec/models/integration_notify_config_spec.rb +54 -0
  511. data/spec/models/integration_options_spec.rb +36 -0
  512. data/spec/models/integration_provider_spec.rb +30 -0
  513. data/spec/models/integration_spec.rb +84 -0
  514. data/spec/models/integration_status_spec.rb +30 -0
  515. data/spec/models/integration_sync_result_spec.rb +36 -0
  516. data/spec/models/integration_update_params_spec.rb +36 -0
  517. data/spec/models/launch_program_params_spec.rb +36 -0
  518. data/spec/models/launch_program_result_spec.rb +52 -0
  519. data/spec/models/message_address_spec.rb +42 -0
  520. data/spec/models/message_attachment_download_spec.rb +78 -0
  521. data/spec/models/message_attachment_input_spec.rb +48 -0
  522. data/spec/models/message_attachment_list_spec.rb +48 -0
  523. data/spec/models/message_attachment_spec.rb +66 -0
  524. data/spec/models/message_create_params_spec.rb +21 -0
  525. data/spec/models/message_enroll_params_spec.rb +60 -0
  526. data/spec/models/message_list_spec.rb +60 -0
  527. data/spec/models/message_reply_params_spec.rb +102 -0
  528. data/spec/models/message_source_attachment_spec.rb +48 -0
  529. data/spec/models/message_source_spec.rb +90 -0
  530. data/spec/models/message_spec.rb +21 -0
  531. data/spec/models/message_test_params_spec.rb +102 -0
  532. data/spec/models/message_update_params_spec.rb +52 -0
  533. data/spec/models/monthly_email_usage_meter_spec.rb +58 -0
  534. data/spec/models/organization_alerts_params_spec.rb +36 -0
  535. data/spec/models/organization_alerts_spec.rb +36 -0
  536. data/spec/models/organization_bounce_policy_params_spec.rb +42 -0
  537. data/spec/models/organization_bounce_policy_spec.rb +42 -0
  538. data/spec/models/organization_onboarding_spec.rb +42 -0
  539. data/spec/models/organization_profile_params_spec.rb +52 -0
  540. data/spec/models/organization_profile_spec.rb +48 -0
  541. data/spec/models/organization_pulse_spec.rb +66 -0
  542. data/spec/models/organization_spec.rb +72 -0
  543. data/spec/models/organization_update_params_spec.rb +54 -0
  544. data/spec/models/organization_usage_spec.rb +60 -0
  545. data/spec/models/outbound_message_spec.rb +128 -0
  546. data/spec/models/people_bulk_create_params_spec.rb +70 -0
  547. data/spec/models/people_bulk_create_result_spec.rb +84 -0
  548. data/spec/models/person_create_params_spec.rb +76 -0
  549. data/spec/models/person_detail_spec.rb +170 -0
  550. data/spec/models/person_erased_spec.rb +42 -0
  551. data/spec/models/person_group_ref_spec.rb +48 -0
  552. data/spec/models/person_import_item_spec.rb +76 -0
  553. data/spec/models/person_import_reason_spec.rb +52 -0
  554. data/spec/models/person_import_stats_spec.rb +94 -0
  555. data/spec/models/person_list_item_spec.rb +140 -0
  556. data/spec/models/person_list_spec.rb +60 -0
  557. data/spec/models/person_segment_ref_spec.rb +48 -0
  558. data/spec/models/person_spec.rb +146 -0
  559. data/spec/models/person_update_params_spec.rb +76 -0
  560. data/spec/models/program_create_params_spec.rb +180 -0
  561. data/spec/models/program_detail_spec.rb +254 -0
  562. data/spec/models/program_list_item_spec.rb +242 -0
  563. data/spec/models/program_list_spec.rb +60 -0
  564. data/spec/models/program_pause_meta_spec.rb +42 -0
  565. data/spec/models/program_sender_ref_spec.rb +60 -0
  566. data/spec/models/program_spec.rb +236 -0
  567. data/spec/models/program_stats_spec.rb +48 -0
  568. data/spec/models/program_step_input_spec.rb +108 -0
  569. data/spec/models/program_update_params_spec.rb +180 -0
  570. data/spec/models/program_variant_input_spec.rb +60 -0
  571. data/spec/models/programs_audience_list_spec.rb +60 -0
  572. data/spec/models/programs_senders_list_spec.rb +60 -0
  573. data/spec/models/provider_api_sender_input_spec.rb +96 -0
  574. data/spec/models/pulse_deliverability_spec.rb +72 -0
  575. data/spec/models/pulse_program_spec.rb +112 -0
  576. data/spec/models/pulse_sender_fleet_spec.rb +72 -0
  577. data/spec/models/pulse_value_spec.rb +60 -0
  578. data/spec/models/report_share_spec.rb +48 -0
  579. data/spec/models/segment_create_params_spec.rb +48 -0
  580. data/spec/models/segment_list_spec.rb +60 -0
  581. data/spec/models/segment_spec.rb +78 -0
  582. data/spec/models/segment_update_params_spec.rb +48 -0
  583. data/spec/models/self_hosted_sender_input_spec.rb +90 -0
  584. data/spec/models/sender_bulk_error_spec.rb +42 -0
  585. data/spec/models/sender_detail_spec.rb +212 -0
  586. data/spec/models/sender_list_spec.rb +60 -0
  587. data/spec/models/sender_remove_result_spec.rb +46 -0
  588. data/spec/models/sender_spec.rb +200 -0
  589. data/spec/models/sender_usage_spec.rb +54 -0
  590. data/spec/models/sender_warmup_status_spec.rb +42 -0
  591. data/spec/models/slack_channel_spec.rb +42 -0
  592. data/spec/models/smtp_connection_settings_spec.rb +64 -0
  593. data/spec/models/smtp_connection_update_spec.rb +64 -0
  594. data/spec/models/smtp_sender_input_spec.rb +102 -0
  595. data/spec/models/static_email_variant_content_spec.rb +66 -0
  596. data/spec/models/step_with_variants_spec.rb +136 -0
  597. data/spec/models/suppression_bulk_params_spec.rb +42 -0
  598. data/spec/models/suppression_bulk_result_spec.rb +36 -0
  599. data/spec/models/suppression_create_params_spec.rb +58 -0
  600. data/spec/models/suppression_list_spec.rb +60 -0
  601. data/spec/models/suppression_scope_spec.rb +30 -0
  602. data/spec/models/suppression_spec.rb +78 -0
  603. data/spec/models/sync_model_spec.rb +30 -0
  604. data/spec/models/team_size_spec.rb +30 -0
  605. data/spec/models/tracking_dns_record_spec.rb +48 -0
  606. data/spec/models/update_sender_input_spec.rb +134 -0
  607. data/spec/models/usage_meter_spec.rb +52 -0
  608. data/spec/models/usage_plan_spec.rb +48 -0
  609. data/spec/models/variant_ai_spec.rb +52 -0
  610. data/spec/models/variant_spec.rb +88 -0
  611. data/spec/models/verify_email_input_spec.rb +36 -0
  612. data/spec/models/verify_mx_spec.rb +48 -0
  613. data/spec/models/verify_reachability_spec.rb +30 -0
  614. data/spec/models/verify_reason_code_spec.rb +30 -0
  615. data/spec/models/verify_result_spec.rb +96 -0
  616. data/spec/models/verify_signals_spec.rb +66 -0
  617. data/spec/models/verify_syntax_spec.rb +48 -0
  618. data/spec/models/voice_sender_input_spec.rb +96 -0
  619. data/spec/models/warmup_runtime_status_spec.rb +86 -0
  620. data/spec/models/warmup_settings_spec.rb +118 -0
  621. data/spec/models/warmup_template_spec.rb +42 -0
  622. data/spec/models/warmup_today_tally_spec.rb +48 -0
  623. data/spec/spec_helper.rb +111 -0
  624. metadata +935 -0
@@ -0,0 +1,34 @@
1
+ # Norbelys::PeopleBulkCreateResult
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **created** | **Integer** | Number of people actually inserted. | |
8
+ | **enrolled** | **Integer** | Total enrollments created across all `campaignIds` (0 when none requested). | |
9
+ | **fields_dropped** | **Integer** | Individual field VALUES dropped as invalid (an unparseable phone, a malformed `email`/`phone` custom-field value). The person was still imported — only the bad value was left out. | |
10
+ | **grouped** | **Integer** | Total group memberships created across all `groupIds` (0 when none requested). | |
11
+ | **ids** | **Array<String>** | Ids of EVERY matched person (new + pre-existing), for enrolling the whole set. | |
12
+ | **import_id** | **String** | The import id — poll its verification stats at GET /v1/people/bulk/{importId}. | |
13
+ | **rejected** | **Integer** | People dropped because the email was malformed — never inserted, and never fatal to the rest of the batch. | |
14
+ | **skipped** | **Integer** | People skipped as duplicate emails (already exist). | |
15
+ | **updated** | **Integer** | Existing people updated in place. 0 when `onConflict` is `skip`. | |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'norbelys'
21
+
22
+ instance = Norbelys::PeopleBulkCreateResult.new(
23
+ created: null,
24
+ enrolled: null,
25
+ fields_dropped: null,
26
+ grouped: null,
27
+ ids: null,
28
+ import_id: null,
29
+ rejected: null,
30
+ skipped: null,
31
+ updated: null
32
+ )
33
+ ```
34
+
data/docs/Person.md ADDED
@@ -0,0 +1,52 @@
1
+ # Norbelys::Person
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **archived_at** | **Object** | | [optional] |
8
+ | **created_at** | **Object** | | [optional] |
9
+ | **custom_fields** | **Hash<String, Object>** | | |
10
+ | **email** | **String** | | |
11
+ | **email_domain** | **String** | | |
12
+ | **family_name** | **String** | | |
13
+ | **given_name** | **String** | | |
14
+ | **id** | **String** | The person id. | |
15
+ | **import_id** | **String** | | |
16
+ | **last_activity_at** | **Object** | | [optional] |
17
+ | **object** | **Object** | | [optional] |
18
+ | **private_notes** | **String** | | |
19
+ | **score** | **Integer** | | |
20
+ | **source** | **String** | Where the person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. | |
21
+ | **status** | **String** | Lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | |
22
+ | **telephone** | **String** | | |
23
+ | **telephones** | **Array<String>** | | |
24
+ | **updated_at** | **Object** | | [optional] |
25
+
26
+ ## Example
27
+
28
+ ```ruby
29
+ require 'norbelys'
30
+
31
+ instance = Norbelys::Person.new(
32
+ archived_at: null,
33
+ created_at: null,
34
+ custom_fields: null,
35
+ email: null,
36
+ email_domain: null,
37
+ family_name: null,
38
+ given_name: null,
39
+ id: null,
40
+ import_id: null,
41
+ last_activity_at: null,
42
+ object: null,
43
+ private_notes: null,
44
+ score: null,
45
+ source: null,
46
+ status: null,
47
+ telephone: null,
48
+ telephones: null,
49
+ updated_at: null
50
+ )
51
+ ```
52
+
@@ -0,0 +1,30 @@
1
+ # Norbelys::PersonCreateParams
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **custom_fields** | **Hash<String, Object>** | Custom field values keyed by code (see the Fields page). | [optional] |
8
+ | **email** | **String** | The person's email address. | |
9
+ | **family_name** | **String** | The person's last name. | [optional] |
10
+ | **given_name** | **String** | The person's first name. | [optional] |
11
+ | **source** | **String** | Where this person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. Defaults to `manual`. | [optional] |
12
+ | **telephone** | **String** | The primary telephone number. Normalized to E.164 on write; an invalid number is dropped (the person still saves), never fatal. | [optional] |
13
+ | **telephones** | **Array<String>** | Additional telephone numbers. Merged with `telephone`, normalized to E.164, deduped; invalid entries are dropped. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'norbelys'
19
+
20
+ instance = Norbelys::PersonCreateParams.new(
21
+ custom_fields: null,
22
+ email: null,
23
+ family_name: null,
24
+ given_name: null,
25
+ source: null,
26
+ telephone: null,
27
+ telephones: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,60 @@
1
+ # Norbelys::PersonDetail
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **archived_at** | **Object** | | [optional] |
8
+ | **created_at** | **Object** | | [optional] |
9
+ | **custom_fields** | **Hash<String, Object>** | | |
10
+ | **email** | **String** | | |
11
+ | **email_domain** | **String** | | |
12
+ | **family_name** | **String** | | |
13
+ | **given_name** | **String** | | |
14
+ | **id** | **String** | The person id. | |
15
+ | **import_id** | **String** | | |
16
+ | **last_activity_at** | **Object** | | [optional] |
17
+ | **object** | **Object** | | [optional] |
18
+ | **private_notes** | **String** | | |
19
+ | **score** | **Integer** | | |
20
+ | **source** | **String** | Where the person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. | |
21
+ | **status** | **String** | Lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | |
22
+ | **telephone** | **String** | | |
23
+ | **telephones** | **Array<String>** | | |
24
+ | **updated_at** | **Object** | | [optional] |
25
+ | **enrollments** | [**Array<Enrollment>**](Enrollment.md) | Expansion: the person's enrollments across all campaigns. | [optional] |
26
+ | **groups** | [**Array<PersonGroupRef>**](PersonGroupRef.md) | Expansion: the static groups this person belongs to. | [optional] |
27
+ | **segments** | [**Array<PersonSegmentRef>**](PersonSegmentRef.md) | Expansion: the dynamic segments this person currently matches. | [optional] |
28
+ | **timeline** | [**Array<Message>**](Message.md) | Expansion: the person's merged sent + received messages, newest first. | [optional] |
29
+
30
+ ## Example
31
+
32
+ ```ruby
33
+ require 'norbelys'
34
+
35
+ instance = Norbelys::PersonDetail.new(
36
+ archived_at: null,
37
+ created_at: null,
38
+ custom_fields: null,
39
+ email: null,
40
+ email_domain: null,
41
+ family_name: null,
42
+ given_name: null,
43
+ id: null,
44
+ import_id: null,
45
+ last_activity_at: null,
46
+ object: null,
47
+ private_notes: null,
48
+ score: null,
49
+ source: null,
50
+ status: null,
51
+ telephone: null,
52
+ telephones: null,
53
+ updated_at: null,
54
+ enrollments: null,
55
+ groups: null,
56
+ segments: null,
57
+ timeline: null
58
+ )
59
+ ```
60
+
@@ -0,0 +1,20 @@
1
+ # Norbelys::PersonErased
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **erased** | **Object** | | |
8
+ | **id** | **String** | The erased person's id. | |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'norbelys'
14
+
15
+ instance = Norbelys::PersonErased.new(
16
+ erased: null,
17
+ id: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,22 @@
1
+ # Norbelys::PersonGroupRef
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The reference id. | |
8
+ | **name** | **String** | Display name. | |
9
+ | **color** | **String** | | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'norbelys'
15
+
16
+ instance = Norbelys::PersonGroupRef.new(
17
+ id: null,
18
+ name: null,
19
+ color: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,30 @@
1
+ # Norbelys::PersonImportItem
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **custom_fields** | **Hash<String, Object>** | Custom field values keyed by code (see the Fields page). | [optional] |
8
+ | **email** | **String** | The person's email address. A malformed address is skipped (counted in `rejected`), never fatal to the batch. | |
9
+ | **family_name** | **String** | The person's last name. | [optional] |
10
+ | **given_name** | **String** | The person's first name. | [optional] |
11
+ | **source** | **String** | Where this person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. Defaults to `manual`. | [optional] |
12
+ | **telephone** | **String** | The primary telephone number. Normalized to E.164 on write; an invalid number is dropped (the person still saves), never fatal. | [optional] |
13
+ | **telephones** | **Array<String>** | Additional telephone numbers. Merged with `telephone`, normalized to E.164, deduped; invalid entries are dropped. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'norbelys'
19
+
20
+ instance = Norbelys::PersonImportItem.new(
21
+ custom_fields: null,
22
+ email: null,
23
+ family_name: null,
24
+ given_name: null,
25
+ source: null,
26
+ telephone: null,
27
+ telephones: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,22 @@
1
+ # Norbelys::PersonImportReason
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **count** | **Integer** | People in this (outcome, reason) bucket. | |
8
+ | **outcome** | **String** | Which outcome bucket this reason belongs to: `sendable`, `suppressed_new`, or `suppressed_existing`. | |
9
+ | **reason_code** | **String** | Machine-readable reason for the verdict (typo_suspected · invalid_tld · disposable · no_mail_server · previously_bounced · spam_listed · role_account · …). | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'norbelys'
15
+
16
+ instance = Norbelys::PersonImportReason.new(
17
+ count: null,
18
+ outcome: null,
19
+ reason_code: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,36 @@
1
+ # Norbelys::PersonImportStats
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **created** | **Integer** | New people this import inserted. | |
8
+ | **id** | **String** | The import id. | |
9
+ | **object** | **Object** | | [optional] |
10
+ | **pending** | **Integer** | Created people still awaiting a verdict (`created − processed`). | |
11
+ | **processed** | **Integer** | How many of the created people have been verified so far. | |
12
+ | **reasons** | [**Array<PersonImportReason>**](PersonImportReason.md) | The cleaning report: WHAT the verification found, per reason — which addresses were removed as dead domains, likely typos, disposables, previously bounced, and so on. Ordered by count, descending. | |
13
+ | **sendable** | **Integer** | Verified and safe to email. | |
14
+ | **status** | **String** | `processing` while addresses are still being verified, `completed` once every created person has a verdict. | |
15
+ | **suppressed_existing** | **Integer** | Already on the suppression list before the import, so verification was skipped. | |
16
+ | **suppressed_new** | **Integer** | Newly suppressed by an undeliverable verdict. | |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'norbelys'
22
+
23
+ instance = Norbelys::PersonImportStats.new(
24
+ created: null,
25
+ id: null,
26
+ object: null,
27
+ pending: null,
28
+ processed: null,
29
+ reasons: null,
30
+ sendable: null,
31
+ status: null,
32
+ suppressed_existing: null,
33
+ suppressed_new: null
34
+ )
35
+ ```
36
+
@@ -0,0 +1,26 @@
1
+ # Norbelys::PersonList
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **data** | [**Array<PersonListItem>**](PersonListItem.md) | The page of results, newest first. | |
8
+ | **has_more** | **Boolean** | Whether another page exists beyond this one. | |
9
+ | **next_cursor** | **String** | | |
10
+ | **object** | **Object** | | [optional] |
11
+ | **total** | **Integer** | Count of ALL people matching the filters. | |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'norbelys'
17
+
18
+ instance = Norbelys::PersonList.new(
19
+ data: null,
20
+ has_more: null,
21
+ next_cursor: null,
22
+ object: null,
23
+ total: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,50 @@
1
+ # Norbelys::PersonListItem
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **archived_at** | **Object** | | [optional] |
8
+ | **created_at** | **Object** | | [optional] |
9
+ | **custom_fields** | **Hash<String, Object>** | | |
10
+ | **email** | **String** | | |
11
+ | **email_domain** | **String** | | |
12
+ | **family_name** | **String** | | |
13
+ | **given_name** | **String** | | |
14
+ | **id** | **String** | The person id. | |
15
+ | **import_id** | **String** | | |
16
+ | **last_activity_at** | **Object** | | [optional] |
17
+ | **object** | **Object** | | [optional] |
18
+ | **score** | **Integer** | | |
19
+ | **source** | **String** | Where the person came from: `csv_import`, `manual`, `api`, `form`, `inbound`, `integration`. | |
20
+ | **status** | **String** | Lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | |
21
+ | **telephone** | **String** | | |
22
+ | **telephones** | **Array<String>** | | |
23
+ | **updated_at** | **Object** | | [optional] |
24
+
25
+ ## Example
26
+
27
+ ```ruby
28
+ require 'norbelys'
29
+
30
+ instance = Norbelys::PersonListItem.new(
31
+ archived_at: null,
32
+ created_at: null,
33
+ custom_fields: null,
34
+ email: null,
35
+ email_domain: null,
36
+ family_name: null,
37
+ given_name: null,
38
+ id: null,
39
+ import_id: null,
40
+ last_activity_at: null,
41
+ object: null,
42
+ score: null,
43
+ source: null,
44
+ status: null,
45
+ telephone: null,
46
+ telephones: null,
47
+ updated_at: null
48
+ )
49
+ ```
50
+
@@ -0,0 +1,22 @@
1
+ # Norbelys::PersonSegmentRef
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **id** | **String** | The reference id. | |
8
+ | **name** | **String** | Display name. | |
9
+ | **description** | **String** | | |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'norbelys'
15
+
16
+ instance = Norbelys::PersonSegmentRef.new(
17
+ id: null,
18
+ name: null,
19
+ description: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,30 @@
1
+ # Norbelys::PersonUpdateParams
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **custom_fields** | **Hash<String, Object>** | | [optional] |
8
+ | **family_name** | **String** | | [optional] |
9
+ | **given_name** | **String** | | [optional] |
10
+ | **private_notes** | **String** | | [optional] |
11
+ | **status** | **String** | Set the lifecycle status: `active`, `replied`, `bounced`, `unsubscribed`, `finished`. | [optional] |
12
+ | **telephone** | **String** | | [optional] |
13
+ | **telephones** | **Array<String>** | | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'norbelys'
19
+
20
+ instance = Norbelys::PersonUpdateParams.new(
21
+ custom_fields: null,
22
+ family_name: null,
23
+ given_name: null,
24
+ private_notes: null,
25
+ status: null,
26
+ telephone: null,
27
+ telephones: null
28
+ )
29
+ ```
30
+
data/docs/Program.md ADDED
@@ -0,0 +1,78 @@
1
+ # Norbelys::Program
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **active_days** | **Array<Integer>** | | |
8
+ | **add_unsubscribe** | **Boolean** | Attach RFC 8058 one-click unsubscribe headers + footer. | |
9
+ | **archived_at** | **Object** | | [optional] |
10
+ | **auto_pause_on_company_reply** | **Boolean** | Pause every lead at a company once one of them replies. | |
11
+ | **bounce_pause_threshold** | **Float** | Auto-pause when the bounce rate reaches this percent; 0 disables. | |
12
+ | **created_at** | **Object** | | [optional] |
13
+ | **id** | **String** | The program id. | |
14
+ | **jitter_max_seconds** | **Integer** | Random extra wait per send, upper bound (seconds). | |
15
+ | **jitter_min_seconds** | **Integer** | Random extra wait per send, lower bound (seconds). | |
16
+ | **kind** | **String** | Kind of sending; `cold_sequence` is the only kind today. | |
17
+ | **name** | **String** | Display name. | |
18
+ | **new_per_day** | **Integer** | New leads started per day for the WHOLE campaign, shared across all its mailboxes (follow-ups are not counted). 0 = no daily cap — new leads flow at mailbox capacity. Real throughput is always bounded by the mailboxes' own daily limits. | |
19
+ | **object** | **Object** | | [optional] |
20
+ | **paused_at** | **Object** | | [optional] |
21
+ | **paused_meta** | [**ProgramPauseMeta**](ProgramPauseMeta.md) | | |
22
+ | **paused_reason** | **String** | | |
23
+ | **plain_text_mode** | **Boolean** | Send the body as plain text only: no HTML part, open pixel, or link tracking. | |
24
+ | **send_interval_minutes** | **Integer** | Minutes between sends from one mailbox. | |
25
+ | **spam_pause_threshold** | **Float** | Auto-pause when the spam-complaint rate reaches this percent; 0 disables. | |
26
+ | **start_date** | **Object** | | [optional] |
27
+ | **status** | **String** | Lifecycle status: `draft`, `active`, `paused`, `done`. | |
28
+ | **stop_condition** | **String** | Engagement that pulls a lead out of the cadence: `reply`, `click`, `open`, `none`. | |
29
+ | **timezone** | **String** | IANA timezone the window applies in. | |
30
+ | **track_clicks** | **Boolean** | Rewrite links to track clicks. | |
31
+ | **tracking_domain_id** | **String** | | |
32
+ | **track_opens** | **Boolean** | Insert the open pixel. | |
33
+ | **unsubscribe_text** | **String** | | |
34
+ | **updated_at** | **Object** | | [optional] |
35
+ | **variant_distribution** | **String** | How A/B arms are spread across leads with no decided winner: `pattern` (deterministic per-lead hash) or `random` (independent roll per lead). | |
36
+ | **window_from** | **String** | | |
37
+ | **window_to** | **String** | | |
38
+
39
+ ## Example
40
+
41
+ ```ruby
42
+ require 'norbelys'
43
+
44
+ instance = Norbelys::Program.new(
45
+ active_days: null,
46
+ add_unsubscribe: null,
47
+ archived_at: null,
48
+ auto_pause_on_company_reply: null,
49
+ bounce_pause_threshold: null,
50
+ created_at: null,
51
+ id: null,
52
+ jitter_max_seconds: null,
53
+ jitter_min_seconds: null,
54
+ kind: null,
55
+ name: null,
56
+ new_per_day: null,
57
+ object: null,
58
+ paused_at: null,
59
+ paused_meta: null,
60
+ paused_reason: null,
61
+ plain_text_mode: null,
62
+ send_interval_minutes: null,
63
+ spam_pause_threshold: null,
64
+ start_date: null,
65
+ status: null,
66
+ stop_condition: null,
67
+ timezone: null,
68
+ track_clicks: null,
69
+ tracking_domain_id: null,
70
+ track_opens: null,
71
+ unsubscribe_text: null,
72
+ updated_at: null,
73
+ variant_distribution: null,
74
+ window_from: null,
75
+ window_to: null
76
+ )
77
+ ```
78
+
@@ -0,0 +1,62 @@
1
+ # Norbelys::ProgramCreateParams
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **active_days** | **Array<Integer>** | | [optional] |
8
+ | **add_unsubscribe** | **Boolean** | Attach RFC 8058 one-click unsubscribe headers + footer. Defaults off (opt-in). | [optional] |
9
+ | **auto_pause_on_company_reply** | **Boolean** | Pause every lead at a company once one of them replies. | [optional] |
10
+ | **bounce_pause_threshold** | **Float** | Auto-pause when the bounce rate reaches this percent; 0 disables. Default 2. | [optional] |
11
+ | **jitter_max_seconds** | **Integer** | Random extra wait per send, upper bound (seconds). | [optional] |
12
+ | **jitter_min_seconds** | **Integer** | Random extra wait per send, lower bound (seconds). | [optional] |
13
+ | **kind** | **String** | Defaults to \"cold_sequence\". | [optional] |
14
+ | **name** | **String** | Display name. | |
15
+ | **new_per_day** | **Integer** | New leads started per day for the whole campaign, shared across all its mailboxes (follow-ups excluded); 0 = uncapped. | [optional] |
16
+ | **plain_text_mode** | **Boolean** | Send the body as plain text only: no HTML part, open pixel, or link tracking. | [optional] |
17
+ | **send_interval_minutes** | **Integer** | Minutes between sends from one mailbox (cold-email floor is 3). | [optional] |
18
+ | **spam_pause_threshold** | **Float** | Auto-pause when the spam-complaint rate reaches this percent; 0 disables. Default 0.3. | [optional] |
19
+ | **start_date** | **Integer** | | [optional] |
20
+ | **steps** | [**Array<ProgramStepInput>**](ProgramStepInput.md) | Build the whole cadence in one call: ordered steps, each with its arms. Omit to start empty and add steps later via programs.update. | [optional] |
21
+ | **stop_condition** | **String** | Engagement that pulls a lead out of the cadence: `reply`, `click`, `open`, `none`. | [optional] |
22
+ | **timezone** | **String** | IANA timezone. | [optional] |
23
+ | **track_clicks** | **Boolean** | Rewrite links to track clicks. | [optional] |
24
+ | **tracking_domain_id** | **String** | | [optional] |
25
+ | **track_opens** | **Boolean** | Insert the open pixel. | [optional] |
26
+ | **unsubscribe_text** | **String** | Custom unsubscribe footer copy. | [optional] |
27
+ | **variant_distribution** | **String** | How A/B arms are spread across leads with no decided winner: `pattern` (deterministic per-lead hash) or `random` (independent roll per lead). | [optional] |
28
+ | **window_from** | **String** | | [optional] |
29
+ | **window_to** | **String** | | [optional] |
30
+
31
+ ## Example
32
+
33
+ ```ruby
34
+ require 'norbelys'
35
+
36
+ instance = Norbelys::ProgramCreateParams.new(
37
+ active_days: null,
38
+ add_unsubscribe: null,
39
+ auto_pause_on_company_reply: null,
40
+ bounce_pause_threshold: null,
41
+ jitter_max_seconds: null,
42
+ jitter_min_seconds: null,
43
+ kind: null,
44
+ name: null,
45
+ new_per_day: null,
46
+ plain_text_mode: null,
47
+ send_interval_minutes: null,
48
+ spam_pause_threshold: null,
49
+ start_date: null,
50
+ steps: null,
51
+ stop_condition: null,
52
+ timezone: null,
53
+ track_clicks: null,
54
+ tracking_domain_id: null,
55
+ track_opens: null,
56
+ unsubscribe_text: null,
57
+ variant_distribution: null,
58
+ window_from: null,
59
+ window_to: null
60
+ )
61
+ ```
62
+
@@ -0,0 +1,84 @@
1
+ # Norbelys::ProgramDetail
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **active_days** | **Array<Integer>** | | |
8
+ | **add_unsubscribe** | **Boolean** | Attach RFC 8058 one-click unsubscribe headers + footer. | |
9
+ | **archived_at** | **Object** | | [optional] |
10
+ | **auto_pause_on_company_reply** | **Boolean** | Pause every lead at a company once one of them replies. | |
11
+ | **bounce_pause_threshold** | **Float** | Auto-pause when the bounce rate reaches this percent; 0 disables. | |
12
+ | **created_at** | **Object** | | [optional] |
13
+ | **id** | **String** | The program id. | |
14
+ | **jitter_max_seconds** | **Integer** | Random extra wait per send, upper bound (seconds). | |
15
+ | **jitter_min_seconds** | **Integer** | Random extra wait per send, lower bound (seconds). | |
16
+ | **kind** | **String** | Kind of sending; `cold_sequence` is the only kind today. | |
17
+ | **name** | **String** | Display name. | |
18
+ | **new_per_day** | **Integer** | New leads started per day for the WHOLE campaign, shared across all its mailboxes (follow-ups are not counted). 0 = no daily cap — new leads flow at mailbox capacity. Real throughput is always bounded by the mailboxes' own daily limits. | |
19
+ | **object** | **Object** | | [optional] |
20
+ | **paused_at** | **Object** | | [optional] |
21
+ | **paused_meta** | [**ProgramPauseMeta**](ProgramPauseMeta.md) | | |
22
+ | **paused_reason** | **String** | | |
23
+ | **plain_text_mode** | **Boolean** | Send the body as plain text only: no HTML part, open pixel, or link tracking. | |
24
+ | **send_interval_minutes** | **Integer** | Minutes between sends from one mailbox. | |
25
+ | **spam_pause_threshold** | **Float** | Auto-pause when the spam-complaint rate reaches this percent; 0 disables. | |
26
+ | **start_date** | **Object** | | [optional] |
27
+ | **status** | **String** | Lifecycle status: `draft`, `active`, `paused`, `done`. | |
28
+ | **stop_condition** | **String** | Engagement that pulls a lead out of the cadence: `reply`, `click`, `open`, `none`. | |
29
+ | **timezone** | **String** | IANA timezone the window applies in. | |
30
+ | **track_clicks** | **Boolean** | Rewrite links to track clicks. | |
31
+ | **tracking_domain_id** | **String** | | |
32
+ | **track_opens** | **Boolean** | Insert the open pixel. | |
33
+ | **unsubscribe_text** | **String** | | |
34
+ | **updated_at** | **Object** | | [optional] |
35
+ | **variant_distribution** | **String** | How A/B arms are spread across leads with no decided winner: `pattern` (deterministic per-lead hash) or `random` (independent roll per lead). | |
36
+ | **window_from** | **String** | | |
37
+ | **window_to** | **String** | | |
38
+ | **stats** | [**ProgramStats**](ProgramStats.md) | | |
39
+ | **senders** | [**Array<ProgramSenderRef>**](ProgramSenderRef.md) | The attached mailboxes — present when expand[]=senders. | [optional] |
40
+ | **steps** | [**Array<StepWithVariants>**](StepWithVariants.md) | The cadence with arms — present when expand[]=steps (always returned by create/update). | [optional] |
41
+
42
+ ## Example
43
+
44
+ ```ruby
45
+ require 'norbelys'
46
+
47
+ instance = Norbelys::ProgramDetail.new(
48
+ active_days: null,
49
+ add_unsubscribe: null,
50
+ archived_at: null,
51
+ auto_pause_on_company_reply: null,
52
+ bounce_pause_threshold: null,
53
+ created_at: null,
54
+ id: null,
55
+ jitter_max_seconds: null,
56
+ jitter_min_seconds: null,
57
+ kind: null,
58
+ name: null,
59
+ new_per_day: null,
60
+ object: null,
61
+ paused_at: null,
62
+ paused_meta: null,
63
+ paused_reason: null,
64
+ plain_text_mode: null,
65
+ send_interval_minutes: null,
66
+ spam_pause_threshold: null,
67
+ start_date: null,
68
+ status: null,
69
+ stop_condition: null,
70
+ timezone: null,
71
+ track_clicks: null,
72
+ tracking_domain_id: null,
73
+ track_opens: null,
74
+ unsubscribe_text: null,
75
+ updated_at: null,
76
+ variant_distribution: null,
77
+ window_from: null,
78
+ window_to: null,
79
+ stats: null,
80
+ senders: null,
81
+ steps: null
82
+ )
83
+ ```
84
+