sendpost_ruby_sdk 2.0.2 → 3.0.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 (360) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +612 -531
  3. data/docs/AccountCycleUsage.md +18 -0
  4. data/docs/AccountStats.md +3 -3
  5. data/docs/AccountWebhookWithStats.md +58 -0
  6. data/docs/AggregateStat.md +14 -14
  7. data/docs/AggregateStats.md +22 -22
  8. data/docs/Attachment.md +4 -4
  9. data/docs/BlacklistLinks.md +20 -0
  10. data/docs/BlacklistResource.md +38 -0
  11. data/docs/BlacklistedOn.md +20 -0
  12. data/docs/CopyTo.md +6 -6
  13. data/docs/CreateDomainRequest.md +2 -2
  14. data/docs/CreateSuppressionRequest.md +4 -4
  15. data/docs/CreateSuppressionRequestHardBounceInner.md +1 -1
  16. data/docs/CreateSuppressionRequestManualInner.md +1 -1
  17. data/docs/CreateSuppressionRequestSpamComplaintInner.md +1 -1
  18. data/docs/CreateSuppressionRequestUnsubscribeInner.md +1 -1
  19. data/docs/DailyStatistics.md +38 -0
  20. data/docs/DateStat.md +40 -0
  21. data/docs/DeleteResponse.md +4 -4
  22. data/docs/DeleteSubAccountResponse.md +4 -4
  23. data/docs/{DeleteSuppression200ResponseInner.md → DeleteSuppression200Response.md} +2 -4
  24. data/docs/DeleteSuppressionRequest.md +1 -1
  25. data/docs/{EmailMessageReplyTo.md → DeleteSuppressionRequestSuppressionsInner.md} +3 -5
  26. data/docs/DeleteWebhookResponse.md +3 -3
  27. data/docs/Device.md +2 -2
  28. data/docs/DnsRecord.md +22 -0
  29. data/docs/Domain.md +24 -28
  30. data/docs/DomainApi.md +66 -66
  31. data/docs/DomainStat.md +46 -0
  32. data/docs/EIP.md +1 -1
  33. data/docs/EmailAddress.md +4 -4
  34. data/docs/EmailApi.md +4 -4
  35. data/docs/EmailMessage.md +30 -30
  36. data/docs/EmailMessageObject.md +33 -26
  37. data/docs/EmailMessageWithTemplate.md +32 -27
  38. data/docs/EmailResponse.md +10 -10
  39. data/docs/EmailTypeStat.md +40 -0
  40. data/docs/ErrorResponse.md +18 -0
  41. data/docs/ErrorResponseError.md +26 -0
  42. data/docs/ErrorResponseErrorDetailsInner.md +20 -0
  43. data/docs/Event.md +18 -36
  44. data/docs/EventMetadata.md +14 -14
  45. data/docs/GeoLocation.md +8 -8
  46. data/docs/GroupStat.md +40 -0
  47. data/docs/IP.md +13 -43
  48. data/docs/IPAllocationRequest.md +4 -4
  49. data/docs/IPApi.md +19 -19
  50. data/docs/IPDeletionResponse.md +2 -2
  51. data/docs/IPPool.md +13 -21
  52. data/docs/IPPoolCreateRequest.md +10 -8
  53. data/docs/IPPoolDeleteResponse.md +2 -2
  54. data/docs/IPPoolStat.md +44 -0
  55. data/docs/IPPoolUpdateRequest.md +13 -7
  56. data/docs/IPPoolsApi.md +26 -19
  57. data/docs/IPStat.md +46 -0
  58. data/docs/IPUpdateRequest.md +2 -2
  59. data/docs/Label.md +10 -6
  60. data/docs/Member.md +15 -21
  61. data/docs/Message.md +37 -53
  62. data/docs/MessageApi.md +83 -3
  63. data/docs/NewSubAccount.md +18 -0
  64. data/docs/NewWebhook.md +46 -0
  65. data/docs/Os.md +26 -0
  66. data/docs/PostmasterDomainStat.md +30 -0
  67. data/docs/ProviderStat.md +40 -0
  68. data/docs/RAIPPoolStat.md +20 -0
  69. data/docs/RDStat.md +20 -0
  70. data/docs/RIPStat.md +20 -0
  71. data/docs/RStat.md +20 -0
  72. data/docs/Recipient.md +8 -8
  73. data/docs/SDStat.md +42 -0
  74. data/docs/SMTPAuth.md +5 -9
  75. data/docs/SeedContactStats.md +28 -0
  76. data/docs/Stat.md +22 -4
  77. data/docs/StatsAApi.md +24 -24
  78. data/docs/StatsApi.md +19 -19
  79. data/docs/SubAccount.md +13 -27
  80. data/docs/SubAccountApi.md +23 -23
  81. data/docs/SubAccountStat.md +44 -0
  82. data/docs/SubAccountStatForPool.md +42 -0
  83. data/docs/Suppression.md +14 -10
  84. data/docs/SuppressionApi.md +19 -19
  85. data/docs/TPSPStat.md +42 -0
  86. data/docs/UpdateSubAccount.md +2 -2
  87. data/docs/UpdateWebhook.md +23 -23
  88. data/docs/UserAgent.md +7 -7
  89. data/docs/ValidationStat.md +32 -0
  90. data/docs/Webhook.md +31 -29
  91. data/docs/WebhookApi.md +28 -28
  92. data/docs/WebhookObject.md +20 -0
  93. data/docs/WebhookReferenceApi.md +71 -0
  94. data/lib/sendpost_ruby_sdk/api/domain_api.rb +84 -84
  95. data/lib/sendpost_ruby_sdk/api/email_api.rb +6 -6
  96. data/lib/sendpost_ruby_sdk/api/ip_api.rb +24 -24
  97. data/lib/sendpost_ruby_sdk/api/ip_pools_api.rb +25 -25
  98. data/lib/sendpost_ruby_sdk/api/message_api.rb +83 -6
  99. data/lib/sendpost_ruby_sdk/api/stats_a_api.rb +30 -30
  100. data/lib/sendpost_ruby_sdk/api/stats_api.rb +24 -24
  101. data/lib/sendpost_ruby_sdk/api/sub_account_api.rb +33 -33
  102. data/lib/sendpost_ruby_sdk/api/suppression_api.rb +23 -23
  103. data/lib/sendpost_ruby_sdk/api/webhook_api.rb +36 -36
  104. data/lib/sendpost_ruby_sdk/api/webhook_reference_api.rb +82 -0
  105. data/lib/sendpost_ruby_sdk/api_client.rb +2 -2
  106. data/lib/sendpost_ruby_sdk/api_error.rb +2 -2
  107. data/lib/sendpost_ruby_sdk/configuration.rb +2 -2
  108. data/lib/sendpost_ruby_sdk/models/account_cycle_usage.rb +222 -0
  109. data/lib/sendpost_ruby_sdk/models/account_stats.rb +5 -3
  110. data/lib/sendpost_ruby_sdk/models/account_webhook_with_stats.rb +463 -0
  111. data/lib/sendpost_ruby_sdk/models/aggregate_stat.rb +37 -29
  112. data/lib/sendpost_ruby_sdk/models/aggregate_stats.rb +43 -24
  113. data/lib/sendpost_ruby_sdk/models/attachment.rb +48 -4
  114. data/lib/sendpost_ruby_sdk/models/blacklist_links.rb +232 -0
  115. data/lib/sendpost_ruby_sdk/models/blacklist_resource.rb +323 -0
  116. data/lib/sendpost_ruby_sdk/models/blacklisted_on.rb +232 -0
  117. data/lib/sendpost_ruby_sdk/models/copy_to.rb +42 -3
  118. data/lib/sendpost_ruby_sdk/models/create_domain_request.rb +32 -3
  119. data/lib/sendpost_ruby_sdk/models/create_suppression_request.rb +6 -6
  120. data/lib/sendpost_ruby_sdk/models/create_suppression_request_hard_bounce_inner.rb +2 -2
  121. data/lib/sendpost_ruby_sdk/models/create_suppression_request_manual_inner.rb +2 -2
  122. data/lib/sendpost_ruby_sdk/models/create_suppression_request_spam_complaint_inner.rb +2 -2
  123. data/lib/sendpost_ruby_sdk/models/create_suppression_request_unsubscribe_inner.rb +2 -2
  124. data/lib/sendpost_ruby_sdk/models/daily_statistics.rb +322 -0
  125. data/lib/sendpost_ruby_sdk/models/date_stat.rb +339 -0
  126. data/lib/sendpost_ruby_sdk/models/delete_response.rb +5 -4
  127. data/lib/sendpost_ruby_sdk/models/delete_sub_account_response.rb +5 -4
  128. data/lib/sendpost_ruby_sdk/models/delete_suppression200_response.rb +221 -0
  129. data/lib/sendpost_ruby_sdk/models/delete_suppression_request.rb +4 -3
  130. data/lib/sendpost_ruby_sdk/models/delete_suppression_request_suppressions_inner.rb +220 -0
  131. data/lib/sendpost_ruby_sdk/models/delete_webhook_response.rb +5 -4
  132. data/lib/sendpost_ruby_sdk/models/device.rb +5 -3
  133. data/lib/sendpost_ruby_sdk/models/dns_record.rb +276 -0
  134. data/lib/sendpost_ruby_sdk/models/domain.rb +42 -85
  135. data/lib/sendpost_ruby_sdk/models/domain_stat.rb +369 -0
  136. data/lib/sendpost_ruby_sdk/models/eip.rb +4 -3
  137. data/lib/sendpost_ruby_sdk/models/email_address.rb +41 -2
  138. data/lib/sendpost_ruby_sdk/models/email_message.rb +26 -9
  139. data/lib/sendpost_ruby_sdk/models/email_message_object.rb +123 -3
  140. data/lib/sendpost_ruby_sdk/models/email_message_with_template.rb +121 -12
  141. data/lib/sendpost_ruby_sdk/models/email_response.rb +8 -4
  142. data/lib/sendpost_ruby_sdk/models/email_type_stat.rb +339 -0
  143. data/lib/sendpost_ruby_sdk/models/error_response.rb +221 -0
  144. data/lib/sendpost_ruby_sdk/models/error_response_error.rb +297 -0
  145. data/lib/sendpost_ruby_sdk/models/error_response_error_details_inner.rb +231 -0
  146. data/lib/sendpost_ruby_sdk/models/event.rb +94 -118
  147. data/lib/sendpost_ruby_sdk/models/event_metadata.rb +15 -5
  148. data/lib/sendpost_ruby_sdk/models/geo_location.rb +20 -14
  149. data/lib/sendpost_ruby_sdk/models/group_stat.rb +339 -0
  150. data/lib/sendpost_ruby_sdk/models/ip.rb +72 -375
  151. data/lib/sendpost_ruby_sdk/models/ip_allocation_request.rb +29 -33
  152. data/lib/sendpost_ruby_sdk/models/ip_deletion_response.rb +5 -4
  153. data/lib/sendpost_ruby_sdk/models/ip_pool.rb +94 -82
  154. data/lib/sendpost_ruby_sdk/models/ip_pool_create_request.rb +91 -29
  155. data/lib/sendpost_ruby_sdk/models/ip_pool_delete_response.rb +5 -2
  156. data/lib/sendpost_ruby_sdk/models/ip_pool_stat.rb +359 -0
  157. data/lib/sendpost_ruby_sdk/models/ip_pool_update_request.rb +97 -7
  158. data/lib/sendpost_ruby_sdk/models/ip_stat.rb +369 -0
  159. data/lib/sendpost_ruby_sdk/models/ip_update_request.rb +4 -20
  160. data/lib/sendpost_ruby_sdk/models/label.rb +101 -6
  161. data/lib/sendpost_ruby_sdk/models/member.rb +49 -57
  162. data/lib/sendpost_ruby_sdk/models/message.rb +39 -120
  163. data/lib/sendpost_ruby_sdk/models/new_sub_account.rb +257 -0
  164. data/lib/sendpost_ruby_sdk/models/new_webhook.rb +407 -0
  165. data/lib/sendpost_ruby_sdk/models/os.rb +262 -0
  166. data/lib/sendpost_ruby_sdk/models/postmaster_domain_stat.rb +282 -0
  167. data/lib/sendpost_ruby_sdk/models/provider_stat.rb +339 -0
  168. data/lib/sendpost_ruby_sdk/models/r_stat.rb +231 -0
  169. data/lib/sendpost_ruby_sdk/models/raip_pool_stat.rb +231 -0
  170. data/lib/sendpost_ruby_sdk/models/rd_stat.rb +231 -0
  171. data/lib/sendpost_ruby_sdk/models/recipient.rb +82 -3
  172. data/lib/sendpost_ruby_sdk/models/rip_stat.rb +231 -0
  173. data/lib/sendpost_ruby_sdk/models/sd_stat.rb +349 -0
  174. data/lib/sendpost_ruby_sdk/models/seed_contact_stats.rb +281 -0
  175. data/lib/sendpost_ruby_sdk/models/smtp_auth.rb +10 -29
  176. data/lib/sendpost_ruby_sdk/models/stat.rb +108 -16
  177. data/lib/sendpost_ruby_sdk/models/sub_account.rb +57 -115
  178. data/lib/sendpost_ruby_sdk/models/sub_account_stat.rb +359 -0
  179. data/lib/sendpost_ruby_sdk/models/sub_account_stat_for_pool.rb +349 -0
  180. data/lib/sendpost_ruby_sdk/models/suppression.rb +82 -15
  181. data/lib/sendpost_ruby_sdk/models/tpsp_stat.rb +349 -0
  182. data/lib/sendpost_ruby_sdk/models/update_sub_account.rb +32 -3
  183. data/lib/sendpost_ruby_sdk/models/update_webhook.rb +83 -37
  184. data/lib/sendpost_ruby_sdk/models/user_agent.rb +11 -6
  185. data/lib/sendpost_ruby_sdk/models/validation_stat.rb +292 -0
  186. data/lib/sendpost_ruby_sdk/models/webhook.rb +108 -67
  187. data/lib/sendpost_ruby_sdk/models/webhook_object.rb +232 -0
  188. data/lib/sendpost_ruby_sdk/version.rb +3 -3
  189. data/lib/sendpost_ruby_sdk.rb +36 -27
  190. data/sendpost_ruby_sdk.gemspec +39 -0
  191. data/spec/api/webhook_reference_api_spec.rb +46 -0
  192. data/spec/models/account_cycle_usage_spec.rb +36 -0
  193. data/spec/models/account_webhook_with_stats_spec.rb +160 -0
  194. data/spec/models/blacklist_links_spec.rb +42 -0
  195. data/spec/models/blacklist_resource_spec.rb +96 -0
  196. data/spec/models/blacklisted_on_spec.rb +42 -0
  197. data/spec/models/daily_statistics_spec.rb +96 -0
  198. data/spec/models/date_stat_spec.rb +102 -0
  199. data/spec/models/delete_suppression200_response_spec.rb +36 -0
  200. data/spec/models/delete_suppression_request_suppressions_inner_spec.rb +36 -0
  201. data/spec/models/dns_record_spec.rb +52 -0
  202. data/spec/models/domain_stat_spec.rb +120 -0
  203. data/spec/models/email_type_stat_spec.rb +102 -0
  204. data/spec/models/error_response_error_details_inner_spec.rb +42 -0
  205. data/spec/models/error_response_error_spec.rb +64 -0
  206. data/spec/models/error_response_spec.rb +36 -0
  207. data/spec/models/group_stat_spec.rb +102 -0
  208. data/spec/models/ip_pool_stat_spec.rb +114 -0
  209. data/spec/models/ip_stat_spec.rb +120 -0
  210. data/spec/models/new_sub_account_spec.rb +36 -0
  211. data/spec/models/new_webhook_spec.rb +120 -0
  212. data/spec/models/os_spec.rb +60 -0
  213. data/spec/models/postmaster_domain_stat_spec.rb +72 -0
  214. data/spec/models/provider_stat_spec.rb +102 -0
  215. data/spec/models/r_stat_spec.rb +42 -0
  216. data/spec/models/raip_pool_stat_spec.rb +42 -0
  217. data/spec/models/rd_stat_spec.rb +42 -0
  218. data/spec/models/rip_stat_spec.rb +42 -0
  219. data/spec/models/sd_stat_spec.rb +108 -0
  220. data/spec/models/seed_contact_stats_spec.rb +66 -0
  221. data/spec/models/sub_account_stat_for_pool_spec.rb +108 -0
  222. data/spec/models/sub_account_stat_spec.rb +114 -0
  223. data/spec/models/tpsp_stat_spec.rb +108 -0
  224. data/spec/models/validation_stat_spec.rb +78 -0
  225. data/spec/models/webhook_object_spec.rb +42 -0
  226. data/spec/spec_helper.rb +2 -2
  227. metadata +143 -219
  228. data/LICENSE +0 -21
  229. data/docs/AccountStatsStat.md +0 -38
  230. data/docs/AggregatedEmailStats.md +0 -38
  231. data/docs/AutoWarmupPlan.md +0 -80
  232. data/docs/CreateSubAccountRequest.md +0 -18
  233. data/docs/CreateWebhookRequest.md +0 -46
  234. data/docs/DomainDkim.md +0 -22
  235. data/docs/DomainDmarc.md +0 -22
  236. data/docs/DomainGpt.md +0 -22
  237. data/docs/DomainReturnPath.md +0 -22
  238. data/docs/DomainSpf.md +0 -22
  239. data/docs/DomainTrack.md +0 -22
  240. data/docs/EmailMessageFrom.md +0 -20
  241. data/docs/EmailMessageToInner.md +0 -26
  242. data/docs/EmailMessageToInnerBccInner.md +0 -22
  243. data/docs/EmailMessageToInnerCcInner.md +0 -22
  244. data/docs/EmailStats.md +0 -20
  245. data/docs/EmailStatsStats.md +0 -38
  246. data/docs/MessageHeaderTo.md +0 -26
  247. data/docs/MessageTo.md +0 -26
  248. data/docs/OperatingSystem.md +0 -26
  249. data/docs/Person.md +0 -20
  250. data/docs/StatStat.md +0 -38
  251. data/docs/StatStats.md +0 -38
  252. data/docs/ThirdPartySendingProvider.md +0 -38
  253. data/lib/sendpost_ruby_sdk/models/account_stats_stat.rb +0 -311
  254. data/lib/sendpost_ruby_sdk/models/aggregated_email_stats.rb +0 -321
  255. data/lib/sendpost_ruby_sdk/models/auto_warmup_plan.rb +0 -531
  256. data/lib/sendpost_ruby_sdk/models/create_sub_account_request.rb +0 -221
  257. data/lib/sendpost_ruby_sdk/models/create_webhook_request.rb +0 -361
  258. data/lib/sendpost_ruby_sdk/models/delete_suppression200_response_inner.rb +0 -231
  259. data/lib/sendpost_ruby_sdk/models/domain_dkim.rb +0 -239
  260. data/lib/sendpost_ruby_sdk/models/domain_dmarc.rb +0 -239
  261. data/lib/sendpost_ruby_sdk/models/domain_gpt.rb +0 -239
  262. data/lib/sendpost_ruby_sdk/models/domain_return_path.rb +0 -239
  263. data/lib/sendpost_ruby_sdk/models/domain_spf.rb +0 -239
  264. data/lib/sendpost_ruby_sdk/models/domain_track.rb +0 -239
  265. data/lib/sendpost_ruby_sdk/models/email_message_from.rb +0 -229
  266. data/lib/sendpost_ruby_sdk/models/email_message_reply_to.rb +0 -229
  267. data/lib/sendpost_ruby_sdk/models/email_message_to_inner.rb +0 -262
  268. data/lib/sendpost_ruby_sdk/models/email_message_to_inner_bcc_inner.rb +0 -240
  269. data/lib/sendpost_ruby_sdk/models/email_message_to_inner_cc_inner.rb +0 -240
  270. data/lib/sendpost_ruby_sdk/models/email_stats.rb +0 -230
  271. data/lib/sendpost_ruby_sdk/models/email_stats_stats.rb +0 -321
  272. data/lib/sendpost_ruby_sdk/models/message_header_to.rb +0 -268
  273. data/lib/sendpost_ruby_sdk/models/message_to.rb +0 -268
  274. data/lib/sendpost_ruby_sdk/models/operating_system.rb +0 -256
  275. data/lib/sendpost_ruby_sdk/models/person.rb +0 -231
  276. data/lib/sendpost_ruby_sdk/models/stat_stat.rb +0 -322
  277. data/lib/sendpost_ruby_sdk/models/stat_stats.rb +0 -321
  278. data/lib/sendpost_ruby_sdk/models/third_party_sending_provider.rb +0 -310
  279. data/spec/api/domain_api_spec.rb +0 -85
  280. data/spec/api/email_api_spec.rb +0 -59
  281. data/spec/api/ip_api_spec.rb +0 -98
  282. data/spec/api/ip_pools_api_spec.rb +0 -98
  283. data/spec/api/message_api_spec.rb +0 -47
  284. data/spec/api/stats_a_api_spec.rb +0 -89
  285. data/spec/api/stats_api_spec.rb +0 -78
  286. data/spec/api/sub_account_api_spec.rb +0 -98
  287. data/spec/api/suppression_api_spec.rb +0 -76
  288. data/spec/api/webhook_api_spec.rb +0 -98
  289. data/spec/models/account_stats_spec.rb +0 -42
  290. data/spec/models/account_stats_stat_spec.rb +0 -96
  291. data/spec/models/aggregate_stat_spec.rb +0 -96
  292. data/spec/models/aggregate_stats_spec.rb +0 -96
  293. data/spec/models/aggregated_email_stats_spec.rb +0 -96
  294. data/spec/models/attachment_spec.rb +0 -42
  295. data/spec/models/auto_warmup_plan_spec.rb +0 -222
  296. data/spec/models/copy_to_spec.rb +0 -48
  297. data/spec/models/create_domain_request_spec.rb +0 -36
  298. data/spec/models/create_sub_account_request_spec.rb +0 -36
  299. data/spec/models/create_suppression_request_hard_bounce_inner_spec.rb +0 -36
  300. data/spec/models/create_suppression_request_manual_inner_spec.rb +0 -36
  301. data/spec/models/create_suppression_request_spam_complaint_inner_spec.rb +0 -36
  302. data/spec/models/create_suppression_request_spec.rb +0 -54
  303. data/spec/models/create_suppression_request_unsubscribe_inner_spec.rb +0 -36
  304. data/spec/models/create_webhook_request_spec.rb +0 -120
  305. data/spec/models/delete_response_spec.rb +0 -42
  306. data/spec/models/delete_sub_account_response_spec.rb +0 -42
  307. data/spec/models/delete_suppression200_response_inner_spec.rb +0 -42
  308. data/spec/models/delete_suppression_request_spec.rb +0 -36
  309. data/spec/models/delete_webhook_response_spec.rb +0 -42
  310. data/spec/models/device_spec.rb +0 -36
  311. data/spec/models/domain_dkim_spec.rb +0 -48
  312. data/spec/models/domain_dmarc_spec.rb +0 -48
  313. data/spec/models/domain_gpt_spec.rb +0 -48
  314. data/spec/models/domain_return_path_spec.rb +0 -48
  315. data/spec/models/domain_spec.rb +0 -150
  316. data/spec/models/domain_spf_spec.rb +0 -48
  317. data/spec/models/domain_track_spec.rb +0 -48
  318. data/spec/models/eip_spec.rb +0 -36
  319. data/spec/models/email_address_spec.rb +0 -42
  320. data/spec/models/email_message_from_spec.rb +0 -42
  321. data/spec/models/email_message_object_spec.rb +0 -120
  322. data/spec/models/email_message_reply_to_spec.rb +0 -42
  323. data/spec/models/email_message_spec.rb +0 -138
  324. data/spec/models/email_message_to_inner_bcc_inner_spec.rb +0 -48
  325. data/spec/models/email_message_to_inner_cc_inner_spec.rb +0 -48
  326. data/spec/models/email_message_to_inner_spec.rb +0 -60
  327. data/spec/models/email_message_with_template_spec.rb +0 -138
  328. data/spec/models/email_response_spec.rb +0 -60
  329. data/spec/models/email_stats_spec.rb +0 -42
  330. data/spec/models/email_stats_stats_spec.rb +0 -96
  331. data/spec/models/event_metadata_spec.rb +0 -84
  332. data/spec/models/event_spec.rb +0 -150
  333. data/spec/models/geo_location_spec.rb +0 -60
  334. data/spec/models/ip_allocation_request_spec.rb +0 -42
  335. data/spec/models/ip_deletion_response_spec.rb +0 -42
  336. data/spec/models/ip_pool_create_request_spec.rb +0 -66
  337. data/spec/models/ip_pool_delete_response_spec.rb +0 -42
  338. data/spec/models/ip_pool_spec.rb +0 -108
  339. data/spec/models/ip_pool_update_request_spec.rb +0 -54
  340. data/spec/models/ip_spec.rb +0 -168
  341. data/spec/models/ip_update_request_spec.rb +0 -36
  342. data/spec/models/label_spec.rb +0 -48
  343. data/spec/models/member_spec.rb +0 -102
  344. data/spec/models/message_header_to_spec.rb +0 -60
  345. data/spec/models/message_spec.rb +0 -210
  346. data/spec/models/message_to_spec.rb +0 -60
  347. data/spec/models/operating_system_spec.rb +0 -60
  348. data/spec/models/person_spec.rb +0 -42
  349. data/spec/models/recipient_spec.rb +0 -60
  350. data/spec/models/smtp_auth_spec.rb +0 -60
  351. data/spec/models/stat_spec.rb +0 -42
  352. data/spec/models/stat_stat_spec.rb +0 -96
  353. data/spec/models/stat_stats_spec.rb +0 -96
  354. data/spec/models/sub_account_spec.rb +0 -130
  355. data/spec/models/suppression_spec.rb +0 -60
  356. data/spec/models/third_party_sending_provider_spec.rb +0 -96
  357. data/spec/models/update_sub_account_spec.rb +0 -36
  358. data/spec/models/update_webhook_spec.rb +0 -120
  359. data/spec/models/user_agent_spec.rb +0 -54
  360. data/spec/models/webhook_spec.rb +0 -144
data/docs/IPApi.md CHANGED
@@ -17,7 +17,7 @@ All URIs are relative to *https://api.sendpost.io/api/v1*
17
17
 
18
18
  Allocate IP
19
19
 
20
- Allocates a new IP resource to the account.
20
+ Request allocation of a new dedicated IP address to your account. New IPs start in warmup state to build sender reputation gradually. **Warmup Process:** - New IPs have limited daily sending capacity - Volume increases automatically each day while `autoWarmupEnabled` is set - Full capacity typically reached after 30-45 days - Consistent, engagement-positive sending accelerates warmup **When to Allocate New IPs:** - Scaling beyond current IP capacity - Separating different email streams (transactional vs marketing) - Geographic IP requirements - Replacing an IP with poor reputation **Best Practices:** - Dedicated IPs require consistent volume (10k+ emails/month ideal) - Low volume on dedicated IPs can harm deliverability - Consider shared IPs for low-volume senders
21
21
 
22
22
  ### Examples
23
23
 
@@ -33,7 +33,7 @@ Sendpost.configure do |config|
33
33
  end
34
34
 
35
35
  api_instance = Sendpost::IPApi.new
36
- ip_allocation_request = Sendpost::IPAllocationRequest.new({overflow_pool: true, ips: ['34.21.14.11']}) # IPAllocationRequest |
36
+ ip_allocation_request = Sendpost::IPAllocationRequest.new({ips: [34.21.14.11, 34.21.14.12]}) # IPAllocationRequest |
37
37
 
38
38
  begin
39
39
  # Allocate IP
@@ -88,7 +88,7 @@ end
88
88
 
89
89
  Delete IP
90
90
 
91
- Deletes a specific IP resource based on the provided IP ID.
91
+ Remove an IP address from your account. This action is irreversible. **⚠️ Before Deleting:** - Remove the IP from all IP pools first - Ensure no active sending relies on this IP - Consider impact on overall sending capacity **Note:** You cannot delete an IP that is currently assigned to an IP pool.
92
92
 
93
93
  ### Examples
94
94
 
@@ -104,7 +104,7 @@ Sendpost.configure do |config|
104
104
  end
105
105
 
106
106
  api_instance = Sendpost::IPApi.new
107
- ip_id = 56 # Integer | The ID of the IP resource to delete
107
+ ip_id = 11322 # Integer | The unique ID of the IP resource to delete.
108
108
 
109
109
  begin
110
110
  # Delete IP
@@ -137,7 +137,7 @@ end
137
137
 
138
138
  | Name | Type | Description | Notes |
139
139
  | ---- | ---- | ----------- | ----- |
140
- | **ip_id** | **Integer** | The ID of the IP resource to delete | |
140
+ | **ip_id** | **Integer** | The unique ID of the IP resource to delete. | |
141
141
 
142
142
  ### Return type
143
143
 
@@ -159,7 +159,7 @@ end
159
159
 
160
160
  List IPs
161
161
 
162
- Retrieves a list of all IPs associated with the main account.
162
+ Retrieve all IP addresses allocated to your account. IPs are the foundation of your sending infrastructure and directly impact deliverability. **IP Types:** | Type | Value | Description | |------|-------|-------------| | Shared | `0` | IP shared with other SendPost senders. Cost-effective, reputation is pooled. | | Dedicated | `1` | Exclusive IP for your account. Full control over sender reputation. | **IP States:** | State | Value | Description | |-------|-------|-------------| | Warmup | `0` | New IP building reputation. Volume is limited and gradually increases. | | Normal | `1` | Fully warmed IP ready for normal sending volume. | **Warmup Information:** - `autoWarmupEnabled` - Whether SendPost is automatically increasing volume **Use Cases:** - Monitor IP warmup progress for new IPs - Audit shared vs dedicated IP allocation - Plan IP pool configurations - Check available sending capacity
163
163
 
164
164
  ### Examples
165
165
 
@@ -176,9 +176,9 @@ end
176
176
 
177
177
  api_instance = Sendpost::IPApi.new
178
178
  opts = {
179
- limit: 56, # Integer | Number of records to return per request
180
- offset: 56, # Integer | Number of initial records to skip
181
- search: 'search_example' # String | Case insensitive search against IP's public IP address
179
+ limit: 50, # Integer | Number of records to return per request. Default 20.
180
+ offset: 0, # Integer | Number of initial records to skip for pagination.
181
+ search: '52.34' # String | Case insensitive search against public IP addresses.
182
182
  }
183
183
 
184
184
  begin
@@ -212,9 +212,9 @@ end
212
212
 
213
213
  | Name | Type | Description | Notes |
214
214
  | ---- | ---- | ----------- | ----- |
215
- | **limit** | **Integer** | Number of records to return per request | [optional] |
216
- | **offset** | **Integer** | Number of initial records to skip | [optional] |
217
- | **search** | **String** | Case insensitive search against IP's public IP address | [optional] |
215
+ | **limit** | **Integer** | Number of records to return per request. Default 20. | [optional][default to 20] |
216
+ | **offset** | **Integer** | Number of initial records to skip for pagination. | [optional][default to 0] |
217
+ | **search** | **String** | Case insensitive search against public IP addresses. | [optional] |
218
218
 
219
219
  ### Return type
220
220
 
@@ -236,7 +236,7 @@ end
236
236
 
237
237
  Get IP
238
238
 
239
- Retrieves detailed information about a specific IP based on the provided ID.
239
+ Retrieve detailed information about a specific IP address, including its warmup status, type, and configuration. **Use Cases:** - Check warmup progress for a new dedicated IP - Verify IP configuration before adding to a pool - Debug deliverability issues by checking IP state - Monitor auto-warmup progress
240
240
 
241
241
  ### Examples
242
242
 
@@ -252,7 +252,7 @@ Sendpost.configure do |config|
252
252
  end
253
253
 
254
254
  api_instance = Sendpost::IPApi.new
255
- ip_id = 56 # Integer | The ID of the IP resource to retrieve
255
+ ip_id = 11322 # Integer | The unique ID of the IP resource to retrieve.
256
256
 
257
257
  begin
258
258
  # Get IP
@@ -285,7 +285,7 @@ end
285
285
 
286
286
  | Name | Type | Description | Notes |
287
287
  | ---- | ---- | ----------- | ----- |
288
- | **ip_id** | **Integer** | The ID of the IP resource to retrieve | |
288
+ | **ip_id** | **Integer** | The unique ID of the IP resource to retrieve. | |
289
289
 
290
290
  ### Return type
291
291
 
@@ -307,7 +307,7 @@ end
307
307
 
308
308
  Update IP
309
309
 
310
- Updates an existing IP resource based on the provided IP ID.
310
+ Modify settings for an existing IP address. Use this to manage warmup configuration. **Configurable Settings:** - `autoWarmupEnabled` - Enable/disable automatic warmup schedule **Use Cases:** - Pause auto-warmup during low-volume periods - Re-enable warmup after manual intervention - Adjust warmup settings based on sending patterns
311
311
 
312
312
  ### Examples
313
313
 
@@ -323,8 +323,8 @@ Sendpost.configure do |config|
323
323
  end
324
324
 
325
325
  api_instance = Sendpost::IPApi.new
326
- ip_update_request = Sendpost::IPUpdateRequest.new({auto_warmup_enabled: false}) # IPUpdateRequest |
327
- ip_id = 56 # Integer | The ID of the IP resource to update
326
+ ip_update_request = Sendpost::IPUpdateRequest.new # IPUpdateRequest |
327
+ ip_id = 11322 # Integer | The unique ID of the IP resource to update.
328
328
 
329
329
  begin
330
330
  # Update IP
@@ -358,7 +358,7 @@ end
358
358
  | Name | Type | Description | Notes |
359
359
  | ---- | ---- | ----------- | ----- |
360
360
  | **ip_update_request** | [**IPUpdateRequest**](IPUpdateRequest.md) | | |
361
- | **ip_id** | **Integer** | The ID of the IP resource to update | |
361
+ | **ip_id** | **Integer** | The unique ID of the IP resource to update. | |
362
362
 
363
363
  ### Return type
364
364
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **id** | **Integer** | The unique ID of the IP | |
8
- | **message** | **String** | The confirmation message after deletion | |
7
+ | **id** | **Integer** | ID of the deleted IP | |
8
+ | **message** | **String** | Confirmation message | |
9
9
 
10
10
  ## Example
11
11
 
data/docs/IPPool.md CHANGED
@@ -4,19 +4,15 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **id** | **Integer** | | [optional] |
8
- | **name** | **String** | | [optional] |
9
- | **created** | **Integer** | | [optional] |
10
- | **ips** | [**Array<IP>**](IP.md) | | [optional] |
11
- | **third_party_sending_providers** | [**Array<ThirdPartySendingProvider>**](ThirdPartySendingProvider.md) | | [optional] |
12
- | **routing_strategy** | **Integer** | | [optional] |
13
- | **routing_meta_data** | **String** | | [optional] |
14
- | **auto_warmup_enabled** | **Boolean** | | [optional] |
15
- | **infra_monitor** | **Boolean** | | [optional] |
16
- | **ip_domain_warmup_status** | **String** | | [optional] |
17
- | **should_overflow** | **Boolean** | Indicates whether the IP should overflow, once email capacity of the IP Pool has been reached, should we send remaining emails over shared IP or not | [optional] |
18
- | **overflow_pool_name** | **String** | The name of the overflow pool | [optional] |
19
- | **warmup_interval** | **Integer** | The interval for the warmup | [optional] |
7
+ | **id** | **Integer** | Unique identifier for the IP pool | [optional] |
8
+ | **name** | **String** | Display name for the IP pool. Must be unique within your account. Use descriptive names like \"transactional\", \"marketing\", \"high-priority\". | [optional] |
9
+ | **type** | **Integer** | Type of IP pool: - `0` = Shared (uses shared IPs with pooled reputation) - `1` = Dedicated (uses dedicated IPs exclusive to your account) | [optional] |
10
+ | **routing_strategy** | **Integer** | How emails are distributed across IPs/providers in this pool: - `0` = Round Robin (equal distribution) - `1` = Email Provider Strategy (route by recipient domain like Gmail, Yahoo) - `2` = Volume Percentage Strategy (weighted distribution) - `3` = Sending Domain Strategy (route by sender domain) See the IPPools tag description for detailed routing configuration examples. | [optional] |
11
+ | **routing_meta_data** | **String** | JSON-encoded configuration for the selected routing strategy. Format depends on routingStrategy value. See IPPools documentation for examples. For Round Robin (strategy 0): Use empty object `{}` | [optional] |
12
+ | **should_overflow** | **Boolean** | Whether to automatically overflow to a backup pool when this pool is unavailable (all IPs down) or at capacity (warmup limits reached). | [optional] |
13
+ | **overflow_pool_name** | **String** | Name of the IP pool to overflow to when shouldOverflow is enabled. The overflow pool must exist. Common pattern: overflow to shared IP pool. | [optional] |
14
+ | **ips** | [**Array<IP>**](IP.md) | List of dedicated IPs assigned to this pool | [optional] |
15
+ | **created** | **Integer** | UNIX epoch timestamp in nanoseconds when the IP pool was created | [optional] |
20
16
 
21
17
  ## Example
22
18
 
@@ -26,17 +22,13 @@ require 'sendpost_ruby_sdk'
26
22
  instance = Sendpost::IPPool.new(
27
23
  id: 746,
28
24
  name: Transactional,
29
- created: 1597511124804000,
30
- ips: null,
31
- third_party_sending_providers: null,
25
+ type: 1,
32
26
  routing_strategy: 0,
33
27
  routing_meta_data: {},
34
- auto_warmup_enabled: false,
35
- infra_monitor: true,
36
- ip_domain_warmup_status: null,
37
28
  should_overflow: true,
38
- overflow_pool_name: Transactional,
39
- warmup_interval: 60
29
+ overflow_pool_name: shared-backup,
30
+ ips: null,
31
+ created: 1704067200000000000
40
32
  )
41
33
  ```
42
34
 
@@ -4,12 +4,13 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **name** | **String** | | [optional] |
8
- | **ips** | [**Array<EIP>**](EIP.md) | | [optional] |
9
- | **tpsps** | **Array<Integer>** | | [optional] |
10
- | **routing_strategy** | **Integer** | | [optional] |
11
- | **routing_meta_data** | **String** | | [optional] |
12
- | **overflow_pool** | **Boolean** | | [optional] |
7
+ | **name** | **String** | Display name for the IP pool. Must be unique within your account. Use descriptive names like \"transactional\", \"marketing-bulk\", \"high-priority\" | |
8
+ | **ips** | [**Array<EIP>**](EIP.md) | List of dedicated IP addresses to include in this pool. IPs must already be allocated to your account. | [optional] |
9
+ | **tpsps** | **Array<Integer>** | List of third-party sending provider IDs to include in this pool. TPSPs must be pre-configured in your account. | [optional] |
10
+ | **routing_strategy** | **Integer** | Email routing strategy: - `0` = Round Robin (equal distribution) - `1` = Email Provider Strategy (route by recipient domain) - `2` = Volume Percentage Strategy (weighted distribution) - `3` = Sending Domain Strategy (route by sender domain) | [optional][default to ROUTING_STRATEGY::N0] |
11
+ | **routing_meta_data** | **String** | JSON-encoded routing configuration. See IPPools documentation for format. Use `{}` for round-robin strategy. | [optional][default to '{}'] |
12
+ | **should_overflow** | **Boolean** | Whether to overflow to shared pool when this pool is unavailable | [optional][default to false] |
13
+ | **overflow_pool_name** | **String** | Name of the IP pool to overflow to (if shouldOverflow is true) | [optional] |
13
14
 
14
15
  ## Example
15
16
 
@@ -19,10 +20,11 @@ require 'sendpost_ruby_sdk'
19
20
  instance = Sendpost::IPPoolCreateRequest.new(
20
21
  name: Marketing Promotional,
21
22
  ips: null,
22
- tpsps: [1],
23
+ tpsps: [101, 102],
23
24
  routing_strategy: 0,
24
25
  routing_meta_data: {},
25
- overflow_pool: false
26
+ should_overflow: true,
27
+ overflow_pool_name: shared-backup
26
28
  )
27
29
  ```
28
30
 
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **id** | **Integer** | | [optional] |
8
- | **message** | **String** | | [optional] |
7
+ | **id** | **Integer** | ID of the deleted IP pool | [optional] |
8
+ | **message** | **String** | Confirmation message | [optional] |
9
9
 
10
10
  ## Example
11
11
 
@@ -0,0 +1,44 @@
1
+ # Sendpost::IPPoolStat
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **processed** | **Integer** | Total number of emails accepted by SendPost API for processing. This is the starting point - all emails submitted through the API. | [optional] |
8
+ | **sent** | **Integer** | Number of emails sent to recipient mail servers. sent = processed - dropped - smtpDropped | [optional] |
9
+ | **dropped** | **Integer** | Number of emails dropped before sending. Common reasons: - Recipient email in suppression list (hard bounce, spam complaint, unsubscribe) - Invalid recipient email format - Sender domain not verified | [optional] |
10
+ | **smtp_dropped** | **Integer** | Number of emails dropped at SMTP level due to policy violations or rate limiting by the receiving server before delivery attempt completed. | [optional] |
11
+ | **delivered** | **Integer** | Number of emails successfully delivered to recipient mail servers. Note: Delivered means accepted by the server, not necessarily in inbox. | [optional] |
12
+ | **soft_bounced** | **Integer** | Number of temporary delivery failures (soft bounces). Common causes: - Recipient mailbox full - Server temporarily unavailable - Message too large SendPost automatically retries soft bounces. | [optional] |
13
+ | **hard_bounced** | **Integer** | Number of permanent delivery failures (hard bounces). Common causes: - Recipient email doesn't exist - Domain doesn't exist - Recipient has blocked sender Hard bounced addresses are automatically added to suppression list. | [optional] |
14
+ | **opened** | **Integer** | Number of emails opened (tracking pixel loaded). Requires trackOpens=true. Note: Some email clients block tracking pixels. | [optional] |
15
+ | **clicked** | **Integer** | Number of emails with at least one link clicked. Requires trackClicks=true. | [optional] |
16
+ | **unsubscribed** | **Integer** | Number of recipients who clicked the unsubscribe link. Unsubscribed addresses are automatically added to suppression list. | [optional] |
17
+ | **spam** | **Integer** | Number of spam complaints (recipient marked email as spam). High spam rates can severely impact your sender reputation. Target: Keep spam rate below 0.1%. | [optional] |
18
+ | **ip_pool_id** | **Integer** | Unique identifier of the IP pool. | [optional] |
19
+ | **ip_pool_name** | **String** | Human-readable name of the IP pool. | [optional] |
20
+ | **pending** | **Integer** | Number of emails queued on this pool but not yet processed. | [optional] |
21
+
22
+ ## Example
23
+
24
+ ```ruby
25
+ require 'sendpost_ruby_sdk'
26
+
27
+ instance = Sendpost::IPPoolStat.new(
28
+ processed: 225,
29
+ sent: 220,
30
+ dropped: 10,
31
+ smtp_dropped: 5,
32
+ delivered: 200,
33
+ soft_bounced: 5,
34
+ hard_bounced: 10,
35
+ opened: 150,
36
+ clicked: 50,
37
+ unsubscribed: 6,
38
+ spam: 2,
39
+ ip_pool_id: 5,
40
+ ip_pool_name: Transactional Pool,
41
+ pending: 3
42
+ )
43
+ ```
44
+
@@ -4,10 +4,13 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **name** | **String** | | [optional] |
8
- | **ips** | [**Array<IP>**](IP.md) | | [optional] |
9
- | **routing_strategy** | **Integer** | | [optional] |
10
- | **routing_meta_data** | **String** | | [optional] |
7
+ | **name** | **String** | New display name for the IP pool | [optional] |
8
+ | **ips** | [**Array<EIP>**](EIP.md) | Updated list of IP addresses for this pool. This replaces the current IP list - include all IPs you want in the pool. | [optional] |
9
+ | **tpsps** | **Array<Integer>** | Updated list of third-party sending provider IDs | [optional] |
10
+ | **routing_strategy** | **Integer** | Updated routing strategy (see IPPoolCreateRequest for values) | [optional] |
11
+ | **routing_meta_data** | **String** | Updated routing configuration (JSON) | [optional] |
12
+ | **should_overflow** | **Boolean** | Whether to enable overflow to backup pool | [optional] |
13
+ | **overflow_pool_name** | **String** | Name of the overflow pool | [optional] |
11
14
 
12
15
  ## Example
13
16
 
@@ -15,10 +18,13 @@
15
18
  require 'sendpost_ruby_sdk'
16
19
 
17
20
  instance = Sendpost::IPPoolUpdateRequest.new(
18
- name: Marketing Promotional,
19
- ips: [{publicIP=52.12.10.12}, {publicIP=52.10.12.17}, {publicIP=35.11.10.5}],
21
+ name: Marketing Promotional v2,
22
+ ips: null,
23
+ tpsps: null,
20
24
  routing_strategy: 0,
21
- routing_meta_data: {}
25
+ routing_meta_data: {},
26
+ should_overflow: true,
27
+ overflow_pool_name: shared-backup
22
28
  )
23
29
  ```
24
30
 
data/docs/IPPoolsApi.md CHANGED
@@ -17,7 +17,7 @@ All URIs are relative to *https://api.sendpost.io/api/v1*
17
17
 
18
18
  Create IPPool
19
19
 
20
- Creates a new IPPool with the specified name, IPs, and third-party sending providers.
20
+ Create a new IP pool to organize your sending infrastructure. Pools group IPs and third-party sending providers (TPSPs) for intelligent routing. **Pool Components:** - **IPs:** Dedicated IP addresses from your account - **TPSPs:** Third-party sending providers (SendGrid, Mailgun, etc.) **TPSP Types:** | Value | Provider | |-------|----------| | `0` | Amazon SES | | `1` | SendGrid | | `2` | Mailgun | | `3` | Custom SMTP | | `4` | PostMark | | `5` | Gmail | **Routing Strategies:** - `0` = Round Robin - Distribute traffic evenly - `1` = Email Provider - Route by recipient's mailbox provider - `2` = Volume Percentage - Split by defined percentages - `3` = Sending Domain - Route by your from domain **Use Cases:** - Separate transactional from marketing emails - Route high-volume traffic through TPSPs - Implement provider-specific routing for deliverability - Create backup pools for failover **Naming Best Practices:** - Use descriptive names: `Transactional_Orders`, `Marketing_Newsletter` - Include purpose: `HighPriority_Alerts`, `Bulk_Promotions`
21
21
 
22
22
  ### Examples
23
23
 
@@ -33,7 +33,7 @@ Sendpost.configure do |config|
33
33
  end
34
34
 
35
35
  api_instance = Sendpost::IPPoolsApi.new
36
- ip_pool_create_request = Sendpost::IPPoolCreateRequest.new # IPPoolCreateRequest |
36
+ ip_pool_create_request = Sendpost::IPPoolCreateRequest.new({name: 'Marketing Promotional'}) # IPPoolCreateRequest |
37
37
 
38
38
  begin
39
39
  # Create IPPool
@@ -88,16 +88,23 @@ end
88
88
 
89
89
  Delete IPPool
90
90
 
91
- Delete a specific IPPool based on its ID.
91
+ Remove an IP pool from your account. This action is irreversible. **⚠️ Before Deleting:** - Ensure no sub-accounts are actively using this pool - Update any sending configurations that reference this pool - IPs in the pool will become unassigned (not deleted) **Note:** The default system pool cannot be deleted.
92
92
 
93
93
  ### Examples
94
94
 
95
95
  ```ruby
96
96
  require 'time'
97
97
  require 'sendpost_ruby_sdk'
98
+ # setup authorization
99
+ Sendpost.configure do |config|
100
+ # Configure API key authorization: accountAuth
101
+ config.api_key['X-Account-ApiKey'] = 'YOUR API KEY'
102
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
103
+ # config.api_key_prefix['X-Account-ApiKey'] = 'Bearer'
104
+ end
98
105
 
99
106
  api_instance = Sendpost::IPPoolsApi.new
100
- ippool_id = 756 # Integer | The ID of the IPPool to delete
107
+ ippool_id = 756 # Integer | The unique ID of the IP pool to delete.
101
108
 
102
109
  begin
103
110
  # Delete IPPool
@@ -130,7 +137,7 @@ end
130
137
 
131
138
  | Name | Type | Description | Notes |
132
139
  | ---- | ---- | ----------- | ----- |
133
- | **ippool_id** | **Integer** | The ID of the IPPool to delete | |
140
+ | **ippool_id** | **Integer** | The unique ID of the IP pool to delete. | |
134
141
 
135
142
  ### Return type
136
143
 
@@ -138,7 +145,7 @@ end
138
145
 
139
146
  ### Authorization
140
147
 
141
- No authorization required
148
+ [accountAuth](../README.md#accountAuth)
142
149
 
143
150
  ### HTTP request headers
144
151
 
@@ -152,7 +159,7 @@ No authorization required
152
159
 
153
160
  List IPPools
154
161
 
155
- Retrieves a list of all IPPools and information about all IPs contained in that pool.
162
+ Retrieve all IP pools configured for your account. IP pools group IPs and third-party sending providers (TPSPs) for intelligent traffic routing. **Pool Types:** | Type | Value | Description | |------|-------|-------------| | Shared | `0` | Pool uses shared IPs (shared with other SendPost customers) | | Dedicated | `1` | Pool uses dedicated IPs (exclusive to your account) | **Routing Strategies:** | Strategy | Value | Description | |----------|-------|-------------| | Round Robin | `0` | Distribute traffic evenly across pool members | | Email Provider | `1` | Route based on recipient's mailbox provider (Gmail, Yahoo, etc.) | | Volume Percentage | `2` | Split traffic by defined percentages | | Sending Domain | `3` | Route based on your sending domain | **Use Cases:** - Audit your sending infrastructure configuration - View IPs and TPSPs in each pool - Plan routing strategy changes - Verify pool setup before sending campaigns
156
163
 
157
164
  ### Examples
158
165
 
@@ -169,9 +176,9 @@ end
169
176
 
170
177
  api_instance = Sendpost::IPPoolsApi.new
171
178
  opts = {
172
- limit: 10, # Integer | Number of records to return per request
173
- offset: 0, # Integer | Number of initial records to skip
174
- search: 'Transactional' # String | Case insensitive search against IPPool name
179
+ limit: 10, # Integer | Number of records to return per request. Default 20.
180
+ offset: 0, # Integer | Number of initial records to skip for pagination.
181
+ search: 'Transactional' # String | Case insensitive search against IP pool names.
175
182
  }
176
183
 
177
184
  begin
@@ -205,9 +212,9 @@ end
205
212
 
206
213
  | Name | Type | Description | Notes |
207
214
  | ---- | ---- | ----------- | ----- |
208
- | **limit** | **Integer** | Number of records to return per request | [optional] |
209
- | **offset** | **Integer** | Number of initial records to skip | [optional] |
210
- | **search** | **String** | Case insensitive search against IPPool name | [optional] |
215
+ | **limit** | **Integer** | Number of records to return per request. Default 20. | [optional][default to 20] |
216
+ | **offset** | **Integer** | Number of initial records to skip for pagination. | [optional][default to 0] |
217
+ | **search** | **String** | Case insensitive search against IP pool names. | [optional] |
211
218
 
212
219
  ### Return type
213
220
 
@@ -229,7 +236,7 @@ end
229
236
 
230
237
  Get IPPool
231
238
 
232
- Retrieves details of a specific IPPool based on its ID.
239
+ Retrieve complete details about a specific IP pool, including all IPs and TPSPs assigned to it. **Response Includes:** - Pool name, ID, and creation date - Complete list of IPs with warmup status - All configured TPSPs with their settings - Current routing strategy and metadata - Warmup and monitoring configuration **Use Cases:** - Verify pool configuration before sending - Check which IPs/TPSPs are in a pool - Debug routing issues - Audit pool settings for compliance
233
240
 
234
241
  ### Examples
235
242
 
@@ -245,7 +252,7 @@ Sendpost.configure do |config|
245
252
  end
246
253
 
247
254
  api_instance = Sendpost::IPPoolsApi.new
248
- ippool_id = 74 # Integer | The ID of the IPPool whose information you want to retrieve
255
+ ippool_id = 74 # Integer | The unique ID of the IP pool to retrieve.
249
256
 
250
257
  begin
251
258
  # Get IPPool
@@ -278,7 +285,7 @@ end
278
285
 
279
286
  | Name | Type | Description | Notes |
280
287
  | ---- | ---- | ----------- | ----- |
281
- | **ippool_id** | **Integer** | The ID of the IPPool whose information you want to retrieve | |
288
+ | **ippool_id** | **Integer** | The unique ID of the IP pool to retrieve. | |
282
289
 
283
290
  ### Return type
284
291
 
@@ -300,7 +307,7 @@ end
300
307
 
301
308
  Update IPPool
302
309
 
303
- Update the details of an existing IPPool by its ID.
310
+ Modify an existing IP pool's configuration, including name, IPs, TPSPs, and routing strategy. **What Can Be Updated:** - Pool name - IP addresses assigned to the pool - Third-party sending providers (TPSPs) - Routing strategy and metadata - Warmup and monitoring settings **Use Cases:** - Add new IPs to scale capacity - Remove underperforming IPs - Change routing strategy - Add/remove TPSP integrations - Rename pool for clarity **Best Practices:** - Test routing changes during low-traffic periods - Ensure at least one sending option remains in the pool - Document changes for team awareness
304
311
 
305
312
  ### Examples
306
313
 
@@ -310,7 +317,7 @@ require 'sendpost_ruby_sdk'
310
317
 
311
318
  api_instance = Sendpost::IPPoolsApi.new
312
319
  ip_pool_update_request = Sendpost::IPPoolUpdateRequest.new # IPPoolUpdateRequest |
313
- ippool_id = 756 # Integer | The ID of the IPPool to update
320
+ ippool_id = 756 # Integer | The unique ID of the IP pool to update.
314
321
 
315
322
  begin
316
323
  # Update IPPool
@@ -344,7 +351,7 @@ end
344
351
  | Name | Type | Description | Notes |
345
352
  | ---- | ---- | ----------- | ----- |
346
353
  | **ip_pool_update_request** | [**IPPoolUpdateRequest**](IPPoolUpdateRequest.md) | | |
347
- | **ippool_id** | **Integer** | The ID of the IPPool to update | |
354
+ | **ippool_id** | **Integer** | The unique ID of the IP pool to update. | |
348
355
 
349
356
  ### Return type
350
357
 
data/docs/IPStat.md ADDED
@@ -0,0 +1,46 @@
1
+ # Sendpost::IPStat
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **processed** | **Integer** | Total number of emails accepted by SendPost API for processing. This is the starting point - all emails submitted through the API. | [optional] |
8
+ | **sent** | **Integer** | Number of emails sent to recipient mail servers. sent = processed - dropped - smtpDropped | [optional] |
9
+ | **dropped** | **Integer** | Number of emails dropped before sending. Common reasons: - Recipient email in suppression list (hard bounce, spam complaint, unsubscribe) - Invalid recipient email format - Sender domain not verified | [optional] |
10
+ | **smtp_dropped** | **Integer** | Number of emails dropped at SMTP level due to policy violations or rate limiting by the receiving server before delivery attempt completed. | [optional] |
11
+ | **delivered** | **Integer** | Number of emails successfully delivered to recipient mail servers. Note: Delivered means accepted by the server, not necessarily in inbox. | [optional] |
12
+ | **soft_bounced** | **Integer** | Number of temporary delivery failures (soft bounces). Common causes: - Recipient mailbox full - Server temporarily unavailable - Message too large SendPost automatically retries soft bounces. | [optional] |
13
+ | **hard_bounced** | **Integer** | Number of permanent delivery failures (hard bounces). Common causes: - Recipient email doesn't exist - Domain doesn't exist - Recipient has blocked sender Hard bounced addresses are automatically added to suppression list. | [optional] |
14
+ | **opened** | **Integer** | Number of emails opened (tracking pixel loaded). Requires trackOpens=true. Note: Some email clients block tracking pixels. | [optional] |
15
+ | **clicked** | **Integer** | Number of emails with at least one link clicked. Requires trackClicks=true. | [optional] |
16
+ | **unsubscribed** | **Integer** | Number of recipients who clicked the unsubscribe link. Unsubscribed addresses are automatically added to suppression list. | [optional] |
17
+ | **spam** | **Integer** | Number of spam complaints (recipient marked email as spam). High spam rates can severely impact your sender reputation. Target: Keep spam rate below 0.1%. | [optional] |
18
+ | **ip_id** | **Integer** | Unique identifier of the IP address record. | [optional] |
19
+ | **public_ip** | **String** | The public IPv4/IPv6 address these statistics belong to. | [optional] |
20
+ | **state** | **Integer** | Numeric lifecycle/state code of the IP (e.g. warming, active). | [optional] |
21
+ | **pending** | **Integer** | Number of emails queued on this IP but not yet processed. | [optional] |
22
+
23
+ ## Example
24
+
25
+ ```ruby
26
+ require 'sendpost_ruby_sdk'
27
+
28
+ instance = Sendpost::IPStat.new(
29
+ processed: 225,
30
+ sent: 220,
31
+ dropped: 10,
32
+ smtp_dropped: 5,
33
+ delivered: 200,
34
+ soft_bounced: 5,
35
+ hard_bounced: 10,
36
+ opened: 150,
37
+ clicked: 50,
38
+ unsubscribed: 6,
39
+ spam: 2,
40
+ ip_id: 88,
41
+ public_ip: 192.0.2.10,
42
+ state: 1,
43
+ pending: 3
44
+ )
45
+ ```
46
+
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **auto_warmup_enabled** | **Boolean** | Whether the IP warmup should happen automatically or be managed manually | |
7
+ | **auto_warmup_enabled** | **Boolean** | Toggle automatic IP warmup on or off. - `true`: SendPost automatically manages daily sending limits - `false`: You manage sending volume manually (advanced users) Warning: Disabling warmup and sending high volume on a new IP can damage sender reputation. | [optional] |
8
8
 
9
9
  ## Example
10
10
 
@@ -12,7 +12,7 @@
12
12
  require 'sendpost_ruby_sdk'
13
13
 
14
14
  instance = Sendpost::IPUpdateRequest.new(
15
- auto_warmup_enabled: false
15
+ auto_warmup_enabled: true
16
16
  )
17
17
  ```
18
18
 
data/docs/Label.md CHANGED
@@ -4,9 +4,11 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **id** | **Integer** | Unique ID for the label | [optional] |
8
- | **name** | **String** | Name of the label | [optional] |
9
- | **created** | **Integer** | UNIX epoch nano timestamp when the label was created | [optional] |
7
+ | **id** | **Integer** | Unique identifier for the label | [optional] |
8
+ | **name** | **String** | Display name for the label (max 50 characters) | [optional] |
9
+ | **color** | **String** | Hex color code for visual identification in the dashboard. Format: 6-character hex without # prefix. | [optional] |
10
+ | **type** | **Integer** | Resource type this label applies to: - `0` = IP label - `1` = Sub-account label - `2` = IP Pool label | [optional] |
11
+ | **created** | **Integer** | UNIX epoch timestamp in nanoseconds when the label was created | [optional] |
10
12
 
11
13
  ## Example
12
14
 
@@ -14,9 +16,11 @@
14
16
  require 'sendpost_ruby_sdk'
15
17
 
16
18
  instance = Sendpost::Label.new(
17
- id: 325,
18
- name: Free Tier,
19
- created: 1685427871489941179
19
+ id: 42,
20
+ name: production,
21
+ color: 4CAF50,
22
+ type: 0,
23
+ created: 1704067200000000000
20
24
  )
21
25
  ```
22
26
 
data/docs/Member.md CHANGED
@@ -4,18 +4,15 @@
4
4
 
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
- | **id** | **Integer** | Unique ID for the member | [optional] |
8
- | **is_verified** | **Boolean** | Indicates whether the member is verified | [optional] |
9
- | **is_forbidden** | **Boolean** | Indicates whether the member is forbidden | [optional] |
10
- | **firebase_uid** | **String** | Firebase UID for the member | [optional] |
11
- | **email** | **String** | Email for the member | [optional] |
12
- | **name** | **String** | Name for the member | [optional] |
13
- | **url** | **String** | Logo URL for the member | [optional] |
14
- | **company_name** | **String** | Company name for the member | [optional] |
15
- | **onboard_q_answered** | **Boolean** | Indicates whether the member has answered onboarding question | [optional] |
16
- | **phone_number** | **String** | Phone number for the member | [optional] |
17
- | **notes_color** | **String** | Color for the member's notes | [optional] |
18
- | **created** | **Integer** | UNIX epoch nano timestamp when the member was created | [optional] |
7
+ | **id** | **Integer** | Unique identifier for the team member | [optional] |
8
+ | **email** | **String** | Email address of the team member (used for login) | [optional] |
9
+ | **name** | **String** | Display name of the team member | [optional] |
10
+ | **is_verified** | **Boolean** | Whether the member has verified their email address. Unverified members have limited access until verification is complete. | [optional] |
11
+ | **logo_url** | **String** | URL of the member's profile picture/avatar | [optional] |
12
+ | **company_name** | **String** | Company or organization name | [optional] |
13
+ | **onboard_q_answered** | **Boolean** | Whether the member has completed the onboarding questionnaire | [optional] |
14
+ | **phone_number** | **String** | Contact phone number in E.164 format. Used for account recovery and important notifications. | [optional] |
15
+ | **created** | **Integer** | UNIX epoch timestamp in nanoseconds when the member was added | [optional] |
19
16
 
20
17
  ## Example
21
18
 
@@ -24,17 +21,14 @@ require 'sendpost_ruby_sdk'
24
21
 
25
22
  instance = Sendpost::Member.new(
26
23
  id: 117,
27
- is_verified: true,
28
- is_forbidden: false,
29
- firebase_uid: 1234567890,
30
24
  email: raj@piedpiper.com,
31
- name: Raj,
32
- url: https://www.sendpost.io/logo.png,
33
- company_name: SendPost,
25
+ name: Raj Koothrappali,
26
+ is_verified: true,
27
+ logo_url: https://avatars.example.com/raj.png,
28
+ company_name: Pied Piper,
34
29
  onboard_q_answered: true,
35
- phone_number: +919876543210,
36
- notes_color: #000000,
37
- created: 1567512491588004044
30
+ phone_number: +14155551234,
31
+ created: 1704067200000000000
38
32
  )
39
33
  ```
40
34