ark-email 0.5.1 → 0.6.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +10 -1
  4. data/lib/ark_email/models/email_send_batch_params.rb +6 -6
  5. data/lib/ark_email/models/email_send_params.rb +28 -26
  6. data/lib/ark_email/models/email_send_raw_params.rb +9 -1
  7. data/lib/ark_email/models/suppression_bulk_create_params.rb +4 -2
  8. data/lib/ark_email/models/suppression_create_params.rb +3 -3
  9. data/lib/ark_email/models/tracking_create_params.rb +12 -12
  10. data/lib/ark_email/models/tracking_update_params.rb +12 -12
  11. data/lib/ark_email/models/webhook_create_params.rb +26 -23
  12. data/lib/ark_email/models/webhook_update_params.rb +10 -10
  13. data/lib/ark_email/resources/emails.rb +11 -9
  14. data/lib/ark_email/resources/suppressions.rb +1 -1
  15. data/lib/ark_email/resources/tracking.rb +8 -8
  16. data/lib/ark_email/resources/webhooks.rb +10 -10
  17. data/lib/ark_email/version.rb +1 -1
  18. data/rbi/ark_email/models/email_send_batch_params.rbi +9 -18
  19. data/rbi/ark_email/models/email_send_params.rbi +46 -72
  20. data/rbi/ark_email/models/email_send_raw_params.rbi +8 -0
  21. data/rbi/ark_email/models/suppression_bulk_create_params.rbi +11 -7
  22. data/rbi/ark_email/models/suppression_create_params.rbi +5 -8
  23. data/rbi/ark_email/models/tracking_create_params.rbi +18 -27
  24. data/rbi/ark_email/models/tracking_update_params.rbi +20 -32
  25. data/rbi/ark_email/models/webhook_create_params.rbi +40 -36
  26. data/rbi/ark_email/models/webhook_update_params.rbi +15 -30
  27. data/rbi/ark_email/resources/emails.rbi +22 -18
  28. data/rbi/ark_email/resources/suppressions.rbi +2 -2
  29. data/rbi/ark_email/resources/tracking.rbi +15 -15
  30. data/rbi/ark_email/resources/webhooks.rbi +19 -17
  31. data/sig/ark_email/models/email_send_batch_params.rbs +12 -18
  32. data/sig/ark_email/models/email_send_params.rbs +32 -50
  33. data/sig/ark_email/models/email_send_raw_params.rbs +10 -1
  34. data/sig/ark_email/models/suppression_bulk_create_params.rbs +4 -6
  35. data/sig/ark_email/models/suppression_create_params.rbs +4 -6
  36. data/sig/ark_email/models/tracking_create_params.rbs +16 -22
  37. data/sig/ark_email/models/tracking_update_params.rbs +16 -24
  38. data/sig/ark_email/models/webhook_create_params.rbs +12 -16
  39. data/sig/ark_email/models/webhook_update_params.rbs +20 -30
  40. data/sig/ark_email/resources/emails.rbs +9 -8
  41. data/sig/ark_email/resources/suppressions.rbs +1 -1
  42. data/sig/ark_email/resources/tracking.rbs +8 -8
  43. data/sig/ark_email/resources/webhooks.rbs +8 -8
  44. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e3df5685574fc4f8e23b5ff3b411878f1d8e9439b0921b03da6917cbf8cfddcb
4
- data.tar.gz: 22c92885355e07dbee603ade4f1861a99ef375ab8b2fcce20c88e931ce78ea43
3
+ metadata.gz: 2fd8727fd7e7cd6868b8265be0edf509d2213e440c3b2ac4d695971026d38172
4
+ data.tar.gz: 2e7355fd8bbc133c5257224134ea34f502ccc7842f5fbba8460293e36998b705
5
5
  SHA512:
6
- metadata.gz: 6a42a8eceb1d1107045b72d82f93f6f55123d11d7bab8bf6008577cca21d992b7883f6924d0d5bff9a58b7696484c8d053610868b9e4dfbfe5d56b0f666d4002
7
- data.tar.gz: 5024e6b714c7033802eb482995c0165728d585e36be3e81e8481431261fc4d55f07b228f4582e51f51afa8fc6ed888e15ffb10f91bcdd263e3cf593bd36ee72a
6
+ metadata.gz: b665865ed7fd3153eb7470a2ed7fd25b2a91ac37720e53aab3946d430325c2e286574e809c0b54ec94f952e05b5488b4dff6c03023c6395e366d64d2fcf720a2
7
+ data.tar.gz: 7b49bdc1e1e54e41ce93bc94eb7835e856f1a21fb33b2ad42dfa2bd24a68197e75e5177c6144ea25b5802676a96e842e0e70866b5e1c700584eb3f9c7ca6292a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0 (2026-01-13)
4
+
5
+ Full Changelog: [v0.5.2...v0.6.0](https://github.com/ArkHQ-io/ark-ruby/compare/v0.5.2...v0.6.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([d2ec147](https://github.com/ArkHQ-io/ark-ruby/commit/d2ec1479545bbc9000607cd6270798cfe6da5882))
10
+ * **api:** manual updates ([187b4cc](https://github.com/ArkHQ-io/ark-ruby/commit/187b4cc4ab952a33a00e82282249ebf48eb02c5a))
11
+
12
+ ## 0.5.2 (2026-01-13)
13
+
14
+ Full Changelog: [v0.5.1...v0.5.2](https://github.com/ArkHQ-io/ark-ruby/compare/v0.5.1...v0.5.2)
15
+
16
+ ### Chores
17
+
18
+ * configure new SDK language ([e2a346c](https://github.com/ArkHQ-io/ark-ruby/commit/e2a346c614f32f9be61309c0b45bc8eae40ff3ab))
19
+
3
20
  ## 0.5.1 (2026-01-13)
4
21
 
5
22
  Full Changelog: [v0.5.0...v0.5.1](https://github.com/ArkHQ-io/ark-ruby/compare/v0.5.0...v0.5.1)
data/README.md CHANGED
@@ -4,6 +4,15 @@ The Ark Ruby library provides convenient access to the Ark REST API from any Rub
4
4
 
5
5
  It is generated with [Stainless](https://www.stainless.com/).
6
6
 
7
+ ## MCP Server
8
+
9
+ Use the Ark MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
10
+
11
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=ark-email-mcp&config=eyJuYW1lIjoiYXJrLWVtYWlsLW1jcCIsInRyYW5zcG9ydCI6InNzZSIsInVybCI6Imh0dHBzOi8vYXJrLW1jcC5zdGxtY3AuY29tL3NzZSJ9)
12
+ [![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22ark-email-mcp%22%2C%22type%22%3A%22sse%22%2C%22url%22%3A%22https%3A%2F%2Fark-mcp.stlmcp.com%2Fsse%22%7D)
13
+
14
+ > Note: You may need to set environment variables in your MCP client.
15
+
7
16
  ## Documentation
8
17
 
9
18
  Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/ark-email).
@@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
17
26
  <!-- x-release-please-start-version -->
18
27
 
19
28
  ```ruby
20
- gem "ark-email", "~> 0.5.1"
29
+ gem "ark-email", "~> 0.6.0"
21
30
  ```
22
31
 
23
32
  <!-- x-release-please-end -->
@@ -46,24 +46,24 @@ module ArkEmail
46
46
  # @!attribute html
47
47
  #
48
48
  # @return [String, nil]
49
- optional :html, String
49
+ optional :html, String, nil?: true
50
50
 
51
51
  # @!attribute tag
52
52
  #
53
53
  # @return [String, nil]
54
- optional :tag, String
54
+ optional :tag, String, nil?: true
55
55
 
56
56
  # @!attribute text
57
57
  #
58
58
  # @return [String, nil]
59
- optional :text, String
59
+ optional :text, String, nil?: true
60
60
 
61
61
  # @!method initialize(subject:, to:, html: nil, tag: nil, text: nil)
62
62
  # @param subject [String]
63
63
  # @param to [Array<String>]
64
- # @param html [String]
65
- # @param tag [String]
66
- # @param text [String]
64
+ # @param html [String, nil]
65
+ # @param tag [String, nil]
66
+ # @param text [String, nil]
67
67
  end
68
68
  end
69
69
  end
@@ -34,54 +34,56 @@ module ArkEmail
34
34
  required :to, ArkEmail::Internal::Type::ArrayOf[String]
35
35
 
36
36
  # @!attribute attachments
37
- # File attachments
37
+ # File attachments (accepts null)
38
38
  #
39
39
  # @return [Array<ArkEmail::Models::EmailSendParams::Attachment>, nil]
40
- optional :attachments, -> { ArkEmail::Internal::Type::ArrayOf[ArkEmail::EmailSendParams::Attachment] }
40
+ optional :attachments,
41
+ -> { ArkEmail::Internal::Type::ArrayOf[ArkEmail::EmailSendParams::Attachment] },
42
+ nil?: true
41
43
 
42
44
  # @!attribute bcc
43
- # BCC recipients
45
+ # BCC recipients (accepts null)
44
46
  #
45
47
  # @return [Array<String>, nil]
46
- optional :bcc, ArkEmail::Internal::Type::ArrayOf[String]
48
+ optional :bcc, ArkEmail::Internal::Type::ArrayOf[String], nil?: true
47
49
 
48
50
  # @!attribute cc
49
- # CC recipients
51
+ # CC recipients (accepts null)
50
52
  #
51
53
  # @return [Array<String>, nil]
52
- optional :cc, ArkEmail::Internal::Type::ArrayOf[String]
54
+ optional :cc, ArkEmail::Internal::Type::ArrayOf[String], nil?: true
53
55
 
54
56
  # @!attribute headers
55
- # Custom email headers
57
+ # Custom email headers (accepts null)
56
58
  #
57
59
  # @return [Hash{Symbol=>String}, nil]
58
- optional :headers, ArkEmail::Internal::Type::HashOf[String]
60
+ optional :headers, ArkEmail::Internal::Type::HashOf[String], nil?: true
59
61
 
60
62
  # @!attribute html
61
- # HTML body content. Maximum 5MB (5,242,880 characters). Combined with
62
- # attachments, the total message must not exceed 14MB.
63
+ # HTML body content (accepts null). Maximum 5MB (5,242,880 characters). Combined
64
+ # with attachments, the total message must not exceed 14MB.
63
65
  #
64
66
  # @return [String, nil]
65
- optional :html, String
67
+ optional :html, String, nil?: true
66
68
 
67
69
  # @!attribute reply_to
68
- # Reply-to address
70
+ # Reply-to address (accepts null)
69
71
  #
70
72
  # @return [String, nil]
71
- optional :reply_to, String, api_name: :replyTo
73
+ optional :reply_to, String, api_name: :replyTo, nil?: true
72
74
 
73
75
  # @!attribute tag
74
- # Tag for categorization and filtering
76
+ # Tag for categorization and filtering (accepts null)
75
77
  #
76
78
  # @return [String, nil]
77
- optional :tag, String
79
+ optional :tag, String, nil?: true
78
80
 
79
81
  # @!attribute text
80
- # Plain text body (auto-generated from HTML if not provided). Maximum 5MB
81
- # (5,242,880 characters).
82
+ # Plain text body (accepts null, auto-generated from HTML if not provided).
83
+ # Maximum 5MB (5,242,880 characters).
82
84
  #
83
85
  # @return [String, nil]
84
- optional :text, String
86
+ optional :text, String, nil?: true
85
87
 
86
88
  # @!attribute idempotency_key
87
89
  #
@@ -98,21 +100,21 @@ module ArkEmail
98
100
  #
99
101
  # @param to [Array<String>] Recipient email addresses (max 50)
100
102
  #
101
- # @param attachments [Array<ArkEmail::Models::EmailSendParams::Attachment>] File attachments
103
+ # @param attachments [Array<ArkEmail::Models::EmailSendParams::Attachment>, nil] File attachments (accepts null)
102
104
  #
103
- # @param bcc [Array<String>] BCC recipients
105
+ # @param bcc [Array<String>, nil] BCC recipients (accepts null)
104
106
  #
105
- # @param cc [Array<String>] CC recipients
107
+ # @param cc [Array<String>, nil] CC recipients (accepts null)
106
108
  #
107
- # @param headers [Hash{Symbol=>String}] Custom email headers
109
+ # @param headers [Hash{Symbol=>String}, nil] Custom email headers (accepts null)
108
110
  #
109
- # @param html [String] HTML body content.
111
+ # @param html [String, nil] HTML body content (accepts null).
110
112
  #
111
- # @param reply_to [String] Reply-to address
113
+ # @param reply_to [String, nil] Reply-to address (accepts null)
112
114
  #
113
- # @param tag [String] Tag for categorization and filtering
115
+ # @param tag [String, nil] Tag for categorization and filtering (accepts null)
114
116
  #
115
- # @param text [String] Plain text body (auto-generated from HTML if not provided).
117
+ # @param text [String, nil] Plain text body (accepts null, auto-generated from HTML if not provided).
116
118
  #
117
119
  # @param idempotency_key [String]
118
120
  #
@@ -25,13 +25,21 @@ module ArkEmail
25
25
  # @return [Array<String>]
26
26
  required :rcpt_to, ArkEmail::Internal::Type::ArrayOf[String], api_name: :rcptTo
27
27
 
28
- # @!method initialize(data:, mail_from:, rcpt_to:, request_options: {})
28
+ # @!attribute bounce
29
+ # Whether this is a bounce message (accepts null)
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :bounce, ArkEmail::Internal::Type::Boolean, nil?: true
33
+
34
+ # @!method initialize(data:, mail_from:, rcpt_to:, bounce: nil, request_options: {})
29
35
  # @param data [String] Base64-encoded RFC 2822 message
30
36
  #
31
37
  # @param mail_from [String] Envelope sender address
32
38
  #
33
39
  # @param rcpt_to [Array<String>] Envelope recipient addresses
34
40
  #
41
+ # @param bounce [Boolean, nil] Whether this is a bounce message (accepts null)
42
+ #
35
43
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
36
44
  end
37
45
  end
@@ -24,13 +24,15 @@ module ArkEmail
24
24
  required :address, String
25
25
 
26
26
  # @!attribute reason
27
+ # Reason for suppression (accepts null)
27
28
  #
28
29
  # @return [String, nil]
29
- optional :reason, String
30
+ optional :reason, String, nil?: true
30
31
 
31
32
  # @!method initialize(address:, reason: nil)
32
33
  # @param address [String]
33
- # @param reason [String]
34
+ #
35
+ # @param reason [String, nil] Reason for suppression (accepts null)
34
36
  end
35
37
  end
36
38
  end
@@ -14,15 +14,15 @@ module ArkEmail
14
14
  required :address, String
15
15
 
16
16
  # @!attribute reason
17
- # Reason for suppression
17
+ # Reason for suppression (accepts null)
18
18
  #
19
19
  # @return [String, nil]
20
- optional :reason, String
20
+ optional :reason, String, nil?: true
21
21
 
22
22
  # @!method initialize(address:, reason: nil, request_options: {})
23
23
  # @param address [String] Email address to suppress
24
24
  #
25
- # @param reason [String] Reason for suppression
25
+ # @param reason [String, nil] Reason for suppression (accepts null)
26
26
  #
27
27
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
28
28
  end
@@ -10,8 +10,8 @@ module ArkEmail
10
10
  # @!attribute domain_id
11
11
  # ID of the sending domain to attach this track domain to
12
12
  #
13
- # @return [String]
14
- required :domain_id, String, api_name: :domainId
13
+ # @return [Integer]
14
+ required :domain_id, Integer, api_name: :domainId
15
15
 
16
16
  # @!attribute name
17
17
  # Subdomain name (e.g., 'track' for track.yourdomain.com)
@@ -20,33 +20,33 @@ module ArkEmail
20
20
  required :name, String
21
21
 
22
22
  # @!attribute ssl_enabled
23
- # Enable SSL for tracking URLs (recommended)
23
+ # Enable SSL for tracking URLs (accepts null, defaults to true)
24
24
  #
25
25
  # @return [Boolean, nil]
26
- optional :ssl_enabled, ArkEmail::Internal::Type::Boolean, api_name: :sslEnabled
26
+ optional :ssl_enabled, ArkEmail::Internal::Type::Boolean, api_name: :sslEnabled, nil?: true
27
27
 
28
28
  # @!attribute track_clicks
29
- # Enable click tracking
29
+ # Enable click tracking (accepts null, defaults to true)
30
30
  #
31
31
  # @return [Boolean, nil]
32
- optional :track_clicks, ArkEmail::Internal::Type::Boolean, api_name: :trackClicks
32
+ optional :track_clicks, ArkEmail::Internal::Type::Boolean, api_name: :trackClicks, nil?: true
33
33
 
34
34
  # @!attribute track_opens
35
- # Enable open tracking (tracking pixel)
35
+ # Enable open tracking (tracking pixel, accepts null, defaults to true)
36
36
  #
37
37
  # @return [Boolean, nil]
38
- optional :track_opens, ArkEmail::Internal::Type::Boolean, api_name: :trackOpens
38
+ optional :track_opens, ArkEmail::Internal::Type::Boolean, api_name: :trackOpens, nil?: true
39
39
 
40
40
  # @!method initialize(domain_id:, name:, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
41
- # @param domain_id [String] ID of the sending domain to attach this track domain to
41
+ # @param domain_id [Integer] ID of the sending domain to attach this track domain to
42
42
  #
43
43
  # @param name [String] Subdomain name (e.g., 'track' for track.yourdomain.com)
44
44
  #
45
- # @param ssl_enabled [Boolean] Enable SSL for tracking URLs (recommended)
45
+ # @param ssl_enabled [Boolean, nil] Enable SSL for tracking URLs (accepts null, defaults to true)
46
46
  #
47
- # @param track_clicks [Boolean] Enable click tracking
47
+ # @param track_clicks [Boolean, nil] Enable click tracking (accepts null, defaults to true)
48
48
  #
49
- # @param track_opens [Boolean] Enable open tracking (tracking pixel)
49
+ # @param track_opens [Boolean, nil] Enable open tracking (tracking pixel, accepts null, defaults to true)
50
50
  #
51
51
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
52
52
  end
@@ -8,37 +8,37 @@ module ArkEmail
8
8
  include ArkEmail::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute excluded_click_domains
11
- # Comma-separated list of domains to exclude from click tracking
11
+ # Comma-separated list of domains to exclude from click tracking (accepts null)
12
12
  #
13
13
  # @return [String, nil]
14
- optional :excluded_click_domains, String, api_name: :excludedClickDomains
14
+ optional :excluded_click_domains, String, api_name: :excludedClickDomains, nil?: true
15
15
 
16
16
  # @!attribute ssl_enabled
17
- # Enable or disable SSL for tracking URLs
17
+ # Enable or disable SSL for tracking URLs (accepts null)
18
18
  #
19
19
  # @return [Boolean, nil]
20
- optional :ssl_enabled, ArkEmail::Internal::Type::Boolean, api_name: :sslEnabled
20
+ optional :ssl_enabled, ArkEmail::Internal::Type::Boolean, api_name: :sslEnabled, nil?: true
21
21
 
22
22
  # @!attribute track_clicks
23
- # Enable or disable click tracking
23
+ # Enable or disable click tracking (accepts null)
24
24
  #
25
25
  # @return [Boolean, nil]
26
- optional :track_clicks, ArkEmail::Internal::Type::Boolean, api_name: :trackClicks
26
+ optional :track_clicks, ArkEmail::Internal::Type::Boolean, api_name: :trackClicks, nil?: true
27
27
 
28
28
  # @!attribute track_opens
29
- # Enable or disable open tracking
29
+ # Enable or disable open tracking (accepts null)
30
30
  #
31
31
  # @return [Boolean, nil]
32
- optional :track_opens, ArkEmail::Internal::Type::Boolean, api_name: :trackOpens
32
+ optional :track_opens, ArkEmail::Internal::Type::Boolean, api_name: :trackOpens, nil?: true
33
33
 
34
34
  # @!method initialize(excluded_click_domains: nil, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
35
- # @param excluded_click_domains [String] Comma-separated list of domains to exclude from click tracking
35
+ # @param excluded_click_domains [String, nil] Comma-separated list of domains to exclude from click tracking (accepts null)
36
36
  #
37
- # @param ssl_enabled [Boolean] Enable or disable SSL for tracking URLs
37
+ # @param ssl_enabled [Boolean, nil] Enable or disable SSL for tracking URLs (accepts null)
38
38
  #
39
- # @param track_clicks [Boolean] Enable or disable click tracking
39
+ # @param track_clicks [Boolean, nil] Enable or disable click tracking (accepts null)
40
40
  #
41
- # @param track_opens [Boolean] Enable or disable open tracking
41
+ # @param track_opens [Boolean, nil] Enable or disable open tracking (accepts null)
42
42
  #
43
43
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
44
44
  end
@@ -7,21 +7,6 @@ module ArkEmail
7
7
  extend ArkEmail::Internal::Type::RequestParameters::Converter
8
8
  include ArkEmail::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute events
11
- # Events to subscribe to:
12
- #
13
- # - `MessageSent` - Email successfully delivered to recipient's server
14
- # - `MessageDelayed` - Temporary delivery failure, will retry
15
- # - `MessageDeliveryFailed` - Permanent delivery failure
16
- # - `MessageHeld` - Email held for manual review
17
- # - `MessageBounced` - Email bounced back
18
- # - `MessageLinkClicked` - Recipient clicked a tracked link
19
- # - `MessageLoaded` - Recipient opened the email (tracking pixel loaded)
20
- # - `DomainDNSError` - DNS configuration issue detected
21
- #
22
- # @return [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>]
23
- required :events, -> { ArkEmail::Internal::Type::ArrayOf[enum: ArkEmail::WebhookCreateParams::Event] }
24
-
25
10
  # @!attribute name
26
11
  # Webhook name for identification
27
12
  #
@@ -35,29 +20,47 @@ module ArkEmail
35
20
  required :url, String
36
21
 
37
22
  # @!attribute all_events
38
- # Subscribe to all events (ignores events array)
23
+ # Subscribe to all events (ignores events array, accepts null)
39
24
  #
40
25
  # @return [Boolean, nil]
41
- optional :all_events, ArkEmail::Internal::Type::Boolean, api_name: :allEvents
26
+ optional :all_events, ArkEmail::Internal::Type::Boolean, api_name: :allEvents, nil?: true
42
27
 
43
28
  # @!attribute enabled
29
+ # Whether the webhook is enabled (accepts null)
44
30
  #
45
31
  # @return [Boolean, nil]
46
- optional :enabled, ArkEmail::Internal::Type::Boolean
32
+ optional :enabled, ArkEmail::Internal::Type::Boolean, nil?: true
33
+
34
+ # @!attribute events
35
+ # Events to subscribe to (accepts null):
36
+ #
37
+ # - `MessageSent` - Email successfully delivered to recipient's server
38
+ # - `MessageDelayed` - Temporary delivery failure, will retry
39
+ # - `MessageDeliveryFailed` - Permanent delivery failure
40
+ # - `MessageHeld` - Email held for manual review
41
+ # - `MessageBounced` - Email bounced back
42
+ # - `MessageLinkClicked` - Recipient clicked a tracked link
43
+ # - `MessageLoaded` - Recipient opened the email (tracking pixel loaded)
44
+ # - `DomainDNSError` - DNS configuration issue detected
45
+ #
46
+ # @return [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>, nil]
47
+ optional :events,
48
+ -> { ArkEmail::Internal::Type::ArrayOf[enum: ArkEmail::WebhookCreateParams::Event] },
49
+ nil?: true
47
50
 
48
- # @!method initialize(events:, name:, url:, all_events: nil, enabled: nil, request_options: {})
51
+ # @!method initialize(name:, url:, all_events: nil, enabled: nil, events: nil, request_options: {})
49
52
  # Some parameter documentations has been truncated, see
50
53
  # {ArkEmail::Models::WebhookCreateParams} for more details.
51
54
  #
52
- # @param events [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>] Events to subscribe to:
53
- #
54
55
  # @param name [String] Webhook name for identification
55
56
  #
56
57
  # @param url [String] HTTPS endpoint URL
57
58
  #
58
- # @param all_events [Boolean] Subscribe to all events (ignores events array)
59
+ # @param all_events [Boolean, nil] Subscribe to all events (ignores events array, accepts null)
60
+ #
61
+ # @param enabled [Boolean, nil] Whether the webhook is enabled (accepts null)
59
62
  #
60
- # @param enabled [Boolean]
63
+ # @param events [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>, nil] Events to subscribe to (accepts null):
61
64
  #
62
65
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
63
66
 
@@ -10,34 +10,34 @@ module ArkEmail
10
10
  # @!attribute all_events
11
11
  #
12
12
  # @return [Boolean, nil]
13
- optional :all_events, ArkEmail::Internal::Type::Boolean, api_name: :allEvents
13
+ optional :all_events, ArkEmail::Internal::Type::Boolean, api_name: :allEvents, nil?: true
14
14
 
15
15
  # @!attribute enabled
16
16
  #
17
17
  # @return [Boolean, nil]
18
- optional :enabled, ArkEmail::Internal::Type::Boolean
18
+ optional :enabled, ArkEmail::Internal::Type::Boolean, nil?: true
19
19
 
20
20
  # @!attribute events
21
21
  #
22
22
  # @return [Array<String>, nil]
23
- optional :events, ArkEmail::Internal::Type::ArrayOf[String]
23
+ optional :events, ArkEmail::Internal::Type::ArrayOf[String], nil?: true
24
24
 
25
25
  # @!attribute name
26
26
  #
27
27
  # @return [String, nil]
28
- optional :name, String
28
+ optional :name, String, nil?: true
29
29
 
30
30
  # @!attribute url
31
31
  #
32
32
  # @return [String, nil]
33
- optional :url, String
33
+ optional :url, String, nil?: true
34
34
 
35
35
  # @!method initialize(all_events: nil, enabled: nil, events: nil, name: nil, url: nil, request_options: {})
36
- # @param all_events [Boolean]
37
- # @param enabled [Boolean]
38
- # @param events [Array<String>]
39
- # @param name [String]
40
- # @param url [String]
36
+ # @param all_events [Boolean, nil]
37
+ # @param enabled [Boolean, nil]
38
+ # @param events [Array<String>, nil]
39
+ # @param name [String, nil]
40
+ # @param url [String, nil]
41
41
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
42
42
  end
43
43
  end
@@ -150,21 +150,21 @@ module ArkEmail
150
150
  #
151
151
  # @param to [Array<String>] Body param: Recipient email addresses (max 50)
152
152
  #
153
- # @param attachments [Array<ArkEmail::Models::EmailSendParams::Attachment>] Body param: File attachments
153
+ # @param attachments [Array<ArkEmail::Models::EmailSendParams::Attachment>, nil] Body param: File attachments (accepts null)
154
154
  #
155
- # @param bcc [Array<String>] Body param: BCC recipients
155
+ # @param bcc [Array<String>, nil] Body param: BCC recipients (accepts null)
156
156
  #
157
- # @param cc [Array<String>] Body param: CC recipients
157
+ # @param cc [Array<String>, nil] Body param: CC recipients (accepts null)
158
158
  #
159
- # @param headers [Hash{Symbol=>String}] Body param: Custom email headers
159
+ # @param headers [Hash{Symbol=>String}, nil] Body param: Custom email headers (accepts null)
160
160
  #
161
- # @param html [String] Body param: HTML body content.
161
+ # @param html [String, nil] Body param: HTML body content (accepts null).
162
162
  #
163
- # @param reply_to [String] Body param: Reply-to address
163
+ # @param reply_to [String, nil] Body param: Reply-to address (accepts null)
164
164
  #
165
- # @param tag [String] Body param: Tag for categorization and filtering
165
+ # @param tag [String, nil] Body param: Tag for categorization and filtering (accepts null)
166
166
  #
167
- # @param text [String] Body param: Plain text body (auto-generated from HTML if not provided).
167
+ # @param text [String, nil] Body param: Plain text body (accepts null, auto-generated from HTML if not provi
168
168
  #
169
169
  # @param idempotency_key [String] Header param: Unique key for idempotent requests. If a request with this key was
170
170
  #
@@ -228,7 +228,7 @@ module ArkEmail
228
228
  #
229
229
  # The `data` field should contain the base64-encoded raw email.
230
230
  #
231
- # @overload send_raw(data:, mail_from:, rcpt_to:, request_options: {})
231
+ # @overload send_raw(data:, mail_from:, rcpt_to:, bounce: nil, request_options: {})
232
232
  #
233
233
  # @param data [String] Base64-encoded RFC 2822 message
234
234
  #
@@ -236,6 +236,8 @@ module ArkEmail
236
236
  #
237
237
  # @param rcpt_to [Array<String>] Envelope recipient addresses
238
238
  #
239
+ # @param bounce [Boolean, nil] Whether this is a bounce message (accepts null)
240
+ #
239
241
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
240
242
  #
241
243
  # @return [ArkEmail::Models::EmailSendRawResponse]
@@ -10,7 +10,7 @@ module ArkEmail
10
10
  #
11
11
  # @param address [String] Email address to suppress
12
12
  #
13
- # @param reason [String] Reason for suppression
13
+ # @param reason [String, nil] Reason for suppression (accepts null)
14
14
  #
15
15
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
16
16
  #
@@ -10,15 +10,15 @@ module ArkEmail
10
10
  #
11
11
  # @overload create(domain_id:, name:, ssl_enabled: nil, track_clicks: nil, track_opens: nil, request_options: {})
12
12
  #
13
- # @param domain_id [String] ID of the sending domain to attach this track domain to
13
+ # @param domain_id [Integer] ID of the sending domain to attach this track domain to
14
14
  #
15
15
  # @param name [String] Subdomain name (e.g., 'track' for track.yourdomain.com)
16
16
  #
17
- # @param ssl_enabled [Boolean] Enable SSL for tracking URLs (recommended)
17
+ # @param ssl_enabled [Boolean, nil] Enable SSL for tracking URLs (accepts null, defaults to true)
18
18
  #
19
- # @param track_clicks [Boolean] Enable click tracking
19
+ # @param track_clicks [Boolean, nil] Enable click tracking (accepts null, defaults to true)
20
20
  #
21
- # @param track_opens [Boolean] Enable open tracking (tracking pixel)
21
+ # @param track_opens [Boolean, nil] Enable open tracking (tracking pixel, accepts null, defaults to true)
22
22
  #
23
23
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
24
24
  #
@@ -69,13 +69,13 @@ module ArkEmail
69
69
  #
70
70
  # @param tracking_id [String] Track domain ID or UUID
71
71
  #
72
- # @param excluded_click_domains [String] Comma-separated list of domains to exclude from click tracking
72
+ # @param excluded_click_domains [String, nil] Comma-separated list of domains to exclude from click tracking (accepts null)
73
73
  #
74
- # @param ssl_enabled [Boolean] Enable or disable SSL for tracking URLs
74
+ # @param ssl_enabled [Boolean, nil] Enable or disable SSL for tracking URLs (accepts null)
75
75
  #
76
- # @param track_clicks [Boolean] Enable or disable click tracking
76
+ # @param track_clicks [Boolean, nil] Enable or disable click tracking (accepts null)
77
77
  #
78
- # @param track_opens [Boolean] Enable or disable open tracking
78
+ # @param track_opens [Boolean, nil] Enable or disable open tracking (accepts null)
79
79
  #
80
80
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
81
81
  #
@@ -19,17 +19,17 @@ module ArkEmail
19
19
  # - `MessageLoaded` - Recipient opened the email
20
20
  # - `DomainDNSError` - Domain DNS issue detected
21
21
  #
22
- # @overload create(events:, name:, url:, all_events: nil, enabled: nil, request_options: {})
23
- #
24
- # @param events [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>] Events to subscribe to:
22
+ # @overload create(name:, url:, all_events: nil, enabled: nil, events: nil, request_options: {})
25
23
  #
26
24
  # @param name [String] Webhook name for identification
27
25
  #
28
26
  # @param url [String] HTTPS endpoint URL
29
27
  #
30
- # @param all_events [Boolean] Subscribe to all events (ignores events array)
28
+ # @param all_events [Boolean, nil] Subscribe to all events (ignores events array, accepts null)
29
+ #
30
+ # @param enabled [Boolean, nil] Whether the webhook is enabled (accepts null)
31
31
  #
32
- # @param enabled [Boolean]
32
+ # @param events [Array<Symbol, ArkEmail::Models::WebhookCreateParams::Event>, nil] Events to subscribe to (accepts null):
33
33
  #
34
34
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
35
35
  #
@@ -71,11 +71,11 @@ module ArkEmail
71
71
  # @overload update(webhook_id, all_events: nil, enabled: nil, events: nil, name: nil, url: nil, request_options: {})
72
72
  #
73
73
  # @param webhook_id [String]
74
- # @param all_events [Boolean]
75
- # @param enabled [Boolean]
76
- # @param events [Array<String>]
77
- # @param name [String]
78
- # @param url [String]
74
+ # @param all_events [Boolean, nil]
75
+ # @param enabled [Boolean, nil]
76
+ # @param events [Array<String>, nil]
77
+ # @param name [String, nil]
78
+ # @param url [String, nil]
79
79
  # @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}, nil]
80
80
  #
81
81
  # @return [ArkEmail::Models::WebhookUpdateResponse]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ArkEmail
4
- VERSION = "0.5.1"
4
+ VERSION = "0.6.0"
5
5
  end