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,516 @@
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 'cgi'
14
+
15
+ module Norbelys
16
+ class GroupsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Delete a group
23
+ # Permanently delete the group and its membership rows. The people themselves are kept — only their membership in this group is removed.
24
+ # @param id [String]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Group]
27
+ def groups_archive(id, opts = {})
28
+ data, _status_code, _headers = groups_archive_with_http_info(id, opts)
29
+ data
30
+ end
31
+
32
+ # Delete a group
33
+ # Permanently delete the group and its membership rows. The people themselves are kept — only their membership in this group is removed.
34
+ # @param id [String]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Group, Integer, Hash)>] Group data, response status code and response headers
37
+ def groups_archive_with_http_info(id, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: GroupsApi.groups_archive ...'
40
+ end
41
+ # verify the required parameter 'id' is set
42
+ if @api_client.config.client_side_validation && id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.groups_archive"
44
+ end
45
+ # resource path
46
+ local_var_path = '/groups/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
55
+
56
+ # form parameters
57
+ form_params = opts[:form_params] || {}
58
+
59
+ # http body (model)
60
+ post_body = opts[:debug_body]
61
+
62
+ # return_type
63
+ return_type = opts[:debug_return_type] || 'Group'
64
+
65
+ # auth_names
66
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
67
+
68
+ new_options = opts.merge(
69
+ :operation => :"GroupsApi.groups_archive",
70
+ :header_params => header_params,
71
+ :query_params => query_params,
72
+ :form_params => form_params,
73
+ :body => post_body,
74
+ :auth_names => auth_names,
75
+ :return_type => return_type
76
+ )
77
+
78
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
79
+ if @api_client.config.debugging
80
+ @api_client.config.logger.debug "API called: GroupsApi#groups_archive\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
+ end
82
+ return data, status_code, headers
83
+ end
84
+
85
+ # Create a group
86
+ # Create a group: an empty static list of people. Add members with groups.members.add (explicit person ids, or snapshot a segment's current matches), then view them at GET /v1/people?groupId={id}.
87
+ # @param group_create_params [GroupCreateParams]
88
+ # @param [Hash] opts the optional parameters
89
+ # @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.
90
+ # @return [Group]
91
+ def groups_create(group_create_params, opts = {})
92
+ data, _status_code, _headers = groups_create_with_http_info(group_create_params, opts)
93
+ data
94
+ end
95
+
96
+ # Create a group
97
+ # Create a group: an empty static list of people. Add members with groups.members.add (explicit person ids, or snapshot a segment&#39;s current matches), then view them at GET /v1/people?groupId&#x3D;{id}.
98
+ # @param group_create_params [GroupCreateParams]
99
+ # @param [Hash] opts the optional parameters
100
+ # @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.
101
+ # @return [Array<(Group, Integer, Hash)>] Group data, response status code and response headers
102
+ def groups_create_with_http_info(group_create_params, opts = {})
103
+ if @api_client.config.debugging
104
+ @api_client.config.logger.debug 'Calling API: GroupsApi.groups_create ...'
105
+ end
106
+ # verify the required parameter 'group_create_params' is set
107
+ if @api_client.config.client_side_validation && group_create_params.nil?
108
+ fail ArgumentError, "Missing the required parameter 'group_create_params' when calling GroupsApi.groups_create"
109
+ end
110
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
111
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling GroupsApi.groups_create, the character length must be smaller than or equal to 255.'
112
+ end
113
+
114
+ # resource path
115
+ local_var_path = '/groups'
116
+
117
+ # query parameters
118
+ query_params = opts[:query_params] || {}
119
+
120
+ # header parameters
121
+ header_params = opts[:header_params] || {}
122
+ # HTTP header 'Accept' (if needed)
123
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
124
+ # HTTP header 'Content-Type'
125
+ content_type = @api_client.select_header_content_type(['application/json'])
126
+ if !content_type.nil?
127
+ header_params['Content-Type'] = content_type
128
+ end
129
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
130
+
131
+ # form parameters
132
+ form_params = opts[:form_params] || {}
133
+
134
+ # http body (model)
135
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(group_create_params)
136
+
137
+ # return_type
138
+ return_type = opts[:debug_return_type] || 'Group'
139
+
140
+ # auth_names
141
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
142
+
143
+ new_options = opts.merge(
144
+ :operation => :"GroupsApi.groups_create",
145
+ :header_params => header_params,
146
+ :query_params => query_params,
147
+ :form_params => form_params,
148
+ :body => post_body,
149
+ :auth_names => auth_names,
150
+ :return_type => return_type
151
+ )
152
+
153
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug "API called: GroupsApi#groups_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
156
+ end
157
+ return data, status_code, headers
158
+ end
159
+
160
+ # Get a group
161
+ # Read one group, including its live member count. List its members at GET /v1/people?groupId={id} — there is no separate members endpoint.
162
+ # @param id [String]
163
+ # @param [Hash] opts the optional parameters
164
+ # @return [Group]
165
+ def groups_find(id, opts = {})
166
+ data, _status_code, _headers = groups_find_with_http_info(id, opts)
167
+ data
168
+ end
169
+
170
+ # Get a group
171
+ # Read one group, including its live member count. List its members at GET /v1/people?groupId&#x3D;{id} — there is no separate members endpoint.
172
+ # @param id [String]
173
+ # @param [Hash] opts the optional parameters
174
+ # @return [Array<(Group, Integer, Hash)>] Group data, response status code and response headers
175
+ def groups_find_with_http_info(id, opts = {})
176
+ if @api_client.config.debugging
177
+ @api_client.config.logger.debug 'Calling API: GroupsApi.groups_find ...'
178
+ end
179
+ # verify the required parameter 'id' is set
180
+ if @api_client.config.client_side_validation && id.nil?
181
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.groups_find"
182
+ end
183
+ # resource path
184
+ local_var_path = '/groups/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
185
+
186
+ # query parameters
187
+ query_params = opts[:query_params] || {}
188
+
189
+ # header parameters
190
+ header_params = opts[:header_params] || {}
191
+ # HTTP header 'Accept' (if needed)
192
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
193
+
194
+ # form parameters
195
+ form_params = opts[:form_params] || {}
196
+
197
+ # http body (model)
198
+ post_body = opts[:debug_body]
199
+
200
+ # return_type
201
+ return_type = opts[:debug_return_type] || 'Group'
202
+
203
+ # auth_names
204
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
205
+
206
+ new_options = opts.merge(
207
+ :operation => :"GroupsApi.groups_find",
208
+ :header_params => header_params,
209
+ :query_params => query_params,
210
+ :form_params => form_params,
211
+ :body => post_body,
212
+ :auth_names => auth_names,
213
+ :return_type => return_type
214
+ )
215
+
216
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
217
+ if @api_client.config.debugging
218
+ @api_client.config.logger.debug "API called: GroupsApi#groups_find\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
219
+ end
220
+ return data, status_code, headers
221
+ end
222
+
223
+ # List groups
224
+ # List the org's groups — static, hand-curated lists of people — newest first.
225
+ # @param [Hash] opts the optional parameters
226
+ # @option opts [String] :cursor
227
+ # @option opts [Boolean] :include_archived
228
+ # @option opts [Integer] :limit
229
+ # @option opts [String] :q
230
+ # @return [GroupList]
231
+ def groups_list(opts = {})
232
+ data, _status_code, _headers = groups_list_with_http_info(opts)
233
+ data
234
+ end
235
+
236
+ # List groups
237
+ # List the org&#39;s groups — static, hand-curated lists of people — newest first.
238
+ # @param [Hash] opts the optional parameters
239
+ # @option opts [String] :cursor
240
+ # @option opts [Boolean] :include_archived
241
+ # @option opts [Integer] :limit
242
+ # @option opts [String] :q
243
+ # @return [Array<(GroupList, Integer, Hash)>] GroupList data, response status code and response headers
244
+ def groups_list_with_http_info(opts = {})
245
+ if @api_client.config.debugging
246
+ @api_client.config.logger.debug 'Calling API: GroupsApi.groups_list ...'
247
+ end
248
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100
249
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling GroupsApi.groups_list, must be smaller than or equal to 100.'
250
+ end
251
+
252
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
253
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling GroupsApi.groups_list, must be greater than or equal to 1.'
254
+ end
255
+
256
+ # resource path
257
+ local_var_path = '/groups'
258
+
259
+ # query parameters
260
+ query_params = opts[:query_params] || {}
261
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
262
+ query_params[:'includeArchived'] = opts[:'include_archived'] if !opts[:'include_archived'].nil?
263
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
264
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
265
+
266
+ # header parameters
267
+ header_params = opts[:header_params] || {}
268
+ # HTTP header 'Accept' (if needed)
269
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
270
+
271
+ # form parameters
272
+ form_params = opts[:form_params] || {}
273
+
274
+ # http body (model)
275
+ post_body = opts[:debug_body]
276
+
277
+ # return_type
278
+ return_type = opts[:debug_return_type] || 'GroupList'
279
+
280
+ # auth_names
281
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
282
+
283
+ new_options = opts.merge(
284
+ :operation => :"GroupsApi.groups_list",
285
+ :header_params => header_params,
286
+ :query_params => query_params,
287
+ :form_params => form_params,
288
+ :body => post_body,
289
+ :auth_names => auth_names,
290
+ :return_type => return_type
291
+ )
292
+
293
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
294
+ if @api_client.config.debugging
295
+ @api_client.config.logger.debug "API called: GroupsApi#groups_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
296
+ end
297
+ return data, status_code, headers
298
+ end
299
+
300
+ # Add people to a group
301
+ # Add people to the group by explicit person ids and/or by snapshotting a segment's current matches into it. Idempotent — people already in the group are skipped.
302
+ # @param id [String]
303
+ # @param [Hash] opts the optional parameters
304
+ # @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.
305
+ # @option opts [GroupAddMembersParams] :group_add_members_params
306
+ # @return [GroupAddMembersResult]
307
+ def groups_members_add(id, opts = {})
308
+ data, _status_code, _headers = groups_members_add_with_http_info(id, opts)
309
+ data
310
+ end
311
+
312
+ # Add people to a group
313
+ # Add people to the group by explicit person ids and/or by snapshotting a segment&#39;s current matches into it. Idempotent — people already in the group are skipped.
314
+ # @param id [String]
315
+ # @param [Hash] opts the optional parameters
316
+ # @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.
317
+ # @option opts [GroupAddMembersParams] :group_add_members_params
318
+ # @return [Array<(GroupAddMembersResult, Integer, Hash)>] GroupAddMembersResult data, response status code and response headers
319
+ def groups_members_add_with_http_info(id, opts = {})
320
+ if @api_client.config.debugging
321
+ @api_client.config.logger.debug 'Calling API: GroupsApi.groups_members_add ...'
322
+ end
323
+ # verify the required parameter 'id' is set
324
+ if @api_client.config.client_side_validation && id.nil?
325
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.groups_members_add"
326
+ end
327
+ if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
328
+ fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling GroupsApi.groups_members_add, the character length must be smaller than or equal to 255.'
329
+ end
330
+
331
+ # resource path
332
+ local_var_path = '/groups/{id}/members'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
333
+
334
+ # query parameters
335
+ query_params = opts[:query_params] || {}
336
+
337
+ # header parameters
338
+ header_params = opts[:header_params] || {}
339
+ # HTTP header 'Accept' (if needed)
340
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
341
+ # HTTP header 'Content-Type'
342
+ content_type = @api_client.select_header_content_type(['application/json'])
343
+ if !content_type.nil?
344
+ header_params['Content-Type'] = content_type
345
+ end
346
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
347
+
348
+ # form parameters
349
+ form_params = opts[:form_params] || {}
350
+
351
+ # http body (model)
352
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'group_add_members_params'])
353
+
354
+ # return_type
355
+ return_type = opts[:debug_return_type] || 'GroupAddMembersResult'
356
+
357
+ # auth_names
358
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
359
+
360
+ new_options = opts.merge(
361
+ :operation => :"GroupsApi.groups_members_add",
362
+ :header_params => header_params,
363
+ :query_params => query_params,
364
+ :form_params => form_params,
365
+ :body => post_body,
366
+ :auth_names => auth_names,
367
+ :return_type => return_type
368
+ )
369
+
370
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
371
+ if @api_client.config.debugging
372
+ @api_client.config.logger.debug "API called: GroupsApi#groups_members_add\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
373
+ end
374
+ return data, status_code, headers
375
+ end
376
+
377
+ # Remove a person from a group
378
+ # Remove one person from the group. The person record is kept — only their membership in this group is removed.
379
+ # @param id [String]
380
+ # @param rel_id [String]
381
+ # @param [Hash] opts the optional parameters
382
+ # @return [DetachResult]
383
+ def groups_members_remove(id, rel_id, opts = {})
384
+ data, _status_code, _headers = groups_members_remove_with_http_info(id, rel_id, opts)
385
+ data
386
+ end
387
+
388
+ # Remove a person from a group
389
+ # Remove one person from the group. The person record is kept — only their membership in this group is removed.
390
+ # @param id [String]
391
+ # @param rel_id [String]
392
+ # @param [Hash] opts the optional parameters
393
+ # @return [Array<(DetachResult, Integer, Hash)>] DetachResult data, response status code and response headers
394
+ def groups_members_remove_with_http_info(id, rel_id, opts = {})
395
+ if @api_client.config.debugging
396
+ @api_client.config.logger.debug 'Calling API: GroupsApi.groups_members_remove ...'
397
+ end
398
+ # verify the required parameter 'id' is set
399
+ if @api_client.config.client_side_validation && id.nil?
400
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.groups_members_remove"
401
+ end
402
+ # verify the required parameter 'rel_id' is set
403
+ if @api_client.config.client_side_validation && rel_id.nil?
404
+ fail ArgumentError, "Missing the required parameter 'rel_id' when calling GroupsApi.groups_members_remove"
405
+ end
406
+ # resource path
407
+ local_var_path = '/groups/{id}/members/{relId}'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'relId' + '}', CGI.escape(rel_id.to_s))
408
+
409
+ # query parameters
410
+ query_params = opts[:query_params] || {}
411
+
412
+ # header parameters
413
+ header_params = opts[:header_params] || {}
414
+ # HTTP header 'Accept' (if needed)
415
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
416
+
417
+ # form parameters
418
+ form_params = opts[:form_params] || {}
419
+
420
+ # http body (model)
421
+ post_body = opts[:debug_body]
422
+
423
+ # return_type
424
+ return_type = opts[:debug_return_type] || 'DetachResult'
425
+
426
+ # auth_names
427
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
428
+
429
+ new_options = opts.merge(
430
+ :operation => :"GroupsApi.groups_members_remove",
431
+ :header_params => header_params,
432
+ :query_params => query_params,
433
+ :form_params => form_params,
434
+ :body => post_body,
435
+ :auth_names => auth_names,
436
+ :return_type => return_type
437
+ )
438
+
439
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
440
+ if @api_client.config.debugging
441
+ @api_client.config.logger.debug "API called: GroupsApi#groups_members_remove\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
442
+ end
443
+ return data, status_code, headers
444
+ end
445
+
446
+ # Update a group
447
+ # Rename a group or change its description and color chip. Membership is edited separately via groups.members.add / groups.members.remove.
448
+ # @param id [String]
449
+ # @param [Hash] opts the optional parameters
450
+ # @option opts [GroupUpdateParams] :group_update_params
451
+ # @return [Group]
452
+ def groups_update(id, opts = {})
453
+ data, _status_code, _headers = groups_update_with_http_info(id, opts)
454
+ data
455
+ end
456
+
457
+ # Update a group
458
+ # Rename a group or change its description and color chip. Membership is edited separately via groups.members.add / groups.members.remove.
459
+ # @param id [String]
460
+ # @param [Hash] opts the optional parameters
461
+ # @option opts [GroupUpdateParams] :group_update_params
462
+ # @return [Array<(Group, Integer, Hash)>] Group data, response status code and response headers
463
+ def groups_update_with_http_info(id, opts = {})
464
+ if @api_client.config.debugging
465
+ @api_client.config.logger.debug 'Calling API: GroupsApi.groups_update ...'
466
+ end
467
+ # verify the required parameter 'id' is set
468
+ if @api_client.config.client_side_validation && id.nil?
469
+ fail ArgumentError, "Missing the required parameter 'id' when calling GroupsApi.groups_update"
470
+ end
471
+ # resource path
472
+ local_var_path = '/groups/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
473
+
474
+ # query parameters
475
+ query_params = opts[:query_params] || {}
476
+
477
+ # header parameters
478
+ header_params = opts[:header_params] || {}
479
+ # HTTP header 'Accept' (if needed)
480
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
481
+ # HTTP header 'Content-Type'
482
+ content_type = @api_client.select_header_content_type(['application/json'])
483
+ if !content_type.nil?
484
+ header_params['Content-Type'] = content_type
485
+ end
486
+
487
+ # form parameters
488
+ form_params = opts[:form_params] || {}
489
+
490
+ # http body (model)
491
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'group_update_params'])
492
+
493
+ # return_type
494
+ return_type = opts[:debug_return_type] || 'Group'
495
+
496
+ # auth_names
497
+ auth_names = opts[:debug_auth_names] || ['bearerAuth']
498
+
499
+ new_options = opts.merge(
500
+ :operation => :"GroupsApi.groups_update",
501
+ :header_params => header_params,
502
+ :query_params => query_params,
503
+ :form_params => form_params,
504
+ :body => post_body,
505
+ :auth_names => auth_names,
506
+ :return_type => return_type
507
+ )
508
+
509
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
510
+ if @api_client.config.debugging
511
+ @api_client.config.logger.debug "API called: GroupsApi#groups_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
512
+ end
513
+ return data, status_code, headers
514
+ end
515
+ end
516
+ end