@lessly/sdk-app 82.0.0 → 83.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.
- package/dist/_types/gen/types.gen.d.ts +1871 -129
- package/dist/index.cjs +14 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +14 -14
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/gen/manifest.gen.ts +14 -14
- package/src/gen/types.gen.ts +1872 -130
package/src/gen/types.gen.ts
CHANGED
|
@@ -74858,38 +74858,65 @@ attachedServiceId: (string | null)
|
|
|
74858
74858
|
|
|
74859
74859
|
export interface MailApikeyCreateInput {
|
|
74860
74860
|
/**
|
|
74861
|
-
* Human-readable label for the key
|
|
74861
|
+
* Human-readable label for the key, e.g. "production sender"
|
|
74862
74862
|
*/
|
|
74863
74863
|
name: string
|
|
74864
74864
|
/**
|
|
74865
|
-
* Permission scope:
|
|
74865
|
+
* Permission scope: full_access can call every mail tool, sending_access can only send email
|
|
74866
74866
|
*/
|
|
74867
74867
|
scope: ("full_access" | "sending_access")
|
|
74868
74868
|
/**
|
|
74869
|
-
*
|
|
74869
|
+
* Lock the key to this sending domain; omit to let it send from any verified domain
|
|
74870
74870
|
*/
|
|
74871
74871
|
domainId?: string
|
|
74872
74872
|
}
|
|
74873
74873
|
|
|
74874
74874
|
export interface MailApikeyCreateOutput {
|
|
74875
|
+
/**
|
|
74876
|
+
* API key id; pass it to mail_apikey_delete to revoke the key
|
|
74877
|
+
*/
|
|
74875
74878
|
id: string
|
|
74879
|
+
/**
|
|
74880
|
+
* The full secret. Returned only by this call and never retrievable again — store it now
|
|
74881
|
+
*/
|
|
74876
74882
|
key: string
|
|
74883
|
+
/**
|
|
74884
|
+
* Human-readable label given when the key was issued
|
|
74885
|
+
*/
|
|
74877
74886
|
name: string
|
|
74878
|
-
|
|
74887
|
+
/**
|
|
74888
|
+
* Permission scope: full_access can call every mail tool, sending_access can only send email
|
|
74889
|
+
*/
|
|
74890
|
+
scope: ("full_access" | "sending_access")
|
|
74891
|
+
/**
|
|
74892
|
+
* Opening characters of the secret, so a key can be recognised in a log or a header
|
|
74893
|
+
*/
|
|
74879
74894
|
prefix: string
|
|
74895
|
+
/**
|
|
74896
|
+
* Sending domain this key is locked to; null if it may send from any verified domain
|
|
74897
|
+
*/
|
|
74880
74898
|
domainId: (string | null)
|
|
74899
|
+
/**
|
|
74900
|
+
* When the key was issued (ISO 8601 UTC)
|
|
74901
|
+
*/
|
|
74881
74902
|
createdAt: string
|
|
74882
74903
|
}
|
|
74883
74904
|
|
|
74884
74905
|
export interface MailApikeyDeleteInput {
|
|
74885
74906
|
/**
|
|
74886
|
-
*
|
|
74907
|
+
* Id of the API key to revoke; revocation is immediate and permanent
|
|
74887
74908
|
*/
|
|
74888
74909
|
id: string
|
|
74889
74910
|
}
|
|
74890
74911
|
|
|
74891
74912
|
export interface MailApikeyDeleteOutput {
|
|
74913
|
+
/**
|
|
74914
|
+
* Id of the key that was revoked
|
|
74915
|
+
*/
|
|
74892
74916
|
id: string
|
|
74917
|
+
/**
|
|
74918
|
+
* Always true; the call throws rather than reporting a failure here
|
|
74919
|
+
*/
|
|
74893
74920
|
revoked: true
|
|
74894
74921
|
}
|
|
74895
74922
|
|
|
@@ -74897,12 +74924,33 @@ export interface MailApikeyListInput {
|
|
|
74897
74924
|
|
|
74898
74925
|
}
|
|
74899
74926
|
|
|
74927
|
+
/**
|
|
74928
|
+
* Active API keys for the current product, secrets omitted
|
|
74929
|
+
*/
|
|
74900
74930
|
export type MailApikeyListOutput = {
|
|
74931
|
+
/**
|
|
74932
|
+
* API key id; pass it to mail_apikey_delete to revoke the key
|
|
74933
|
+
*/
|
|
74901
74934
|
id: string
|
|
74935
|
+
/**
|
|
74936
|
+
* Human-readable label given when the key was issued
|
|
74937
|
+
*/
|
|
74902
74938
|
name: string
|
|
74903
|
-
|
|
74939
|
+
/**
|
|
74940
|
+
* Permission scope: full_access can call every mail tool, sending_access can only send email
|
|
74941
|
+
*/
|
|
74942
|
+
scope: ("full_access" | "sending_access")
|
|
74943
|
+
/**
|
|
74944
|
+
* Opening characters of the secret, so a key can be recognised in a log or a header
|
|
74945
|
+
*/
|
|
74904
74946
|
prefix: string
|
|
74947
|
+
/**
|
|
74948
|
+
* Sending domain this key is locked to; null if it may send from any verified domain
|
|
74949
|
+
*/
|
|
74905
74950
|
domainId: (string | null)
|
|
74951
|
+
/**
|
|
74952
|
+
* When the key was issued (ISO 8601 UTC)
|
|
74953
|
+
*/
|
|
74906
74954
|
createdAt: string
|
|
74907
74955
|
}[]
|
|
74908
74956
|
|
|
@@ -74914,9 +74962,21 @@ name: string
|
|
|
74914
74962
|
}
|
|
74915
74963
|
|
|
74916
74964
|
export interface MailAudienceCreateOutput {
|
|
74965
|
+
/**
|
|
74966
|
+
* Audience id
|
|
74967
|
+
*/
|
|
74917
74968
|
id: string
|
|
74969
|
+
/**
|
|
74970
|
+
* Human label for the audience
|
|
74971
|
+
*/
|
|
74918
74972
|
name: string
|
|
74973
|
+
/**
|
|
74974
|
+
* When the audience was created (ISO 8601 UTC)
|
|
74975
|
+
*/
|
|
74919
74976
|
createdAt: string
|
|
74977
|
+
/**
|
|
74978
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
74979
|
+
*/
|
|
74920
74980
|
updatedAt: string
|
|
74921
74981
|
}
|
|
74922
74982
|
|
|
@@ -74928,6 +74988,9 @@ id: string
|
|
|
74928
74988
|
}
|
|
74929
74989
|
|
|
74930
74990
|
export interface MailAudienceDeleteOutput {
|
|
74991
|
+
/**
|
|
74992
|
+
* True once the audience and its contacts are gone
|
|
74993
|
+
*/
|
|
74931
74994
|
deleted: boolean
|
|
74932
74995
|
}
|
|
74933
74996
|
|
|
@@ -74939,9 +75002,21 @@ id: string
|
|
|
74939
75002
|
}
|
|
74940
75003
|
|
|
74941
75004
|
export interface MailAudienceGetOutput {
|
|
75005
|
+
/**
|
|
75006
|
+
* Audience id
|
|
75007
|
+
*/
|
|
74942
75008
|
id: string
|
|
75009
|
+
/**
|
|
75010
|
+
* Human label for the audience
|
|
75011
|
+
*/
|
|
74943
75012
|
name: string
|
|
75013
|
+
/**
|
|
75014
|
+
* When the audience was created (ISO 8601 UTC)
|
|
75015
|
+
*/
|
|
74944
75016
|
createdAt: string
|
|
75017
|
+
/**
|
|
75018
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
75019
|
+
*/
|
|
74945
75020
|
updatedAt: string
|
|
74946
75021
|
}
|
|
74947
75022
|
|
|
@@ -74950,9 +75025,21 @@ export interface MailAudienceListInput {
|
|
|
74950
75025
|
}
|
|
74951
75026
|
|
|
74952
75027
|
export type MailAudienceListOutput = {
|
|
75028
|
+
/**
|
|
75029
|
+
* Audience id
|
|
75030
|
+
*/
|
|
74953
75031
|
id: string
|
|
75032
|
+
/**
|
|
75033
|
+
* Human label for the audience
|
|
75034
|
+
*/
|
|
74954
75035
|
name: string
|
|
75036
|
+
/**
|
|
75037
|
+
* When the audience was created (ISO 8601 UTC)
|
|
75038
|
+
*/
|
|
74955
75039
|
createdAt: string
|
|
75040
|
+
/**
|
|
75041
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
75042
|
+
*/
|
|
74956
75043
|
updatedAt: string
|
|
74957
75044
|
}[]
|
|
74958
75045
|
|
|
@@ -74968,235 +75055,724 @@ name?: string
|
|
|
74968
75055
|
}
|
|
74969
75056
|
|
|
74970
75057
|
export interface MailAudienceUpdateOutput {
|
|
75058
|
+
/**
|
|
75059
|
+
* Audience id
|
|
75060
|
+
*/
|
|
74971
75061
|
id: string
|
|
75062
|
+
/**
|
|
75063
|
+
* Human label for the audience
|
|
75064
|
+
*/
|
|
74972
75065
|
name: string
|
|
75066
|
+
/**
|
|
75067
|
+
* When the audience was created (ISO 8601 UTC)
|
|
75068
|
+
*/
|
|
74973
75069
|
createdAt: string
|
|
75070
|
+
/**
|
|
75071
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
75072
|
+
*/
|
|
74974
75073
|
updatedAt: string
|
|
74975
75074
|
}
|
|
74976
75075
|
|
|
74977
75076
|
export interface MailBroadcastCancelInput {
|
|
75077
|
+
/**
|
|
75078
|
+
* Broadcast id
|
|
75079
|
+
*/
|
|
74978
75080
|
id: string
|
|
74979
75081
|
}
|
|
74980
75082
|
|
|
74981
75083
|
export interface MailBroadcastCancelOutput {
|
|
75084
|
+
/**
|
|
75085
|
+
* Broadcast id
|
|
75086
|
+
*/
|
|
74982
75087
|
id: string
|
|
75088
|
+
/**
|
|
75089
|
+
* Sender the messages are sent as
|
|
75090
|
+
*/
|
|
74983
75091
|
from: string
|
|
75092
|
+
/**
|
|
75093
|
+
* Inline HTML body; null when a template supplies it
|
|
75094
|
+
*/
|
|
74984
75095
|
html: (string | null)
|
|
75096
|
+
/**
|
|
75097
|
+
* Internal label — never shown to recipients
|
|
75098
|
+
*/
|
|
74985
75099
|
name: string
|
|
75100
|
+
/**
|
|
75101
|
+
* Inline plain-text body; null when a template supplies it
|
|
75102
|
+
*/
|
|
74986
75103
|
text: (string | null)
|
|
75104
|
+
/**
|
|
75105
|
+
* When the last message left; null until sending finishes
|
|
75106
|
+
*/
|
|
74987
75107
|
sentAt: (string | null)
|
|
74988
|
-
|
|
75108
|
+
/**
|
|
75109
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75110
|
+
*/
|
|
75111
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75112
|
+
/**
|
|
75113
|
+
* Custom MIME headers added to every message
|
|
75114
|
+
*/
|
|
74989
75115
|
headers: {
|
|
74990
75116
|
[k: string]: string
|
|
74991
75117
|
}
|
|
75118
|
+
/**
|
|
75119
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75120
|
+
*/
|
|
74992
75121
|
replyTo: string[]
|
|
75122
|
+
/**
|
|
75123
|
+
* Subject line for inline content; null when a template supplies it
|
|
75124
|
+
*/
|
|
74993
75125
|
subject: (string | null)
|
|
75126
|
+
/**
|
|
75127
|
+
* When the broadcast was queued; null while it is a draft
|
|
75128
|
+
*/
|
|
74994
75129
|
queuedAt: (string | null)
|
|
75130
|
+
/**
|
|
75131
|
+
* When the broadcast was created
|
|
75132
|
+
*/
|
|
74995
75133
|
createdAt: string
|
|
75134
|
+
/**
|
|
75135
|
+
* Why the broadcast failed; null unless status is failed
|
|
75136
|
+
*/
|
|
74996
75137
|
lastError: (string | null)
|
|
75138
|
+
/**
|
|
75139
|
+
* Product the broadcast belongs to
|
|
75140
|
+
*/
|
|
74997
75141
|
productId: string
|
|
75142
|
+
/**
|
|
75143
|
+
* When the broadcast was last modified
|
|
75144
|
+
*/
|
|
74998
75145
|
updatedAt: string
|
|
74999
|
-
|
|
75146
|
+
/**
|
|
75147
|
+
* Values passed to the template variables; {} for inline content
|
|
75148
|
+
*/
|
|
75149
|
+
variables: ({
|
|
75150
|
+
[k: string]: unknown
|
|
75151
|
+
} | null)
|
|
75152
|
+
/**
|
|
75153
|
+
* Audience whose contacts this broadcast is sent to
|
|
75154
|
+
*/
|
|
75000
75155
|
audienceId: string
|
|
75156
|
+
/**
|
|
75157
|
+
* Template rendered for every recipient; null for inline content
|
|
75158
|
+
*/
|
|
75001
75159
|
templateId: (string | null)
|
|
75160
|
+
/**
|
|
75161
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75162
|
+
*/
|
|
75002
75163
|
recipientCount: number
|
|
75003
75164
|
}
|
|
75004
75165
|
|
|
75005
75166
|
export interface MailBroadcastCreateInput {
|
|
75167
|
+
/**
|
|
75168
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
75169
|
+
*/
|
|
75006
75170
|
from: string
|
|
75171
|
+
/**
|
|
75172
|
+
* HTML body. Inline content only — forbidden with a template.
|
|
75173
|
+
*/
|
|
75007
75174
|
html?: string
|
|
75175
|
+
/**
|
|
75176
|
+
* Internal label for the broadcast — never shown to recipients
|
|
75177
|
+
*/
|
|
75008
75178
|
name: string
|
|
75179
|
+
/**
|
|
75180
|
+
* Plain-text body. Inline content only — forbidden with a template.
|
|
75181
|
+
*/
|
|
75009
75182
|
text?: string
|
|
75183
|
+
/**
|
|
75184
|
+
* Custom MIME headers added to every message. Defaults to {}.
|
|
75185
|
+
*/
|
|
75010
75186
|
headers?: {
|
|
75011
75187
|
[k: string]: string
|
|
75012
75188
|
}
|
|
75189
|
+
/**
|
|
75190
|
+
* Reply-To addresses. Defaults to [] — replies go to `from`.
|
|
75191
|
+
*/
|
|
75013
75192
|
replyTo?: string[]
|
|
75193
|
+
/**
|
|
75194
|
+
* Subject line, capped at the RFC-5322 line limit. Required with inline content, forbidden with a template.
|
|
75195
|
+
*/
|
|
75014
75196
|
subject?: string
|
|
75197
|
+
/**
|
|
75198
|
+
* Send by reference to a published template instead of inline content
|
|
75199
|
+
*/
|
|
75015
75200
|
template?: {
|
|
75201
|
+
/**
|
|
75202
|
+
* Published template id to render for every recipient
|
|
75203
|
+
*/
|
|
75016
75204
|
id: string
|
|
75205
|
+
/**
|
|
75206
|
+
* Values for the template variables, the same for every recipient. Defaults to {}.
|
|
75207
|
+
*/
|
|
75017
75208
|
variables?: {
|
|
75018
75209
|
[k: string]: (string | number | boolean)
|
|
75019
75210
|
}
|
|
75020
75211
|
}
|
|
75212
|
+
/**
|
|
75213
|
+
* Audience whose subscribed contacts receive this broadcast
|
|
75214
|
+
*/
|
|
75021
75215
|
audienceId: string
|
|
75022
75216
|
}
|
|
75023
75217
|
|
|
75024
75218
|
export interface MailBroadcastCreateOutput {
|
|
75219
|
+
/**
|
|
75220
|
+
* Broadcast id
|
|
75221
|
+
*/
|
|
75025
75222
|
id: string
|
|
75223
|
+
/**
|
|
75224
|
+
* Sender the messages are sent as
|
|
75225
|
+
*/
|
|
75026
75226
|
from: string
|
|
75227
|
+
/**
|
|
75228
|
+
* Inline HTML body; null when a template supplies it
|
|
75229
|
+
*/
|
|
75027
75230
|
html: (string | null)
|
|
75231
|
+
/**
|
|
75232
|
+
* Internal label — never shown to recipients
|
|
75233
|
+
*/
|
|
75028
75234
|
name: string
|
|
75235
|
+
/**
|
|
75236
|
+
* Inline plain-text body; null when a template supplies it
|
|
75237
|
+
*/
|
|
75029
75238
|
text: (string | null)
|
|
75239
|
+
/**
|
|
75240
|
+
* When the last message left; null until sending finishes
|
|
75241
|
+
*/
|
|
75030
75242
|
sentAt: (string | null)
|
|
75031
|
-
|
|
75243
|
+
/**
|
|
75244
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75245
|
+
*/
|
|
75246
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75247
|
+
/**
|
|
75248
|
+
* Custom MIME headers added to every message
|
|
75249
|
+
*/
|
|
75032
75250
|
headers: {
|
|
75033
75251
|
[k: string]: string
|
|
75034
75252
|
}
|
|
75253
|
+
/**
|
|
75254
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75255
|
+
*/
|
|
75035
75256
|
replyTo: string[]
|
|
75257
|
+
/**
|
|
75258
|
+
* Subject line for inline content; null when a template supplies it
|
|
75259
|
+
*/
|
|
75036
75260
|
subject: (string | null)
|
|
75261
|
+
/**
|
|
75262
|
+
* When the broadcast was queued; null while it is a draft
|
|
75263
|
+
*/
|
|
75037
75264
|
queuedAt: (string | null)
|
|
75265
|
+
/**
|
|
75266
|
+
* When the broadcast was created
|
|
75267
|
+
*/
|
|
75038
75268
|
createdAt: string
|
|
75269
|
+
/**
|
|
75270
|
+
* Why the broadcast failed; null unless status is failed
|
|
75271
|
+
*/
|
|
75039
75272
|
lastError: (string | null)
|
|
75273
|
+
/**
|
|
75274
|
+
* Product the broadcast belongs to
|
|
75275
|
+
*/
|
|
75040
75276
|
productId: string
|
|
75277
|
+
/**
|
|
75278
|
+
* When the broadcast was last modified
|
|
75279
|
+
*/
|
|
75041
75280
|
updatedAt: string
|
|
75042
|
-
|
|
75281
|
+
/**
|
|
75282
|
+
* Values passed to the template variables; {} for inline content
|
|
75283
|
+
*/
|
|
75284
|
+
variables: ({
|
|
75285
|
+
[k: string]: unknown
|
|
75286
|
+
} | null)
|
|
75287
|
+
/**
|
|
75288
|
+
* Audience whose contacts this broadcast is sent to
|
|
75289
|
+
*/
|
|
75043
75290
|
audienceId: string
|
|
75291
|
+
/**
|
|
75292
|
+
* Template rendered for every recipient; null for inline content
|
|
75293
|
+
*/
|
|
75044
75294
|
templateId: (string | null)
|
|
75295
|
+
/**
|
|
75296
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75297
|
+
*/
|
|
75045
75298
|
recipientCount: number
|
|
75046
75299
|
}
|
|
75047
75300
|
|
|
75048
75301
|
export interface MailBroadcastDeleteInput {
|
|
75302
|
+
/**
|
|
75303
|
+
* Broadcast id
|
|
75304
|
+
*/
|
|
75049
75305
|
id: string
|
|
75050
75306
|
}
|
|
75051
75307
|
|
|
75052
75308
|
export interface MailBroadcastDeleteOutput {
|
|
75309
|
+
/**
|
|
75310
|
+
* Id of the deleted broadcast
|
|
75311
|
+
*/
|
|
75053
75312
|
id: string
|
|
75313
|
+
/**
|
|
75314
|
+
* True when the broadcast was removed
|
|
75315
|
+
*/
|
|
75054
75316
|
deleted: boolean
|
|
75055
75317
|
}
|
|
75056
75318
|
|
|
75057
75319
|
export interface MailBroadcastGetInput {
|
|
75320
|
+
/**
|
|
75321
|
+
* Broadcast id
|
|
75322
|
+
*/
|
|
75058
75323
|
id: string
|
|
75059
75324
|
}
|
|
75060
75325
|
|
|
75061
75326
|
export interface MailBroadcastGetOutput {
|
|
75327
|
+
/**
|
|
75328
|
+
* Broadcast id
|
|
75329
|
+
*/
|
|
75062
75330
|
id: string
|
|
75331
|
+
/**
|
|
75332
|
+
* Sender the messages are sent as
|
|
75333
|
+
*/
|
|
75063
75334
|
from: string
|
|
75335
|
+
/**
|
|
75336
|
+
* Inline HTML body; null when a template supplies it
|
|
75337
|
+
*/
|
|
75064
75338
|
html: (string | null)
|
|
75339
|
+
/**
|
|
75340
|
+
* Internal label — never shown to recipients
|
|
75341
|
+
*/
|
|
75065
75342
|
name: string
|
|
75343
|
+
/**
|
|
75344
|
+
* Inline plain-text body; null when a template supplies it
|
|
75345
|
+
*/
|
|
75066
75346
|
text: (string | null)
|
|
75347
|
+
/**
|
|
75348
|
+
* When the last message left; null until sending finishes
|
|
75349
|
+
*/
|
|
75067
75350
|
sentAt: (string | null)
|
|
75068
|
-
|
|
75351
|
+
/**
|
|
75352
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75353
|
+
*/
|
|
75354
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75355
|
+
/**
|
|
75356
|
+
* Custom MIME headers added to every message
|
|
75357
|
+
*/
|
|
75069
75358
|
headers: {
|
|
75070
75359
|
[k: string]: string
|
|
75071
75360
|
}
|
|
75361
|
+
/**
|
|
75362
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75363
|
+
*/
|
|
75072
75364
|
replyTo: string[]
|
|
75365
|
+
/**
|
|
75366
|
+
* Subject line for inline content; null when a template supplies it
|
|
75367
|
+
*/
|
|
75073
75368
|
subject: (string | null)
|
|
75369
|
+
/**
|
|
75370
|
+
* When the broadcast was queued; null while it is a draft
|
|
75371
|
+
*/
|
|
75074
75372
|
queuedAt: (string | null)
|
|
75373
|
+
/**
|
|
75374
|
+
* When the broadcast was created
|
|
75375
|
+
*/
|
|
75075
75376
|
createdAt: string
|
|
75377
|
+
/**
|
|
75378
|
+
* Why the broadcast failed; null unless status is failed
|
|
75379
|
+
*/
|
|
75076
75380
|
lastError: (string | null)
|
|
75381
|
+
/**
|
|
75382
|
+
* Product the broadcast belongs to
|
|
75383
|
+
*/
|
|
75077
75384
|
productId: string
|
|
75385
|
+
/**
|
|
75386
|
+
* When the broadcast was last modified
|
|
75387
|
+
*/
|
|
75078
75388
|
updatedAt: string
|
|
75079
|
-
|
|
75389
|
+
/**
|
|
75390
|
+
* Values passed to the template variables; {} for inline content
|
|
75391
|
+
*/
|
|
75392
|
+
variables: ({
|
|
75393
|
+
[k: string]: unknown
|
|
75394
|
+
} | null)
|
|
75395
|
+
/**
|
|
75396
|
+
* Audience whose contacts this broadcast is sent to
|
|
75397
|
+
*/
|
|
75080
75398
|
audienceId: string
|
|
75399
|
+
/**
|
|
75400
|
+
* Template rendered for every recipient; null for inline content
|
|
75401
|
+
*/
|
|
75081
75402
|
templateId: (string | null)
|
|
75403
|
+
/**
|
|
75404
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75405
|
+
*/
|
|
75082
75406
|
recipientCount: number
|
|
75083
75407
|
}
|
|
75084
75408
|
|
|
75085
75409
|
export interface MailBroadcastListInput {
|
|
75410
|
+
/**
|
|
75411
|
+
* Page size, 1-100. Defaults to 50.
|
|
75412
|
+
*/
|
|
75086
75413
|
limit?: number
|
|
75414
|
+
/**
|
|
75415
|
+
* Opaque cursor from the previous page’s `nextCursor`. Omit for the first page.
|
|
75416
|
+
*/
|
|
75087
75417
|
cursor?: string
|
|
75088
75418
|
}
|
|
75089
75419
|
|
|
75090
75420
|
export interface MailBroadcastListOutput {
|
|
75421
|
+
/**
|
|
75422
|
+
* The broadcasts on this page, newest first
|
|
75423
|
+
*/
|
|
75091
75424
|
items: {
|
|
75425
|
+
/**
|
|
75426
|
+
* Broadcast id
|
|
75427
|
+
*/
|
|
75092
75428
|
id: string
|
|
75429
|
+
/**
|
|
75430
|
+
* Sender the messages are sent as
|
|
75431
|
+
*/
|
|
75093
75432
|
from: string
|
|
75433
|
+
/**
|
|
75434
|
+
* Inline HTML body; null when a template supplies it
|
|
75435
|
+
*/
|
|
75094
75436
|
html: (string | null)
|
|
75437
|
+
/**
|
|
75438
|
+
* Internal label — never shown to recipients
|
|
75439
|
+
*/
|
|
75095
75440
|
name: string
|
|
75441
|
+
/**
|
|
75442
|
+
* Inline plain-text body; null when a template supplies it
|
|
75443
|
+
*/
|
|
75096
75444
|
text: (string | null)
|
|
75445
|
+
/**
|
|
75446
|
+
* When the last message left; null until sending finishes
|
|
75447
|
+
*/
|
|
75097
75448
|
sentAt: (string | null)
|
|
75098
|
-
|
|
75449
|
+
/**
|
|
75450
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75451
|
+
*/
|
|
75452
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75453
|
+
/**
|
|
75454
|
+
* Custom MIME headers added to every message
|
|
75455
|
+
*/
|
|
75099
75456
|
headers: {
|
|
75100
75457
|
[k: string]: string
|
|
75101
75458
|
}
|
|
75459
|
+
/**
|
|
75460
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75461
|
+
*/
|
|
75102
75462
|
replyTo: string[]
|
|
75463
|
+
/**
|
|
75464
|
+
* Subject line for inline content; null when a template supplies it
|
|
75465
|
+
*/
|
|
75103
75466
|
subject: (string | null)
|
|
75467
|
+
/**
|
|
75468
|
+
* When the broadcast was queued; null while it is a draft
|
|
75469
|
+
*/
|
|
75104
75470
|
queuedAt: (string | null)
|
|
75471
|
+
/**
|
|
75472
|
+
* When the broadcast was created
|
|
75473
|
+
*/
|
|
75105
75474
|
createdAt: string
|
|
75475
|
+
/**
|
|
75476
|
+
* Why the broadcast failed; null unless status is failed
|
|
75477
|
+
*/
|
|
75106
75478
|
lastError: (string | null)
|
|
75479
|
+
/**
|
|
75480
|
+
* Product the broadcast belongs to
|
|
75481
|
+
*/
|
|
75107
75482
|
productId: string
|
|
75483
|
+
/**
|
|
75484
|
+
* When the broadcast was last modified
|
|
75485
|
+
*/
|
|
75108
75486
|
updatedAt: string
|
|
75109
|
-
|
|
75487
|
+
/**
|
|
75488
|
+
* Values passed to the template variables; {} for inline content
|
|
75489
|
+
*/
|
|
75490
|
+
variables: ({
|
|
75491
|
+
[k: string]: unknown
|
|
75492
|
+
} | null)
|
|
75493
|
+
/**
|
|
75494
|
+
* Audience whose contacts this broadcast is sent to
|
|
75495
|
+
*/
|
|
75110
75496
|
audienceId: string
|
|
75497
|
+
/**
|
|
75498
|
+
* Template rendered for every recipient; null for inline content
|
|
75499
|
+
*/
|
|
75111
75500
|
templateId: (string | null)
|
|
75501
|
+
/**
|
|
75502
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75503
|
+
*/
|
|
75112
75504
|
recipientCount: number
|
|
75113
75505
|
}[]
|
|
75506
|
+
/**
|
|
75507
|
+
* Pass as `cursor` for the next page; null on the last page
|
|
75508
|
+
*/
|
|
75114
75509
|
nextCursor: (string | null)
|
|
75115
75510
|
}
|
|
75116
75511
|
|
|
75117
75512
|
export interface MailBroadcastQueueInput {
|
|
75513
|
+
/**
|
|
75514
|
+
* Broadcast id
|
|
75515
|
+
*/
|
|
75118
75516
|
id: string
|
|
75119
75517
|
}
|
|
75120
75518
|
|
|
75121
75519
|
export interface MailBroadcastQueueOutput {
|
|
75520
|
+
/**
|
|
75521
|
+
* Broadcast id
|
|
75522
|
+
*/
|
|
75122
75523
|
id: string
|
|
75524
|
+
/**
|
|
75525
|
+
* Sender the messages are sent as
|
|
75526
|
+
*/
|
|
75123
75527
|
from: string
|
|
75528
|
+
/**
|
|
75529
|
+
* Inline HTML body; null when a template supplies it
|
|
75530
|
+
*/
|
|
75124
75531
|
html: (string | null)
|
|
75532
|
+
/**
|
|
75533
|
+
* Internal label — never shown to recipients
|
|
75534
|
+
*/
|
|
75125
75535
|
name: string
|
|
75536
|
+
/**
|
|
75537
|
+
* Inline plain-text body; null when a template supplies it
|
|
75538
|
+
*/
|
|
75126
75539
|
text: (string | null)
|
|
75540
|
+
/**
|
|
75541
|
+
* When the last message left; null until sending finishes
|
|
75542
|
+
*/
|
|
75127
75543
|
sentAt: (string | null)
|
|
75128
|
-
|
|
75544
|
+
/**
|
|
75545
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75546
|
+
*/
|
|
75547
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75548
|
+
/**
|
|
75549
|
+
* Custom MIME headers added to every message
|
|
75550
|
+
*/
|
|
75129
75551
|
headers: {
|
|
75130
75552
|
[k: string]: string
|
|
75131
75553
|
}
|
|
75554
|
+
/**
|
|
75555
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75556
|
+
*/
|
|
75132
75557
|
replyTo: string[]
|
|
75558
|
+
/**
|
|
75559
|
+
* Subject line for inline content; null when a template supplies it
|
|
75560
|
+
*/
|
|
75133
75561
|
subject: (string | null)
|
|
75562
|
+
/**
|
|
75563
|
+
* When the broadcast was queued; null while it is a draft
|
|
75564
|
+
*/
|
|
75134
75565
|
queuedAt: (string | null)
|
|
75566
|
+
/**
|
|
75567
|
+
* When the broadcast was created
|
|
75568
|
+
*/
|
|
75135
75569
|
createdAt: string
|
|
75570
|
+
/**
|
|
75571
|
+
* Why the broadcast failed; null unless status is failed
|
|
75572
|
+
*/
|
|
75136
75573
|
lastError: (string | null)
|
|
75574
|
+
/**
|
|
75575
|
+
* Product the broadcast belongs to
|
|
75576
|
+
*/
|
|
75137
75577
|
productId: string
|
|
75578
|
+
/**
|
|
75579
|
+
* When the broadcast was last modified
|
|
75580
|
+
*/
|
|
75138
75581
|
updatedAt: string
|
|
75139
|
-
|
|
75582
|
+
/**
|
|
75583
|
+
* Values passed to the template variables; {} for inline content
|
|
75584
|
+
*/
|
|
75585
|
+
variables: ({
|
|
75586
|
+
[k: string]: unknown
|
|
75587
|
+
} | null)
|
|
75588
|
+
/**
|
|
75589
|
+
* Audience whose contacts this broadcast is sent to
|
|
75590
|
+
*/
|
|
75140
75591
|
audienceId: string
|
|
75592
|
+
/**
|
|
75593
|
+
* Template rendered for every recipient; null for inline content
|
|
75594
|
+
*/
|
|
75141
75595
|
templateId: (string | null)
|
|
75596
|
+
/**
|
|
75597
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75598
|
+
*/
|
|
75142
75599
|
recipientCount: number
|
|
75143
75600
|
}
|
|
75144
75601
|
|
|
75145
75602
|
export interface MailBroadcastStatsInput {
|
|
75603
|
+
/**
|
|
75604
|
+
* Broadcast id
|
|
75605
|
+
*/
|
|
75146
75606
|
id: string
|
|
75147
75607
|
}
|
|
75148
75608
|
|
|
75149
75609
|
export interface MailBroadcastStatsOutput {
|
|
75610
|
+
/**
|
|
75611
|
+
* Messages that could not be handed to the provider
|
|
75612
|
+
*/
|
|
75150
75613
|
failed: number
|
|
75614
|
+
/**
|
|
75615
|
+
* Messages opened at least once, as seen by the tracking pixel
|
|
75616
|
+
*/
|
|
75151
75617
|
opened: number
|
|
75618
|
+
/**
|
|
75619
|
+
* Messages that bounced, hard or soft
|
|
75620
|
+
*/
|
|
75152
75621
|
bounced: number
|
|
75622
|
+
/**
|
|
75623
|
+
* Messages with at least one tracked link click
|
|
75624
|
+
*/
|
|
75153
75625
|
clicked: number
|
|
75626
|
+
/**
|
|
75627
|
+
* Messages the receiving server accepted
|
|
75628
|
+
*/
|
|
75154
75629
|
delivered: number
|
|
75630
|
+
/**
|
|
75631
|
+
* Contacts the broadcast fanned out to
|
|
75632
|
+
*/
|
|
75155
75633
|
recipients: number
|
|
75634
|
+
/**
|
|
75635
|
+
* Recipients skipped because they are on the suppression list
|
|
75636
|
+
*/
|
|
75156
75637
|
suppressed: number
|
|
75157
75638
|
}
|
|
75158
75639
|
|
|
75159
75640
|
export interface MailBroadcastUpdateInput {
|
|
75641
|
+
/**
|
|
75642
|
+
* Broadcast id
|
|
75643
|
+
*/
|
|
75160
75644
|
id: string
|
|
75645
|
+
/**
|
|
75646
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
75647
|
+
*/
|
|
75161
75648
|
from?: string
|
|
75649
|
+
/**
|
|
75650
|
+
* HTML body. Inline content only — forbidden with a template.
|
|
75651
|
+
*/
|
|
75162
75652
|
html?: string
|
|
75653
|
+
/**
|
|
75654
|
+
* Internal label for the broadcast — never shown to recipients
|
|
75655
|
+
*/
|
|
75163
75656
|
name?: string
|
|
75657
|
+
/**
|
|
75658
|
+
* Plain-text body. Inline content only — forbidden with a template.
|
|
75659
|
+
*/
|
|
75164
75660
|
text?: string
|
|
75661
|
+
/**
|
|
75662
|
+
* Custom MIME headers added to every message. Defaults to {}.
|
|
75663
|
+
*/
|
|
75165
75664
|
headers?: {
|
|
75166
75665
|
[k: string]: string
|
|
75167
75666
|
}
|
|
75667
|
+
/**
|
|
75668
|
+
* Reply-To addresses. Defaults to [] — replies go to `from`.
|
|
75669
|
+
*/
|
|
75168
75670
|
replyTo?: string[]
|
|
75671
|
+
/**
|
|
75672
|
+
* Subject line, capped at the RFC-5322 line limit. Required with inline content, forbidden with a template.
|
|
75673
|
+
*/
|
|
75169
75674
|
subject?: string
|
|
75675
|
+
/**
|
|
75676
|
+
* Send by reference to a published template instead of inline content
|
|
75677
|
+
*/
|
|
75170
75678
|
template?: {
|
|
75679
|
+
/**
|
|
75680
|
+
* Published template id to render for every recipient
|
|
75681
|
+
*/
|
|
75171
75682
|
id: string
|
|
75683
|
+
/**
|
|
75684
|
+
* Values for the template variables, the same for every recipient. Defaults to {}.
|
|
75685
|
+
*/
|
|
75172
75686
|
variables?: {
|
|
75173
75687
|
[k: string]: (string | number | boolean)
|
|
75174
75688
|
}
|
|
75175
75689
|
}
|
|
75690
|
+
/**
|
|
75691
|
+
* Audience whose subscribed contacts receive this broadcast
|
|
75692
|
+
*/
|
|
75176
75693
|
audienceId?: string
|
|
75177
75694
|
}
|
|
75178
75695
|
|
|
75179
75696
|
export interface MailBroadcastUpdateOutput {
|
|
75697
|
+
/**
|
|
75698
|
+
* Broadcast id
|
|
75699
|
+
*/
|
|
75180
75700
|
id: string
|
|
75701
|
+
/**
|
|
75702
|
+
* Sender the messages are sent as
|
|
75703
|
+
*/
|
|
75181
75704
|
from: string
|
|
75705
|
+
/**
|
|
75706
|
+
* Inline HTML body; null when a template supplies it
|
|
75707
|
+
*/
|
|
75182
75708
|
html: (string | null)
|
|
75709
|
+
/**
|
|
75710
|
+
* Internal label — never shown to recipients
|
|
75711
|
+
*/
|
|
75183
75712
|
name: string
|
|
75713
|
+
/**
|
|
75714
|
+
* Inline plain-text body; null when a template supplies it
|
|
75715
|
+
*/
|
|
75184
75716
|
text: (string | null)
|
|
75717
|
+
/**
|
|
75718
|
+
* When the last message left; null until sending finishes
|
|
75719
|
+
*/
|
|
75185
75720
|
sentAt: (string | null)
|
|
75186
|
-
|
|
75721
|
+
/**
|
|
75722
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75723
|
+
*/
|
|
75724
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75725
|
+
/**
|
|
75726
|
+
* Custom MIME headers added to every message
|
|
75727
|
+
*/
|
|
75187
75728
|
headers: {
|
|
75188
75729
|
[k: string]: string
|
|
75189
75730
|
}
|
|
75731
|
+
/**
|
|
75732
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75733
|
+
*/
|
|
75190
75734
|
replyTo: string[]
|
|
75735
|
+
/**
|
|
75736
|
+
* Subject line for inline content; null when a template supplies it
|
|
75737
|
+
*/
|
|
75191
75738
|
subject: (string | null)
|
|
75739
|
+
/**
|
|
75740
|
+
* When the broadcast was queued; null while it is a draft
|
|
75741
|
+
*/
|
|
75192
75742
|
queuedAt: (string | null)
|
|
75743
|
+
/**
|
|
75744
|
+
* When the broadcast was created
|
|
75745
|
+
*/
|
|
75193
75746
|
createdAt: string
|
|
75747
|
+
/**
|
|
75748
|
+
* Why the broadcast failed; null unless status is failed
|
|
75749
|
+
*/
|
|
75194
75750
|
lastError: (string | null)
|
|
75751
|
+
/**
|
|
75752
|
+
* Product the broadcast belongs to
|
|
75753
|
+
*/
|
|
75195
75754
|
productId: string
|
|
75755
|
+
/**
|
|
75756
|
+
* When the broadcast was last modified
|
|
75757
|
+
*/
|
|
75196
75758
|
updatedAt: string
|
|
75197
|
-
|
|
75759
|
+
/**
|
|
75760
|
+
* Values passed to the template variables; {} for inline content
|
|
75761
|
+
*/
|
|
75762
|
+
variables: ({
|
|
75763
|
+
[k: string]: unknown
|
|
75764
|
+
} | null)
|
|
75765
|
+
/**
|
|
75766
|
+
* Audience whose contacts this broadcast is sent to
|
|
75767
|
+
*/
|
|
75198
75768
|
audienceId: string
|
|
75769
|
+
/**
|
|
75770
|
+
* Template rendered for every recipient; null for inline content
|
|
75771
|
+
*/
|
|
75199
75772
|
templateId: (string | null)
|
|
75773
|
+
/**
|
|
75774
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75775
|
+
*/
|
|
75200
75776
|
recipientCount: number
|
|
75201
75777
|
}
|
|
75202
75778
|
|
|
@@ -75222,12 +75798,30 @@ unsubscribed?: boolean
|
|
|
75222
75798
|
}
|
|
75223
75799
|
|
|
75224
75800
|
export interface MailContactCreateOutput {
|
|
75801
|
+
/**
|
|
75802
|
+
* Contact id
|
|
75803
|
+
*/
|
|
75225
75804
|
id: string
|
|
75805
|
+
/**
|
|
75806
|
+
* Contact email address, normalized to lowercase
|
|
75807
|
+
*/
|
|
75226
75808
|
email: string
|
|
75809
|
+
/**
|
|
75810
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75811
|
+
*/
|
|
75227
75812
|
createdAt: string
|
|
75813
|
+
/**
|
|
75814
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75815
|
+
*/
|
|
75228
75816
|
updatedAt: string
|
|
75817
|
+
/**
|
|
75818
|
+
* Audience the contact belongs to
|
|
75819
|
+
*/
|
|
75229
75820
|
audienceId: string
|
|
75230
75821
|
properties?: unknown
|
|
75822
|
+
/**
|
|
75823
|
+
* Marketing opt-out flag for this audience
|
|
75824
|
+
*/
|
|
75231
75825
|
unsubscribed: boolean
|
|
75232
75826
|
}
|
|
75233
75827
|
|
|
@@ -75243,6 +75837,9 @@ audience_id: string
|
|
|
75243
75837
|
}
|
|
75244
75838
|
|
|
75245
75839
|
export interface MailContactDeleteOutput {
|
|
75840
|
+
/**
|
|
75841
|
+
* True once the contact is gone
|
|
75842
|
+
*/
|
|
75246
75843
|
deleted: boolean
|
|
75247
75844
|
}
|
|
75248
75845
|
|
|
@@ -75258,12 +75855,30 @@ audience_id: string
|
|
|
75258
75855
|
}
|
|
75259
75856
|
|
|
75260
75857
|
export interface MailContactGetOutput {
|
|
75858
|
+
/**
|
|
75859
|
+
* Contact id
|
|
75860
|
+
*/
|
|
75261
75861
|
id: string
|
|
75862
|
+
/**
|
|
75863
|
+
* Contact email address, normalized to lowercase
|
|
75864
|
+
*/
|
|
75262
75865
|
email: string
|
|
75866
|
+
/**
|
|
75867
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75868
|
+
*/
|
|
75263
75869
|
createdAt: string
|
|
75870
|
+
/**
|
|
75871
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75872
|
+
*/
|
|
75264
75873
|
updatedAt: string
|
|
75874
|
+
/**
|
|
75875
|
+
* Audience the contact belongs to
|
|
75876
|
+
*/
|
|
75265
75877
|
audienceId: string
|
|
75266
75878
|
properties?: unknown
|
|
75879
|
+
/**
|
|
75880
|
+
* Marketing opt-out flag for this audience
|
|
75881
|
+
*/
|
|
75267
75882
|
unsubscribed: boolean
|
|
75268
75883
|
}
|
|
75269
75884
|
|
|
@@ -75273,7 +75888,7 @@ export interface MailContactListInput {
|
|
|
75273
75888
|
*/
|
|
75274
75889
|
limit?: number
|
|
75275
75890
|
/**
|
|
75276
|
-
* Opaque pagination cursor from a prior page
|
|
75891
|
+
* Opaque pagination cursor from a prior page; omit for the first page
|
|
75277
75892
|
*/
|
|
75278
75893
|
cursor?: string
|
|
75279
75894
|
/**
|
|
@@ -75287,15 +75902,39 @@ unsubscribed?: (("true" | "false") | boolean)
|
|
|
75287
75902
|
}
|
|
75288
75903
|
|
|
75289
75904
|
export interface MailContactListOutput {
|
|
75905
|
+
/**
|
|
75906
|
+
* Contacts on this page, newest first
|
|
75907
|
+
*/
|
|
75290
75908
|
data: {
|
|
75909
|
+
/**
|
|
75910
|
+
* Contact id
|
|
75911
|
+
*/
|
|
75291
75912
|
id: string
|
|
75913
|
+
/**
|
|
75914
|
+
* Contact email address, normalized to lowercase
|
|
75915
|
+
*/
|
|
75292
75916
|
email: string
|
|
75917
|
+
/**
|
|
75918
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75919
|
+
*/
|
|
75293
75920
|
createdAt: string
|
|
75921
|
+
/**
|
|
75922
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75923
|
+
*/
|
|
75294
75924
|
updatedAt: string
|
|
75925
|
+
/**
|
|
75926
|
+
* Audience the contact belongs to
|
|
75927
|
+
*/
|
|
75295
75928
|
audienceId: string
|
|
75296
75929
|
properties?: unknown
|
|
75930
|
+
/**
|
|
75931
|
+
* Marketing opt-out flag for this audience
|
|
75932
|
+
*/
|
|
75297
75933
|
unsubscribed: boolean
|
|
75298
75934
|
}[]
|
|
75935
|
+
/**
|
|
75936
|
+
* Cursor for the next page; null on the last page
|
|
75937
|
+
*/
|
|
75299
75938
|
nextCursor: (string | null)
|
|
75300
75939
|
}
|
|
75301
75940
|
|
|
@@ -75321,12 +75960,30 @@ unsubscribed?: boolean
|
|
|
75321
75960
|
}
|
|
75322
75961
|
|
|
75323
75962
|
export interface MailContactUpdateOutput {
|
|
75963
|
+
/**
|
|
75964
|
+
* Contact id
|
|
75965
|
+
*/
|
|
75324
75966
|
id: string
|
|
75967
|
+
/**
|
|
75968
|
+
* Contact email address, normalized to lowercase
|
|
75969
|
+
*/
|
|
75325
75970
|
email: string
|
|
75971
|
+
/**
|
|
75972
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75973
|
+
*/
|
|
75326
75974
|
createdAt: string
|
|
75975
|
+
/**
|
|
75976
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75977
|
+
*/
|
|
75327
75978
|
updatedAt: string
|
|
75979
|
+
/**
|
|
75980
|
+
* Audience the contact belongs to
|
|
75981
|
+
*/
|
|
75328
75982
|
audienceId: string
|
|
75329
75983
|
properties?: unknown
|
|
75984
|
+
/**
|
|
75985
|
+
* Marketing opt-out flag for this audience
|
|
75986
|
+
*/
|
|
75330
75987
|
unsubscribed: boolean
|
|
75331
75988
|
}
|
|
75332
75989
|
|
|
@@ -75334,105 +75991,297 @@ export interface MailDomainAllowedListInput {
|
|
|
75334
75991
|
|
|
75335
75992
|
}
|
|
75336
75993
|
|
|
75994
|
+
/**
|
|
75995
|
+
* Apex domains this product may register sending domains under
|
|
75996
|
+
*/
|
|
75337
75997
|
export type MailDomainAllowedListOutput = {
|
|
75338
|
-
|
|
75998
|
+
/**
|
|
75999
|
+
* Who operates DNS under this apex: managed if the platform publishes the records, external if you do
|
|
76000
|
+
*/
|
|
76001
|
+
mode: ("external" | "managed")
|
|
76002
|
+
/**
|
|
76003
|
+
* The apex domain itself, e.g. "example.com"
|
|
76004
|
+
*/
|
|
75339
76005
|
domain: string
|
|
76006
|
+
/**
|
|
76007
|
+
* Governance domain id — pass it to the governance console, not to mail_domain_get
|
|
76008
|
+
*/
|
|
75340
76009
|
domainId: string
|
|
76010
|
+
/**
|
|
76011
|
+
* How many extensions currently send under this apex
|
|
76012
|
+
*/
|
|
75341
76013
|
extensionCount: number
|
|
75342
76014
|
}[]
|
|
75343
76015
|
|
|
75344
76016
|
export interface MailDomainCreateInput {
|
|
75345
76017
|
/**
|
|
75346
|
-
* The sending domain to register, e.g. "example.com"
|
|
76018
|
+
* The sending domain to register, e.g. "example.com"; it must sit under an apex this product is allowed to use (see mail_domain_allowed_list)
|
|
75347
76019
|
*/
|
|
75348
76020
|
name: string
|
|
75349
76021
|
/**
|
|
75350
|
-
* AWS region for the SES identity
|
|
76022
|
+
* AWS region for the SES identity, which fixes data residency (default "eu-north-1"); immutable once the domain is created
|
|
75351
76023
|
*/
|
|
75352
76024
|
region?: string
|
|
75353
76025
|
}
|
|
75354
76026
|
|
|
75355
76027
|
export interface MailDomainCreateOutput {
|
|
76028
|
+
/**
|
|
76029
|
+
* Sending domain id
|
|
76030
|
+
*/
|
|
75356
76031
|
id: string
|
|
75357
|
-
|
|
76032
|
+
/**
|
|
76033
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76034
|
+
*/
|
|
76035
|
+
tls: ("opportunistic" | "enforced")
|
|
76036
|
+
/**
|
|
76037
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76038
|
+
*/
|
|
75358
76039
|
apex: (string | null)
|
|
75359
|
-
|
|
76040
|
+
/**
|
|
76041
|
+
* Who operates DNS: managed if the platform publishes the records for you, external if you publish them yourself; null if the domain is not governed
|
|
76042
|
+
*/
|
|
76043
|
+
mode: (("external" | "managed") | null)
|
|
76044
|
+
/**
|
|
76045
|
+
* The sending domain itself, e.g. "example.com"
|
|
76046
|
+
*/
|
|
75360
76047
|
name: string
|
|
76048
|
+
/**
|
|
76049
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76050
|
+
*/
|
|
75361
76051
|
active: boolean
|
|
76052
|
+
/**
|
|
76053
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76054
|
+
*/
|
|
75362
76055
|
region: string
|
|
75363
|
-
|
|
76056
|
+
/**
|
|
76057
|
+
* SES verification state: not_started before the first check, pending while DNS propagates, verified once sending is allowed, failed or temporary_failure when SES could not verify
|
|
76058
|
+
*/
|
|
76059
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76060
|
+
/**
|
|
76061
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76062
|
+
*/
|
|
75364
76063
|
records: {
|
|
76064
|
+
/**
|
|
76065
|
+
* Fully-qualified host the record is published at
|
|
76066
|
+
*/
|
|
75365
76067
|
name: string
|
|
75366
|
-
|
|
76068
|
+
/**
|
|
76069
|
+
* DNS record type to publish
|
|
76070
|
+
*/
|
|
76071
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76072
|
+
/**
|
|
76073
|
+
* Value the record must resolve to
|
|
76074
|
+
*/
|
|
75367
76075
|
value: string
|
|
75368
|
-
|
|
76076
|
+
/**
|
|
76077
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76078
|
+
*/
|
|
76079
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76080
|
+
/**
|
|
76081
|
+
* MX priority; present only on MX records
|
|
76082
|
+
*/
|
|
75369
76083
|
priority?: number
|
|
75370
|
-
|
|
76084
|
+
/**
|
|
76085
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76086
|
+
*/
|
|
76087
|
+
required: boolean
|
|
76088
|
+
/**
|
|
76089
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76090
|
+
*/
|
|
75371
76091
|
resolved?: boolean
|
|
75372
76092
|
}[]
|
|
76093
|
+
/**
|
|
76094
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76095
|
+
*/
|
|
75373
76096
|
createdAt: string
|
|
76097
|
+
/**
|
|
76098
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76099
|
+
*/
|
|
75374
76100
|
updatedAt: string
|
|
76101
|
+
/**
|
|
76102
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76103
|
+
*/
|
|
75375
76104
|
verifiedAt: (string | null)
|
|
76105
|
+
/**
|
|
76106
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76107
|
+
*/
|
|
75376
76108
|
instructions: string[]
|
|
76109
|
+
/**
|
|
76110
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76111
|
+
*/
|
|
75377
76112
|
openTracking: boolean
|
|
75378
|
-
|
|
76113
|
+
/**
|
|
76114
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76115
|
+
*/
|
|
76116
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76117
|
+
/**
|
|
76118
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76119
|
+
*/
|
|
75379
76120
|
clickTracking: boolean
|
|
76121
|
+
/**
|
|
76122
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76123
|
+
*/
|
|
75380
76124
|
customReturnPath: string
|
|
76125
|
+
/**
|
|
76126
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76127
|
+
*/
|
|
75381
76128
|
trackingSubdomain: (string | null)
|
|
76129
|
+
/**
|
|
76130
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76131
|
+
*/
|
|
75382
76132
|
governanceDomainId: (string | null)
|
|
76133
|
+
/**
|
|
76134
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76135
|
+
*/
|
|
75383
76136
|
governanceBindingId: (string | null)
|
|
76137
|
+
/**
|
|
76138
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76139
|
+
*/
|
|
75384
76140
|
verificationStartedAt: string
|
|
76141
|
+
/**
|
|
76142
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76143
|
+
*/
|
|
75385
76144
|
lastVerificationCheckAt: (string | null)
|
|
75386
76145
|
}
|
|
75387
76146
|
|
|
75388
76147
|
export interface MailDomainDeleteInput {
|
|
75389
76148
|
/**
|
|
75390
|
-
*
|
|
76149
|
+
* Sending domain to delete, along with its SES identity
|
|
75391
76150
|
*/
|
|
75392
76151
|
id: string
|
|
75393
76152
|
}
|
|
75394
76153
|
|
|
75395
76154
|
export interface MailDomainDeleteOutput {
|
|
76155
|
+
/**
|
|
76156
|
+
* True once the domain and its SES identity are gone
|
|
76157
|
+
*/
|
|
75396
76158
|
deleted: boolean
|
|
75397
76159
|
}
|
|
75398
76160
|
|
|
75399
76161
|
export interface MailDomainGetInput {
|
|
75400
76162
|
/**
|
|
75401
|
-
*
|
|
76163
|
+
* Sending domain id
|
|
75402
76164
|
*/
|
|
75403
76165
|
id: string
|
|
75404
76166
|
}
|
|
75405
76167
|
|
|
75406
76168
|
export interface MailDomainGetOutput {
|
|
76169
|
+
/**
|
|
76170
|
+
* Sending domain id
|
|
76171
|
+
*/
|
|
75407
76172
|
id: string
|
|
75408
|
-
|
|
76173
|
+
/**
|
|
76174
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76175
|
+
*/
|
|
76176
|
+
tls: ("opportunistic" | "enforced")
|
|
76177
|
+
/**
|
|
76178
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76179
|
+
*/
|
|
75409
76180
|
apex: (string | null)
|
|
75410
|
-
|
|
76181
|
+
/**
|
|
76182
|
+
* Who operates DNS: managed if the platform publishes the records for you, external if you publish them yourself; null if the domain is not governed
|
|
76183
|
+
*/
|
|
76184
|
+
mode: (("external" | "managed") | null)
|
|
76185
|
+
/**
|
|
76186
|
+
* The sending domain itself, e.g. "example.com"
|
|
76187
|
+
*/
|
|
75411
76188
|
name: string
|
|
76189
|
+
/**
|
|
76190
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76191
|
+
*/
|
|
75412
76192
|
active: boolean
|
|
76193
|
+
/**
|
|
76194
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76195
|
+
*/
|
|
75413
76196
|
region: string
|
|
75414
|
-
|
|
76197
|
+
/**
|
|
76198
|
+
* SES verification state: not_started before the first check, pending while DNS propagates, verified once sending is allowed, failed or temporary_failure when SES could not verify
|
|
76199
|
+
*/
|
|
76200
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76201
|
+
/**
|
|
76202
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76203
|
+
*/
|
|
75415
76204
|
records: {
|
|
76205
|
+
/**
|
|
76206
|
+
* Fully-qualified host the record is published at
|
|
76207
|
+
*/
|
|
75416
76208
|
name: string
|
|
75417
|
-
|
|
76209
|
+
/**
|
|
76210
|
+
* DNS record type to publish
|
|
76211
|
+
*/
|
|
76212
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76213
|
+
/**
|
|
76214
|
+
* Value the record must resolve to
|
|
76215
|
+
*/
|
|
75418
76216
|
value: string
|
|
75419
|
-
|
|
76217
|
+
/**
|
|
76218
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76219
|
+
*/
|
|
76220
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76221
|
+
/**
|
|
76222
|
+
* MX priority; present only on MX records
|
|
76223
|
+
*/
|
|
75420
76224
|
priority?: number
|
|
76225
|
+
/**
|
|
76226
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76227
|
+
*/
|
|
75421
76228
|
required: boolean
|
|
76229
|
+
/**
|
|
76230
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76231
|
+
*/
|
|
75422
76232
|
resolved?: boolean
|
|
75423
76233
|
}[]
|
|
76234
|
+
/**
|
|
76235
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76236
|
+
*/
|
|
75424
76237
|
createdAt: string
|
|
76238
|
+
/**
|
|
76239
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76240
|
+
*/
|
|
75425
76241
|
updatedAt: string
|
|
76242
|
+
/**
|
|
76243
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76244
|
+
*/
|
|
75426
76245
|
verifiedAt: (string | null)
|
|
76246
|
+
/**
|
|
76247
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76248
|
+
*/
|
|
75427
76249
|
instructions: string[]
|
|
76250
|
+
/**
|
|
76251
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76252
|
+
*/
|
|
75428
76253
|
openTracking: boolean
|
|
75429
|
-
|
|
76254
|
+
/**
|
|
76255
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76256
|
+
*/
|
|
76257
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76258
|
+
/**
|
|
76259
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76260
|
+
*/
|
|
75430
76261
|
clickTracking: boolean
|
|
76262
|
+
/**
|
|
76263
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76264
|
+
*/
|
|
75431
76265
|
customReturnPath: string
|
|
76266
|
+
/**
|
|
76267
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76268
|
+
*/
|
|
75432
76269
|
trackingSubdomain: (string | null)
|
|
76270
|
+
/**
|
|
76271
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76272
|
+
*/
|
|
75433
76273
|
governanceDomainId: (string | null)
|
|
76274
|
+
/**
|
|
76275
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76276
|
+
*/
|
|
75434
76277
|
governanceBindingId: (string | null)
|
|
76278
|
+
/**
|
|
76279
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76280
|
+
*/
|
|
75435
76281
|
verificationStartedAt: string
|
|
76282
|
+
/**
|
|
76283
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76284
|
+
*/
|
|
75436
76285
|
lastVerificationCheckAt: (string | null)
|
|
75437
76286
|
}
|
|
75438
76287
|
|
|
@@ -75440,170 +76289,485 @@ export interface MailDomainListInput {
|
|
|
75440
76289
|
|
|
75441
76290
|
}
|
|
75442
76291
|
|
|
76292
|
+
/**
|
|
76293
|
+
* Sending domains registered for the current product
|
|
76294
|
+
*/
|
|
75443
76295
|
export type MailDomainListOutput = {
|
|
76296
|
+
/**
|
|
76297
|
+
* Sending domain id
|
|
76298
|
+
*/
|
|
75444
76299
|
id: string
|
|
75445
|
-
|
|
76300
|
+
/**
|
|
76301
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76302
|
+
*/
|
|
76303
|
+
tls: ("opportunistic" | "enforced")
|
|
76304
|
+
/**
|
|
76305
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76306
|
+
*/
|
|
75446
76307
|
apex: (string | null)
|
|
75447
|
-
|
|
76308
|
+
/**
|
|
76309
|
+
* Who operates DNS: managed if the platform publishes the records for you, external if you publish them yourself; null if the domain is not governed
|
|
76310
|
+
*/
|
|
76311
|
+
mode: (("external" | "managed") | null)
|
|
76312
|
+
/**
|
|
76313
|
+
* The sending domain itself, e.g. "example.com"
|
|
76314
|
+
*/
|
|
75448
76315
|
name: string
|
|
76316
|
+
/**
|
|
76317
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76318
|
+
*/
|
|
75449
76319
|
active: boolean
|
|
76320
|
+
/**
|
|
76321
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76322
|
+
*/
|
|
75450
76323
|
region: string
|
|
75451
|
-
|
|
76324
|
+
/**
|
|
76325
|
+
* SES verification state: not_started before the first check, pending while DNS propagates, verified once sending is allowed, failed or temporary_failure when SES could not verify
|
|
76326
|
+
*/
|
|
76327
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76328
|
+
/**
|
|
76329
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76330
|
+
*/
|
|
75452
76331
|
records: {
|
|
76332
|
+
/**
|
|
76333
|
+
* Fully-qualified host the record is published at
|
|
76334
|
+
*/
|
|
75453
76335
|
name: string
|
|
75454
|
-
|
|
76336
|
+
/**
|
|
76337
|
+
* DNS record type to publish
|
|
76338
|
+
*/
|
|
76339
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76340
|
+
/**
|
|
76341
|
+
* Value the record must resolve to
|
|
76342
|
+
*/
|
|
75455
76343
|
value: string
|
|
75456
|
-
|
|
76344
|
+
/**
|
|
76345
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76346
|
+
*/
|
|
76347
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76348
|
+
/**
|
|
76349
|
+
* MX priority; present only on MX records
|
|
76350
|
+
*/
|
|
75457
76351
|
priority?: number
|
|
76352
|
+
/**
|
|
76353
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76354
|
+
*/
|
|
75458
76355
|
required: boolean
|
|
76356
|
+
/**
|
|
76357
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76358
|
+
*/
|
|
75459
76359
|
resolved?: boolean
|
|
75460
76360
|
}[]
|
|
76361
|
+
/**
|
|
76362
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76363
|
+
*/
|
|
75461
76364
|
createdAt: string
|
|
76365
|
+
/**
|
|
76366
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76367
|
+
*/
|
|
75462
76368
|
updatedAt: string
|
|
76369
|
+
/**
|
|
76370
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76371
|
+
*/
|
|
75463
76372
|
verifiedAt: (string | null)
|
|
76373
|
+
/**
|
|
76374
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76375
|
+
*/
|
|
75464
76376
|
instructions: string[]
|
|
76377
|
+
/**
|
|
76378
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76379
|
+
*/
|
|
75465
76380
|
openTracking: boolean
|
|
75466
|
-
|
|
76381
|
+
/**
|
|
76382
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76383
|
+
*/
|
|
76384
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76385
|
+
/**
|
|
76386
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76387
|
+
*/
|
|
75467
76388
|
clickTracking: boolean
|
|
76389
|
+
/**
|
|
76390
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76391
|
+
*/
|
|
75468
76392
|
customReturnPath: string
|
|
76393
|
+
/**
|
|
76394
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76395
|
+
*/
|
|
75469
76396
|
trackingSubdomain: (string | null)
|
|
76397
|
+
/**
|
|
76398
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76399
|
+
*/
|
|
75470
76400
|
governanceDomainId: (string | null)
|
|
76401
|
+
/**
|
|
76402
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76403
|
+
*/
|
|
75471
76404
|
governanceBindingId: (string | null)
|
|
76405
|
+
/**
|
|
76406
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76407
|
+
*/
|
|
75472
76408
|
verificationStartedAt: string
|
|
76409
|
+
/**
|
|
76410
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76411
|
+
*/
|
|
75473
76412
|
lastVerificationCheckAt: (string | null)
|
|
75474
76413
|
}[]
|
|
75475
76414
|
|
|
75476
76415
|
export interface MailDomainUpdateInput {
|
|
75477
76416
|
/**
|
|
75478
|
-
*
|
|
76417
|
+
* Sending domain id
|
|
75479
76418
|
*/
|
|
75480
76419
|
id: string
|
|
75481
76420
|
/**
|
|
75482
|
-
* TLS policy: opportunistic (default)
|
|
76421
|
+
* TLS policy: opportunistic (default) falls back to plaintext, enforced fails the send instead; omit to leave it unchanged
|
|
75483
76422
|
*/
|
|
75484
76423
|
tls?: ("opportunistic" | "enforced")
|
|
75485
76424
|
/**
|
|
75486
|
-
*
|
|
76425
|
+
* Record opens by injecting a 1x1 pixel (off by default); omit to leave it unchanged
|
|
75487
76426
|
*/
|
|
75488
76427
|
openTracking?: boolean
|
|
75489
76428
|
/**
|
|
75490
|
-
*
|
|
76429
|
+
* Record clicks by rewriting links through the tracking host (off by default); omit to leave it unchanged
|
|
75491
76430
|
*/
|
|
75492
76431
|
clickTracking?: boolean
|
|
75493
76432
|
/**
|
|
75494
|
-
* Host
|
|
76433
|
+
* Host to serve the click redirect and open pixel from, or null to clear it; omit to leave it unchanged
|
|
75495
76434
|
*/
|
|
75496
76435
|
trackingSubdomain?: (string | null)
|
|
75497
76436
|
}
|
|
75498
76437
|
|
|
75499
76438
|
export interface MailDomainUpdateOutput {
|
|
76439
|
+
/**
|
|
76440
|
+
* Sending domain id
|
|
76441
|
+
*/
|
|
75500
76442
|
id: string
|
|
75501
|
-
|
|
76443
|
+
/**
|
|
76444
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76445
|
+
*/
|
|
76446
|
+
tls: ("opportunistic" | "enforced")
|
|
76447
|
+
/**
|
|
76448
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76449
|
+
*/
|
|
75502
76450
|
apex: (string | null)
|
|
75503
|
-
|
|
76451
|
+
/**
|
|
76452
|
+
* Who operates DNS: managed if the platform publishes the records for you, external if you publish them yourself; null if the domain is not governed
|
|
76453
|
+
*/
|
|
76454
|
+
mode: (("external" | "managed") | null)
|
|
76455
|
+
/**
|
|
76456
|
+
* The sending domain itself, e.g. "example.com"
|
|
76457
|
+
*/
|
|
75504
76458
|
name: string
|
|
76459
|
+
/**
|
|
76460
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76461
|
+
*/
|
|
75505
76462
|
active: boolean
|
|
76463
|
+
/**
|
|
76464
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76465
|
+
*/
|
|
75506
76466
|
region: string
|
|
75507
|
-
|
|
76467
|
+
/**
|
|
76468
|
+
* SES verification state: not_started before the first check, pending while DNS propagates, verified once sending is allowed, failed or temporary_failure when SES could not verify
|
|
76469
|
+
*/
|
|
76470
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76471
|
+
/**
|
|
76472
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76473
|
+
*/
|
|
75508
76474
|
records: {
|
|
76475
|
+
/**
|
|
76476
|
+
* Fully-qualified host the record is published at
|
|
76477
|
+
*/
|
|
75509
76478
|
name: string
|
|
75510
|
-
|
|
76479
|
+
/**
|
|
76480
|
+
* DNS record type to publish
|
|
76481
|
+
*/
|
|
76482
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76483
|
+
/**
|
|
76484
|
+
* Value the record must resolve to
|
|
76485
|
+
*/
|
|
75511
76486
|
value: string
|
|
75512
|
-
|
|
76487
|
+
/**
|
|
76488
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76489
|
+
*/
|
|
76490
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76491
|
+
/**
|
|
76492
|
+
* MX priority; present only on MX records
|
|
76493
|
+
*/
|
|
75513
76494
|
priority?: number
|
|
76495
|
+
/**
|
|
76496
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76497
|
+
*/
|
|
75514
76498
|
required: boolean
|
|
76499
|
+
/**
|
|
76500
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76501
|
+
*/
|
|
75515
76502
|
resolved?: boolean
|
|
75516
76503
|
}[]
|
|
76504
|
+
/**
|
|
76505
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76506
|
+
*/
|
|
75517
76507
|
createdAt: string
|
|
76508
|
+
/**
|
|
76509
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76510
|
+
*/
|
|
75518
76511
|
updatedAt: string
|
|
76512
|
+
/**
|
|
76513
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76514
|
+
*/
|
|
75519
76515
|
verifiedAt: (string | null)
|
|
76516
|
+
/**
|
|
76517
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76518
|
+
*/
|
|
75520
76519
|
instructions: string[]
|
|
76520
|
+
/**
|
|
76521
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76522
|
+
*/
|
|
75521
76523
|
openTracking: boolean
|
|
75522
|
-
|
|
76524
|
+
/**
|
|
76525
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76526
|
+
*/
|
|
76527
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76528
|
+
/**
|
|
76529
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76530
|
+
*/
|
|
75523
76531
|
clickTracking: boolean
|
|
76532
|
+
/**
|
|
76533
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76534
|
+
*/
|
|
75524
76535
|
customReturnPath: string
|
|
76536
|
+
/**
|
|
76537
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76538
|
+
*/
|
|
75525
76539
|
trackingSubdomain: (string | null)
|
|
76540
|
+
/**
|
|
76541
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76542
|
+
*/
|
|
75526
76543
|
governanceDomainId: (string | null)
|
|
76544
|
+
/**
|
|
76545
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76546
|
+
*/
|
|
75527
76547
|
governanceBindingId: (string | null)
|
|
76548
|
+
/**
|
|
76549
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76550
|
+
*/
|
|
75528
76551
|
verificationStartedAt: string
|
|
76552
|
+
/**
|
|
76553
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76554
|
+
*/
|
|
75529
76555
|
lastVerificationCheckAt: (string | null)
|
|
75530
76556
|
}
|
|
75531
76557
|
|
|
75532
76558
|
export interface MailDomainVerifyInput {
|
|
75533
76559
|
/**
|
|
75534
|
-
*
|
|
76560
|
+
* Sending domain to re-check against DNS and SES right now, instead of waiting for the next scheduled check
|
|
75535
76561
|
*/
|
|
75536
76562
|
id: string
|
|
75537
76563
|
}
|
|
75538
76564
|
|
|
75539
76565
|
export interface MailDomainVerifyOutput {
|
|
76566
|
+
/**
|
|
76567
|
+
* Sending domain id
|
|
76568
|
+
*/
|
|
75540
76569
|
id: string
|
|
75541
|
-
|
|
76570
|
+
/**
|
|
76571
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76572
|
+
*/
|
|
76573
|
+
tls: ("opportunistic" | "enforced")
|
|
76574
|
+
/**
|
|
76575
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76576
|
+
*/
|
|
75542
76577
|
apex: (string | null)
|
|
75543
|
-
|
|
76578
|
+
/**
|
|
76579
|
+
* Who operates DNS: managed if the platform publishes the records for you, external if you publish them yourself; null if the domain is not governed
|
|
76580
|
+
*/
|
|
76581
|
+
mode: (("external" | "managed") | null)
|
|
76582
|
+
/**
|
|
76583
|
+
* The sending domain itself, e.g. "example.com"
|
|
76584
|
+
*/
|
|
75544
76585
|
name: string
|
|
76586
|
+
/**
|
|
76587
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76588
|
+
*/
|
|
75545
76589
|
active: boolean
|
|
76590
|
+
/**
|
|
76591
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76592
|
+
*/
|
|
75546
76593
|
region: string
|
|
75547
|
-
|
|
76594
|
+
/**
|
|
76595
|
+
* SES verification state: not_started before the first check, pending while DNS propagates, verified once sending is allowed, failed or temporary_failure when SES could not verify
|
|
76596
|
+
*/
|
|
76597
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76598
|
+
/**
|
|
76599
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76600
|
+
*/
|
|
75548
76601
|
records: {
|
|
76602
|
+
/**
|
|
76603
|
+
* Fully-qualified host the record is published at
|
|
76604
|
+
*/
|
|
75549
76605
|
name: string
|
|
75550
|
-
|
|
76606
|
+
/**
|
|
76607
|
+
* DNS record type to publish
|
|
76608
|
+
*/
|
|
76609
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76610
|
+
/**
|
|
76611
|
+
* Value the record must resolve to
|
|
76612
|
+
*/
|
|
75551
76613
|
value: string
|
|
75552
|
-
|
|
76614
|
+
/**
|
|
76615
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76616
|
+
*/
|
|
76617
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76618
|
+
/**
|
|
76619
|
+
* MX priority; present only on MX records
|
|
76620
|
+
*/
|
|
75553
76621
|
priority?: number
|
|
76622
|
+
/**
|
|
76623
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76624
|
+
*/
|
|
75554
76625
|
required: boolean
|
|
76626
|
+
/**
|
|
76627
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76628
|
+
*/
|
|
75555
76629
|
resolved?: boolean
|
|
75556
76630
|
}[]
|
|
76631
|
+
/**
|
|
76632
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76633
|
+
*/
|
|
75557
76634
|
createdAt: string
|
|
76635
|
+
/**
|
|
76636
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76637
|
+
*/
|
|
75558
76638
|
updatedAt: string
|
|
76639
|
+
/**
|
|
76640
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76641
|
+
*/
|
|
75559
76642
|
verifiedAt: (string | null)
|
|
76643
|
+
/**
|
|
76644
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76645
|
+
*/
|
|
75560
76646
|
instructions: string[]
|
|
76647
|
+
/**
|
|
76648
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76649
|
+
*/
|
|
75561
76650
|
openTracking: boolean
|
|
75562
|
-
|
|
76651
|
+
/**
|
|
76652
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76653
|
+
*/
|
|
76654
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76655
|
+
/**
|
|
76656
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76657
|
+
*/
|
|
75563
76658
|
clickTracking: boolean
|
|
76659
|
+
/**
|
|
76660
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76661
|
+
*/
|
|
75564
76662
|
customReturnPath: string
|
|
76663
|
+
/**
|
|
76664
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76665
|
+
*/
|
|
75565
76666
|
trackingSubdomain: (string | null)
|
|
76667
|
+
/**
|
|
76668
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76669
|
+
*/
|
|
75566
76670
|
governanceDomainId: (string | null)
|
|
76671
|
+
/**
|
|
76672
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76673
|
+
*/
|
|
75567
76674
|
governanceBindingId: (string | null)
|
|
76675
|
+
/**
|
|
76676
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76677
|
+
*/
|
|
75568
76678
|
verificationStartedAt: string
|
|
76679
|
+
/**
|
|
76680
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76681
|
+
*/
|
|
75569
76682
|
lastVerificationCheckAt: (string | null)
|
|
75570
76683
|
}
|
|
75571
76684
|
|
|
75572
76685
|
export interface MailEmailCancelInput {
|
|
75573
76686
|
/**
|
|
75574
|
-
* Email id
|
|
76687
|
+
* Email id — as returned by mail_email_send
|
|
75575
76688
|
*/
|
|
75576
76689
|
id: string
|
|
75577
76690
|
}
|
|
75578
76691
|
|
|
75579
76692
|
export interface MailEmailCancelOutput {
|
|
76693
|
+
/**
|
|
76694
|
+
* Id of the canceled email
|
|
76695
|
+
*/
|
|
75580
76696
|
id: string
|
|
76697
|
+
/**
|
|
76698
|
+
* The email’s state after the call — always "canceled"
|
|
76699
|
+
*/
|
|
75581
76700
|
status: "canceled"
|
|
75582
76701
|
}
|
|
75583
76702
|
|
|
75584
76703
|
export interface MailEmailGetInput {
|
|
75585
76704
|
/**
|
|
75586
|
-
* Email id
|
|
76705
|
+
* Email id — as returned by mail_email_send
|
|
75587
76706
|
*/
|
|
75588
76707
|
id: string
|
|
75589
76708
|
}
|
|
75590
76709
|
|
|
75591
76710
|
export interface MailEmailGetOutput {
|
|
76711
|
+
/**
|
|
76712
|
+
* Cc recipients; empty when there were none
|
|
76713
|
+
*/
|
|
75592
76714
|
cc: string[]
|
|
76715
|
+
/**
|
|
76716
|
+
* Email id
|
|
76717
|
+
*/
|
|
75593
76718
|
id: string
|
|
76719
|
+
/**
|
|
76720
|
+
* Primary recipients
|
|
76721
|
+
*/
|
|
75594
76722
|
to: string[]
|
|
76723
|
+
/**
|
|
76724
|
+
* Bcc recipients; empty when there were none. Never appeared in the message headers.
|
|
76725
|
+
*/
|
|
75595
76726
|
bcc: string[]
|
|
76727
|
+
/**
|
|
76728
|
+
* Sender the message was sent as
|
|
76729
|
+
*/
|
|
75596
76730
|
from: string
|
|
76731
|
+
/**
|
|
76732
|
+
* Where the email stands: scheduled, queued, sent, failed, canceled, delivered, bounced, complained, suppressed or blocked
|
|
76733
|
+
*/
|
|
75597
76734
|
status: ("scheduled" | "queued" | "sent" | "failed" | "canceled" | "delivered" | "bounced" | "complained" | "suppressed" | "blocked")
|
|
76735
|
+
/**
|
|
76736
|
+
* Subject line as sent, after any template rendering
|
|
76737
|
+
*/
|
|
75598
76738
|
subject: string
|
|
76739
|
+
/**
|
|
76740
|
+
* ISO-8601 instant the email was accepted
|
|
76741
|
+
*/
|
|
75599
76742
|
created_at: string
|
|
76743
|
+
/**
|
|
76744
|
+
* The latest lifecycle event, the reason `status` reads as it does
|
|
76745
|
+
*/
|
|
75600
76746
|
last_event: {
|
|
76747
|
+
/**
|
|
76748
|
+
* The most recent lifecycle event — `email.` followed by the status it moved to
|
|
76749
|
+
*/
|
|
75601
76750
|
type: ("email.scheduled" | "email.queued" | "email.sent" | "email.failed" | "email.canceled" | "email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.blocked")
|
|
76751
|
+
/**
|
|
76752
|
+
* ISO-8601 instant of that event; null when no event has been recorded yet
|
|
76753
|
+
*/
|
|
75602
76754
|
created_at: (string | null)
|
|
75603
76755
|
}
|
|
76756
|
+
/**
|
|
76757
|
+
* Template the email was rendered from; null for an inline send
|
|
76758
|
+
*/
|
|
75604
76759
|
template_id: (string | null)
|
|
76760
|
+
/**
|
|
76761
|
+
* ISO-8601 instant the email is scheduled for; null when it was sent immediately
|
|
76762
|
+
*/
|
|
75605
76763
|
scheduled_at: (string | null)
|
|
76764
|
+
/**
|
|
76765
|
+
* Name of that template; null for an inline send
|
|
76766
|
+
*/
|
|
75606
76767
|
template_name: (string | null)
|
|
76768
|
+
/**
|
|
76769
|
+
* The sending provider’s own id, for correlating with its logs; null until the email leaves
|
|
76770
|
+
*/
|
|
75607
76771
|
provider_message_id: (string | null)
|
|
75608
76772
|
}
|
|
75609
76773
|
|
|
@@ -75621,38 +76785,41 @@ to?: (string | string[])
|
|
|
75621
76785
|
*/
|
|
75622
76786
|
bcc?: (string | string[])
|
|
75623
76787
|
/**
|
|
75624
|
-
* Sender, e.g. "Name <you@your-domain.com>"
|
|
76788
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
75625
76789
|
*/
|
|
75626
76790
|
from: string
|
|
75627
76791
|
/**
|
|
75628
|
-
* HTML body
|
|
76792
|
+
* HTML body. Inline sends only — forbidden with a template.
|
|
75629
76793
|
*/
|
|
75630
76794
|
html?: string
|
|
75631
76795
|
/**
|
|
75632
|
-
* Metadata tags
|
|
76796
|
+
* Metadata tags attached to the message as `X-Tag-<name>` headers
|
|
75633
76797
|
*/
|
|
75634
76798
|
tags?: {
|
|
75635
76799
|
/**
|
|
75636
|
-
* Tag name
|
|
76800
|
+
* Tag name — printable US-ASCII without a colon; becomes the `X-Tag-<name>` header
|
|
75637
76801
|
*/
|
|
75638
76802
|
name: string
|
|
75639
76803
|
/**
|
|
75640
|
-
* Tag value
|
|
76804
|
+
* Tag value; must not contain CR or LF
|
|
75641
76805
|
*/
|
|
75642
76806
|
value: string
|
|
75643
76807
|
}[]
|
|
75644
76808
|
/**
|
|
75645
|
-
* Plain-text body; auto-derived from html if omitted
|
|
76809
|
+
* Plain-text body; auto-derived from html if omitted. Inline sends only.
|
|
75646
76810
|
*/
|
|
75647
76811
|
text?: string
|
|
75648
76812
|
/**
|
|
75649
|
-
* Custom headers
|
|
76813
|
+
* Custom MIME headers, keyed by header name
|
|
75650
76814
|
*/
|
|
75651
76815
|
headers?: {
|
|
76816
|
+
/**
|
|
76817
|
+
* Header value; must not contain CR or LF
|
|
76818
|
+
*/
|
|
75652
76819
|
[k: string]: string
|
|
75653
76820
|
}
|
|
75654
76821
|
/**
|
|
75655
|
-
*
|
|
76822
|
+
* Subject line, capped at the RFC-5322 line limit. Required for inline sends, forbidden with a template.
|
|
75656
76823
|
*/
|
|
75657
76824
|
subject?: string
|
|
75658
76825
|
/**
|
|
@@ -75668,25 +76835,28 @@ template?: {
|
|
|
75668
76835
|
*/
|
|
75669
76836
|
id: string
|
|
75670
76837
|
/**
|
|
75671
|
-
* Values for the template variables
|
|
76838
|
+
* Values for the template variables. Defaults to {}.
|
|
75672
76839
|
*/
|
|
75673
76840
|
variables?: {
|
|
75674
76841
|
[k: string]: (string | number | boolean)
|
|
75675
76842
|
}
|
|
75676
76843
|
}
|
|
75677
76844
|
/**
|
|
75678
|
-
* ISO-8601 instant to send at; future
|
|
76845
|
+
* ISO-8601 instant to send at; must be in the future and within 30 days. Omit to send now.
|
|
75679
76846
|
*/
|
|
75680
76847
|
scheduled_at?: string
|
|
75681
76848
|
}
|
|
75682
76849
|
|
|
75683
76850
|
export interface MailEmailSendOutput {
|
|
76851
|
+
/**
|
|
76852
|
+
* Id of the accepted email — pass it to mail_email_get to follow delivery
|
|
76853
|
+
*/
|
|
75684
76854
|
id: string
|
|
75685
76855
|
}
|
|
75686
76856
|
|
|
75687
76857
|
export interface MailEmailSendBatchInput {
|
|
75688
76858
|
/**
|
|
75689
|
-
* Up to 100 emails to send
|
|
76859
|
+
* Up to 100 emails to send; `scheduled_at` is not allowed on a batch item
|
|
75690
76860
|
*/
|
|
75691
76861
|
emails: {
|
|
75692
76862
|
/**
|
|
@@ -75702,38 +76872,41 @@ to?: (string | string[])
|
|
|
75702
76872
|
*/
|
|
75703
76873
|
bcc?: (string | string[])
|
|
75704
76874
|
/**
|
|
75705
|
-
* Sender, e.g. "Name <you@your-domain.com>"
|
|
76875
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
75706
76876
|
*/
|
|
75707
76877
|
from: string
|
|
75708
76878
|
/**
|
|
75709
|
-
* HTML body
|
|
76879
|
+
* HTML body. Inline sends only — forbidden with a template.
|
|
75710
76880
|
*/
|
|
75711
76881
|
html?: string
|
|
75712
76882
|
/**
|
|
75713
|
-
* Metadata tags
|
|
76883
|
+
* Metadata tags attached to the message as `X-Tag-<name>` headers
|
|
75714
76884
|
*/
|
|
75715
76885
|
tags?: {
|
|
75716
76886
|
/**
|
|
75717
|
-
* Tag name
|
|
76887
|
+
* Tag name — printable US-ASCII without a colon; becomes the `X-Tag-<name>` header
|
|
75718
76888
|
*/
|
|
75719
76889
|
name: string
|
|
75720
76890
|
/**
|
|
75721
|
-
* Tag value
|
|
76891
|
+
* Tag value; must not contain CR or LF
|
|
75722
76892
|
*/
|
|
75723
76893
|
value: string
|
|
75724
76894
|
}[]
|
|
75725
76895
|
/**
|
|
75726
|
-
* Plain-text body; auto-derived from html if omitted
|
|
76896
|
+
* Plain-text body; auto-derived from html if omitted. Inline sends only.
|
|
75727
76897
|
*/
|
|
75728
76898
|
text?: string
|
|
75729
76899
|
/**
|
|
75730
|
-
* Custom headers
|
|
76900
|
+
* Custom MIME headers, keyed by header name
|
|
75731
76901
|
*/
|
|
75732
76902
|
headers?: {
|
|
76903
|
+
/**
|
|
76904
|
+
* Header value; must not contain CR or LF
|
|
76905
|
+
*/
|
|
75733
76906
|
[k: string]: string
|
|
75734
76907
|
}
|
|
75735
76908
|
/**
|
|
75736
|
-
*
|
|
76909
|
+
* Subject line, capped at the RFC-5322 line limit. Required for inline sends, forbidden with a template.
|
|
75737
76910
|
*/
|
|
75738
76911
|
subject?: string
|
|
75739
76912
|
/**
|
|
@@ -75749,35 +76922,44 @@ template?: {
|
|
|
75749
76922
|
*/
|
|
75750
76923
|
id: string
|
|
75751
76924
|
/**
|
|
75752
|
-
* Values for the template variables
|
|
76925
|
+
* Values for the template variables. Defaults to {}.
|
|
75753
76926
|
*/
|
|
75754
76927
|
variables?: {
|
|
75755
76928
|
[k: string]: (string | number | boolean)
|
|
75756
76929
|
}
|
|
75757
76930
|
}
|
|
75758
76931
|
/**
|
|
75759
|
-
* ISO-8601 instant to send at; future
|
|
76932
|
+
* ISO-8601 instant to send at; must be in the future and within 30 days. Omit to send now.
|
|
75760
76933
|
*/
|
|
75761
76934
|
scheduled_at?: string
|
|
75762
76935
|
}[]
|
|
75763
76936
|
}
|
|
75764
76937
|
|
|
76938
|
+
/**
|
|
76939
|
+
* One entry per submitted email, in the order they were submitted
|
|
76940
|
+
*/
|
|
75765
76941
|
export type MailEmailSendBatchOutput = {
|
|
76942
|
+
/**
|
|
76943
|
+
* Id of the accepted email
|
|
76944
|
+
*/
|
|
75766
76945
|
id: string
|
|
75767
76946
|
}[]
|
|
75768
76947
|
|
|
75769
76948
|
export interface MailEmailUpdateInput {
|
|
75770
76949
|
/**
|
|
75771
|
-
* Email id
|
|
76950
|
+
* Email id — as returned by mail_email_send
|
|
75772
76951
|
*/
|
|
75773
76952
|
id: string
|
|
75774
76953
|
/**
|
|
75775
|
-
* New ISO-8601 instant; future
|
|
76954
|
+
* New ISO-8601 instant to send at; must be in the future and within 30 days
|
|
75776
76955
|
*/
|
|
75777
76956
|
scheduled_at: string
|
|
75778
76957
|
}
|
|
75779
76958
|
|
|
75780
76959
|
export interface MailEmailUpdateOutput {
|
|
76960
|
+
/**
|
|
76961
|
+
* Id of the accepted email — pass it to mail_email_get to follow delivery
|
|
76962
|
+
*/
|
|
75781
76963
|
id: string
|
|
75782
76964
|
}
|
|
75783
76965
|
|
|
@@ -75786,116 +76968,272 @@ export interface MailReputationGetInput {
|
|
|
75786
76968
|
}
|
|
75787
76969
|
|
|
75788
76970
|
export interface MailReputationGetOutput {
|
|
76971
|
+
/**
|
|
76972
|
+
* True when sending is currently throttled because a rate crossed its threshold
|
|
76973
|
+
*/
|
|
75789
76974
|
gated: boolean
|
|
76975
|
+
/**
|
|
76976
|
+
* Emails sent in the window — the denominator of both rates
|
|
76977
|
+
*/
|
|
75790
76978
|
volume: number
|
|
76979
|
+
/**
|
|
76980
|
+
* Spam complaints in the window
|
|
76981
|
+
*/
|
|
75791
76982
|
complaints: number
|
|
76983
|
+
/**
|
|
76984
|
+
* The configured limits the rates above are compared against
|
|
76985
|
+
*/
|
|
75792
76986
|
thresholds: {
|
|
76987
|
+
/**
|
|
76988
|
+
* Emails needed in the window before either rate is acted on — below it the sample is too small to judge
|
|
76989
|
+
*/
|
|
75793
76990
|
min_volume: number
|
|
76991
|
+
/**
|
|
76992
|
+
* Ratio 0-1 at or above which sending is gated
|
|
76993
|
+
*/
|
|
75794
76994
|
complaint_rate: number
|
|
76995
|
+
/**
|
|
76996
|
+
* Ratio 0-1 at or above which sending is gated
|
|
76997
|
+
*/
|
|
75795
76998
|
hard_bounce_rate: number
|
|
75796
76999
|
}
|
|
77000
|
+
/**
|
|
77001
|
+
* Length in days of the rolling window the rates below are measured over
|
|
77002
|
+
*/
|
|
75797
77003
|
window_days: number
|
|
77004
|
+
/**
|
|
77005
|
+
* Hard bounces in the window
|
|
77006
|
+
*/
|
|
75798
77007
|
hard_bounces: number
|
|
77008
|
+
/**
|
|
77009
|
+
* Complaints divided by volume, as a ratio 0-1 (0.001 = 0.1%)
|
|
77010
|
+
*/
|
|
75799
77011
|
complaint_rate: number
|
|
75800
|
-
|
|
77012
|
+
/**
|
|
77013
|
+
* Which rate crossed its threshold, or null when nothing did
|
|
77014
|
+
*/
|
|
77015
|
+
tripped_metric: (("hard_bounce" | "complaint") | null)
|
|
77016
|
+
/**
|
|
77017
|
+
* Hard bounces divided by volume, as a ratio 0-1 (0.05 = 5%)
|
|
77018
|
+
*/
|
|
75801
77019
|
hard_bounce_rate: number
|
|
75802
77020
|
}
|
|
75803
77021
|
|
|
75804
77022
|
export interface MailStatsGetInput {
|
|
77023
|
+
/**
|
|
77024
|
+
* Rolling window the aggregation covers, ending now. Defaults to 30d.
|
|
77025
|
+
*/
|
|
75805
77026
|
period?: ("7d" | "30d" | "90d")
|
|
75806
77027
|
}
|
|
75807
77028
|
|
|
75808
77029
|
export interface MailStatsGetOutput {
|
|
77030
|
+
/**
|
|
77031
|
+
* The absolute instants the period resolved to
|
|
77032
|
+
*/
|
|
75809
77033
|
range: {
|
|
77034
|
+
/**
|
|
77035
|
+
* Exclusive end of the window (ISO-8601 instant, UTC)
|
|
77036
|
+
*/
|
|
75810
77037
|
to: string
|
|
77038
|
+
/**
|
|
77039
|
+
* Inclusive start of the window (ISO-8601 instant, UTC)
|
|
77040
|
+
*/
|
|
75811
77041
|
from: string
|
|
75812
77042
|
}
|
|
77043
|
+
/**
|
|
77044
|
+
* Percent change of each total against the immediately preceding window of the same length
|
|
77045
|
+
*/
|
|
75813
77046
|
deltas: {
|
|
77047
|
+
/**
|
|
77048
|
+
* Change in sent against the previous window of the same length, in percent (-100 = halved to nothing, 25 = a quarter more); null when the previous window was empty
|
|
77049
|
+
*/
|
|
75814
77050
|
sent: (number | null)
|
|
77051
|
+
/**
|
|
77052
|
+
* Change in bounced against the previous window, in percent; null when the previous window was empty
|
|
77053
|
+
*/
|
|
75815
77054
|
bounced: (number | null)
|
|
77055
|
+
/**
|
|
77056
|
+
* Change in delivered against the previous window, in percent; null when the previous window was empty
|
|
77057
|
+
*/
|
|
75816
77058
|
delivered: (number | null)
|
|
77059
|
+
/**
|
|
77060
|
+
* Change in complained against the previous window, in percent; null when the previous window was empty
|
|
77061
|
+
*/
|
|
75817
77062
|
complained: (number | null)
|
|
75818
77063
|
}
|
|
75819
|
-
|
|
77064
|
+
/**
|
|
77065
|
+
* The window these numbers cover — the echo of the requested period
|
|
77066
|
+
*/
|
|
77067
|
+
period: ("7d" | "30d" | "90d")
|
|
77068
|
+
/**
|
|
77069
|
+
* Counts over the window
|
|
77070
|
+
*/
|
|
75820
77071
|
totals: {
|
|
77072
|
+
/**
|
|
77073
|
+
* Emails accepted for delivery in the window
|
|
77074
|
+
*/
|
|
75821
77075
|
sent: number
|
|
77076
|
+
/**
|
|
77077
|
+
* Emails that bounced, hard or soft
|
|
77078
|
+
*/
|
|
75822
77079
|
bounced: number
|
|
77080
|
+
/**
|
|
77081
|
+
* Emails the receiving server accepted
|
|
77082
|
+
*/
|
|
75823
77083
|
delivered: number
|
|
77084
|
+
/**
|
|
77085
|
+
* Emails a recipient marked as spam
|
|
77086
|
+
*/
|
|
75824
77087
|
complained: number
|
|
75825
77088
|
}
|
|
77089
|
+
/**
|
|
77090
|
+
* One bucket per UTC day in the window, oldest first
|
|
77091
|
+
*/
|
|
75826
77092
|
volume: {
|
|
77093
|
+
/**
|
|
77094
|
+
* The UTC day this bucket covers, as YYYY-MM-DD
|
|
77095
|
+
*/
|
|
75827
77096
|
date: string
|
|
77097
|
+
/**
|
|
77098
|
+
* Emails accepted for delivery on this day
|
|
77099
|
+
*/
|
|
75828
77100
|
sent: number
|
|
77101
|
+
/**
|
|
77102
|
+
* Emails bounced on this day
|
|
77103
|
+
*/
|
|
75829
77104
|
bounced: number
|
|
77105
|
+
/**
|
|
77106
|
+
* Emails delivered on this day
|
|
77107
|
+
*/
|
|
75830
77108
|
delivered: number
|
|
75831
77109
|
}[]
|
|
77110
|
+
/**
|
|
77111
|
+
* The three rates senders are judged on, as percentages of sent
|
|
77112
|
+
*/
|
|
75832
77113
|
deliverability: {
|
|
77114
|
+
/**
|
|
77115
|
+
* Bounced as a percentage of sent (0-100)
|
|
77116
|
+
*/
|
|
75833
77117
|
bouncedPct: number
|
|
77118
|
+
/**
|
|
77119
|
+
* Delivered as a percentage of sent (0-100)
|
|
77120
|
+
*/
|
|
75834
77121
|
deliveredPct: number
|
|
77122
|
+
/**
|
|
77123
|
+
* Complaints as a percentage of sent (0-100)
|
|
77124
|
+
*/
|
|
75835
77125
|
complainedPct: number
|
|
75836
77126
|
}
|
|
75837
77127
|
}
|
|
75838
77128
|
|
|
75839
77129
|
export interface MailSuppressionAddInput {
|
|
75840
77130
|
/**
|
|
75841
|
-
* Optional free-text note
|
|
77131
|
+
* Optional free-text note explaining why the address was suppressed
|
|
75842
77132
|
*/
|
|
75843
77133
|
note?: string
|
|
75844
77134
|
/**
|
|
75845
|
-
* Email address to suppress
|
|
77135
|
+
* Email address to suppress, e.g. "user@example.com"; matched case-insensitively
|
|
75846
77136
|
*/
|
|
75847
77137
|
address: string
|
|
75848
77138
|
}
|
|
75849
77139
|
|
|
75850
77140
|
export interface MailSuppressionAddOutput {
|
|
77141
|
+
/**
|
|
77142
|
+
* Suppression entry id
|
|
77143
|
+
*/
|
|
75851
77144
|
id: string
|
|
77145
|
+
/**
|
|
77146
|
+
* Free-text note recorded when the entry was added by hand; null otherwise
|
|
77147
|
+
*/
|
|
75852
77148
|
note: (string | null)
|
|
75853
|
-
|
|
77149
|
+
/**
|
|
77150
|
+
* Why the address is suppressed: hard_bounce and complaint come from SES feedback, unsubscribe from the recipient, manual from mail_suppression_add
|
|
77151
|
+
*/
|
|
77152
|
+
reason: ("hard_bounce" | "complaint" | "manual" | "unsubscribe")
|
|
77153
|
+
/**
|
|
77154
|
+
* The suppressed recipient address, lowercased and trimmed
|
|
77155
|
+
*/
|
|
75854
77156
|
address: string
|
|
77157
|
+
/**
|
|
77158
|
+
* When the address was suppressed (ISO 8601 UTC)
|
|
77159
|
+
*/
|
|
75855
77160
|
created_at: string
|
|
77161
|
+
/**
|
|
77162
|
+
* Id of the email event that caused the suppression; null for a manual entry
|
|
77163
|
+
*/
|
|
75856
77164
|
source_event_id: (string | null)
|
|
75857
77165
|
}
|
|
75858
77166
|
|
|
75859
77167
|
export interface MailSuppressionListInput {
|
|
75860
77168
|
/**
|
|
75861
|
-
* Case-insensitive substring match on address
|
|
77169
|
+
* Case-insensitive substring match on the address; omit for no address filter
|
|
75862
77170
|
*/
|
|
75863
77171
|
q?: string
|
|
75864
77172
|
/**
|
|
75865
|
-
* Max
|
|
77173
|
+
* Max entries per page, 1-100 (default 50)
|
|
75866
77174
|
*/
|
|
75867
77175
|
limit?: number
|
|
75868
77176
|
/**
|
|
75869
|
-
* Opaque pagination cursor from a prior page
|
|
77177
|
+
* Opaque pagination cursor from a prior page's next_cursor; omit for the first page
|
|
75870
77178
|
*/
|
|
75871
77179
|
cursor?: string
|
|
75872
77180
|
/**
|
|
75873
|
-
*
|
|
77181
|
+
* Only return entries suppressed for this reason; omit for every reason
|
|
75874
77182
|
*/
|
|
75875
77183
|
reason?: ("hard_bounce" | "complaint" | "manual" | "unsubscribe")
|
|
75876
77184
|
}
|
|
75877
77185
|
|
|
75878
77186
|
export interface MailSuppressionListOutput {
|
|
77187
|
+
/**
|
|
77188
|
+
* This page of suppression entries, newest first
|
|
77189
|
+
*/
|
|
75879
77190
|
items: {
|
|
77191
|
+
/**
|
|
77192
|
+
* Suppression entry id
|
|
77193
|
+
*/
|
|
75880
77194
|
id: string
|
|
77195
|
+
/**
|
|
77196
|
+
* Free-text note recorded when the entry was added by hand; null otherwise
|
|
77197
|
+
*/
|
|
75881
77198
|
note: (string | null)
|
|
75882
|
-
|
|
77199
|
+
/**
|
|
77200
|
+
* Why the address is suppressed: hard_bounce and complaint come from SES feedback, unsubscribe from the recipient, manual from mail_suppression_add
|
|
77201
|
+
*/
|
|
77202
|
+
reason: ("hard_bounce" | "complaint" | "manual" | "unsubscribe")
|
|
77203
|
+
/**
|
|
77204
|
+
* The suppressed recipient address, lowercased and trimmed
|
|
77205
|
+
*/
|
|
75883
77206
|
address: string
|
|
77207
|
+
/**
|
|
77208
|
+
* When the address was suppressed (ISO 8601 UTC)
|
|
77209
|
+
*/
|
|
75884
77210
|
created_at: string
|
|
77211
|
+
/**
|
|
77212
|
+
* Id of the email event that caused the suppression; null for a manual entry
|
|
77213
|
+
*/
|
|
75885
77214
|
source_event_id: (string | null)
|
|
75886
77215
|
}[]
|
|
77216
|
+
/**
|
|
77217
|
+
* Opaque cursor to pass back as `cursor` for the next page; null on the last page
|
|
77218
|
+
*/
|
|
75887
77219
|
next_cursor: (string | null)
|
|
75888
77220
|
}
|
|
75889
77221
|
|
|
75890
77222
|
export interface MailSuppressionRemoveInput {
|
|
75891
77223
|
/**
|
|
75892
|
-
* Email address to remove from the suppression list
|
|
77224
|
+
* Email address to remove from the suppression list; matched case-insensitively
|
|
75893
77225
|
*/
|
|
75894
77226
|
address: string
|
|
75895
77227
|
}
|
|
75896
77228
|
|
|
75897
77229
|
export interface MailSuppressionRemoveOutput {
|
|
77230
|
+
/**
|
|
77231
|
+
* The address the removal was attempted for, as normalized
|
|
77232
|
+
*/
|
|
75898
77233
|
address: string
|
|
77234
|
+
/**
|
|
77235
|
+
* True if an entry was removed; false if the address was not suppressed (the call is idempotent)
|
|
77236
|
+
*/
|
|
75899
77237
|
removed: boolean
|
|
75900
77238
|
}
|
|
75901
77239
|
|
|
@@ -79495,18 +80833,57 @@ optional?: boolean
|
|
|
79495
80833
|
}
|
|
79496
80834
|
|
|
79497
80835
|
export interface MailTemplateCreateOutput {
|
|
80836
|
+
/**
|
|
80837
|
+
* Template id
|
|
80838
|
+
*/
|
|
79498
80839
|
id: string
|
|
80840
|
+
/**
|
|
80841
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
80842
|
+
*/
|
|
79499
80843
|
html: string
|
|
80844
|
+
/**
|
|
80845
|
+
* Human label for the template
|
|
80846
|
+
*/
|
|
79500
80847
|
name: string
|
|
80848
|
+
/**
|
|
80849
|
+
* Plaintext body; null when none was supplied
|
|
80850
|
+
*/
|
|
79501
80851
|
text: (string | null)
|
|
79502
|
-
|
|
80852
|
+
/**
|
|
80853
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
80854
|
+
*/
|
|
80855
|
+
status: ("draft" | "published")
|
|
80856
|
+
/**
|
|
80857
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
80858
|
+
*/
|
|
79503
80859
|
subject: string
|
|
80860
|
+
/**
|
|
80861
|
+
* When the template was created (ISO 8601 UTC)
|
|
80862
|
+
*/
|
|
79504
80863
|
createdAt: string
|
|
80864
|
+
/**
|
|
80865
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
80866
|
+
*/
|
|
79505
80867
|
updatedAt: string
|
|
80868
|
+
/**
|
|
80869
|
+
* Declared variables of this template (at most 20)
|
|
80870
|
+
*/
|
|
79506
80871
|
variables: {
|
|
80872
|
+
/**
|
|
80873
|
+
* Placeholder identifier used as {{ name }}
|
|
80874
|
+
*/
|
|
79507
80875
|
name: string
|
|
79508
|
-
|
|
80876
|
+
/**
|
|
80877
|
+
* Declared type (metadata; rendered as string in v1)
|
|
80878
|
+
*/
|
|
80879
|
+
type: ("string" | "number" | "boolean")
|
|
80880
|
+
/**
|
|
80881
|
+
* Value used when none is supplied
|
|
80882
|
+
*/
|
|
79509
80883
|
fallback?: string
|
|
80884
|
+
/**
|
|
80885
|
+
* If true, an absent value renders as empty string
|
|
80886
|
+
*/
|
|
79510
80887
|
optional: boolean
|
|
79511
80888
|
}[]
|
|
79512
80889
|
}
|
|
@@ -79519,6 +80896,9 @@ id: string
|
|
|
79519
80896
|
}
|
|
79520
80897
|
|
|
79521
80898
|
export interface MailTemplateDeleteOutput {
|
|
80899
|
+
/**
|
|
80900
|
+
* True once the template is gone
|
|
80901
|
+
*/
|
|
79522
80902
|
deleted: boolean
|
|
79523
80903
|
}
|
|
79524
80904
|
|
|
@@ -79530,22 +80910,70 @@ id: string
|
|
|
79530
80910
|
}
|
|
79531
80911
|
|
|
79532
80912
|
export interface MailTemplateGetOutput {
|
|
80913
|
+
/**
|
|
80914
|
+
* Template id
|
|
80915
|
+
*/
|
|
79533
80916
|
id: string
|
|
80917
|
+
/**
|
|
80918
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
80919
|
+
*/
|
|
79534
80920
|
html: string
|
|
80921
|
+
/**
|
|
80922
|
+
* Human label for the template
|
|
80923
|
+
*/
|
|
79535
80924
|
name: string
|
|
80925
|
+
/**
|
|
80926
|
+
* Plaintext body; null when none was supplied
|
|
80927
|
+
*/
|
|
79536
80928
|
text: (string | null)
|
|
80929
|
+
/**
|
|
80930
|
+
* Send-usage rollup for this template
|
|
80931
|
+
*/
|
|
79537
80932
|
usage: {
|
|
80933
|
+
/**
|
|
80934
|
+
* How many emails were sent from this template
|
|
80935
|
+
*/
|
|
79538
80936
|
email_count: number
|
|
80937
|
+
/**
|
|
80938
|
+
* When the template was last sent from (ISO 8601 UTC); null if never
|
|
80939
|
+
*/
|
|
79539
80940
|
last_sent_at: (string | null)
|
|
79540
80941
|
}
|
|
79541
|
-
|
|
80942
|
+
/**
|
|
80943
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
80944
|
+
*/
|
|
80945
|
+
status: ("draft" | "published")
|
|
80946
|
+
/**
|
|
80947
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
80948
|
+
*/
|
|
79542
80949
|
subject: string
|
|
80950
|
+
/**
|
|
80951
|
+
* When the template was created (ISO 8601 UTC)
|
|
80952
|
+
*/
|
|
79543
80953
|
createdAt: string
|
|
80954
|
+
/**
|
|
80955
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
80956
|
+
*/
|
|
79544
80957
|
updatedAt: string
|
|
80958
|
+
/**
|
|
80959
|
+
* Declared variables of this template (at most 20)
|
|
80960
|
+
*/
|
|
79545
80961
|
variables: {
|
|
80962
|
+
/**
|
|
80963
|
+
* Placeholder identifier used as {{ name }}
|
|
80964
|
+
*/
|
|
79546
80965
|
name: string
|
|
79547
|
-
|
|
80966
|
+
/**
|
|
80967
|
+
* Declared type (metadata; rendered as string in v1)
|
|
80968
|
+
*/
|
|
80969
|
+
type: ("string" | "number" | "boolean")
|
|
80970
|
+
/**
|
|
80971
|
+
* Value used when none is supplied
|
|
80972
|
+
*/
|
|
79548
80973
|
fallback?: string
|
|
80974
|
+
/**
|
|
80975
|
+
* If true, an absent value renders as empty string
|
|
80976
|
+
*/
|
|
79549
80977
|
optional: boolean
|
|
79550
80978
|
}[]
|
|
79551
80979
|
}
|
|
@@ -79555,18 +80983,57 @@ export interface MailTemplateListInput {
|
|
|
79555
80983
|
}
|
|
79556
80984
|
|
|
79557
80985
|
export type MailTemplateListOutput = {
|
|
80986
|
+
/**
|
|
80987
|
+
* Template id
|
|
80988
|
+
*/
|
|
79558
80989
|
id: string
|
|
80990
|
+
/**
|
|
80991
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
80992
|
+
*/
|
|
79559
80993
|
html: string
|
|
80994
|
+
/**
|
|
80995
|
+
* Human label for the template
|
|
80996
|
+
*/
|
|
79560
80997
|
name: string
|
|
80998
|
+
/**
|
|
80999
|
+
* Plaintext body; null when none was supplied
|
|
81000
|
+
*/
|
|
79561
81001
|
text: (string | null)
|
|
79562
|
-
|
|
81002
|
+
/**
|
|
81003
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
81004
|
+
*/
|
|
81005
|
+
status: ("draft" | "published")
|
|
81006
|
+
/**
|
|
81007
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
81008
|
+
*/
|
|
79563
81009
|
subject: string
|
|
81010
|
+
/**
|
|
81011
|
+
* When the template was created (ISO 8601 UTC)
|
|
81012
|
+
*/
|
|
79564
81013
|
createdAt: string
|
|
81014
|
+
/**
|
|
81015
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
81016
|
+
*/
|
|
79565
81017
|
updatedAt: string
|
|
81018
|
+
/**
|
|
81019
|
+
* Declared variables of this template (at most 20)
|
|
81020
|
+
*/
|
|
79566
81021
|
variables: {
|
|
81022
|
+
/**
|
|
81023
|
+
* Placeholder identifier used as {{ name }}
|
|
81024
|
+
*/
|
|
79567
81025
|
name: string
|
|
79568
|
-
|
|
81026
|
+
/**
|
|
81027
|
+
* Declared type (metadata; rendered as string in v1)
|
|
81028
|
+
*/
|
|
81029
|
+
type: ("string" | "number" | "boolean")
|
|
81030
|
+
/**
|
|
81031
|
+
* Value used when none is supplied
|
|
81032
|
+
*/
|
|
79569
81033
|
fallback?: string
|
|
81034
|
+
/**
|
|
81035
|
+
* If true, an absent value renders as empty string
|
|
81036
|
+
*/
|
|
79570
81037
|
optional: boolean
|
|
79571
81038
|
}[]
|
|
79572
81039
|
}[]
|
|
@@ -79579,18 +81046,57 @@ id: string
|
|
|
79579
81046
|
}
|
|
79580
81047
|
|
|
79581
81048
|
export interface MailTemplatePublishOutput {
|
|
81049
|
+
/**
|
|
81050
|
+
* Template id
|
|
81051
|
+
*/
|
|
79582
81052
|
id: string
|
|
81053
|
+
/**
|
|
81054
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
81055
|
+
*/
|
|
79583
81056
|
html: string
|
|
81057
|
+
/**
|
|
81058
|
+
* Human label for the template
|
|
81059
|
+
*/
|
|
79584
81060
|
name: string
|
|
81061
|
+
/**
|
|
81062
|
+
* Plaintext body; null when none was supplied
|
|
81063
|
+
*/
|
|
79585
81064
|
text: (string | null)
|
|
79586
|
-
|
|
81065
|
+
/**
|
|
81066
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
81067
|
+
*/
|
|
81068
|
+
status: ("draft" | "published")
|
|
81069
|
+
/**
|
|
81070
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
81071
|
+
*/
|
|
79587
81072
|
subject: string
|
|
81073
|
+
/**
|
|
81074
|
+
* When the template was created (ISO 8601 UTC)
|
|
81075
|
+
*/
|
|
79588
81076
|
createdAt: string
|
|
81077
|
+
/**
|
|
81078
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
81079
|
+
*/
|
|
79589
81080
|
updatedAt: string
|
|
81081
|
+
/**
|
|
81082
|
+
* Declared variables of this template (at most 20)
|
|
81083
|
+
*/
|
|
79590
81084
|
variables: {
|
|
81085
|
+
/**
|
|
81086
|
+
* Placeholder identifier used as {{ name }}
|
|
81087
|
+
*/
|
|
79591
81088
|
name: string
|
|
79592
|
-
|
|
81089
|
+
/**
|
|
81090
|
+
* Declared type (metadata; rendered as string in v1)
|
|
81091
|
+
*/
|
|
81092
|
+
type: ("string" | "number" | "boolean")
|
|
81093
|
+
/**
|
|
81094
|
+
* Value used when none is supplied
|
|
81095
|
+
*/
|
|
79593
81096
|
fallback?: string
|
|
81097
|
+
/**
|
|
81098
|
+
* If true, an absent value renders as empty string
|
|
81099
|
+
*/
|
|
79594
81100
|
optional: boolean
|
|
79595
81101
|
}[]
|
|
79596
81102
|
}
|
|
@@ -79600,11 +81106,25 @@ export interface MailTemplateUpdateInput {
|
|
|
79600
81106
|
* Template id
|
|
79601
81107
|
*/
|
|
79602
81108
|
id: string
|
|
81109
|
+
/**
|
|
81110
|
+
* New HTML body; unchanged when omitted
|
|
81111
|
+
*/
|
|
79603
81112
|
html?: string
|
|
81113
|
+
/**
|
|
81114
|
+
* New human label; unchanged when omitted
|
|
81115
|
+
*/
|
|
79604
81116
|
name?: string
|
|
81117
|
+
/**
|
|
81118
|
+
* New plaintext body; null clears it and it is re-derived from html. Unchanged when omitted
|
|
81119
|
+
*/
|
|
79605
81120
|
text?: (string | null)
|
|
81121
|
+
/**
|
|
81122
|
+
* New email subject; may contain {{ variable }} placeholders. Unchanged when omitted
|
|
81123
|
+
*/
|
|
79606
81124
|
subject?: string
|
|
79607
81125
|
/**
|
|
81126
|
+
* Replacement list of declared variables ([{name,type,optional,fallback}], <=20). Unchanged when omitted
|
|
81127
|
+
*
|
|
79608
81128
|
* @maxItems 20
|
|
79609
81129
|
*/
|
|
79610
81130
|
variables?: []|[{
|
|
@@ -83181,18 +84701,57 @@ optional?: boolean
|
|
|
83181
84701
|
}
|
|
83182
84702
|
|
|
83183
84703
|
export interface MailTemplateUpdateOutput {
|
|
84704
|
+
/**
|
|
84705
|
+
* Template id
|
|
84706
|
+
*/
|
|
83184
84707
|
id: string
|
|
84708
|
+
/**
|
|
84709
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
84710
|
+
*/
|
|
83185
84711
|
html: string
|
|
84712
|
+
/**
|
|
84713
|
+
* Human label for the template
|
|
84714
|
+
*/
|
|
83186
84715
|
name: string
|
|
84716
|
+
/**
|
|
84717
|
+
* Plaintext body; null when none was supplied
|
|
84718
|
+
*/
|
|
83187
84719
|
text: (string | null)
|
|
83188
|
-
|
|
84720
|
+
/**
|
|
84721
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
84722
|
+
*/
|
|
84723
|
+
status: ("draft" | "published")
|
|
84724
|
+
/**
|
|
84725
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
84726
|
+
*/
|
|
83189
84727
|
subject: string
|
|
84728
|
+
/**
|
|
84729
|
+
* When the template was created (ISO 8601 UTC)
|
|
84730
|
+
*/
|
|
83190
84731
|
createdAt: string
|
|
84732
|
+
/**
|
|
84733
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
84734
|
+
*/
|
|
83191
84735
|
updatedAt: string
|
|
84736
|
+
/**
|
|
84737
|
+
* Declared variables of this template (at most 20)
|
|
84738
|
+
*/
|
|
83192
84739
|
variables: {
|
|
84740
|
+
/**
|
|
84741
|
+
* Placeholder identifier used as {{ name }}
|
|
84742
|
+
*/
|
|
83193
84743
|
name: string
|
|
83194
|
-
|
|
84744
|
+
/**
|
|
84745
|
+
* Declared type (metadata; rendered as string in v1)
|
|
84746
|
+
*/
|
|
84747
|
+
type: ("string" | "number" | "boolean")
|
|
84748
|
+
/**
|
|
84749
|
+
* Value used when none is supplied
|
|
84750
|
+
*/
|
|
83195
84751
|
fallback?: string
|
|
84752
|
+
/**
|
|
84753
|
+
* If true, an absent value renders as empty string
|
|
84754
|
+
*/
|
|
83196
84755
|
optional: boolean
|
|
83197
84756
|
}[]
|
|
83198
84757
|
}
|
|
@@ -83202,37 +84761,88 @@ export interface MailUsageGetInput {
|
|
|
83202
84761
|
}
|
|
83203
84762
|
|
|
83204
84763
|
export interface MailUsageGetOutput {
|
|
84764
|
+
/**
|
|
84765
|
+
* Email sending usage against the free-tier limits
|
|
84766
|
+
*/
|
|
83205
84767
|
emails: {
|
|
83206
|
-
|
|
83207
|
-
|
|
84768
|
+
/**
|
|
84769
|
+
* Sending allowance today (UTC)
|
|
84770
|
+
*/
|
|
84771
|
+
day: {
|
|
84772
|
+
/**
|
|
84773
|
+
* Emails accepted for delivery so far today (UTC)
|
|
84774
|
+
*/
|
|
84775
|
+
used: number
|
|
84776
|
+
/**
|
|
84777
|
+
* Free-tier allowance today (UTC)
|
|
84778
|
+
*/
|
|
84779
|
+
limit: number
|
|
84780
|
+
/**
|
|
84781
|
+
* Allowance left today (UTC) — limit minus used, never below zero
|
|
84782
|
+
*/
|
|
84783
|
+
remaining: number
|
|
84784
|
+
}
|
|
84785
|
+
/**
|
|
84786
|
+
* Sending allowance this month (UTC)
|
|
84787
|
+
*/
|
|
84788
|
+
month: {
|
|
84789
|
+
/**
|
|
84790
|
+
* Emails accepted for delivery so far this month (UTC)
|
|
84791
|
+
*/
|
|
84792
|
+
used: number
|
|
84793
|
+
/**
|
|
84794
|
+
* Free-tier allowance this month (UTC)
|
|
84795
|
+
*/
|
|
84796
|
+
limit: number
|
|
84797
|
+
/**
|
|
84798
|
+
* Allowance left this month (UTC) — limit minus used, never below zero
|
|
84799
|
+
*/
|
|
84800
|
+
remaining: number
|
|
84801
|
+
}
|
|
84802
|
+
/**
|
|
84803
|
+
* True when a further send would be refused right now because a limit or the hard cap is reached
|
|
84804
|
+
*/
|
|
83208
84805
|
blocked: boolean
|
|
84806
|
+
/**
|
|
84807
|
+
* Monthly ceiling that cannot be exceeded even with an allowance left elsewhere
|
|
84808
|
+
*/
|
|
83209
84809
|
hard_cap: number
|
|
83210
84810
|
}
|
|
84811
|
+
/**
|
|
84812
|
+
* The two windows the counters below are scoped to
|
|
84813
|
+
*/
|
|
83211
84814
|
period: {
|
|
84815
|
+
/**
|
|
84816
|
+
* The UTC day the daily counters cover, as YYYY-MM-DD
|
|
84817
|
+
*/
|
|
83212
84818
|
day: string
|
|
84819
|
+
/**
|
|
84820
|
+
* The UTC month the monthly counters cover, as YYYY-MM
|
|
84821
|
+
*/
|
|
83213
84822
|
month: string
|
|
83214
84823
|
}
|
|
84824
|
+
/**
|
|
84825
|
+
* Point-in-time contact storage — a stock, not a per-period flow
|
|
84826
|
+
*/
|
|
83215
84827
|
contacts: {
|
|
84828
|
+
/**
|
|
84829
|
+
* Contacts stored for the product at this instant
|
|
84830
|
+
*/
|
|
83216
84831
|
count: number
|
|
83217
84832
|
}
|
|
83218
84833
|
}
|
|
83219
|
-
export interface MailUsageGetOutputDay {
|
|
83220
|
-
used: number
|
|
83221
|
-
limit: number
|
|
83222
|
-
remaining: number
|
|
83223
|
-
}
|
|
83224
84834
|
|
|
83225
84835
|
export interface MailWebhookCreateInput {
|
|
83226
84836
|
/**
|
|
83227
|
-
* HTTPS URL that signed events are POSTed to
|
|
84837
|
+
* HTTPS URL that signed events are POSTed to; plain http is rejected
|
|
83228
84838
|
*/
|
|
83229
84839
|
url: string
|
|
83230
84840
|
/**
|
|
83231
|
-
* Optional human label
|
|
84841
|
+
* Optional human label for the endpoint, e.g. "billing service"
|
|
83232
84842
|
*/
|
|
83233
84843
|
description?: string
|
|
83234
84844
|
/**
|
|
83235
|
-
* Event types to deliver. One or more of: email.delivered, email.bounced, email.complained, email.suppressed, email.opened, email.clicked
|
|
84845
|
+
* Event types to deliver; at least one. One or more of: email.delivered, email.bounced, email.complained, email.suppressed, email.opened, email.clicked
|
|
83236
84846
|
*
|
|
83237
84847
|
* @minItems 1
|
|
83238
84848
|
*/
|
|
@@ -83240,50 +84850,116 @@ enabled_events: [("email.delivered" | "email.bounced" | "email.complained" | "em
|
|
|
83240
84850
|
}
|
|
83241
84851
|
|
|
83242
84852
|
export interface MailWebhookCreateOutput {
|
|
84853
|
+
/**
|
|
84854
|
+
* Webhook endpoint id
|
|
84855
|
+
*/
|
|
83243
84856
|
id: string
|
|
84857
|
+
/**
|
|
84858
|
+
* HTTPS URL that signed events are POSTed to
|
|
84859
|
+
*/
|
|
83244
84860
|
url: string
|
|
84861
|
+
/**
|
|
84862
|
+
* Signing secret for verifying the delivery signature. Returned only when the endpoint is created and never retrievable again — store it now
|
|
84863
|
+
*/
|
|
83245
84864
|
secret: string
|
|
84865
|
+
/**
|
|
84866
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
84867
|
+
*/
|
|
83246
84868
|
enabled: boolean
|
|
84869
|
+
/**
|
|
84870
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
84871
|
+
*/
|
|
83247
84872
|
created_at: string
|
|
84873
|
+
/**
|
|
84874
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
84875
|
+
*/
|
|
83248
84876
|
updated_at: string
|
|
84877
|
+
/**
|
|
84878
|
+
* Human label for the endpoint; null if none was given
|
|
84879
|
+
*/
|
|
83249
84880
|
description: (string | null)
|
|
83250
|
-
|
|
84881
|
+
/**
|
|
84882
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
84883
|
+
*/
|
|
84884
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83251
84885
|
}
|
|
83252
84886
|
|
|
83253
84887
|
export interface MailWebhookDeleteInput {
|
|
83254
84888
|
/**
|
|
83255
|
-
* Webhook endpoint id
|
|
84889
|
+
* Webhook endpoint id; deleting it also discards its delivery history
|
|
83256
84890
|
*/
|
|
83257
84891
|
id: string
|
|
83258
84892
|
}
|
|
83259
84893
|
|
|
83260
84894
|
export interface MailWebhookDeleteOutput {
|
|
84895
|
+
/**
|
|
84896
|
+
* Id of the endpoint that was deleted
|
|
84897
|
+
*/
|
|
83261
84898
|
id: string
|
|
84899
|
+
/**
|
|
84900
|
+
* True once the endpoint and its delivery history are gone
|
|
84901
|
+
*/
|
|
83262
84902
|
deleted: boolean
|
|
83263
84903
|
}
|
|
83264
84904
|
|
|
83265
84905
|
export interface MailWebhookDeliveriesListInput {
|
|
83266
84906
|
/**
|
|
83267
|
-
* Webhook endpoint
|
|
84907
|
+
* Webhook endpoint whose delivery attempts to list
|
|
83268
84908
|
*/
|
|
83269
84909
|
id: string
|
|
83270
84910
|
/**
|
|
83271
|
-
* Max
|
|
84911
|
+
* Max delivery attempts to return, 1-100 (default 50)
|
|
83272
84912
|
*/
|
|
83273
84913
|
limit?: number
|
|
83274
84914
|
}
|
|
83275
84915
|
|
|
84916
|
+
/**
|
|
84917
|
+
* Recent delivery attempts for the endpoint, newest first
|
|
84918
|
+
*/
|
|
83276
84919
|
export type MailWebhookDeliveriesListOutput = {
|
|
84920
|
+
/**
|
|
84921
|
+
* Delivery attempt id
|
|
84922
|
+
*/
|
|
83277
84923
|
id: string
|
|
83278
|
-
|
|
84924
|
+
/**
|
|
84925
|
+
* Delivery state: pending while attempts remain, succeeded once the endpoint answered 2xx, failed once retries are exhausted
|
|
84926
|
+
*/
|
|
84927
|
+
status: ("pending" | "succeeded" | "failed")
|
|
84928
|
+
/**
|
|
84929
|
+
* How many times delivery has been attempted so far
|
|
84930
|
+
*/
|
|
83279
84931
|
attempts: number
|
|
84932
|
+
/**
|
|
84933
|
+
* Id of the email event that was delivered
|
|
84934
|
+
*/
|
|
83280
84935
|
event_id: string
|
|
84936
|
+
/**
|
|
84937
|
+
* When the delivery was queued (ISO 8601 UTC)
|
|
84938
|
+
*/
|
|
83281
84939
|
created_at: string
|
|
83282
|
-
|
|
84940
|
+
/**
|
|
84941
|
+
* Type of the delivered event
|
|
84942
|
+
*/
|
|
84943
|
+
event_type: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")
|
|
84944
|
+
/**
|
|
84945
|
+
* Error from the last failed attempt; null if the last attempt succeeded or none has run
|
|
84946
|
+
*/
|
|
83283
84947
|
last_error: (string | null)
|
|
84948
|
+
/**
|
|
84949
|
+
* When the delivery record was last updated (ISO 8601 UTC)
|
|
84950
|
+
*/
|
|
83284
84951
|
updated_at: string
|
|
84952
|
+
/**
|
|
84953
|
+
* Id of the webhook endpoint the event was delivered to
|
|
84954
|
+
*/
|
|
83285
84955
|
endpoint_id: string
|
|
84956
|
+
/**
|
|
84957
|
+
* When delivery was last attempted (ISO 8601 UTC); null before the first attempt
|
|
84958
|
+
*/
|
|
83286
84959
|
last_attempt_at: (string | null)
|
|
84960
|
+
/**
|
|
84961
|
+
* HTTP status the endpoint returned on the last attempt; null if it could not be reached
|
|
84962
|
+
*/
|
|
83287
84963
|
response_status: (number | null)
|
|
83288
84964
|
}[]
|
|
83289
84965
|
|
|
@@ -83295,27 +84971,72 @@ id: string
|
|
|
83295
84971
|
}
|
|
83296
84972
|
|
|
83297
84973
|
export interface MailWebhookGetOutput {
|
|
84974
|
+
/**
|
|
84975
|
+
* Webhook endpoint id
|
|
84976
|
+
*/
|
|
83298
84977
|
id: string
|
|
84978
|
+
/**
|
|
84979
|
+
* HTTPS URL that signed events are POSTed to
|
|
84980
|
+
*/
|
|
83299
84981
|
url: string
|
|
84982
|
+
/**
|
|
84983
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
84984
|
+
*/
|
|
83300
84985
|
enabled: boolean
|
|
84986
|
+
/**
|
|
84987
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
84988
|
+
*/
|
|
83301
84989
|
created_at: string
|
|
84990
|
+
/**
|
|
84991
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
84992
|
+
*/
|
|
83302
84993
|
updated_at: string
|
|
84994
|
+
/**
|
|
84995
|
+
* Human label for the endpoint; null if none was given
|
|
84996
|
+
*/
|
|
83303
84997
|
description: (string | null)
|
|
83304
|
-
|
|
84998
|
+
/**
|
|
84999
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
85000
|
+
*/
|
|
85001
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83305
85002
|
}
|
|
83306
85003
|
|
|
83307
85004
|
export interface MailWebhookListInput {
|
|
83308
85005
|
|
|
83309
85006
|
}
|
|
83310
85007
|
|
|
85008
|
+
/**
|
|
85009
|
+
* Webhook endpoints for the current product, signing secrets omitted
|
|
85010
|
+
*/
|
|
83311
85011
|
export type MailWebhookListOutput = {
|
|
85012
|
+
/**
|
|
85013
|
+
* Webhook endpoint id
|
|
85014
|
+
*/
|
|
83312
85015
|
id: string
|
|
85016
|
+
/**
|
|
85017
|
+
* HTTPS URL that signed events are POSTed to
|
|
85018
|
+
*/
|
|
83313
85019
|
url: string
|
|
85020
|
+
/**
|
|
85021
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
85022
|
+
*/
|
|
83314
85023
|
enabled: boolean
|
|
85024
|
+
/**
|
|
85025
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
85026
|
+
*/
|
|
83315
85027
|
created_at: string
|
|
85028
|
+
/**
|
|
85029
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
85030
|
+
*/
|
|
83316
85031
|
updated_at: string
|
|
85032
|
+
/**
|
|
85033
|
+
* Human label for the endpoint; null if none was given
|
|
85034
|
+
*/
|
|
83317
85035
|
description: (string | null)
|
|
83318
|
-
|
|
85036
|
+
/**
|
|
85037
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
85038
|
+
*/
|
|
85039
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83319
85040
|
}[]
|
|
83320
85041
|
|
|
83321
85042
|
export interface MailWebhookUpdateInput {
|
|
@@ -83324,19 +85045,19 @@ export interface MailWebhookUpdateInput {
|
|
|
83324
85045
|
*/
|
|
83325
85046
|
id: string
|
|
83326
85047
|
/**
|
|
83327
|
-
* HTTPS URL
|
|
85048
|
+
* New HTTPS delivery URL; omit to leave it unchanged
|
|
83328
85049
|
*/
|
|
83329
85050
|
url?: string
|
|
83330
85051
|
/**
|
|
83331
|
-
*
|
|
85052
|
+
* Switch delivery on (true) or off (false); omit to leave it unchanged
|
|
83332
85053
|
*/
|
|
83333
85054
|
enabled?: boolean
|
|
83334
85055
|
/**
|
|
83335
|
-
*
|
|
85056
|
+
* New human label, or null to clear it; omit to leave it unchanged
|
|
83336
85057
|
*/
|
|
83337
85058
|
description?: (string | null)
|
|
83338
85059
|
/**
|
|
83339
|
-
*
|
|
85060
|
+
* Replace the delivered event types; omit to leave them unchanged
|
|
83340
85061
|
*
|
|
83341
85062
|
* @minItems 1
|
|
83342
85063
|
*/
|
|
@@ -83344,13 +85065,34 @@ enabled_events?: [("email.delivered" | "email.bounced" | "email.complained" | "e
|
|
|
83344
85065
|
}
|
|
83345
85066
|
|
|
83346
85067
|
export interface MailWebhookUpdateOutput {
|
|
85068
|
+
/**
|
|
85069
|
+
* Webhook endpoint id
|
|
85070
|
+
*/
|
|
83347
85071
|
id: string
|
|
85072
|
+
/**
|
|
85073
|
+
* HTTPS URL that signed events are POSTed to
|
|
85074
|
+
*/
|
|
83348
85075
|
url: string
|
|
85076
|
+
/**
|
|
85077
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
85078
|
+
*/
|
|
83349
85079
|
enabled: boolean
|
|
85080
|
+
/**
|
|
85081
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
85082
|
+
*/
|
|
83350
85083
|
created_at: string
|
|
85084
|
+
/**
|
|
85085
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
85086
|
+
*/
|
|
83351
85087
|
updated_at: string
|
|
85088
|
+
/**
|
|
85089
|
+
* Human label for the endpoint; null if none was given
|
|
85090
|
+
*/
|
|
83352
85091
|
description: (string | null)
|
|
83353
|
-
|
|
85092
|
+
/**
|
|
85093
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
85094
|
+
*/
|
|
85095
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83354
85096
|
}
|
|
83355
85097
|
|
|
83356
85098
|
export interface ObserveAlertsCreateInput {
|