ark-email 0.13.0 → 0.15.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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +3 -3
  4. data/lib/ark_email/client.rb +8 -0
  5. data/lib/ark_email/models/dns_record.rb +49 -19
  6. data/lib/ark_email/models/domain_create_response.rb +117 -25
  7. data/lib/ark_email/models/domain_list_response.rb +12 -13
  8. data/lib/ark_email/models/domain_retrieve_response.rb +117 -25
  9. data/lib/ark_email/models/domain_verify_response.rb +117 -25
  10. data/lib/ark_email/models/email_retrieve_params.rb +4 -1
  11. data/lib/ark_email/models/email_retrieve_response.rb +177 -1
  12. data/lib/ark_email/models/log_entry.rb +298 -0
  13. data/lib/ark_email/models/log_entry_detail.rb +102 -0
  14. data/lib/ark_email/models/log_list_params.rb +106 -0
  15. data/lib/ark_email/models/log_retrieve_params.rb +14 -0
  16. data/lib/ark_email/models/log_retrieve_response.rb +33 -0
  17. data/lib/ark_email/models/track_domain.rb +6 -2
  18. data/lib/ark_email/models/usage_retrieve_params.rb +14 -0
  19. data/lib/ark_email/models/usage_retrieve_response.rb +270 -0
  20. data/lib/ark_email/models/webhook_create_params.rb +0 -2
  21. data/lib/ark_email/models/webhook_create_response.rb +0 -2
  22. data/lib/ark_email/models/webhook_list_deliveries_params.rb +0 -2
  23. data/lib/ark_email/models/webhook_list_deliveries_response.rb +0 -2
  24. data/lib/ark_email/models/webhook_retrieve_delivery_response.rb +0 -2
  25. data/lib/ark_email/models/webhook_retrieve_response.rb +0 -2
  26. data/lib/ark_email/models/webhook_test_params.rb +0 -2
  27. data/lib/ark_email/models/webhook_update_response.rb +0 -2
  28. data/lib/ark_email/models.rb +10 -0
  29. data/lib/ark_email/resources/logs.rb +120 -0
  30. data/lib/ark_email/resources/usage.rb +51 -0
  31. data/lib/ark_email/version.rb +1 -1
  32. data/lib/ark_email.rb +9 -0
  33. data/rbi/ark_email/client.rbi +6 -0
  34. data/rbi/ark_email/models/dns_record.rbi +57 -22
  35. data/rbi/ark_email/models/domain_create_response.rbi +189 -28
  36. data/rbi/ark_email/models/domain_list_response.rbi +13 -19
  37. data/rbi/ark_email/models/domain_retrieve_response.rbi +191 -28
  38. data/rbi/ark_email/models/domain_verify_response.rbi +189 -28
  39. data/rbi/ark_email/models/email_retrieve_params.rbi +8 -2
  40. data/rbi/ark_email/models/email_retrieve_response.rbi +379 -0
  41. data/rbi/ark_email/models/log_entry.rbi +431 -0
  42. data/rbi/ark_email/models/log_entry_detail.rbi +192 -0
  43. data/rbi/ark_email/models/log_list_params.rbi +163 -0
  44. data/rbi/ark_email/models/log_retrieve_params.rbi +27 -0
  45. data/rbi/ark_email/models/log_retrieve_response.rbi +59 -0
  46. data/rbi/ark_email/models/track_domain.rbi +4 -2
  47. data/rbi/ark_email/models/usage_retrieve_params.rbi +27 -0
  48. data/rbi/ark_email/models/usage_retrieve_response.rbi +511 -0
  49. data/rbi/ark_email/models/webhook_create_params.rbi +0 -10
  50. data/rbi/ark_email/models/webhook_create_response.rbi +0 -10
  51. data/rbi/ark_email/models/webhook_list_deliveries_params.rbi +0 -10
  52. data/rbi/ark_email/models/webhook_list_deliveries_response.rbi +0 -10
  53. data/rbi/ark_email/models/webhook_retrieve_delivery_response.rbi +0 -10
  54. data/rbi/ark_email/models/webhook_retrieve_response.rbi +0 -10
  55. data/rbi/ark_email/models/webhook_test_params.rbi +0 -10
  56. data/rbi/ark_email/models/webhook_update_response.rbi +0 -10
  57. data/rbi/ark_email/models.rbi +10 -0
  58. data/rbi/ark_email/resources/emails.rbi +4 -1
  59. data/rbi/ark_email/resources/logs.rbi +104 -0
  60. data/rbi/ark_email/resources/usage.rbi +40 -0
  61. data/sig/ark_email/client.rbs +4 -0
  62. data/sig/ark_email/models/dns_record.rbs +5 -0
  63. data/sig/ark_email/models/domain_create_response.rbs +27 -20
  64. data/sig/ark_email/models/domain_list_response.rbs +4 -16
  65. data/sig/ark_email/models/domain_retrieve_response.rbs +27 -20
  66. data/sig/ark_email/models/domain_verify_response.rbs +27 -20
  67. data/sig/ark_email/models/email_retrieve_response.rbs +179 -0
  68. data/sig/ark_email/models/log_entry.rbs +209 -0
  69. data/sig/ark_email/models/log_entry_detail.rbs +97 -0
  70. data/sig/ark_email/models/log_list_params.rbs +97 -0
  71. data/sig/ark_email/models/log_retrieve_params.rbs +15 -0
  72. data/sig/ark_email/models/log_retrieve_response.rbs +26 -0
  73. data/sig/ark_email/models/usage_retrieve_params.rbs +15 -0
  74. data/sig/ark_email/models/usage_retrieve_response.rbs +212 -0
  75. data/sig/ark_email/models/webhook_create_params.rbs +0 -4
  76. data/sig/ark_email/models/webhook_create_response.rbs +0 -4
  77. data/sig/ark_email/models/webhook_list_deliveries_params.rbs +0 -4
  78. data/sig/ark_email/models/webhook_list_deliveries_response.rbs +0 -4
  79. data/sig/ark_email/models/webhook_retrieve_delivery_response.rbs +0 -4
  80. data/sig/ark_email/models/webhook_retrieve_response.rbs +0 -4
  81. data/sig/ark_email/models/webhook_test_params.rbs +0 -4
  82. data/sig/ark_email/models/webhook_update_response.rbs +0 -4
  83. data/sig/ark_email/models.rbs +10 -0
  84. data/sig/ark_email/resources/logs.rbs +25 -0
  85. data/sig/ark_email/resources/usage.rbs +11 -0
  86. metadata +29 -2
@@ -0,0 +1,104 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Resources
5
+ class Logs
6
+ # Retrieve detailed information about a specific API request log, including the
7
+ # full request and response bodies.
8
+ #
9
+ # **Body decryption:** Request and response bodies are stored encrypted and
10
+ # automatically decrypted when retrieved. Bodies larger than 25KB are truncated at
11
+ # storage time with a `... [truncated]` marker.
12
+ #
13
+ # **Use cases:**
14
+ #
15
+ # - Debug a specific failed request
16
+ # - Review the exact payload sent/received
17
+ # - Share request details with support
18
+ #
19
+ # **Related endpoints:**
20
+ #
21
+ # - `GET /logs` - List logs with filters
22
+ sig do
23
+ params(
24
+ request_id: String,
25
+ request_options: ArkEmail::RequestOptions::OrHash
26
+ ).returns(ArkEmail::Models::LogRetrieveResponse)
27
+ end
28
+ def retrieve(
29
+ # The request ID (format `req_*`)
30
+ request_id,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ # Retrieve a paginated list of API request logs for debugging and monitoring.
36
+ # Results are ordered by timestamp, newest first.
37
+ #
38
+ # **Use cases:**
39
+ #
40
+ # - Debug integration issues by reviewing recent requests
41
+ # - Monitor error rates and response times
42
+ # - Audit API usage patterns
43
+ #
44
+ # **Filters:**
45
+ #
46
+ # - `status` - Filter by success or error category
47
+ # - `statusCode` - Filter by exact HTTP status code
48
+ # - `endpoint` - Filter by endpoint name (e.g., `emails.send`)
49
+ # - `credentialId` - Filter by API key
50
+ # - `startDate`/`endDate` - Filter by date range
51
+ #
52
+ # **Note:** Request and response bodies are only included when retrieving a single
53
+ # log entry with `GET /logs/{requestId}`.
54
+ #
55
+ # **Related endpoints:**
56
+ #
57
+ # - `GET /logs/{requestId}` - Get full log details with request/response bodies
58
+ sig do
59
+ params(
60
+ credential_id: String,
61
+ end_date: Time,
62
+ endpoint: String,
63
+ page: Integer,
64
+ per_page: Integer,
65
+ request_id: String,
66
+ start_date: Time,
67
+ status: ArkEmail::LogListParams::Status::OrSymbol,
68
+ status_code: Integer,
69
+ request_options: ArkEmail::RequestOptions::OrHash
70
+ ).returns(ArkEmail::Internal::PageNumberPagination[ArkEmail::LogEntry])
71
+ end
72
+ def list(
73
+ # Filter by API credential ID
74
+ credential_id: nil,
75
+ # Filter logs before this date (ISO 8601 format)
76
+ end_date: nil,
77
+ # Filter by endpoint name
78
+ endpoint: nil,
79
+ # Page number
80
+ page: nil,
81
+ # Results per page (max 100)
82
+ per_page: nil,
83
+ # Filter by request ID (partial match)
84
+ request_id: nil,
85
+ # Filter logs after this date (ISO 8601 format)
86
+ start_date: nil,
87
+ # Filter by status category:
88
+ #
89
+ # - `success` - Status codes < 400
90
+ # - `error` - Status codes >= 400
91
+ status: nil,
92
+ # Filter by exact HTTP status code (100-599)
93
+ status_code: nil,
94
+ request_options: {}
95
+ )
96
+ end
97
+
98
+ # @api private
99
+ sig { params(client: ArkEmail::Client).returns(T.attached_class) }
100
+ def self.new(client:)
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module ArkEmail
4
+ module Resources
5
+ class Usage
6
+ # Returns current usage and limit information for your account.
7
+ #
8
+ # This endpoint is designed for:
9
+ #
10
+ # - **AI agents/MCP servers:** Check constraints before planning batch operations
11
+ # - **Monitoring dashboards:** Display current usage status
12
+ # - **Rate limit awareness:** Know remaining capacity before making requests
13
+ #
14
+ # **Response includes:**
15
+ #
16
+ # - `rateLimit` - API request rate limit (requests per second)
17
+ # - `sendLimit` - Email sending limit (emails per hour)
18
+ # - `billing` - Credit balance and auto-recharge configuration
19
+ #
20
+ # **Notes:**
21
+ #
22
+ # - This request counts against your rate limit
23
+ # - `sendLimit` may be null if Postal is temporarily unavailable
24
+ # - `billing` is null if billing is not configured
25
+ # - Send limit resets at the top of each hour
26
+ sig do
27
+ params(request_options: ArkEmail::RequestOptions::OrHash).returns(
28
+ ArkEmail::Models::UsageRetrieveResponse
29
+ )
30
+ end
31
+ def retrieve(request_options: {})
32
+ end
33
+
34
+ # @api private
35
+ sig { params(client: ArkEmail::Client).returns(T.attached_class) }
36
+ def self.new(client:)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -20,6 +20,10 @@ module ArkEmail
20
20
 
21
21
  attr_reader tracking: ArkEmail::Resources::Tracking
22
22
 
23
+ attr_reader logs: ArkEmail::Resources::Logs
24
+
25
+ attr_reader usage: ArkEmail::Resources::Usage
26
+
23
27
  private def auth_headers: -> ::Hash[String, String]
24
28
 
25
29
  def initialize: (
@@ -2,6 +2,7 @@ module ArkEmail
2
2
  module Models
3
3
  type dns_record =
4
4
  {
5
+ full_name: String,
5
6
  name: String,
6
7
  type: ArkEmail::Models::DNSRecord::type_,
7
8
  value: String,
@@ -9,6 +10,8 @@ module ArkEmail
9
10
  }
10
11
 
11
12
  class DNSRecord < ArkEmail::Internal::Type::BaseModel
13
+ attr_accessor full_name: String
14
+
12
15
  attr_accessor name: String
13
16
 
14
17
  attr_accessor type: ArkEmail::Models::DNSRecord::type_
@@ -18,6 +21,7 @@ module ArkEmail
18
21
  attr_accessor status: ArkEmail::Models::DNSRecord::status?
19
22
 
20
23
  def initialize: (
24
+ full_name: String,
21
25
  name: String,
22
26
  type: ArkEmail::Models::DNSRecord::type_,
23
27
  value: String,
@@ -25,6 +29,7 @@ module ArkEmail
25
29
  ) -> void
26
30
 
27
31
  def to_hash: -> {
32
+ full_name: String,
28
33
  name: String,
29
34
  type: ArkEmail::Models::DNSRecord::type_,
30
35
  value: String,
@@ -28,9 +28,9 @@ module ArkEmail
28
28
 
29
29
  type data =
30
30
  {
31
- id: String,
31
+ id: Integer,
32
32
  created_at: Time,
33
- dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords,
33
+ dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords?,
34
34
  name: String,
35
35
  uuid: String,
36
36
  verified: bool,
@@ -38,11 +38,11 @@ module ArkEmail
38
38
  }
39
39
 
40
40
  class Data < ArkEmail::Internal::Type::BaseModel
41
- attr_accessor id: String
41
+ attr_accessor id: Integer
42
42
 
43
43
  attr_accessor created_at: Time
44
44
 
45
- attr_accessor dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords
45
+ attr_accessor dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords?
46
46
 
47
47
  attr_accessor name: String
48
48
 
@@ -53,9 +53,9 @@ module ArkEmail
53
53
  attr_accessor verified_at: Time?
54
54
 
55
55
  def initialize: (
56
- id: String,
56
+ id: Integer,
57
57
  created_at: Time,
58
- dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords,
58
+ dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords?,
59
59
  name: String,
60
60
  uuid: String,
61
61
  verified: bool,
@@ -63,9 +63,9 @@ module ArkEmail
63
63
  ) -> void
64
64
 
65
65
  def to_hash: -> {
66
- id: String,
66
+ id: Integer,
67
67
  created_at: Time,
68
- dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords,
68
+ dns_records: ArkEmail::Models::DomainCreateResponse::Data::DNSRecords?,
69
69
  name: String,
70
70
  uuid: String,
71
71
  verified: bool,
@@ -74,28 +74,35 @@ module ArkEmail
74
74
 
75
75
  type dns_records =
76
76
  {
77
- dkim: ArkEmail::DNSRecord,
78
- return_path: ArkEmail::DNSRecord,
79
- spf: ArkEmail::DNSRecord
77
+ dkim: ArkEmail::DNSRecord?,
78
+ return_path: ArkEmail::DNSRecord?,
79
+ spf: ArkEmail::DNSRecord?,
80
+ zone: String
80
81
  }
81
82
 
82
83
  class DNSRecords < ArkEmail::Internal::Type::BaseModel
83
- attr_accessor dkim: ArkEmail::DNSRecord
84
+ attr_accessor dkim: ArkEmail::DNSRecord?
84
85
 
85
- attr_accessor return_path: ArkEmail::DNSRecord
86
+ attr_accessor return_path: ArkEmail::DNSRecord?
86
87
 
87
- attr_accessor spf: ArkEmail::DNSRecord
88
+ attr_accessor spf: ArkEmail::DNSRecord?
89
+
90
+ attr_reader zone: String?
91
+
92
+ def zone=: (String) -> String
88
93
 
89
94
  def initialize: (
90
- dkim: ArkEmail::DNSRecord,
91
- return_path: ArkEmail::DNSRecord,
92
- spf: ArkEmail::DNSRecord
95
+ ?dkim: ArkEmail::DNSRecord?,
96
+ ?return_path: ArkEmail::DNSRecord?,
97
+ ?spf: ArkEmail::DNSRecord?,
98
+ ?zone: String
93
99
  ) -> void
94
100
 
95
101
  def to_hash: -> {
96
- dkim: ArkEmail::DNSRecord,
97
- return_path: ArkEmail::DNSRecord,
98
- spf: ArkEmail::DNSRecord
102
+ dkim: ArkEmail::DNSRecord?,
103
+ return_path: ArkEmail::DNSRecord?,
104
+ spf: ArkEmail::DNSRecord?,
105
+ zone: String
99
106
  }
100
107
  end
101
108
  end
@@ -40,30 +40,18 @@ module ArkEmail
40
40
  domains: ::Array[ArkEmail::Models::DomainListResponse::Data::Domain]
41
41
  }
42
42
 
43
- type domain = { id: String, dns_ok: bool, name: String, verified: bool }
43
+ type domain = { id: Integer, name: String, verified: bool }
44
44
 
45
45
  class Domain < ArkEmail::Internal::Type::BaseModel
46
- attr_accessor id: String
47
-
48
- attr_accessor dns_ok: bool
46
+ attr_accessor id: Integer
49
47
 
50
48
  attr_accessor name: String
51
49
 
52
50
  attr_accessor verified: bool
53
51
 
54
- def initialize: (
55
- id: String,
56
- dns_ok: bool,
57
- name: String,
58
- verified: bool
59
- ) -> void
52
+ def initialize: (id: Integer, name: String, verified: bool) -> void
60
53
 
61
- def to_hash: -> {
62
- id: String,
63
- dns_ok: bool,
64
- name: String,
65
- verified: bool
66
- }
54
+ def to_hash: -> { id: Integer, name: String, verified: bool }
67
55
  end
68
56
  end
69
57
  end
@@ -28,9 +28,9 @@ module ArkEmail
28
28
 
29
29
  type data =
30
30
  {
31
- id: String,
31
+ id: Integer,
32
32
  created_at: Time,
33
- dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords,
33
+ dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords?,
34
34
  name: String,
35
35
  uuid: String,
36
36
  verified: bool,
@@ -38,11 +38,11 @@ module ArkEmail
38
38
  }
39
39
 
40
40
  class Data < ArkEmail::Internal::Type::BaseModel
41
- attr_accessor id: String
41
+ attr_accessor id: Integer
42
42
 
43
43
  attr_accessor created_at: Time
44
44
 
45
- attr_accessor dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords
45
+ attr_accessor dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords?
46
46
 
47
47
  attr_accessor name: String
48
48
 
@@ -53,9 +53,9 @@ module ArkEmail
53
53
  attr_accessor verified_at: Time?
54
54
 
55
55
  def initialize: (
56
- id: String,
56
+ id: Integer,
57
57
  created_at: Time,
58
- dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords,
58
+ dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords?,
59
59
  name: String,
60
60
  uuid: String,
61
61
  verified: bool,
@@ -63,9 +63,9 @@ module ArkEmail
63
63
  ) -> void
64
64
 
65
65
  def to_hash: -> {
66
- id: String,
66
+ id: Integer,
67
67
  created_at: Time,
68
- dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords,
68
+ dns_records: ArkEmail::Models::DomainRetrieveResponse::Data::DNSRecords?,
69
69
  name: String,
70
70
  uuid: String,
71
71
  verified: bool,
@@ -74,28 +74,35 @@ module ArkEmail
74
74
 
75
75
  type dns_records =
76
76
  {
77
- dkim: ArkEmail::DNSRecord,
78
- return_path: ArkEmail::DNSRecord,
79
- spf: ArkEmail::DNSRecord
77
+ dkim: ArkEmail::DNSRecord?,
78
+ return_path: ArkEmail::DNSRecord?,
79
+ spf: ArkEmail::DNSRecord?,
80
+ zone: String
80
81
  }
81
82
 
82
83
  class DNSRecords < ArkEmail::Internal::Type::BaseModel
83
- attr_accessor dkim: ArkEmail::DNSRecord
84
+ attr_accessor dkim: ArkEmail::DNSRecord?
84
85
 
85
- attr_accessor return_path: ArkEmail::DNSRecord
86
+ attr_accessor return_path: ArkEmail::DNSRecord?
86
87
 
87
- attr_accessor spf: ArkEmail::DNSRecord
88
+ attr_accessor spf: ArkEmail::DNSRecord?
89
+
90
+ attr_reader zone: String?
91
+
92
+ def zone=: (String) -> String
88
93
 
89
94
  def initialize: (
90
- dkim: ArkEmail::DNSRecord,
91
- return_path: ArkEmail::DNSRecord,
92
- spf: ArkEmail::DNSRecord
95
+ ?dkim: ArkEmail::DNSRecord?,
96
+ ?return_path: ArkEmail::DNSRecord?,
97
+ ?spf: ArkEmail::DNSRecord?,
98
+ ?zone: String
93
99
  ) -> void
94
100
 
95
101
  def to_hash: -> {
96
- dkim: ArkEmail::DNSRecord,
97
- return_path: ArkEmail::DNSRecord,
98
- spf: ArkEmail::DNSRecord
102
+ dkim: ArkEmail::DNSRecord?,
103
+ return_path: ArkEmail::DNSRecord?,
104
+ spf: ArkEmail::DNSRecord?,
105
+ zone: String
99
106
  }
100
107
  end
101
108
  end
@@ -28,9 +28,9 @@ module ArkEmail
28
28
 
29
29
  type data =
30
30
  {
31
- id: String,
31
+ id: Integer,
32
32
  created_at: Time,
33
- dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords,
33
+ dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords?,
34
34
  name: String,
35
35
  uuid: String,
36
36
  verified: bool,
@@ -38,11 +38,11 @@ module ArkEmail
38
38
  }
39
39
 
40
40
  class Data < ArkEmail::Internal::Type::BaseModel
41
- attr_accessor id: String
41
+ attr_accessor id: Integer
42
42
 
43
43
  attr_accessor created_at: Time
44
44
 
45
- attr_accessor dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords
45
+ attr_accessor dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords?
46
46
 
47
47
  attr_accessor name: String
48
48
 
@@ -53,9 +53,9 @@ module ArkEmail
53
53
  attr_accessor verified_at: Time?
54
54
 
55
55
  def initialize: (
56
- id: String,
56
+ id: Integer,
57
57
  created_at: Time,
58
- dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords,
58
+ dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords?,
59
59
  name: String,
60
60
  uuid: String,
61
61
  verified: bool,
@@ -63,9 +63,9 @@ module ArkEmail
63
63
  ) -> void
64
64
 
65
65
  def to_hash: -> {
66
- id: String,
66
+ id: Integer,
67
67
  created_at: Time,
68
- dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords,
68
+ dns_records: ArkEmail::Models::DomainVerifyResponse::Data::DNSRecords?,
69
69
  name: String,
70
70
  uuid: String,
71
71
  verified: bool,
@@ -74,28 +74,35 @@ module ArkEmail
74
74
 
75
75
  type dns_records =
76
76
  {
77
- dkim: ArkEmail::DNSRecord,
78
- return_path: ArkEmail::DNSRecord,
79
- spf: ArkEmail::DNSRecord
77
+ dkim: ArkEmail::DNSRecord?,
78
+ return_path: ArkEmail::DNSRecord?,
79
+ spf: ArkEmail::DNSRecord?,
80
+ zone: String
80
81
  }
81
82
 
82
83
  class DNSRecords < ArkEmail::Internal::Type::BaseModel
83
- attr_accessor dkim: ArkEmail::DNSRecord
84
+ attr_accessor dkim: ArkEmail::DNSRecord?
84
85
 
85
- attr_accessor return_path: ArkEmail::DNSRecord
86
+ attr_accessor return_path: ArkEmail::DNSRecord?
86
87
 
87
- attr_accessor spf: ArkEmail::DNSRecord
88
+ attr_accessor spf: ArkEmail::DNSRecord?
89
+
90
+ attr_reader zone: String?
91
+
92
+ def zone=: (String) -> String
88
93
 
89
94
  def initialize: (
90
- dkim: ArkEmail::DNSRecord,
91
- return_path: ArkEmail::DNSRecord,
92
- spf: ArkEmail::DNSRecord
95
+ ?dkim: ArkEmail::DNSRecord?,
96
+ ?return_path: ArkEmail::DNSRecord?,
97
+ ?spf: ArkEmail::DNSRecord?,
98
+ ?zone: String
93
99
  ) -> void
94
100
 
95
101
  def to_hash: -> {
96
- dkim: ArkEmail::DNSRecord,
97
- return_path: ArkEmail::DNSRecord,
98
- spf: ArkEmail::DNSRecord
102
+ dkim: ArkEmail::DNSRecord?,
103
+ return_path: ArkEmail::DNSRecord?,
104
+ spf: ArkEmail::DNSRecord?,
105
+ zone: String
99
106
  }
100
107
  end
101
108
  end