@lessly/sdk-app 76.1.0 → 78.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
|
@@ -74678,38 +74678,65 @@ attachedServiceId: (string | null)
|
|
|
74678
74678
|
|
|
74679
74679
|
export interface MailApikeyCreateInput {
|
|
74680
74680
|
/**
|
|
74681
|
-
* Human-readable label for the key
|
|
74681
|
+
* Human-readable label for the key, e.g. "production sender"
|
|
74682
74682
|
*/
|
|
74683
74683
|
name: string
|
|
74684
74684
|
/**
|
|
74685
|
-
* Permission scope:
|
|
74685
|
+
* Permission scope: full_access can call every mail tool, sending_access can only send email
|
|
74686
74686
|
*/
|
|
74687
74687
|
scope: ("full_access" | "sending_access")
|
|
74688
74688
|
/**
|
|
74689
|
-
*
|
|
74689
|
+
* Lock the key to this sending domain; omit to let it send from any verified domain
|
|
74690
74690
|
*/
|
|
74691
74691
|
domainId?: string
|
|
74692
74692
|
}
|
|
74693
74693
|
|
|
74694
74694
|
export interface MailApikeyCreateOutput {
|
|
74695
|
+
/**
|
|
74696
|
+
* API key id; pass it to mail_apikey_delete to revoke the key
|
|
74697
|
+
*/
|
|
74695
74698
|
id: string
|
|
74699
|
+
/**
|
|
74700
|
+
* The full secret. Returned only by this call and never retrievable again — store it now
|
|
74701
|
+
*/
|
|
74696
74702
|
key: string
|
|
74703
|
+
/**
|
|
74704
|
+
* Human-readable label given when the key was issued
|
|
74705
|
+
*/
|
|
74697
74706
|
name: string
|
|
74698
|
-
|
|
74707
|
+
/**
|
|
74708
|
+
* Permission scope: full_access can call every mail tool, sending_access can only send email
|
|
74709
|
+
*/
|
|
74710
|
+
scope: ("full_access" | "sending_access")
|
|
74711
|
+
/**
|
|
74712
|
+
* Opening characters of the secret, so a key can be recognised in a log or a header
|
|
74713
|
+
*/
|
|
74699
74714
|
prefix: string
|
|
74715
|
+
/**
|
|
74716
|
+
* Sending domain this key is locked to; null if it may send from any verified domain
|
|
74717
|
+
*/
|
|
74700
74718
|
domainId: (string | null)
|
|
74719
|
+
/**
|
|
74720
|
+
* When the key was issued (ISO 8601 UTC)
|
|
74721
|
+
*/
|
|
74701
74722
|
createdAt: string
|
|
74702
74723
|
}
|
|
74703
74724
|
|
|
74704
74725
|
export interface MailApikeyDeleteInput {
|
|
74705
74726
|
/**
|
|
74706
|
-
*
|
|
74727
|
+
* Id of the API key to revoke; revocation is immediate and permanent
|
|
74707
74728
|
*/
|
|
74708
74729
|
id: string
|
|
74709
74730
|
}
|
|
74710
74731
|
|
|
74711
74732
|
export interface MailApikeyDeleteOutput {
|
|
74733
|
+
/**
|
|
74734
|
+
* Id of the key that was revoked
|
|
74735
|
+
*/
|
|
74712
74736
|
id: string
|
|
74737
|
+
/**
|
|
74738
|
+
* Always true; the call throws rather than reporting a failure here
|
|
74739
|
+
*/
|
|
74713
74740
|
revoked: true
|
|
74714
74741
|
}
|
|
74715
74742
|
|
|
@@ -74717,12 +74744,33 @@ export interface MailApikeyListInput {
|
|
|
74717
74744
|
|
|
74718
74745
|
}
|
|
74719
74746
|
|
|
74747
|
+
/**
|
|
74748
|
+
* Active API keys for the current product, secrets omitted
|
|
74749
|
+
*/
|
|
74720
74750
|
export type MailApikeyListOutput = {
|
|
74751
|
+
/**
|
|
74752
|
+
* API key id; pass it to mail_apikey_delete to revoke the key
|
|
74753
|
+
*/
|
|
74721
74754
|
id: string
|
|
74755
|
+
/**
|
|
74756
|
+
* Human-readable label given when the key was issued
|
|
74757
|
+
*/
|
|
74722
74758
|
name: string
|
|
74723
|
-
|
|
74759
|
+
/**
|
|
74760
|
+
* Permission scope: full_access can call every mail tool, sending_access can only send email
|
|
74761
|
+
*/
|
|
74762
|
+
scope: ("full_access" | "sending_access")
|
|
74763
|
+
/**
|
|
74764
|
+
* Opening characters of the secret, so a key can be recognised in a log or a header
|
|
74765
|
+
*/
|
|
74724
74766
|
prefix: string
|
|
74767
|
+
/**
|
|
74768
|
+
* Sending domain this key is locked to; null if it may send from any verified domain
|
|
74769
|
+
*/
|
|
74725
74770
|
domainId: (string | null)
|
|
74771
|
+
/**
|
|
74772
|
+
* When the key was issued (ISO 8601 UTC)
|
|
74773
|
+
*/
|
|
74726
74774
|
createdAt: string
|
|
74727
74775
|
}[]
|
|
74728
74776
|
|
|
@@ -74734,9 +74782,21 @@ name: string
|
|
|
74734
74782
|
}
|
|
74735
74783
|
|
|
74736
74784
|
export interface MailAudienceCreateOutput {
|
|
74785
|
+
/**
|
|
74786
|
+
* Audience id
|
|
74787
|
+
*/
|
|
74737
74788
|
id: string
|
|
74789
|
+
/**
|
|
74790
|
+
* Human label for the audience
|
|
74791
|
+
*/
|
|
74738
74792
|
name: string
|
|
74793
|
+
/**
|
|
74794
|
+
* When the audience was created (ISO 8601 UTC)
|
|
74795
|
+
*/
|
|
74739
74796
|
createdAt: string
|
|
74797
|
+
/**
|
|
74798
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
74799
|
+
*/
|
|
74740
74800
|
updatedAt: string
|
|
74741
74801
|
}
|
|
74742
74802
|
|
|
@@ -74748,6 +74808,9 @@ id: string
|
|
|
74748
74808
|
}
|
|
74749
74809
|
|
|
74750
74810
|
export interface MailAudienceDeleteOutput {
|
|
74811
|
+
/**
|
|
74812
|
+
* True once the audience and its contacts are gone
|
|
74813
|
+
*/
|
|
74751
74814
|
deleted: boolean
|
|
74752
74815
|
}
|
|
74753
74816
|
|
|
@@ -74759,9 +74822,21 @@ id: string
|
|
|
74759
74822
|
}
|
|
74760
74823
|
|
|
74761
74824
|
export interface MailAudienceGetOutput {
|
|
74825
|
+
/**
|
|
74826
|
+
* Audience id
|
|
74827
|
+
*/
|
|
74762
74828
|
id: string
|
|
74829
|
+
/**
|
|
74830
|
+
* Human label for the audience
|
|
74831
|
+
*/
|
|
74763
74832
|
name: string
|
|
74833
|
+
/**
|
|
74834
|
+
* When the audience was created (ISO 8601 UTC)
|
|
74835
|
+
*/
|
|
74764
74836
|
createdAt: string
|
|
74837
|
+
/**
|
|
74838
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
74839
|
+
*/
|
|
74765
74840
|
updatedAt: string
|
|
74766
74841
|
}
|
|
74767
74842
|
|
|
@@ -74770,9 +74845,21 @@ export interface MailAudienceListInput {
|
|
|
74770
74845
|
}
|
|
74771
74846
|
|
|
74772
74847
|
export type MailAudienceListOutput = {
|
|
74848
|
+
/**
|
|
74849
|
+
* Audience id
|
|
74850
|
+
*/
|
|
74773
74851
|
id: string
|
|
74852
|
+
/**
|
|
74853
|
+
* Human label for the audience
|
|
74854
|
+
*/
|
|
74774
74855
|
name: string
|
|
74856
|
+
/**
|
|
74857
|
+
* When the audience was created (ISO 8601 UTC)
|
|
74858
|
+
*/
|
|
74775
74859
|
createdAt: string
|
|
74860
|
+
/**
|
|
74861
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
74862
|
+
*/
|
|
74776
74863
|
updatedAt: string
|
|
74777
74864
|
}[]
|
|
74778
74865
|
|
|
@@ -74788,235 +74875,724 @@ name?: string
|
|
|
74788
74875
|
}
|
|
74789
74876
|
|
|
74790
74877
|
export interface MailAudienceUpdateOutput {
|
|
74878
|
+
/**
|
|
74879
|
+
* Audience id
|
|
74880
|
+
*/
|
|
74791
74881
|
id: string
|
|
74882
|
+
/**
|
|
74883
|
+
* Human label for the audience
|
|
74884
|
+
*/
|
|
74792
74885
|
name: string
|
|
74886
|
+
/**
|
|
74887
|
+
* When the audience was created (ISO 8601 UTC)
|
|
74888
|
+
*/
|
|
74793
74889
|
createdAt: string
|
|
74890
|
+
/**
|
|
74891
|
+
* When the audience was last modified (ISO 8601 UTC)
|
|
74892
|
+
*/
|
|
74794
74893
|
updatedAt: string
|
|
74795
74894
|
}
|
|
74796
74895
|
|
|
74797
74896
|
export interface MailBroadcastCancelInput {
|
|
74897
|
+
/**
|
|
74898
|
+
* Broadcast id
|
|
74899
|
+
*/
|
|
74798
74900
|
id: string
|
|
74799
74901
|
}
|
|
74800
74902
|
|
|
74801
74903
|
export interface MailBroadcastCancelOutput {
|
|
74904
|
+
/**
|
|
74905
|
+
* Broadcast id
|
|
74906
|
+
*/
|
|
74802
74907
|
id: string
|
|
74908
|
+
/**
|
|
74909
|
+
* Sender the messages are sent as
|
|
74910
|
+
*/
|
|
74803
74911
|
from: string
|
|
74912
|
+
/**
|
|
74913
|
+
* Inline HTML body; null when a template supplies it
|
|
74914
|
+
*/
|
|
74804
74915
|
html: (string | null)
|
|
74916
|
+
/**
|
|
74917
|
+
* Internal label — never shown to recipients
|
|
74918
|
+
*/
|
|
74805
74919
|
name: string
|
|
74920
|
+
/**
|
|
74921
|
+
* Inline plain-text body; null when a template supplies it
|
|
74922
|
+
*/
|
|
74806
74923
|
text: (string | null)
|
|
74924
|
+
/**
|
|
74925
|
+
* When the last message left; null until sending finishes
|
|
74926
|
+
*/
|
|
74807
74927
|
sentAt: (string | null)
|
|
74808
|
-
|
|
74928
|
+
/**
|
|
74929
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
74930
|
+
*/
|
|
74931
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
74932
|
+
/**
|
|
74933
|
+
* Custom MIME headers added to every message
|
|
74934
|
+
*/
|
|
74809
74935
|
headers: {
|
|
74810
74936
|
[k: string]: string
|
|
74811
74937
|
}
|
|
74938
|
+
/**
|
|
74939
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
74940
|
+
*/
|
|
74812
74941
|
replyTo: string[]
|
|
74942
|
+
/**
|
|
74943
|
+
* Subject line for inline content; null when a template supplies it
|
|
74944
|
+
*/
|
|
74813
74945
|
subject: (string | null)
|
|
74946
|
+
/**
|
|
74947
|
+
* When the broadcast was queued; null while it is a draft
|
|
74948
|
+
*/
|
|
74814
74949
|
queuedAt: (string | null)
|
|
74950
|
+
/**
|
|
74951
|
+
* When the broadcast was created
|
|
74952
|
+
*/
|
|
74815
74953
|
createdAt: string
|
|
74954
|
+
/**
|
|
74955
|
+
* Why the broadcast failed; null unless status is failed
|
|
74956
|
+
*/
|
|
74816
74957
|
lastError: (string | null)
|
|
74958
|
+
/**
|
|
74959
|
+
* Product the broadcast belongs to
|
|
74960
|
+
*/
|
|
74817
74961
|
productId: string
|
|
74962
|
+
/**
|
|
74963
|
+
* When the broadcast was last modified
|
|
74964
|
+
*/
|
|
74818
74965
|
updatedAt: string
|
|
74819
|
-
|
|
74966
|
+
/**
|
|
74967
|
+
* Values passed to the template variables; {} for inline content
|
|
74968
|
+
*/
|
|
74969
|
+
variables: ({
|
|
74970
|
+
[k: string]: unknown
|
|
74971
|
+
} | null)
|
|
74972
|
+
/**
|
|
74973
|
+
* Audience whose contacts this broadcast is sent to
|
|
74974
|
+
*/
|
|
74820
74975
|
audienceId: string
|
|
74976
|
+
/**
|
|
74977
|
+
* Template rendered for every recipient; null for inline content
|
|
74978
|
+
*/
|
|
74821
74979
|
templateId: (string | null)
|
|
74980
|
+
/**
|
|
74981
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
74982
|
+
*/
|
|
74822
74983
|
recipientCount: number
|
|
74823
74984
|
}
|
|
74824
74985
|
|
|
74825
74986
|
export interface MailBroadcastCreateInput {
|
|
74987
|
+
/**
|
|
74988
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
74989
|
+
*/
|
|
74826
74990
|
from: string
|
|
74991
|
+
/**
|
|
74992
|
+
* HTML body. Inline content only — forbidden with a template.
|
|
74993
|
+
*/
|
|
74827
74994
|
html?: string
|
|
74995
|
+
/**
|
|
74996
|
+
* Internal label for the broadcast — never shown to recipients
|
|
74997
|
+
*/
|
|
74828
74998
|
name: string
|
|
74999
|
+
/**
|
|
75000
|
+
* Plain-text body. Inline content only — forbidden with a template.
|
|
75001
|
+
*/
|
|
74829
75002
|
text?: string
|
|
75003
|
+
/**
|
|
75004
|
+
* Custom MIME headers added to every message. Defaults to {}.
|
|
75005
|
+
*/
|
|
74830
75006
|
headers?: {
|
|
74831
75007
|
[k: string]: string
|
|
74832
75008
|
}
|
|
75009
|
+
/**
|
|
75010
|
+
* Reply-To addresses. Defaults to [] — replies go to `from`.
|
|
75011
|
+
*/
|
|
74833
75012
|
replyTo?: string[]
|
|
75013
|
+
/**
|
|
75014
|
+
* Subject line, capped at the RFC-5322 line limit. Required with inline content, forbidden with a template.
|
|
75015
|
+
*/
|
|
74834
75016
|
subject?: string
|
|
75017
|
+
/**
|
|
75018
|
+
* Send by reference to a published template instead of inline content
|
|
75019
|
+
*/
|
|
74835
75020
|
template?: {
|
|
75021
|
+
/**
|
|
75022
|
+
* Published template id to render for every recipient
|
|
75023
|
+
*/
|
|
74836
75024
|
id: string
|
|
75025
|
+
/**
|
|
75026
|
+
* Values for the template variables, the same for every recipient. Defaults to {}.
|
|
75027
|
+
*/
|
|
74837
75028
|
variables?: {
|
|
74838
75029
|
[k: string]: (string | number | boolean)
|
|
74839
75030
|
}
|
|
74840
75031
|
}
|
|
75032
|
+
/**
|
|
75033
|
+
* Audience whose subscribed contacts receive this broadcast
|
|
75034
|
+
*/
|
|
74841
75035
|
audienceId: string
|
|
74842
75036
|
}
|
|
74843
75037
|
|
|
74844
75038
|
export interface MailBroadcastCreateOutput {
|
|
75039
|
+
/**
|
|
75040
|
+
* Broadcast id
|
|
75041
|
+
*/
|
|
74845
75042
|
id: string
|
|
75043
|
+
/**
|
|
75044
|
+
* Sender the messages are sent as
|
|
75045
|
+
*/
|
|
74846
75046
|
from: string
|
|
75047
|
+
/**
|
|
75048
|
+
* Inline HTML body; null when a template supplies it
|
|
75049
|
+
*/
|
|
74847
75050
|
html: (string | null)
|
|
75051
|
+
/**
|
|
75052
|
+
* Internal label — never shown to recipients
|
|
75053
|
+
*/
|
|
74848
75054
|
name: string
|
|
75055
|
+
/**
|
|
75056
|
+
* Inline plain-text body; null when a template supplies it
|
|
75057
|
+
*/
|
|
74849
75058
|
text: (string | null)
|
|
75059
|
+
/**
|
|
75060
|
+
* When the last message left; null until sending finishes
|
|
75061
|
+
*/
|
|
74850
75062
|
sentAt: (string | null)
|
|
74851
|
-
|
|
75063
|
+
/**
|
|
75064
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75065
|
+
*/
|
|
75066
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75067
|
+
/**
|
|
75068
|
+
* Custom MIME headers added to every message
|
|
75069
|
+
*/
|
|
74852
75070
|
headers: {
|
|
74853
75071
|
[k: string]: string
|
|
74854
75072
|
}
|
|
75073
|
+
/**
|
|
75074
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75075
|
+
*/
|
|
74855
75076
|
replyTo: string[]
|
|
75077
|
+
/**
|
|
75078
|
+
* Subject line for inline content; null when a template supplies it
|
|
75079
|
+
*/
|
|
74856
75080
|
subject: (string | null)
|
|
75081
|
+
/**
|
|
75082
|
+
* When the broadcast was queued; null while it is a draft
|
|
75083
|
+
*/
|
|
74857
75084
|
queuedAt: (string | null)
|
|
75085
|
+
/**
|
|
75086
|
+
* When the broadcast was created
|
|
75087
|
+
*/
|
|
74858
75088
|
createdAt: string
|
|
75089
|
+
/**
|
|
75090
|
+
* Why the broadcast failed; null unless status is failed
|
|
75091
|
+
*/
|
|
74859
75092
|
lastError: (string | null)
|
|
75093
|
+
/**
|
|
75094
|
+
* Product the broadcast belongs to
|
|
75095
|
+
*/
|
|
74860
75096
|
productId: string
|
|
75097
|
+
/**
|
|
75098
|
+
* When the broadcast was last modified
|
|
75099
|
+
*/
|
|
74861
75100
|
updatedAt: string
|
|
74862
|
-
|
|
75101
|
+
/**
|
|
75102
|
+
* Values passed to the template variables; {} for inline content
|
|
75103
|
+
*/
|
|
75104
|
+
variables: ({
|
|
75105
|
+
[k: string]: unknown
|
|
75106
|
+
} | null)
|
|
75107
|
+
/**
|
|
75108
|
+
* Audience whose contacts this broadcast is sent to
|
|
75109
|
+
*/
|
|
74863
75110
|
audienceId: string
|
|
75111
|
+
/**
|
|
75112
|
+
* Template rendered for every recipient; null for inline content
|
|
75113
|
+
*/
|
|
74864
75114
|
templateId: (string | null)
|
|
75115
|
+
/**
|
|
75116
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75117
|
+
*/
|
|
74865
75118
|
recipientCount: number
|
|
74866
75119
|
}
|
|
74867
75120
|
|
|
74868
75121
|
export interface MailBroadcastDeleteInput {
|
|
75122
|
+
/**
|
|
75123
|
+
* Broadcast id
|
|
75124
|
+
*/
|
|
74869
75125
|
id: string
|
|
74870
75126
|
}
|
|
74871
75127
|
|
|
74872
75128
|
export interface MailBroadcastDeleteOutput {
|
|
75129
|
+
/**
|
|
75130
|
+
* Id of the deleted broadcast
|
|
75131
|
+
*/
|
|
74873
75132
|
id: string
|
|
75133
|
+
/**
|
|
75134
|
+
* True when the broadcast was removed
|
|
75135
|
+
*/
|
|
74874
75136
|
deleted: boolean
|
|
74875
75137
|
}
|
|
74876
75138
|
|
|
74877
75139
|
export interface MailBroadcastGetInput {
|
|
75140
|
+
/**
|
|
75141
|
+
* Broadcast id
|
|
75142
|
+
*/
|
|
74878
75143
|
id: string
|
|
74879
75144
|
}
|
|
74880
75145
|
|
|
74881
75146
|
export interface MailBroadcastGetOutput {
|
|
75147
|
+
/**
|
|
75148
|
+
* Broadcast id
|
|
75149
|
+
*/
|
|
74882
75150
|
id: string
|
|
75151
|
+
/**
|
|
75152
|
+
* Sender the messages are sent as
|
|
75153
|
+
*/
|
|
74883
75154
|
from: string
|
|
75155
|
+
/**
|
|
75156
|
+
* Inline HTML body; null when a template supplies it
|
|
75157
|
+
*/
|
|
74884
75158
|
html: (string | null)
|
|
75159
|
+
/**
|
|
75160
|
+
* Internal label — never shown to recipients
|
|
75161
|
+
*/
|
|
74885
75162
|
name: string
|
|
75163
|
+
/**
|
|
75164
|
+
* Inline plain-text body; null when a template supplies it
|
|
75165
|
+
*/
|
|
74886
75166
|
text: (string | null)
|
|
75167
|
+
/**
|
|
75168
|
+
* When the last message left; null until sending finishes
|
|
75169
|
+
*/
|
|
74887
75170
|
sentAt: (string | null)
|
|
74888
|
-
|
|
75171
|
+
/**
|
|
75172
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75173
|
+
*/
|
|
75174
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75175
|
+
/**
|
|
75176
|
+
* Custom MIME headers added to every message
|
|
75177
|
+
*/
|
|
74889
75178
|
headers: {
|
|
74890
75179
|
[k: string]: string
|
|
74891
75180
|
}
|
|
75181
|
+
/**
|
|
75182
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75183
|
+
*/
|
|
74892
75184
|
replyTo: string[]
|
|
75185
|
+
/**
|
|
75186
|
+
* Subject line for inline content; null when a template supplies it
|
|
75187
|
+
*/
|
|
74893
75188
|
subject: (string | null)
|
|
75189
|
+
/**
|
|
75190
|
+
* When the broadcast was queued; null while it is a draft
|
|
75191
|
+
*/
|
|
74894
75192
|
queuedAt: (string | null)
|
|
75193
|
+
/**
|
|
75194
|
+
* When the broadcast was created
|
|
75195
|
+
*/
|
|
74895
75196
|
createdAt: string
|
|
75197
|
+
/**
|
|
75198
|
+
* Why the broadcast failed; null unless status is failed
|
|
75199
|
+
*/
|
|
74896
75200
|
lastError: (string | null)
|
|
75201
|
+
/**
|
|
75202
|
+
* Product the broadcast belongs to
|
|
75203
|
+
*/
|
|
74897
75204
|
productId: string
|
|
75205
|
+
/**
|
|
75206
|
+
* When the broadcast was last modified
|
|
75207
|
+
*/
|
|
74898
75208
|
updatedAt: string
|
|
74899
|
-
|
|
75209
|
+
/**
|
|
75210
|
+
* Values passed to the template variables; {} for inline content
|
|
75211
|
+
*/
|
|
75212
|
+
variables: ({
|
|
75213
|
+
[k: string]: unknown
|
|
75214
|
+
} | null)
|
|
75215
|
+
/**
|
|
75216
|
+
* Audience whose contacts this broadcast is sent to
|
|
75217
|
+
*/
|
|
74900
75218
|
audienceId: string
|
|
75219
|
+
/**
|
|
75220
|
+
* Template rendered for every recipient; null for inline content
|
|
75221
|
+
*/
|
|
74901
75222
|
templateId: (string | null)
|
|
75223
|
+
/**
|
|
75224
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75225
|
+
*/
|
|
74902
75226
|
recipientCount: number
|
|
74903
75227
|
}
|
|
74904
75228
|
|
|
74905
75229
|
export interface MailBroadcastListInput {
|
|
75230
|
+
/**
|
|
75231
|
+
* Page size, 1-100. Defaults to 50.
|
|
75232
|
+
*/
|
|
74906
75233
|
limit?: number
|
|
75234
|
+
/**
|
|
75235
|
+
* Opaque cursor from the previous page’s `nextCursor`. Omit for the first page.
|
|
75236
|
+
*/
|
|
74907
75237
|
cursor?: string
|
|
74908
75238
|
}
|
|
74909
75239
|
|
|
74910
75240
|
export interface MailBroadcastListOutput {
|
|
75241
|
+
/**
|
|
75242
|
+
* The broadcasts on this page, newest first
|
|
75243
|
+
*/
|
|
74911
75244
|
items: {
|
|
75245
|
+
/**
|
|
75246
|
+
* Broadcast id
|
|
75247
|
+
*/
|
|
74912
75248
|
id: string
|
|
75249
|
+
/**
|
|
75250
|
+
* Sender the messages are sent as
|
|
75251
|
+
*/
|
|
74913
75252
|
from: string
|
|
75253
|
+
/**
|
|
75254
|
+
* Inline HTML body; null when a template supplies it
|
|
75255
|
+
*/
|
|
74914
75256
|
html: (string | null)
|
|
75257
|
+
/**
|
|
75258
|
+
* Internal label — never shown to recipients
|
|
75259
|
+
*/
|
|
74915
75260
|
name: string
|
|
75261
|
+
/**
|
|
75262
|
+
* Inline plain-text body; null when a template supplies it
|
|
75263
|
+
*/
|
|
74916
75264
|
text: (string | null)
|
|
75265
|
+
/**
|
|
75266
|
+
* When the last message left; null until sending finishes
|
|
75267
|
+
*/
|
|
74917
75268
|
sentAt: (string | null)
|
|
74918
|
-
|
|
75269
|
+
/**
|
|
75270
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75271
|
+
*/
|
|
75272
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75273
|
+
/**
|
|
75274
|
+
* Custom MIME headers added to every message
|
|
75275
|
+
*/
|
|
74919
75276
|
headers: {
|
|
74920
75277
|
[k: string]: string
|
|
74921
75278
|
}
|
|
75279
|
+
/**
|
|
75280
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75281
|
+
*/
|
|
74922
75282
|
replyTo: string[]
|
|
75283
|
+
/**
|
|
75284
|
+
* Subject line for inline content; null when a template supplies it
|
|
75285
|
+
*/
|
|
74923
75286
|
subject: (string | null)
|
|
75287
|
+
/**
|
|
75288
|
+
* When the broadcast was queued; null while it is a draft
|
|
75289
|
+
*/
|
|
74924
75290
|
queuedAt: (string | null)
|
|
75291
|
+
/**
|
|
75292
|
+
* When the broadcast was created
|
|
75293
|
+
*/
|
|
74925
75294
|
createdAt: string
|
|
75295
|
+
/**
|
|
75296
|
+
* Why the broadcast failed; null unless status is failed
|
|
75297
|
+
*/
|
|
74926
75298
|
lastError: (string | null)
|
|
75299
|
+
/**
|
|
75300
|
+
* Product the broadcast belongs to
|
|
75301
|
+
*/
|
|
74927
75302
|
productId: string
|
|
75303
|
+
/**
|
|
75304
|
+
* When the broadcast was last modified
|
|
75305
|
+
*/
|
|
74928
75306
|
updatedAt: string
|
|
74929
|
-
|
|
75307
|
+
/**
|
|
75308
|
+
* Values passed to the template variables; {} for inline content
|
|
75309
|
+
*/
|
|
75310
|
+
variables: ({
|
|
75311
|
+
[k: string]: unknown
|
|
75312
|
+
} | null)
|
|
75313
|
+
/**
|
|
75314
|
+
* Audience whose contacts this broadcast is sent to
|
|
75315
|
+
*/
|
|
74930
75316
|
audienceId: string
|
|
75317
|
+
/**
|
|
75318
|
+
* Template rendered for every recipient; null for inline content
|
|
75319
|
+
*/
|
|
74931
75320
|
templateId: (string | null)
|
|
75321
|
+
/**
|
|
75322
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75323
|
+
*/
|
|
74932
75324
|
recipientCount: number
|
|
74933
75325
|
}[]
|
|
75326
|
+
/**
|
|
75327
|
+
* Pass as `cursor` for the next page; null on the last page
|
|
75328
|
+
*/
|
|
74934
75329
|
nextCursor: (string | null)
|
|
74935
75330
|
}
|
|
74936
75331
|
|
|
74937
75332
|
export interface MailBroadcastQueueInput {
|
|
75333
|
+
/**
|
|
75334
|
+
* Broadcast id
|
|
75335
|
+
*/
|
|
74938
75336
|
id: string
|
|
74939
75337
|
}
|
|
74940
75338
|
|
|
74941
75339
|
export interface MailBroadcastQueueOutput {
|
|
75340
|
+
/**
|
|
75341
|
+
* Broadcast id
|
|
75342
|
+
*/
|
|
74942
75343
|
id: string
|
|
75344
|
+
/**
|
|
75345
|
+
* Sender the messages are sent as
|
|
75346
|
+
*/
|
|
74943
75347
|
from: string
|
|
75348
|
+
/**
|
|
75349
|
+
* Inline HTML body; null when a template supplies it
|
|
75350
|
+
*/
|
|
74944
75351
|
html: (string | null)
|
|
75352
|
+
/**
|
|
75353
|
+
* Internal label — never shown to recipients
|
|
75354
|
+
*/
|
|
74945
75355
|
name: string
|
|
75356
|
+
/**
|
|
75357
|
+
* Inline plain-text body; null when a template supplies it
|
|
75358
|
+
*/
|
|
74946
75359
|
text: (string | null)
|
|
75360
|
+
/**
|
|
75361
|
+
* When the last message left; null until sending finishes
|
|
75362
|
+
*/
|
|
74947
75363
|
sentAt: (string | null)
|
|
74948
|
-
|
|
75364
|
+
/**
|
|
75365
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75366
|
+
*/
|
|
75367
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75368
|
+
/**
|
|
75369
|
+
* Custom MIME headers added to every message
|
|
75370
|
+
*/
|
|
74949
75371
|
headers: {
|
|
74950
75372
|
[k: string]: string
|
|
74951
75373
|
}
|
|
75374
|
+
/**
|
|
75375
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75376
|
+
*/
|
|
74952
75377
|
replyTo: string[]
|
|
75378
|
+
/**
|
|
75379
|
+
* Subject line for inline content; null when a template supplies it
|
|
75380
|
+
*/
|
|
74953
75381
|
subject: (string | null)
|
|
75382
|
+
/**
|
|
75383
|
+
* When the broadcast was queued; null while it is a draft
|
|
75384
|
+
*/
|
|
74954
75385
|
queuedAt: (string | null)
|
|
75386
|
+
/**
|
|
75387
|
+
* When the broadcast was created
|
|
75388
|
+
*/
|
|
74955
75389
|
createdAt: string
|
|
75390
|
+
/**
|
|
75391
|
+
* Why the broadcast failed; null unless status is failed
|
|
75392
|
+
*/
|
|
74956
75393
|
lastError: (string | null)
|
|
75394
|
+
/**
|
|
75395
|
+
* Product the broadcast belongs to
|
|
75396
|
+
*/
|
|
74957
75397
|
productId: string
|
|
75398
|
+
/**
|
|
75399
|
+
* When the broadcast was last modified
|
|
75400
|
+
*/
|
|
74958
75401
|
updatedAt: string
|
|
74959
|
-
|
|
75402
|
+
/**
|
|
75403
|
+
* Values passed to the template variables; {} for inline content
|
|
75404
|
+
*/
|
|
75405
|
+
variables: ({
|
|
75406
|
+
[k: string]: unknown
|
|
75407
|
+
} | null)
|
|
75408
|
+
/**
|
|
75409
|
+
* Audience whose contacts this broadcast is sent to
|
|
75410
|
+
*/
|
|
74960
75411
|
audienceId: string
|
|
75412
|
+
/**
|
|
75413
|
+
* Template rendered for every recipient; null for inline content
|
|
75414
|
+
*/
|
|
74961
75415
|
templateId: (string | null)
|
|
75416
|
+
/**
|
|
75417
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75418
|
+
*/
|
|
74962
75419
|
recipientCount: number
|
|
74963
75420
|
}
|
|
74964
75421
|
|
|
74965
75422
|
export interface MailBroadcastStatsInput {
|
|
75423
|
+
/**
|
|
75424
|
+
* Broadcast id
|
|
75425
|
+
*/
|
|
74966
75426
|
id: string
|
|
74967
75427
|
}
|
|
74968
75428
|
|
|
74969
75429
|
export interface MailBroadcastStatsOutput {
|
|
75430
|
+
/**
|
|
75431
|
+
* Messages that could not be handed to the provider
|
|
75432
|
+
*/
|
|
74970
75433
|
failed: number
|
|
75434
|
+
/**
|
|
75435
|
+
* Messages opened at least once, as seen by the tracking pixel
|
|
75436
|
+
*/
|
|
74971
75437
|
opened: number
|
|
75438
|
+
/**
|
|
75439
|
+
* Messages that bounced, hard or soft
|
|
75440
|
+
*/
|
|
74972
75441
|
bounced: number
|
|
75442
|
+
/**
|
|
75443
|
+
* Messages with at least one tracked link click
|
|
75444
|
+
*/
|
|
74973
75445
|
clicked: number
|
|
75446
|
+
/**
|
|
75447
|
+
* Messages the receiving server accepted
|
|
75448
|
+
*/
|
|
74974
75449
|
delivered: number
|
|
75450
|
+
/**
|
|
75451
|
+
* Contacts the broadcast fanned out to
|
|
75452
|
+
*/
|
|
74975
75453
|
recipients: number
|
|
75454
|
+
/**
|
|
75455
|
+
* Recipients skipped because they are on the suppression list
|
|
75456
|
+
*/
|
|
74976
75457
|
suppressed: number
|
|
74977
75458
|
}
|
|
74978
75459
|
|
|
74979
75460
|
export interface MailBroadcastUpdateInput {
|
|
75461
|
+
/**
|
|
75462
|
+
* Broadcast id
|
|
75463
|
+
*/
|
|
74980
75464
|
id: string
|
|
75465
|
+
/**
|
|
75466
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
75467
|
+
*/
|
|
74981
75468
|
from?: string
|
|
75469
|
+
/**
|
|
75470
|
+
* HTML body. Inline content only — forbidden with a template.
|
|
75471
|
+
*/
|
|
74982
75472
|
html?: string
|
|
75473
|
+
/**
|
|
75474
|
+
* Internal label for the broadcast — never shown to recipients
|
|
75475
|
+
*/
|
|
74983
75476
|
name?: string
|
|
75477
|
+
/**
|
|
75478
|
+
* Plain-text body. Inline content only — forbidden with a template.
|
|
75479
|
+
*/
|
|
74984
75480
|
text?: string
|
|
75481
|
+
/**
|
|
75482
|
+
* Custom MIME headers added to every message. Defaults to {}.
|
|
75483
|
+
*/
|
|
74985
75484
|
headers?: {
|
|
74986
75485
|
[k: string]: string
|
|
74987
75486
|
}
|
|
75487
|
+
/**
|
|
75488
|
+
* Reply-To addresses. Defaults to [] — replies go to `from`.
|
|
75489
|
+
*/
|
|
74988
75490
|
replyTo?: string[]
|
|
75491
|
+
/**
|
|
75492
|
+
* Subject line, capped at the RFC-5322 line limit. Required with inline content, forbidden with a template.
|
|
75493
|
+
*/
|
|
74989
75494
|
subject?: string
|
|
75495
|
+
/**
|
|
75496
|
+
* Send by reference to a published template instead of inline content
|
|
75497
|
+
*/
|
|
74990
75498
|
template?: {
|
|
75499
|
+
/**
|
|
75500
|
+
* Published template id to render for every recipient
|
|
75501
|
+
*/
|
|
74991
75502
|
id: string
|
|
75503
|
+
/**
|
|
75504
|
+
* Values for the template variables, the same for every recipient. Defaults to {}.
|
|
75505
|
+
*/
|
|
74992
75506
|
variables?: {
|
|
74993
75507
|
[k: string]: (string | number | boolean)
|
|
74994
75508
|
}
|
|
74995
75509
|
}
|
|
75510
|
+
/**
|
|
75511
|
+
* Audience whose subscribed contacts receive this broadcast
|
|
75512
|
+
*/
|
|
74996
75513
|
audienceId?: string
|
|
74997
75514
|
}
|
|
74998
75515
|
|
|
74999
75516
|
export interface MailBroadcastUpdateOutput {
|
|
75517
|
+
/**
|
|
75518
|
+
* Broadcast id
|
|
75519
|
+
*/
|
|
75000
75520
|
id: string
|
|
75521
|
+
/**
|
|
75522
|
+
* Sender the messages are sent as
|
|
75523
|
+
*/
|
|
75001
75524
|
from: string
|
|
75525
|
+
/**
|
|
75526
|
+
* Inline HTML body; null when a template supplies it
|
|
75527
|
+
*/
|
|
75002
75528
|
html: (string | null)
|
|
75529
|
+
/**
|
|
75530
|
+
* Internal label — never shown to recipients
|
|
75531
|
+
*/
|
|
75003
75532
|
name: string
|
|
75533
|
+
/**
|
|
75534
|
+
* Inline plain-text body; null when a template supplies it
|
|
75535
|
+
*/
|
|
75004
75536
|
text: (string | null)
|
|
75537
|
+
/**
|
|
75538
|
+
* When the last message left; null until sending finishes
|
|
75539
|
+
*/
|
|
75005
75540
|
sentAt: (string | null)
|
|
75006
|
-
|
|
75541
|
+
/**
|
|
75542
|
+
* Lifecycle state: draft (editable), queued (fanned out, sending), sent, failed, canceled
|
|
75543
|
+
*/
|
|
75544
|
+
status: ("draft" | "queued" | "sent" | "failed" | "canceled")
|
|
75545
|
+
/**
|
|
75546
|
+
* Custom MIME headers added to every message
|
|
75547
|
+
*/
|
|
75007
75548
|
headers: {
|
|
75008
75549
|
[k: string]: string
|
|
75009
75550
|
}
|
|
75551
|
+
/**
|
|
75552
|
+
* Reply-To addresses; empty when replies go to `from`
|
|
75553
|
+
*/
|
|
75010
75554
|
replyTo: string[]
|
|
75555
|
+
/**
|
|
75556
|
+
* Subject line for inline content; null when a template supplies it
|
|
75557
|
+
*/
|
|
75011
75558
|
subject: (string | null)
|
|
75559
|
+
/**
|
|
75560
|
+
* When the broadcast was queued; null while it is a draft
|
|
75561
|
+
*/
|
|
75012
75562
|
queuedAt: (string | null)
|
|
75563
|
+
/**
|
|
75564
|
+
* When the broadcast was created
|
|
75565
|
+
*/
|
|
75013
75566
|
createdAt: string
|
|
75567
|
+
/**
|
|
75568
|
+
* Why the broadcast failed; null unless status is failed
|
|
75569
|
+
*/
|
|
75014
75570
|
lastError: (string | null)
|
|
75571
|
+
/**
|
|
75572
|
+
* Product the broadcast belongs to
|
|
75573
|
+
*/
|
|
75015
75574
|
productId: string
|
|
75575
|
+
/**
|
|
75576
|
+
* When the broadcast was last modified
|
|
75577
|
+
*/
|
|
75016
75578
|
updatedAt: string
|
|
75017
|
-
|
|
75579
|
+
/**
|
|
75580
|
+
* Values passed to the template variables; {} for inline content
|
|
75581
|
+
*/
|
|
75582
|
+
variables: ({
|
|
75583
|
+
[k: string]: unknown
|
|
75584
|
+
} | null)
|
|
75585
|
+
/**
|
|
75586
|
+
* Audience whose contacts this broadcast is sent to
|
|
75587
|
+
*/
|
|
75018
75588
|
audienceId: string
|
|
75589
|
+
/**
|
|
75590
|
+
* Template rendered for every recipient; null for inline content
|
|
75591
|
+
*/
|
|
75019
75592
|
templateId: (string | null)
|
|
75593
|
+
/**
|
|
75594
|
+
* Contacts the broadcast fanned out to; 0 while it is still a draft
|
|
75595
|
+
*/
|
|
75020
75596
|
recipientCount: number
|
|
75021
75597
|
}
|
|
75022
75598
|
|
|
@@ -75042,12 +75618,30 @@ unsubscribed?: boolean
|
|
|
75042
75618
|
}
|
|
75043
75619
|
|
|
75044
75620
|
export interface MailContactCreateOutput {
|
|
75621
|
+
/**
|
|
75622
|
+
* Contact id
|
|
75623
|
+
*/
|
|
75045
75624
|
id: string
|
|
75625
|
+
/**
|
|
75626
|
+
* Contact email address, normalized to lowercase
|
|
75627
|
+
*/
|
|
75046
75628
|
email: string
|
|
75629
|
+
/**
|
|
75630
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75631
|
+
*/
|
|
75047
75632
|
createdAt: string
|
|
75633
|
+
/**
|
|
75634
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75635
|
+
*/
|
|
75048
75636
|
updatedAt: string
|
|
75637
|
+
/**
|
|
75638
|
+
* Audience the contact belongs to
|
|
75639
|
+
*/
|
|
75049
75640
|
audienceId: string
|
|
75050
75641
|
properties?: unknown
|
|
75642
|
+
/**
|
|
75643
|
+
* Marketing opt-out flag for this audience
|
|
75644
|
+
*/
|
|
75051
75645
|
unsubscribed: boolean
|
|
75052
75646
|
}
|
|
75053
75647
|
|
|
@@ -75063,6 +75657,9 @@ audience_id: string
|
|
|
75063
75657
|
}
|
|
75064
75658
|
|
|
75065
75659
|
export interface MailContactDeleteOutput {
|
|
75660
|
+
/**
|
|
75661
|
+
* True once the contact is gone
|
|
75662
|
+
*/
|
|
75066
75663
|
deleted: boolean
|
|
75067
75664
|
}
|
|
75068
75665
|
|
|
@@ -75078,12 +75675,30 @@ audience_id: string
|
|
|
75078
75675
|
}
|
|
75079
75676
|
|
|
75080
75677
|
export interface MailContactGetOutput {
|
|
75678
|
+
/**
|
|
75679
|
+
* Contact id
|
|
75680
|
+
*/
|
|
75081
75681
|
id: string
|
|
75682
|
+
/**
|
|
75683
|
+
* Contact email address, normalized to lowercase
|
|
75684
|
+
*/
|
|
75082
75685
|
email: string
|
|
75686
|
+
/**
|
|
75687
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75688
|
+
*/
|
|
75083
75689
|
createdAt: string
|
|
75690
|
+
/**
|
|
75691
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75692
|
+
*/
|
|
75084
75693
|
updatedAt: string
|
|
75694
|
+
/**
|
|
75695
|
+
* Audience the contact belongs to
|
|
75696
|
+
*/
|
|
75085
75697
|
audienceId: string
|
|
75086
75698
|
properties?: unknown
|
|
75699
|
+
/**
|
|
75700
|
+
* Marketing opt-out flag for this audience
|
|
75701
|
+
*/
|
|
75087
75702
|
unsubscribed: boolean
|
|
75088
75703
|
}
|
|
75089
75704
|
|
|
@@ -75093,7 +75708,7 @@ export interface MailContactListInput {
|
|
|
75093
75708
|
*/
|
|
75094
75709
|
limit?: number
|
|
75095
75710
|
/**
|
|
75096
|
-
* Opaque pagination cursor from a prior page
|
|
75711
|
+
* Opaque pagination cursor from a prior page; omit for the first page
|
|
75097
75712
|
*/
|
|
75098
75713
|
cursor?: string
|
|
75099
75714
|
/**
|
|
@@ -75107,15 +75722,39 @@ unsubscribed?: (("true" | "false") | boolean)
|
|
|
75107
75722
|
}
|
|
75108
75723
|
|
|
75109
75724
|
export interface MailContactListOutput {
|
|
75725
|
+
/**
|
|
75726
|
+
* Contacts on this page, newest first
|
|
75727
|
+
*/
|
|
75110
75728
|
data: {
|
|
75729
|
+
/**
|
|
75730
|
+
* Contact id
|
|
75731
|
+
*/
|
|
75111
75732
|
id: string
|
|
75733
|
+
/**
|
|
75734
|
+
* Contact email address, normalized to lowercase
|
|
75735
|
+
*/
|
|
75112
75736
|
email: string
|
|
75737
|
+
/**
|
|
75738
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75739
|
+
*/
|
|
75113
75740
|
createdAt: string
|
|
75741
|
+
/**
|
|
75742
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75743
|
+
*/
|
|
75114
75744
|
updatedAt: string
|
|
75745
|
+
/**
|
|
75746
|
+
* Audience the contact belongs to
|
|
75747
|
+
*/
|
|
75115
75748
|
audienceId: string
|
|
75116
75749
|
properties?: unknown
|
|
75750
|
+
/**
|
|
75751
|
+
* Marketing opt-out flag for this audience
|
|
75752
|
+
*/
|
|
75117
75753
|
unsubscribed: boolean
|
|
75118
75754
|
}[]
|
|
75755
|
+
/**
|
|
75756
|
+
* Cursor for the next page; null on the last page
|
|
75757
|
+
*/
|
|
75119
75758
|
nextCursor: (string | null)
|
|
75120
75759
|
}
|
|
75121
75760
|
|
|
@@ -75141,12 +75780,30 @@ unsubscribed?: boolean
|
|
|
75141
75780
|
}
|
|
75142
75781
|
|
|
75143
75782
|
export interface MailContactUpdateOutput {
|
|
75783
|
+
/**
|
|
75784
|
+
* Contact id
|
|
75785
|
+
*/
|
|
75144
75786
|
id: string
|
|
75787
|
+
/**
|
|
75788
|
+
* Contact email address, normalized to lowercase
|
|
75789
|
+
*/
|
|
75145
75790
|
email: string
|
|
75791
|
+
/**
|
|
75792
|
+
* When the contact was created (ISO 8601 UTC)
|
|
75793
|
+
*/
|
|
75146
75794
|
createdAt: string
|
|
75795
|
+
/**
|
|
75796
|
+
* When the contact was last modified (ISO 8601 UTC)
|
|
75797
|
+
*/
|
|
75147
75798
|
updatedAt: string
|
|
75799
|
+
/**
|
|
75800
|
+
* Audience the contact belongs to
|
|
75801
|
+
*/
|
|
75148
75802
|
audienceId: string
|
|
75149
75803
|
properties?: unknown
|
|
75804
|
+
/**
|
|
75805
|
+
* Marketing opt-out flag for this audience
|
|
75806
|
+
*/
|
|
75150
75807
|
unsubscribed: boolean
|
|
75151
75808
|
}
|
|
75152
75809
|
|
|
@@ -75154,105 +75811,297 @@ export interface MailDomainAllowedListInput {
|
|
|
75154
75811
|
|
|
75155
75812
|
}
|
|
75156
75813
|
|
|
75814
|
+
/**
|
|
75815
|
+
* Apex domains this product may register sending domains under
|
|
75816
|
+
*/
|
|
75157
75817
|
export type MailDomainAllowedListOutput = {
|
|
75158
|
-
|
|
75818
|
+
/**
|
|
75819
|
+
* Who operates DNS under this apex: managed if the platform publishes the records, external if you do
|
|
75820
|
+
*/
|
|
75821
|
+
mode: ("external" | "managed")
|
|
75822
|
+
/**
|
|
75823
|
+
* The apex domain itself, e.g. "example.com"
|
|
75824
|
+
*/
|
|
75159
75825
|
domain: string
|
|
75826
|
+
/**
|
|
75827
|
+
* Governance domain id — pass it to the governance console, not to mail_domain_get
|
|
75828
|
+
*/
|
|
75160
75829
|
domainId: string
|
|
75830
|
+
/**
|
|
75831
|
+
* How many extensions currently send under this apex
|
|
75832
|
+
*/
|
|
75161
75833
|
extensionCount: number
|
|
75162
75834
|
}[]
|
|
75163
75835
|
|
|
75164
75836
|
export interface MailDomainCreateInput {
|
|
75165
75837
|
/**
|
|
75166
|
-
* The sending domain to register, e.g. "example.com"
|
|
75838
|
+
* 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)
|
|
75167
75839
|
*/
|
|
75168
75840
|
name: string
|
|
75169
75841
|
/**
|
|
75170
|
-
* AWS region for the SES identity
|
|
75842
|
+
* AWS region for the SES identity, which fixes data residency (default "eu-north-1"); immutable once the domain is created
|
|
75171
75843
|
*/
|
|
75172
75844
|
region?: string
|
|
75173
75845
|
}
|
|
75174
75846
|
|
|
75175
75847
|
export interface MailDomainCreateOutput {
|
|
75848
|
+
/**
|
|
75849
|
+
* Sending domain id
|
|
75850
|
+
*/
|
|
75176
75851
|
id: string
|
|
75177
|
-
|
|
75852
|
+
/**
|
|
75853
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
75854
|
+
*/
|
|
75855
|
+
tls: ("opportunistic" | "enforced")
|
|
75856
|
+
/**
|
|
75857
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
75858
|
+
*/
|
|
75178
75859
|
apex: (string | null)
|
|
75179
|
-
|
|
75860
|
+
/**
|
|
75861
|
+
* 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
|
|
75862
|
+
*/
|
|
75863
|
+
mode: (("external" | "managed") | null)
|
|
75864
|
+
/**
|
|
75865
|
+
* The sending domain itself, e.g. "example.com"
|
|
75866
|
+
*/
|
|
75180
75867
|
name: string
|
|
75868
|
+
/**
|
|
75869
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
75870
|
+
*/
|
|
75181
75871
|
active: boolean
|
|
75872
|
+
/**
|
|
75873
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
75874
|
+
*/
|
|
75182
75875
|
region: string
|
|
75183
|
-
|
|
75876
|
+
/**
|
|
75877
|
+
* 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
|
|
75878
|
+
*/
|
|
75879
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
75880
|
+
/**
|
|
75881
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
75882
|
+
*/
|
|
75184
75883
|
records: {
|
|
75884
|
+
/**
|
|
75885
|
+
* Fully-qualified host the record is published at
|
|
75886
|
+
*/
|
|
75185
75887
|
name: string
|
|
75186
|
-
|
|
75888
|
+
/**
|
|
75889
|
+
* DNS record type to publish
|
|
75890
|
+
*/
|
|
75891
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
75892
|
+
/**
|
|
75893
|
+
* Value the record must resolve to
|
|
75894
|
+
*/
|
|
75187
75895
|
value: string
|
|
75188
|
-
|
|
75896
|
+
/**
|
|
75897
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
75898
|
+
*/
|
|
75899
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
75900
|
+
/**
|
|
75901
|
+
* MX priority; present only on MX records
|
|
75902
|
+
*/
|
|
75189
75903
|
priority?: number
|
|
75190
|
-
|
|
75904
|
+
/**
|
|
75905
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
75906
|
+
*/
|
|
75907
|
+
required: boolean
|
|
75908
|
+
/**
|
|
75909
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
75910
|
+
*/
|
|
75191
75911
|
resolved?: boolean
|
|
75192
75912
|
}[]
|
|
75913
|
+
/**
|
|
75914
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
75915
|
+
*/
|
|
75193
75916
|
createdAt: string
|
|
75917
|
+
/**
|
|
75918
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
75919
|
+
*/
|
|
75194
75920
|
updatedAt: string
|
|
75921
|
+
/**
|
|
75922
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
75923
|
+
*/
|
|
75195
75924
|
verifiedAt: (string | null)
|
|
75925
|
+
/**
|
|
75926
|
+
* Human-readable steps still outstanding before this domain can send
|
|
75927
|
+
*/
|
|
75196
75928
|
instructions: string[]
|
|
75929
|
+
/**
|
|
75930
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
75931
|
+
*/
|
|
75197
75932
|
openTracking: boolean
|
|
75198
|
-
|
|
75933
|
+
/**
|
|
75934
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
75935
|
+
*/
|
|
75936
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
75937
|
+
/**
|
|
75938
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
75939
|
+
*/
|
|
75199
75940
|
clickTracking: boolean
|
|
75941
|
+
/**
|
|
75942
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
75943
|
+
*/
|
|
75200
75944
|
customReturnPath: string
|
|
75945
|
+
/**
|
|
75946
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
75947
|
+
*/
|
|
75201
75948
|
trackingSubdomain: (string | null)
|
|
75949
|
+
/**
|
|
75950
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
75951
|
+
*/
|
|
75202
75952
|
governanceDomainId: (string | null)
|
|
75953
|
+
/**
|
|
75954
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
75955
|
+
*/
|
|
75203
75956
|
governanceBindingId: (string | null)
|
|
75957
|
+
/**
|
|
75958
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
75959
|
+
*/
|
|
75204
75960
|
verificationStartedAt: string
|
|
75961
|
+
/**
|
|
75962
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
75963
|
+
*/
|
|
75205
75964
|
lastVerificationCheckAt: (string | null)
|
|
75206
75965
|
}
|
|
75207
75966
|
|
|
75208
75967
|
export interface MailDomainDeleteInput {
|
|
75209
75968
|
/**
|
|
75210
|
-
*
|
|
75969
|
+
* Sending domain to delete, along with its SES identity
|
|
75211
75970
|
*/
|
|
75212
75971
|
id: string
|
|
75213
75972
|
}
|
|
75214
75973
|
|
|
75215
75974
|
export interface MailDomainDeleteOutput {
|
|
75975
|
+
/**
|
|
75976
|
+
* True once the domain and its SES identity are gone
|
|
75977
|
+
*/
|
|
75216
75978
|
deleted: boolean
|
|
75217
75979
|
}
|
|
75218
75980
|
|
|
75219
75981
|
export interface MailDomainGetInput {
|
|
75220
75982
|
/**
|
|
75221
|
-
*
|
|
75983
|
+
* Sending domain id
|
|
75222
75984
|
*/
|
|
75223
75985
|
id: string
|
|
75224
75986
|
}
|
|
75225
75987
|
|
|
75226
75988
|
export interface MailDomainGetOutput {
|
|
75989
|
+
/**
|
|
75990
|
+
* Sending domain id
|
|
75991
|
+
*/
|
|
75227
75992
|
id: string
|
|
75228
|
-
|
|
75993
|
+
/**
|
|
75994
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
75995
|
+
*/
|
|
75996
|
+
tls: ("opportunistic" | "enforced")
|
|
75997
|
+
/**
|
|
75998
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
75999
|
+
*/
|
|
75229
76000
|
apex: (string | null)
|
|
75230
|
-
|
|
76001
|
+
/**
|
|
76002
|
+
* 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
|
|
76003
|
+
*/
|
|
76004
|
+
mode: (("external" | "managed") | null)
|
|
76005
|
+
/**
|
|
76006
|
+
* The sending domain itself, e.g. "example.com"
|
|
76007
|
+
*/
|
|
75231
76008
|
name: string
|
|
76009
|
+
/**
|
|
76010
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76011
|
+
*/
|
|
75232
76012
|
active: boolean
|
|
76013
|
+
/**
|
|
76014
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76015
|
+
*/
|
|
75233
76016
|
region: string
|
|
75234
|
-
|
|
76017
|
+
/**
|
|
76018
|
+
* 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
|
|
76019
|
+
*/
|
|
76020
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76021
|
+
/**
|
|
76022
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76023
|
+
*/
|
|
75235
76024
|
records: {
|
|
76025
|
+
/**
|
|
76026
|
+
* Fully-qualified host the record is published at
|
|
76027
|
+
*/
|
|
75236
76028
|
name: string
|
|
75237
|
-
|
|
76029
|
+
/**
|
|
76030
|
+
* DNS record type to publish
|
|
76031
|
+
*/
|
|
76032
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76033
|
+
/**
|
|
76034
|
+
* Value the record must resolve to
|
|
76035
|
+
*/
|
|
75238
76036
|
value: string
|
|
75239
|
-
|
|
76037
|
+
/**
|
|
76038
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76039
|
+
*/
|
|
76040
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76041
|
+
/**
|
|
76042
|
+
* MX priority; present only on MX records
|
|
76043
|
+
*/
|
|
75240
76044
|
priority?: number
|
|
76045
|
+
/**
|
|
76046
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76047
|
+
*/
|
|
75241
76048
|
required: boolean
|
|
76049
|
+
/**
|
|
76050
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76051
|
+
*/
|
|
75242
76052
|
resolved?: boolean
|
|
75243
76053
|
}[]
|
|
76054
|
+
/**
|
|
76055
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76056
|
+
*/
|
|
75244
76057
|
createdAt: string
|
|
76058
|
+
/**
|
|
76059
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76060
|
+
*/
|
|
75245
76061
|
updatedAt: string
|
|
76062
|
+
/**
|
|
76063
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76064
|
+
*/
|
|
75246
76065
|
verifiedAt: (string | null)
|
|
76066
|
+
/**
|
|
76067
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76068
|
+
*/
|
|
75247
76069
|
instructions: string[]
|
|
76070
|
+
/**
|
|
76071
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76072
|
+
*/
|
|
75248
76073
|
openTracking: boolean
|
|
75249
|
-
|
|
76074
|
+
/**
|
|
76075
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76076
|
+
*/
|
|
76077
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76078
|
+
/**
|
|
76079
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76080
|
+
*/
|
|
75250
76081
|
clickTracking: boolean
|
|
76082
|
+
/**
|
|
76083
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76084
|
+
*/
|
|
75251
76085
|
customReturnPath: string
|
|
76086
|
+
/**
|
|
76087
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76088
|
+
*/
|
|
75252
76089
|
trackingSubdomain: (string | null)
|
|
76090
|
+
/**
|
|
76091
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76092
|
+
*/
|
|
75253
76093
|
governanceDomainId: (string | null)
|
|
76094
|
+
/**
|
|
76095
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76096
|
+
*/
|
|
75254
76097
|
governanceBindingId: (string | null)
|
|
76098
|
+
/**
|
|
76099
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76100
|
+
*/
|
|
75255
76101
|
verificationStartedAt: string
|
|
76102
|
+
/**
|
|
76103
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76104
|
+
*/
|
|
75256
76105
|
lastVerificationCheckAt: (string | null)
|
|
75257
76106
|
}
|
|
75258
76107
|
|
|
@@ -75260,170 +76109,485 @@ export interface MailDomainListInput {
|
|
|
75260
76109
|
|
|
75261
76110
|
}
|
|
75262
76111
|
|
|
76112
|
+
/**
|
|
76113
|
+
* Sending domains registered for the current product
|
|
76114
|
+
*/
|
|
75263
76115
|
export type MailDomainListOutput = {
|
|
76116
|
+
/**
|
|
76117
|
+
* Sending domain id
|
|
76118
|
+
*/
|
|
75264
76119
|
id: string
|
|
75265
|
-
|
|
76120
|
+
/**
|
|
76121
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76122
|
+
*/
|
|
76123
|
+
tls: ("opportunistic" | "enforced")
|
|
76124
|
+
/**
|
|
76125
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76126
|
+
*/
|
|
75266
76127
|
apex: (string | null)
|
|
75267
|
-
|
|
76128
|
+
/**
|
|
76129
|
+
* 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
|
|
76130
|
+
*/
|
|
76131
|
+
mode: (("external" | "managed") | null)
|
|
76132
|
+
/**
|
|
76133
|
+
* The sending domain itself, e.g. "example.com"
|
|
76134
|
+
*/
|
|
75268
76135
|
name: string
|
|
76136
|
+
/**
|
|
76137
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76138
|
+
*/
|
|
75269
76139
|
active: boolean
|
|
76140
|
+
/**
|
|
76141
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76142
|
+
*/
|
|
75270
76143
|
region: string
|
|
75271
|
-
|
|
76144
|
+
/**
|
|
76145
|
+
* 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
|
|
76146
|
+
*/
|
|
76147
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76148
|
+
/**
|
|
76149
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76150
|
+
*/
|
|
75272
76151
|
records: {
|
|
76152
|
+
/**
|
|
76153
|
+
* Fully-qualified host the record is published at
|
|
76154
|
+
*/
|
|
75273
76155
|
name: string
|
|
75274
|
-
|
|
76156
|
+
/**
|
|
76157
|
+
* DNS record type to publish
|
|
76158
|
+
*/
|
|
76159
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76160
|
+
/**
|
|
76161
|
+
* Value the record must resolve to
|
|
76162
|
+
*/
|
|
75275
76163
|
value: string
|
|
75276
|
-
|
|
76164
|
+
/**
|
|
76165
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76166
|
+
*/
|
|
76167
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76168
|
+
/**
|
|
76169
|
+
* MX priority; present only on MX records
|
|
76170
|
+
*/
|
|
75277
76171
|
priority?: number
|
|
76172
|
+
/**
|
|
76173
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76174
|
+
*/
|
|
75278
76175
|
required: boolean
|
|
76176
|
+
/**
|
|
76177
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76178
|
+
*/
|
|
75279
76179
|
resolved?: boolean
|
|
75280
76180
|
}[]
|
|
76181
|
+
/**
|
|
76182
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76183
|
+
*/
|
|
75281
76184
|
createdAt: string
|
|
76185
|
+
/**
|
|
76186
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76187
|
+
*/
|
|
75282
76188
|
updatedAt: string
|
|
76189
|
+
/**
|
|
76190
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76191
|
+
*/
|
|
75283
76192
|
verifiedAt: (string | null)
|
|
76193
|
+
/**
|
|
76194
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76195
|
+
*/
|
|
75284
76196
|
instructions: string[]
|
|
76197
|
+
/**
|
|
76198
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76199
|
+
*/
|
|
75285
76200
|
openTracking: boolean
|
|
75286
|
-
|
|
76201
|
+
/**
|
|
76202
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76203
|
+
*/
|
|
76204
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76205
|
+
/**
|
|
76206
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76207
|
+
*/
|
|
75287
76208
|
clickTracking: boolean
|
|
76209
|
+
/**
|
|
76210
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76211
|
+
*/
|
|
75288
76212
|
customReturnPath: string
|
|
76213
|
+
/**
|
|
76214
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76215
|
+
*/
|
|
75289
76216
|
trackingSubdomain: (string | null)
|
|
76217
|
+
/**
|
|
76218
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76219
|
+
*/
|
|
75290
76220
|
governanceDomainId: (string | null)
|
|
76221
|
+
/**
|
|
76222
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76223
|
+
*/
|
|
75291
76224
|
governanceBindingId: (string | null)
|
|
76225
|
+
/**
|
|
76226
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76227
|
+
*/
|
|
75292
76228
|
verificationStartedAt: string
|
|
76229
|
+
/**
|
|
76230
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76231
|
+
*/
|
|
75293
76232
|
lastVerificationCheckAt: (string | null)
|
|
75294
76233
|
}[]
|
|
75295
76234
|
|
|
75296
76235
|
export interface MailDomainUpdateInput {
|
|
75297
76236
|
/**
|
|
75298
|
-
*
|
|
76237
|
+
* Sending domain id
|
|
75299
76238
|
*/
|
|
75300
76239
|
id: string
|
|
75301
76240
|
/**
|
|
75302
|
-
* TLS policy: opportunistic (default)
|
|
76241
|
+
* TLS policy: opportunistic (default) falls back to plaintext, enforced fails the send instead; omit to leave it unchanged
|
|
75303
76242
|
*/
|
|
75304
76243
|
tls?: ("opportunistic" | "enforced")
|
|
75305
76244
|
/**
|
|
75306
|
-
*
|
|
76245
|
+
* Record opens by injecting a 1x1 pixel (off by default); omit to leave it unchanged
|
|
75307
76246
|
*/
|
|
75308
76247
|
openTracking?: boolean
|
|
75309
76248
|
/**
|
|
75310
|
-
*
|
|
76249
|
+
* Record clicks by rewriting links through the tracking host (off by default); omit to leave it unchanged
|
|
75311
76250
|
*/
|
|
75312
76251
|
clickTracking?: boolean
|
|
75313
76252
|
/**
|
|
75314
|
-
* Host
|
|
76253
|
+
* Host to serve the click redirect and open pixel from, or null to clear it; omit to leave it unchanged
|
|
75315
76254
|
*/
|
|
75316
76255
|
trackingSubdomain?: (string | null)
|
|
75317
76256
|
}
|
|
75318
76257
|
|
|
75319
76258
|
export interface MailDomainUpdateOutput {
|
|
76259
|
+
/**
|
|
76260
|
+
* Sending domain id
|
|
76261
|
+
*/
|
|
75320
76262
|
id: string
|
|
75321
|
-
|
|
76263
|
+
/**
|
|
76264
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76265
|
+
*/
|
|
76266
|
+
tls: ("opportunistic" | "enforced")
|
|
76267
|
+
/**
|
|
76268
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76269
|
+
*/
|
|
75322
76270
|
apex: (string | null)
|
|
75323
|
-
|
|
76271
|
+
/**
|
|
76272
|
+
* 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
|
|
76273
|
+
*/
|
|
76274
|
+
mode: (("external" | "managed") | null)
|
|
76275
|
+
/**
|
|
76276
|
+
* The sending domain itself, e.g. "example.com"
|
|
76277
|
+
*/
|
|
75324
76278
|
name: string
|
|
76279
|
+
/**
|
|
76280
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76281
|
+
*/
|
|
75325
76282
|
active: boolean
|
|
76283
|
+
/**
|
|
76284
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76285
|
+
*/
|
|
75326
76286
|
region: string
|
|
75327
|
-
|
|
76287
|
+
/**
|
|
76288
|
+
* 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
|
|
76289
|
+
*/
|
|
76290
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76291
|
+
/**
|
|
76292
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76293
|
+
*/
|
|
75328
76294
|
records: {
|
|
76295
|
+
/**
|
|
76296
|
+
* Fully-qualified host the record is published at
|
|
76297
|
+
*/
|
|
75329
76298
|
name: string
|
|
75330
|
-
|
|
76299
|
+
/**
|
|
76300
|
+
* DNS record type to publish
|
|
76301
|
+
*/
|
|
76302
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76303
|
+
/**
|
|
76304
|
+
* Value the record must resolve to
|
|
76305
|
+
*/
|
|
75331
76306
|
value: string
|
|
75332
|
-
|
|
76307
|
+
/**
|
|
76308
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76309
|
+
*/
|
|
76310
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76311
|
+
/**
|
|
76312
|
+
* MX priority; present only on MX records
|
|
76313
|
+
*/
|
|
75333
76314
|
priority?: number
|
|
76315
|
+
/**
|
|
76316
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76317
|
+
*/
|
|
75334
76318
|
required: boolean
|
|
76319
|
+
/**
|
|
76320
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76321
|
+
*/
|
|
75335
76322
|
resolved?: boolean
|
|
75336
76323
|
}[]
|
|
76324
|
+
/**
|
|
76325
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76326
|
+
*/
|
|
75337
76327
|
createdAt: string
|
|
76328
|
+
/**
|
|
76329
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76330
|
+
*/
|
|
75338
76331
|
updatedAt: string
|
|
76332
|
+
/**
|
|
76333
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76334
|
+
*/
|
|
75339
76335
|
verifiedAt: (string | null)
|
|
76336
|
+
/**
|
|
76337
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76338
|
+
*/
|
|
75340
76339
|
instructions: string[]
|
|
76340
|
+
/**
|
|
76341
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76342
|
+
*/
|
|
75341
76343
|
openTracking: boolean
|
|
75342
|
-
|
|
76344
|
+
/**
|
|
76345
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76346
|
+
*/
|
|
76347
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76348
|
+
/**
|
|
76349
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76350
|
+
*/
|
|
75343
76351
|
clickTracking: boolean
|
|
76352
|
+
/**
|
|
76353
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76354
|
+
*/
|
|
75344
76355
|
customReturnPath: string
|
|
76356
|
+
/**
|
|
76357
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76358
|
+
*/
|
|
75345
76359
|
trackingSubdomain: (string | null)
|
|
76360
|
+
/**
|
|
76361
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76362
|
+
*/
|
|
75346
76363
|
governanceDomainId: (string | null)
|
|
76364
|
+
/**
|
|
76365
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76366
|
+
*/
|
|
75347
76367
|
governanceBindingId: (string | null)
|
|
76368
|
+
/**
|
|
76369
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76370
|
+
*/
|
|
75348
76371
|
verificationStartedAt: string
|
|
76372
|
+
/**
|
|
76373
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76374
|
+
*/
|
|
75349
76375
|
lastVerificationCheckAt: (string | null)
|
|
75350
76376
|
}
|
|
75351
76377
|
|
|
75352
76378
|
export interface MailDomainVerifyInput {
|
|
75353
76379
|
/**
|
|
75354
|
-
*
|
|
76380
|
+
* Sending domain to re-check against DNS and SES right now, instead of waiting for the next scheduled check
|
|
75355
76381
|
*/
|
|
75356
76382
|
id: string
|
|
75357
76383
|
}
|
|
75358
76384
|
|
|
75359
76385
|
export interface MailDomainVerifyOutput {
|
|
76386
|
+
/**
|
|
76387
|
+
* Sending domain id
|
|
76388
|
+
*/
|
|
75360
76389
|
id: string
|
|
75361
|
-
|
|
76390
|
+
/**
|
|
76391
|
+
* TLS policy for delivery: opportunistic falls back to plaintext if the recipient offers no TLS, enforced fails the send instead
|
|
76392
|
+
*/
|
|
76393
|
+
tls: ("opportunistic" | "enforced")
|
|
76394
|
+
/**
|
|
76395
|
+
* Governed apex this domain sits under; null if it is not governed
|
|
76396
|
+
*/
|
|
75362
76397
|
apex: (string | null)
|
|
75363
|
-
|
|
76398
|
+
/**
|
|
76399
|
+
* 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
|
|
76400
|
+
*/
|
|
76401
|
+
mode: (("external" | "managed") | null)
|
|
76402
|
+
/**
|
|
76403
|
+
* The sending domain itself, e.g. "example.com"
|
|
76404
|
+
*/
|
|
75364
76405
|
name: string
|
|
76406
|
+
/**
|
|
76407
|
+
* True only when the domain is verified AND its governance binding is active — the condition for sending from it
|
|
76408
|
+
*/
|
|
75365
76409
|
active: boolean
|
|
76410
|
+
/**
|
|
76411
|
+
* AWS region hosting the SES identity, which fixes data residency; set at create time and immutable
|
|
76412
|
+
*/
|
|
75366
76413
|
region: string
|
|
75367
|
-
|
|
76414
|
+
/**
|
|
76415
|
+
* 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
|
|
76416
|
+
*/
|
|
76417
|
+
status: ("not_started" | "pending" | "verified" | "failed" | "temporary_failure")
|
|
76418
|
+
/**
|
|
76419
|
+
* DNS records to publish for this domain, each with its last-seen resolution status
|
|
76420
|
+
*/
|
|
75368
76421
|
records: {
|
|
76422
|
+
/**
|
|
76423
|
+
* Fully-qualified host the record is published at
|
|
76424
|
+
*/
|
|
75369
76425
|
name: string
|
|
75370
|
-
|
|
76426
|
+
/**
|
|
76427
|
+
* DNS record type to publish
|
|
76428
|
+
*/
|
|
76429
|
+
type: ("CNAME" | "TXT" | "MX")
|
|
76430
|
+
/**
|
|
76431
|
+
* Value the record must resolve to
|
|
76432
|
+
*/
|
|
75371
76433
|
value: string
|
|
75372
|
-
|
|
76434
|
+
/**
|
|
76435
|
+
* What the record is for: dkim signs outgoing mail, spf authorises the sender, return-path-mx routes bounces back, dmarc states the policy
|
|
76436
|
+
*/
|
|
76437
|
+
purpose: ("dkim" | "spf" | "return-path-mx" | "dmarc")
|
|
76438
|
+
/**
|
|
76439
|
+
* MX priority; present only on MX records
|
|
76440
|
+
*/
|
|
75373
76441
|
priority?: number
|
|
76442
|
+
/**
|
|
76443
|
+
* True if the domain cannot verify without this record; false if it is optional
|
|
76444
|
+
*/
|
|
75374
76445
|
required: boolean
|
|
76446
|
+
/**
|
|
76447
|
+
* True if the record was found in DNS at the last check; absent when no check has run
|
|
76448
|
+
*/
|
|
75375
76449
|
resolved?: boolean
|
|
75376
76450
|
}[]
|
|
76451
|
+
/**
|
|
76452
|
+
* When the domain was registered (ISO 8601 UTC)
|
|
76453
|
+
*/
|
|
75377
76454
|
createdAt: string
|
|
76455
|
+
/**
|
|
76456
|
+
* When the domain record was last changed (ISO 8601 UTC)
|
|
76457
|
+
*/
|
|
75378
76458
|
updatedAt: string
|
|
76459
|
+
/**
|
|
76460
|
+
* When the domain became verified (ISO 8601 UTC); null while it is not
|
|
76461
|
+
*/
|
|
75379
76462
|
verifiedAt: (string | null)
|
|
76463
|
+
/**
|
|
76464
|
+
* Human-readable steps still outstanding before this domain can send
|
|
76465
|
+
*/
|
|
75380
76466
|
instructions: string[]
|
|
76467
|
+
/**
|
|
76468
|
+
* True if a 1x1 pixel is injected into outgoing mail to record opens
|
|
76469
|
+
*/
|
|
75381
76470
|
openTracking: boolean
|
|
75382
|
-
|
|
76471
|
+
/**
|
|
76472
|
+
* Governance binding state: pending while it is being granted, active once the domain may be used, failed if it could not be granted
|
|
76473
|
+
*/
|
|
76474
|
+
bindingStatus: ("pending" | "active" | "failed")
|
|
76475
|
+
/**
|
|
76476
|
+
* True if links are rewritten through the tracking host to record clicks
|
|
76477
|
+
*/
|
|
75383
76478
|
clickTracking: boolean
|
|
76479
|
+
/**
|
|
76480
|
+
* Host used as the bounce (Return-Path) address, so bounces come back to this product
|
|
76481
|
+
*/
|
|
75384
76482
|
customReturnPath: string
|
|
76483
|
+
/**
|
|
76484
|
+
* Host serving the click redirect and the open pixel; null if tracking is off
|
|
76485
|
+
*/
|
|
75385
76486
|
trackingSubdomain: (string | null)
|
|
76487
|
+
/**
|
|
76488
|
+
* Id of the governance domain this one is registered under; null if it is not governed
|
|
76489
|
+
*/
|
|
75386
76490
|
governanceDomainId: (string | null)
|
|
76491
|
+
/**
|
|
76492
|
+
* Id of the binding between this product and the governance domain; null if unbound
|
|
76493
|
+
*/
|
|
75387
76494
|
governanceBindingId: (string | null)
|
|
76495
|
+
/**
|
|
76496
|
+
* When verification was first requested (ISO 8601 UTC)
|
|
76497
|
+
*/
|
|
75388
76498
|
verificationStartedAt: string
|
|
76499
|
+
/**
|
|
76500
|
+
* When DNS and SES were last checked (ISO 8601 UTC); null if no check has run yet
|
|
76501
|
+
*/
|
|
75389
76502
|
lastVerificationCheckAt: (string | null)
|
|
75390
76503
|
}
|
|
75391
76504
|
|
|
75392
76505
|
export interface MailEmailCancelInput {
|
|
75393
76506
|
/**
|
|
75394
|
-
* Email id
|
|
76507
|
+
* Email id — as returned by mail_email_send
|
|
75395
76508
|
*/
|
|
75396
76509
|
id: string
|
|
75397
76510
|
}
|
|
75398
76511
|
|
|
75399
76512
|
export interface MailEmailCancelOutput {
|
|
76513
|
+
/**
|
|
76514
|
+
* Id of the canceled email
|
|
76515
|
+
*/
|
|
75400
76516
|
id: string
|
|
76517
|
+
/**
|
|
76518
|
+
* The email’s state after the call — always "canceled"
|
|
76519
|
+
*/
|
|
75401
76520
|
status: "canceled"
|
|
75402
76521
|
}
|
|
75403
76522
|
|
|
75404
76523
|
export interface MailEmailGetInput {
|
|
75405
76524
|
/**
|
|
75406
|
-
* Email id
|
|
76525
|
+
* Email id — as returned by mail_email_send
|
|
75407
76526
|
*/
|
|
75408
76527
|
id: string
|
|
75409
76528
|
}
|
|
75410
76529
|
|
|
75411
76530
|
export interface MailEmailGetOutput {
|
|
76531
|
+
/**
|
|
76532
|
+
* Cc recipients; empty when there were none
|
|
76533
|
+
*/
|
|
75412
76534
|
cc: string[]
|
|
76535
|
+
/**
|
|
76536
|
+
* Email id
|
|
76537
|
+
*/
|
|
75413
76538
|
id: string
|
|
76539
|
+
/**
|
|
76540
|
+
* Primary recipients
|
|
76541
|
+
*/
|
|
75414
76542
|
to: string[]
|
|
76543
|
+
/**
|
|
76544
|
+
* Bcc recipients; empty when there were none. Never appeared in the message headers.
|
|
76545
|
+
*/
|
|
75415
76546
|
bcc: string[]
|
|
76547
|
+
/**
|
|
76548
|
+
* Sender the message was sent as
|
|
76549
|
+
*/
|
|
75416
76550
|
from: string
|
|
76551
|
+
/**
|
|
76552
|
+
* Where the email stands: scheduled, queued, sent, failed, canceled, delivered, bounced, complained, suppressed or blocked
|
|
76553
|
+
*/
|
|
75417
76554
|
status: ("scheduled" | "queued" | "sent" | "failed" | "canceled" | "delivered" | "bounced" | "complained" | "suppressed" | "blocked")
|
|
76555
|
+
/**
|
|
76556
|
+
* Subject line as sent, after any template rendering
|
|
76557
|
+
*/
|
|
75418
76558
|
subject: string
|
|
76559
|
+
/**
|
|
76560
|
+
* ISO-8601 instant the email was accepted
|
|
76561
|
+
*/
|
|
75419
76562
|
created_at: string
|
|
76563
|
+
/**
|
|
76564
|
+
* The latest lifecycle event, the reason `status` reads as it does
|
|
76565
|
+
*/
|
|
75420
76566
|
last_event: {
|
|
76567
|
+
/**
|
|
76568
|
+
* The most recent lifecycle event — `email.` followed by the status it moved to
|
|
76569
|
+
*/
|
|
75421
76570
|
type: ("email.scheduled" | "email.queued" | "email.sent" | "email.failed" | "email.canceled" | "email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.blocked")
|
|
76571
|
+
/**
|
|
76572
|
+
* ISO-8601 instant of that event; null when no event has been recorded yet
|
|
76573
|
+
*/
|
|
75422
76574
|
created_at: (string | null)
|
|
75423
76575
|
}
|
|
76576
|
+
/**
|
|
76577
|
+
* Template the email was rendered from; null for an inline send
|
|
76578
|
+
*/
|
|
75424
76579
|
template_id: (string | null)
|
|
76580
|
+
/**
|
|
76581
|
+
* ISO-8601 instant the email is scheduled for; null when it was sent immediately
|
|
76582
|
+
*/
|
|
75425
76583
|
scheduled_at: (string | null)
|
|
76584
|
+
/**
|
|
76585
|
+
* Name of that template; null for an inline send
|
|
76586
|
+
*/
|
|
75426
76587
|
template_name: (string | null)
|
|
76588
|
+
/**
|
|
76589
|
+
* The sending provider’s own id, for correlating with its logs; null until the email leaves
|
|
76590
|
+
*/
|
|
75427
76591
|
provider_message_id: (string | null)
|
|
75428
76592
|
}
|
|
75429
76593
|
|
|
@@ -75441,38 +76605,41 @@ to?: (string | string[])
|
|
|
75441
76605
|
*/
|
|
75442
76606
|
bcc?: (string | string[])
|
|
75443
76607
|
/**
|
|
75444
|
-
* Sender, e.g. "Name <you@your-domain.com>"
|
|
76608
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
75445
76609
|
*/
|
|
75446
76610
|
from: string
|
|
75447
76611
|
/**
|
|
75448
|
-
* HTML body
|
|
76612
|
+
* HTML body. Inline sends only — forbidden with a template.
|
|
75449
76613
|
*/
|
|
75450
76614
|
html?: string
|
|
75451
76615
|
/**
|
|
75452
|
-
* Metadata tags
|
|
76616
|
+
* Metadata tags attached to the message as `X-Tag-<name>` headers
|
|
75453
76617
|
*/
|
|
75454
76618
|
tags?: {
|
|
75455
76619
|
/**
|
|
75456
|
-
* Tag name
|
|
76620
|
+
* Tag name — printable US-ASCII without a colon; becomes the `X-Tag-<name>` header
|
|
75457
76621
|
*/
|
|
75458
76622
|
name: string
|
|
75459
76623
|
/**
|
|
75460
|
-
* Tag value
|
|
76624
|
+
* Tag value; must not contain CR or LF
|
|
75461
76625
|
*/
|
|
75462
76626
|
value: string
|
|
75463
76627
|
}[]
|
|
75464
76628
|
/**
|
|
75465
|
-
* Plain-text body; auto-derived from html if omitted
|
|
76629
|
+
* Plain-text body; auto-derived from html if omitted. Inline sends only.
|
|
75466
76630
|
*/
|
|
75467
76631
|
text?: string
|
|
75468
76632
|
/**
|
|
75469
|
-
* Custom headers
|
|
76633
|
+
* Custom MIME headers, keyed by header name
|
|
75470
76634
|
*/
|
|
75471
76635
|
headers?: {
|
|
76636
|
+
/**
|
|
76637
|
+
* Header value; must not contain CR or LF
|
|
76638
|
+
*/
|
|
75472
76639
|
[k: string]: string
|
|
75473
76640
|
}
|
|
75474
76641
|
/**
|
|
75475
|
-
*
|
|
76642
|
+
* Subject line, capped at the RFC-5322 line limit. Required for inline sends, forbidden with a template.
|
|
75476
76643
|
*/
|
|
75477
76644
|
subject?: string
|
|
75478
76645
|
/**
|
|
@@ -75488,25 +76655,28 @@ template?: {
|
|
|
75488
76655
|
*/
|
|
75489
76656
|
id: string
|
|
75490
76657
|
/**
|
|
75491
|
-
* Values for the template variables
|
|
76658
|
+
* Values for the template variables. Defaults to {}.
|
|
75492
76659
|
*/
|
|
75493
76660
|
variables?: {
|
|
75494
76661
|
[k: string]: (string | number | boolean)
|
|
75495
76662
|
}
|
|
75496
76663
|
}
|
|
75497
76664
|
/**
|
|
75498
|
-
* ISO-8601 instant to send at; future
|
|
76665
|
+
* ISO-8601 instant to send at; must be in the future and within 30 days. Omit to send now.
|
|
75499
76666
|
*/
|
|
75500
76667
|
scheduled_at?: string
|
|
75501
76668
|
}
|
|
75502
76669
|
|
|
75503
76670
|
export interface MailEmailSendOutput {
|
|
76671
|
+
/**
|
|
76672
|
+
* Id of the accepted email — pass it to mail_email_get to follow delivery
|
|
76673
|
+
*/
|
|
75504
76674
|
id: string
|
|
75505
76675
|
}
|
|
75506
76676
|
|
|
75507
76677
|
export interface MailEmailSendBatchInput {
|
|
75508
76678
|
/**
|
|
75509
|
-
* Up to 100 emails to send
|
|
76679
|
+
* Up to 100 emails to send; `scheduled_at` is not allowed on a batch item
|
|
75510
76680
|
*/
|
|
75511
76681
|
emails: {
|
|
75512
76682
|
/**
|
|
@@ -75522,38 +76692,41 @@ to?: (string | string[])
|
|
|
75522
76692
|
*/
|
|
75523
76693
|
bcc?: (string | string[])
|
|
75524
76694
|
/**
|
|
75525
|
-
* Sender, e.g. "Name <you@your-domain.com>"
|
|
76695
|
+
* Sender on a verified domain, e.g. "Name <you@your-domain.com>"
|
|
75526
76696
|
*/
|
|
75527
76697
|
from: string
|
|
75528
76698
|
/**
|
|
75529
|
-
* HTML body
|
|
76699
|
+
* HTML body. Inline sends only — forbidden with a template.
|
|
75530
76700
|
*/
|
|
75531
76701
|
html?: string
|
|
75532
76702
|
/**
|
|
75533
|
-
* Metadata tags
|
|
76703
|
+
* Metadata tags attached to the message as `X-Tag-<name>` headers
|
|
75534
76704
|
*/
|
|
75535
76705
|
tags?: {
|
|
75536
76706
|
/**
|
|
75537
|
-
* Tag name
|
|
76707
|
+
* Tag name — printable US-ASCII without a colon; becomes the `X-Tag-<name>` header
|
|
75538
76708
|
*/
|
|
75539
76709
|
name: string
|
|
75540
76710
|
/**
|
|
75541
|
-
* Tag value
|
|
76711
|
+
* Tag value; must not contain CR or LF
|
|
75542
76712
|
*/
|
|
75543
76713
|
value: string
|
|
75544
76714
|
}[]
|
|
75545
76715
|
/**
|
|
75546
|
-
* Plain-text body; auto-derived from html if omitted
|
|
76716
|
+
* Plain-text body; auto-derived from html if omitted. Inline sends only.
|
|
75547
76717
|
*/
|
|
75548
76718
|
text?: string
|
|
75549
76719
|
/**
|
|
75550
|
-
* Custom headers
|
|
76720
|
+
* Custom MIME headers, keyed by header name
|
|
75551
76721
|
*/
|
|
75552
76722
|
headers?: {
|
|
76723
|
+
/**
|
|
76724
|
+
* Header value; must not contain CR or LF
|
|
76725
|
+
*/
|
|
75553
76726
|
[k: string]: string
|
|
75554
76727
|
}
|
|
75555
76728
|
/**
|
|
75556
|
-
*
|
|
76729
|
+
* Subject line, capped at the RFC-5322 line limit. Required for inline sends, forbidden with a template.
|
|
75557
76730
|
*/
|
|
75558
76731
|
subject?: string
|
|
75559
76732
|
/**
|
|
@@ -75569,35 +76742,44 @@ template?: {
|
|
|
75569
76742
|
*/
|
|
75570
76743
|
id: string
|
|
75571
76744
|
/**
|
|
75572
|
-
* Values for the template variables
|
|
76745
|
+
* Values for the template variables. Defaults to {}.
|
|
75573
76746
|
*/
|
|
75574
76747
|
variables?: {
|
|
75575
76748
|
[k: string]: (string | number | boolean)
|
|
75576
76749
|
}
|
|
75577
76750
|
}
|
|
75578
76751
|
/**
|
|
75579
|
-
* ISO-8601 instant to send at; future
|
|
76752
|
+
* ISO-8601 instant to send at; must be in the future and within 30 days. Omit to send now.
|
|
75580
76753
|
*/
|
|
75581
76754
|
scheduled_at?: string
|
|
75582
76755
|
}[]
|
|
75583
76756
|
}
|
|
75584
76757
|
|
|
76758
|
+
/**
|
|
76759
|
+
* One entry per submitted email, in the order they were submitted
|
|
76760
|
+
*/
|
|
75585
76761
|
export type MailEmailSendBatchOutput = {
|
|
76762
|
+
/**
|
|
76763
|
+
* Id of the accepted email
|
|
76764
|
+
*/
|
|
75586
76765
|
id: string
|
|
75587
76766
|
}[]
|
|
75588
76767
|
|
|
75589
76768
|
export interface MailEmailUpdateInput {
|
|
75590
76769
|
/**
|
|
75591
|
-
* Email id
|
|
76770
|
+
* Email id — as returned by mail_email_send
|
|
75592
76771
|
*/
|
|
75593
76772
|
id: string
|
|
75594
76773
|
/**
|
|
75595
|
-
* New ISO-8601 instant; future
|
|
76774
|
+
* New ISO-8601 instant to send at; must be in the future and within 30 days
|
|
75596
76775
|
*/
|
|
75597
76776
|
scheduled_at: string
|
|
75598
76777
|
}
|
|
75599
76778
|
|
|
75600
76779
|
export interface MailEmailUpdateOutput {
|
|
76780
|
+
/**
|
|
76781
|
+
* Id of the accepted email — pass it to mail_email_get to follow delivery
|
|
76782
|
+
*/
|
|
75601
76783
|
id: string
|
|
75602
76784
|
}
|
|
75603
76785
|
|
|
@@ -75606,116 +76788,272 @@ export interface MailReputationGetInput {
|
|
|
75606
76788
|
}
|
|
75607
76789
|
|
|
75608
76790
|
export interface MailReputationGetOutput {
|
|
76791
|
+
/**
|
|
76792
|
+
* True when sending is currently throttled because a rate crossed its threshold
|
|
76793
|
+
*/
|
|
75609
76794
|
gated: boolean
|
|
76795
|
+
/**
|
|
76796
|
+
* Emails sent in the window — the denominator of both rates
|
|
76797
|
+
*/
|
|
75610
76798
|
volume: number
|
|
76799
|
+
/**
|
|
76800
|
+
* Spam complaints in the window
|
|
76801
|
+
*/
|
|
75611
76802
|
complaints: number
|
|
76803
|
+
/**
|
|
76804
|
+
* The configured limits the rates above are compared against
|
|
76805
|
+
*/
|
|
75612
76806
|
thresholds: {
|
|
76807
|
+
/**
|
|
76808
|
+
* Emails needed in the window before either rate is acted on — below it the sample is too small to judge
|
|
76809
|
+
*/
|
|
75613
76810
|
min_volume: number
|
|
76811
|
+
/**
|
|
76812
|
+
* Ratio 0-1 at or above which sending is gated
|
|
76813
|
+
*/
|
|
75614
76814
|
complaint_rate: number
|
|
76815
|
+
/**
|
|
76816
|
+
* Ratio 0-1 at or above which sending is gated
|
|
76817
|
+
*/
|
|
75615
76818
|
hard_bounce_rate: number
|
|
75616
76819
|
}
|
|
76820
|
+
/**
|
|
76821
|
+
* Length in days of the rolling window the rates below are measured over
|
|
76822
|
+
*/
|
|
75617
76823
|
window_days: number
|
|
76824
|
+
/**
|
|
76825
|
+
* Hard bounces in the window
|
|
76826
|
+
*/
|
|
75618
76827
|
hard_bounces: number
|
|
76828
|
+
/**
|
|
76829
|
+
* Complaints divided by volume, as a ratio 0-1 (0.001 = 0.1%)
|
|
76830
|
+
*/
|
|
75619
76831
|
complaint_rate: number
|
|
75620
|
-
|
|
76832
|
+
/**
|
|
76833
|
+
* Which rate crossed its threshold, or null when nothing did
|
|
76834
|
+
*/
|
|
76835
|
+
tripped_metric: (("hard_bounce" | "complaint") | null)
|
|
76836
|
+
/**
|
|
76837
|
+
* Hard bounces divided by volume, as a ratio 0-1 (0.05 = 5%)
|
|
76838
|
+
*/
|
|
75621
76839
|
hard_bounce_rate: number
|
|
75622
76840
|
}
|
|
75623
76841
|
|
|
75624
76842
|
export interface MailStatsGetInput {
|
|
76843
|
+
/**
|
|
76844
|
+
* Rolling window the aggregation covers, ending now. Defaults to 30d.
|
|
76845
|
+
*/
|
|
75625
76846
|
period?: ("7d" | "30d" | "90d")
|
|
75626
76847
|
}
|
|
75627
76848
|
|
|
75628
76849
|
export interface MailStatsGetOutput {
|
|
76850
|
+
/**
|
|
76851
|
+
* The absolute instants the period resolved to
|
|
76852
|
+
*/
|
|
75629
76853
|
range: {
|
|
76854
|
+
/**
|
|
76855
|
+
* Exclusive end of the window (ISO-8601 instant, UTC)
|
|
76856
|
+
*/
|
|
75630
76857
|
to: string
|
|
76858
|
+
/**
|
|
76859
|
+
* Inclusive start of the window (ISO-8601 instant, UTC)
|
|
76860
|
+
*/
|
|
75631
76861
|
from: string
|
|
75632
76862
|
}
|
|
76863
|
+
/**
|
|
76864
|
+
* Percent change of each total against the immediately preceding window of the same length
|
|
76865
|
+
*/
|
|
75633
76866
|
deltas: {
|
|
76867
|
+
/**
|
|
76868
|
+
* 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
|
|
76869
|
+
*/
|
|
75634
76870
|
sent: (number | null)
|
|
76871
|
+
/**
|
|
76872
|
+
* Change in bounced against the previous window, in percent; null when the previous window was empty
|
|
76873
|
+
*/
|
|
75635
76874
|
bounced: (number | null)
|
|
76875
|
+
/**
|
|
76876
|
+
* Change in delivered against the previous window, in percent; null when the previous window was empty
|
|
76877
|
+
*/
|
|
75636
76878
|
delivered: (number | null)
|
|
76879
|
+
/**
|
|
76880
|
+
* Change in complained against the previous window, in percent; null when the previous window was empty
|
|
76881
|
+
*/
|
|
75637
76882
|
complained: (number | null)
|
|
75638
76883
|
}
|
|
75639
|
-
|
|
76884
|
+
/**
|
|
76885
|
+
* The window these numbers cover — the echo of the requested period
|
|
76886
|
+
*/
|
|
76887
|
+
period: ("7d" | "30d" | "90d")
|
|
76888
|
+
/**
|
|
76889
|
+
* Counts over the window
|
|
76890
|
+
*/
|
|
75640
76891
|
totals: {
|
|
76892
|
+
/**
|
|
76893
|
+
* Emails accepted for delivery in the window
|
|
76894
|
+
*/
|
|
75641
76895
|
sent: number
|
|
76896
|
+
/**
|
|
76897
|
+
* Emails that bounced, hard or soft
|
|
76898
|
+
*/
|
|
75642
76899
|
bounced: number
|
|
76900
|
+
/**
|
|
76901
|
+
* Emails the receiving server accepted
|
|
76902
|
+
*/
|
|
75643
76903
|
delivered: number
|
|
76904
|
+
/**
|
|
76905
|
+
* Emails a recipient marked as spam
|
|
76906
|
+
*/
|
|
75644
76907
|
complained: number
|
|
75645
76908
|
}
|
|
76909
|
+
/**
|
|
76910
|
+
* One bucket per UTC day in the window, oldest first
|
|
76911
|
+
*/
|
|
75646
76912
|
volume: {
|
|
76913
|
+
/**
|
|
76914
|
+
* The UTC day this bucket covers, as YYYY-MM-DD
|
|
76915
|
+
*/
|
|
75647
76916
|
date: string
|
|
76917
|
+
/**
|
|
76918
|
+
* Emails accepted for delivery on this day
|
|
76919
|
+
*/
|
|
75648
76920
|
sent: number
|
|
76921
|
+
/**
|
|
76922
|
+
* Emails bounced on this day
|
|
76923
|
+
*/
|
|
75649
76924
|
bounced: number
|
|
76925
|
+
/**
|
|
76926
|
+
* Emails delivered on this day
|
|
76927
|
+
*/
|
|
75650
76928
|
delivered: number
|
|
75651
76929
|
}[]
|
|
76930
|
+
/**
|
|
76931
|
+
* The three rates senders are judged on, as percentages of sent
|
|
76932
|
+
*/
|
|
75652
76933
|
deliverability: {
|
|
76934
|
+
/**
|
|
76935
|
+
* Bounced as a percentage of sent (0-100)
|
|
76936
|
+
*/
|
|
75653
76937
|
bouncedPct: number
|
|
76938
|
+
/**
|
|
76939
|
+
* Delivered as a percentage of sent (0-100)
|
|
76940
|
+
*/
|
|
75654
76941
|
deliveredPct: number
|
|
76942
|
+
/**
|
|
76943
|
+
* Complaints as a percentage of sent (0-100)
|
|
76944
|
+
*/
|
|
75655
76945
|
complainedPct: number
|
|
75656
76946
|
}
|
|
75657
76947
|
}
|
|
75658
76948
|
|
|
75659
76949
|
export interface MailSuppressionAddInput {
|
|
75660
76950
|
/**
|
|
75661
|
-
* Optional free-text note
|
|
76951
|
+
* Optional free-text note explaining why the address was suppressed
|
|
75662
76952
|
*/
|
|
75663
76953
|
note?: string
|
|
75664
76954
|
/**
|
|
75665
|
-
* Email address to suppress
|
|
76955
|
+
* Email address to suppress, e.g. "user@example.com"; matched case-insensitively
|
|
75666
76956
|
*/
|
|
75667
76957
|
address: string
|
|
75668
76958
|
}
|
|
75669
76959
|
|
|
75670
76960
|
export interface MailSuppressionAddOutput {
|
|
76961
|
+
/**
|
|
76962
|
+
* Suppression entry id
|
|
76963
|
+
*/
|
|
75671
76964
|
id: string
|
|
76965
|
+
/**
|
|
76966
|
+
* Free-text note recorded when the entry was added by hand; null otherwise
|
|
76967
|
+
*/
|
|
75672
76968
|
note: (string | null)
|
|
75673
|
-
|
|
76969
|
+
/**
|
|
76970
|
+
* Why the address is suppressed: hard_bounce and complaint come from SES feedback, unsubscribe from the recipient, manual from mail_suppression_add
|
|
76971
|
+
*/
|
|
76972
|
+
reason: ("hard_bounce" | "complaint" | "manual" | "unsubscribe")
|
|
76973
|
+
/**
|
|
76974
|
+
* The suppressed recipient address, lowercased and trimmed
|
|
76975
|
+
*/
|
|
75674
76976
|
address: string
|
|
76977
|
+
/**
|
|
76978
|
+
* When the address was suppressed (ISO 8601 UTC)
|
|
76979
|
+
*/
|
|
75675
76980
|
created_at: string
|
|
76981
|
+
/**
|
|
76982
|
+
* Id of the email event that caused the suppression; null for a manual entry
|
|
76983
|
+
*/
|
|
75676
76984
|
source_event_id: (string | null)
|
|
75677
76985
|
}
|
|
75678
76986
|
|
|
75679
76987
|
export interface MailSuppressionListInput {
|
|
75680
76988
|
/**
|
|
75681
|
-
* Case-insensitive substring match on address
|
|
76989
|
+
* Case-insensitive substring match on the address; omit for no address filter
|
|
75682
76990
|
*/
|
|
75683
76991
|
q?: string
|
|
75684
76992
|
/**
|
|
75685
|
-
* Max
|
|
76993
|
+
* Max entries per page, 1-100 (default 50)
|
|
75686
76994
|
*/
|
|
75687
76995
|
limit?: number
|
|
75688
76996
|
/**
|
|
75689
|
-
* Opaque pagination cursor from a prior page
|
|
76997
|
+
* Opaque pagination cursor from a prior page's next_cursor; omit for the first page
|
|
75690
76998
|
*/
|
|
75691
76999
|
cursor?: string
|
|
75692
77000
|
/**
|
|
75693
|
-
*
|
|
77001
|
+
* Only return entries suppressed for this reason; omit for every reason
|
|
75694
77002
|
*/
|
|
75695
77003
|
reason?: ("hard_bounce" | "complaint" | "manual" | "unsubscribe")
|
|
75696
77004
|
}
|
|
75697
77005
|
|
|
75698
77006
|
export interface MailSuppressionListOutput {
|
|
77007
|
+
/**
|
|
77008
|
+
* This page of suppression entries, newest first
|
|
77009
|
+
*/
|
|
75699
77010
|
items: {
|
|
77011
|
+
/**
|
|
77012
|
+
* Suppression entry id
|
|
77013
|
+
*/
|
|
75700
77014
|
id: string
|
|
77015
|
+
/**
|
|
77016
|
+
* Free-text note recorded when the entry was added by hand; null otherwise
|
|
77017
|
+
*/
|
|
75701
77018
|
note: (string | null)
|
|
75702
|
-
|
|
77019
|
+
/**
|
|
77020
|
+
* Why the address is suppressed: hard_bounce and complaint come from SES feedback, unsubscribe from the recipient, manual from mail_suppression_add
|
|
77021
|
+
*/
|
|
77022
|
+
reason: ("hard_bounce" | "complaint" | "manual" | "unsubscribe")
|
|
77023
|
+
/**
|
|
77024
|
+
* The suppressed recipient address, lowercased and trimmed
|
|
77025
|
+
*/
|
|
75703
77026
|
address: string
|
|
77027
|
+
/**
|
|
77028
|
+
* When the address was suppressed (ISO 8601 UTC)
|
|
77029
|
+
*/
|
|
75704
77030
|
created_at: string
|
|
77031
|
+
/**
|
|
77032
|
+
* Id of the email event that caused the suppression; null for a manual entry
|
|
77033
|
+
*/
|
|
75705
77034
|
source_event_id: (string | null)
|
|
75706
77035
|
}[]
|
|
77036
|
+
/**
|
|
77037
|
+
* Opaque cursor to pass back as `cursor` for the next page; null on the last page
|
|
77038
|
+
*/
|
|
75707
77039
|
next_cursor: (string | null)
|
|
75708
77040
|
}
|
|
75709
77041
|
|
|
75710
77042
|
export interface MailSuppressionRemoveInput {
|
|
75711
77043
|
/**
|
|
75712
|
-
* Email address to remove from the suppression list
|
|
77044
|
+
* Email address to remove from the suppression list; matched case-insensitively
|
|
75713
77045
|
*/
|
|
75714
77046
|
address: string
|
|
75715
77047
|
}
|
|
75716
77048
|
|
|
75717
77049
|
export interface MailSuppressionRemoveOutput {
|
|
77050
|
+
/**
|
|
77051
|
+
* The address the removal was attempted for, as normalized
|
|
77052
|
+
*/
|
|
75718
77053
|
address: string
|
|
77054
|
+
/**
|
|
77055
|
+
* True if an entry was removed; false if the address was not suppressed (the call is idempotent)
|
|
77056
|
+
*/
|
|
75719
77057
|
removed: boolean
|
|
75720
77058
|
}
|
|
75721
77059
|
|
|
@@ -79315,18 +80653,57 @@ optional?: boolean
|
|
|
79315
80653
|
}
|
|
79316
80654
|
|
|
79317
80655
|
export interface MailTemplateCreateOutput {
|
|
80656
|
+
/**
|
|
80657
|
+
* Template id
|
|
80658
|
+
*/
|
|
79318
80659
|
id: string
|
|
80660
|
+
/**
|
|
80661
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
80662
|
+
*/
|
|
79319
80663
|
html: string
|
|
80664
|
+
/**
|
|
80665
|
+
* Human label for the template
|
|
80666
|
+
*/
|
|
79320
80667
|
name: string
|
|
80668
|
+
/**
|
|
80669
|
+
* Plaintext body; null when none was supplied
|
|
80670
|
+
*/
|
|
79321
80671
|
text: (string | null)
|
|
79322
|
-
|
|
80672
|
+
/**
|
|
80673
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
80674
|
+
*/
|
|
80675
|
+
status: ("draft" | "published")
|
|
80676
|
+
/**
|
|
80677
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
80678
|
+
*/
|
|
79323
80679
|
subject: string
|
|
80680
|
+
/**
|
|
80681
|
+
* When the template was created (ISO 8601 UTC)
|
|
80682
|
+
*/
|
|
79324
80683
|
createdAt: string
|
|
80684
|
+
/**
|
|
80685
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
80686
|
+
*/
|
|
79325
80687
|
updatedAt: string
|
|
80688
|
+
/**
|
|
80689
|
+
* Declared variables of this template (at most 20)
|
|
80690
|
+
*/
|
|
79326
80691
|
variables: {
|
|
80692
|
+
/**
|
|
80693
|
+
* Placeholder identifier used as {{ name }}
|
|
80694
|
+
*/
|
|
79327
80695
|
name: string
|
|
79328
|
-
|
|
80696
|
+
/**
|
|
80697
|
+
* Declared type (metadata; rendered as string in v1)
|
|
80698
|
+
*/
|
|
80699
|
+
type: ("string" | "number" | "boolean")
|
|
80700
|
+
/**
|
|
80701
|
+
* Value used when none is supplied
|
|
80702
|
+
*/
|
|
79329
80703
|
fallback?: string
|
|
80704
|
+
/**
|
|
80705
|
+
* If true, an absent value renders as empty string
|
|
80706
|
+
*/
|
|
79330
80707
|
optional: boolean
|
|
79331
80708
|
}[]
|
|
79332
80709
|
}
|
|
@@ -79339,6 +80716,9 @@ id: string
|
|
|
79339
80716
|
}
|
|
79340
80717
|
|
|
79341
80718
|
export interface MailTemplateDeleteOutput {
|
|
80719
|
+
/**
|
|
80720
|
+
* True once the template is gone
|
|
80721
|
+
*/
|
|
79342
80722
|
deleted: boolean
|
|
79343
80723
|
}
|
|
79344
80724
|
|
|
@@ -79350,22 +80730,70 @@ id: string
|
|
|
79350
80730
|
}
|
|
79351
80731
|
|
|
79352
80732
|
export interface MailTemplateGetOutput {
|
|
80733
|
+
/**
|
|
80734
|
+
* Template id
|
|
80735
|
+
*/
|
|
79353
80736
|
id: string
|
|
80737
|
+
/**
|
|
80738
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
80739
|
+
*/
|
|
79354
80740
|
html: string
|
|
80741
|
+
/**
|
|
80742
|
+
* Human label for the template
|
|
80743
|
+
*/
|
|
79355
80744
|
name: string
|
|
80745
|
+
/**
|
|
80746
|
+
* Plaintext body; null when none was supplied
|
|
80747
|
+
*/
|
|
79356
80748
|
text: (string | null)
|
|
80749
|
+
/**
|
|
80750
|
+
* Send-usage rollup for this template
|
|
80751
|
+
*/
|
|
79357
80752
|
usage: {
|
|
80753
|
+
/**
|
|
80754
|
+
* How many emails were sent from this template
|
|
80755
|
+
*/
|
|
79358
80756
|
email_count: number
|
|
80757
|
+
/**
|
|
80758
|
+
* When the template was last sent from (ISO 8601 UTC); null if never
|
|
80759
|
+
*/
|
|
79359
80760
|
last_sent_at: (string | null)
|
|
79360
80761
|
}
|
|
79361
|
-
|
|
80762
|
+
/**
|
|
80763
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
80764
|
+
*/
|
|
80765
|
+
status: ("draft" | "published")
|
|
80766
|
+
/**
|
|
80767
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
80768
|
+
*/
|
|
79362
80769
|
subject: string
|
|
80770
|
+
/**
|
|
80771
|
+
* When the template was created (ISO 8601 UTC)
|
|
80772
|
+
*/
|
|
79363
80773
|
createdAt: string
|
|
80774
|
+
/**
|
|
80775
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
80776
|
+
*/
|
|
79364
80777
|
updatedAt: string
|
|
80778
|
+
/**
|
|
80779
|
+
* Declared variables of this template (at most 20)
|
|
80780
|
+
*/
|
|
79365
80781
|
variables: {
|
|
80782
|
+
/**
|
|
80783
|
+
* Placeholder identifier used as {{ name }}
|
|
80784
|
+
*/
|
|
79366
80785
|
name: string
|
|
79367
|
-
|
|
80786
|
+
/**
|
|
80787
|
+
* Declared type (metadata; rendered as string in v1)
|
|
80788
|
+
*/
|
|
80789
|
+
type: ("string" | "number" | "boolean")
|
|
80790
|
+
/**
|
|
80791
|
+
* Value used when none is supplied
|
|
80792
|
+
*/
|
|
79368
80793
|
fallback?: string
|
|
80794
|
+
/**
|
|
80795
|
+
* If true, an absent value renders as empty string
|
|
80796
|
+
*/
|
|
79369
80797
|
optional: boolean
|
|
79370
80798
|
}[]
|
|
79371
80799
|
}
|
|
@@ -79375,18 +80803,57 @@ export interface MailTemplateListInput {
|
|
|
79375
80803
|
}
|
|
79376
80804
|
|
|
79377
80805
|
export type MailTemplateListOutput = {
|
|
80806
|
+
/**
|
|
80807
|
+
* Template id
|
|
80808
|
+
*/
|
|
79378
80809
|
id: string
|
|
80810
|
+
/**
|
|
80811
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
80812
|
+
*/
|
|
79379
80813
|
html: string
|
|
80814
|
+
/**
|
|
80815
|
+
* Human label for the template
|
|
80816
|
+
*/
|
|
79380
80817
|
name: string
|
|
80818
|
+
/**
|
|
80819
|
+
* Plaintext body; null when none was supplied
|
|
80820
|
+
*/
|
|
79381
80821
|
text: (string | null)
|
|
79382
|
-
|
|
80822
|
+
/**
|
|
80823
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
80824
|
+
*/
|
|
80825
|
+
status: ("draft" | "published")
|
|
80826
|
+
/**
|
|
80827
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
80828
|
+
*/
|
|
79383
80829
|
subject: string
|
|
80830
|
+
/**
|
|
80831
|
+
* When the template was created (ISO 8601 UTC)
|
|
80832
|
+
*/
|
|
79384
80833
|
createdAt: string
|
|
80834
|
+
/**
|
|
80835
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
80836
|
+
*/
|
|
79385
80837
|
updatedAt: string
|
|
80838
|
+
/**
|
|
80839
|
+
* Declared variables of this template (at most 20)
|
|
80840
|
+
*/
|
|
79386
80841
|
variables: {
|
|
80842
|
+
/**
|
|
80843
|
+
* Placeholder identifier used as {{ name }}
|
|
80844
|
+
*/
|
|
79387
80845
|
name: string
|
|
79388
|
-
|
|
80846
|
+
/**
|
|
80847
|
+
* Declared type (metadata; rendered as string in v1)
|
|
80848
|
+
*/
|
|
80849
|
+
type: ("string" | "number" | "boolean")
|
|
80850
|
+
/**
|
|
80851
|
+
* Value used when none is supplied
|
|
80852
|
+
*/
|
|
79389
80853
|
fallback?: string
|
|
80854
|
+
/**
|
|
80855
|
+
* If true, an absent value renders as empty string
|
|
80856
|
+
*/
|
|
79390
80857
|
optional: boolean
|
|
79391
80858
|
}[]
|
|
79392
80859
|
}[]
|
|
@@ -79399,18 +80866,57 @@ id: string
|
|
|
79399
80866
|
}
|
|
79400
80867
|
|
|
79401
80868
|
export interface MailTemplatePublishOutput {
|
|
80869
|
+
/**
|
|
80870
|
+
* Template id
|
|
80871
|
+
*/
|
|
79402
80872
|
id: string
|
|
80873
|
+
/**
|
|
80874
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
80875
|
+
*/
|
|
79403
80876
|
html: string
|
|
80877
|
+
/**
|
|
80878
|
+
* Human label for the template
|
|
80879
|
+
*/
|
|
79404
80880
|
name: string
|
|
80881
|
+
/**
|
|
80882
|
+
* Plaintext body; null when none was supplied
|
|
80883
|
+
*/
|
|
79405
80884
|
text: (string | null)
|
|
79406
|
-
|
|
80885
|
+
/**
|
|
80886
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
80887
|
+
*/
|
|
80888
|
+
status: ("draft" | "published")
|
|
80889
|
+
/**
|
|
80890
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
80891
|
+
*/
|
|
79407
80892
|
subject: string
|
|
80893
|
+
/**
|
|
80894
|
+
* When the template was created (ISO 8601 UTC)
|
|
80895
|
+
*/
|
|
79408
80896
|
createdAt: string
|
|
80897
|
+
/**
|
|
80898
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
80899
|
+
*/
|
|
79409
80900
|
updatedAt: string
|
|
80901
|
+
/**
|
|
80902
|
+
* Declared variables of this template (at most 20)
|
|
80903
|
+
*/
|
|
79410
80904
|
variables: {
|
|
80905
|
+
/**
|
|
80906
|
+
* Placeholder identifier used as {{ name }}
|
|
80907
|
+
*/
|
|
79411
80908
|
name: string
|
|
79412
|
-
|
|
80909
|
+
/**
|
|
80910
|
+
* Declared type (metadata; rendered as string in v1)
|
|
80911
|
+
*/
|
|
80912
|
+
type: ("string" | "number" | "boolean")
|
|
80913
|
+
/**
|
|
80914
|
+
* Value used when none is supplied
|
|
80915
|
+
*/
|
|
79413
80916
|
fallback?: string
|
|
80917
|
+
/**
|
|
80918
|
+
* If true, an absent value renders as empty string
|
|
80919
|
+
*/
|
|
79414
80920
|
optional: boolean
|
|
79415
80921
|
}[]
|
|
79416
80922
|
}
|
|
@@ -79420,11 +80926,25 @@ export interface MailTemplateUpdateInput {
|
|
|
79420
80926
|
* Template id
|
|
79421
80927
|
*/
|
|
79422
80928
|
id: string
|
|
80929
|
+
/**
|
|
80930
|
+
* New HTML body; unchanged when omitted
|
|
80931
|
+
*/
|
|
79423
80932
|
html?: string
|
|
80933
|
+
/**
|
|
80934
|
+
* New human label; unchanged when omitted
|
|
80935
|
+
*/
|
|
79424
80936
|
name?: string
|
|
80937
|
+
/**
|
|
80938
|
+
* New plaintext body; null clears it and it is re-derived from html. Unchanged when omitted
|
|
80939
|
+
*/
|
|
79425
80940
|
text?: (string | null)
|
|
80941
|
+
/**
|
|
80942
|
+
* New email subject; may contain {{ variable }} placeholders. Unchanged when omitted
|
|
80943
|
+
*/
|
|
79426
80944
|
subject?: string
|
|
79427
80945
|
/**
|
|
80946
|
+
* Replacement list of declared variables ([{name,type,optional,fallback}], <=20). Unchanged when omitted
|
|
80947
|
+
*
|
|
79428
80948
|
* @maxItems 20
|
|
79429
80949
|
*/
|
|
79430
80950
|
variables?: []|[{
|
|
@@ -83001,18 +84521,57 @@ optional?: boolean
|
|
|
83001
84521
|
}
|
|
83002
84522
|
|
|
83003
84523
|
export interface MailTemplateUpdateOutput {
|
|
84524
|
+
/**
|
|
84525
|
+
* Template id
|
|
84526
|
+
*/
|
|
83004
84527
|
id: string
|
|
84528
|
+
/**
|
|
84529
|
+
* HTML body; may contain {{ variable }} placeholders
|
|
84530
|
+
*/
|
|
83005
84531
|
html: string
|
|
84532
|
+
/**
|
|
84533
|
+
* Human label for the template
|
|
84534
|
+
*/
|
|
83006
84535
|
name: string
|
|
84536
|
+
/**
|
|
84537
|
+
* Plaintext body; null when none was supplied
|
|
84538
|
+
*/
|
|
83007
84539
|
text: (string | null)
|
|
83008
|
-
|
|
84540
|
+
/**
|
|
84541
|
+
* Lifecycle status: a draft is editable, a published template is not
|
|
84542
|
+
*/
|
|
84543
|
+
status: ("draft" | "published")
|
|
84544
|
+
/**
|
|
84545
|
+
* Email subject; may contain {{ variable }} placeholders
|
|
84546
|
+
*/
|
|
83009
84547
|
subject: string
|
|
84548
|
+
/**
|
|
84549
|
+
* When the template was created (ISO 8601 UTC)
|
|
84550
|
+
*/
|
|
83010
84551
|
createdAt: string
|
|
84552
|
+
/**
|
|
84553
|
+
* When the template was last modified (ISO 8601 UTC)
|
|
84554
|
+
*/
|
|
83011
84555
|
updatedAt: string
|
|
84556
|
+
/**
|
|
84557
|
+
* Declared variables of this template (at most 20)
|
|
84558
|
+
*/
|
|
83012
84559
|
variables: {
|
|
84560
|
+
/**
|
|
84561
|
+
* Placeholder identifier used as {{ name }}
|
|
84562
|
+
*/
|
|
83013
84563
|
name: string
|
|
83014
|
-
|
|
84564
|
+
/**
|
|
84565
|
+
* Declared type (metadata; rendered as string in v1)
|
|
84566
|
+
*/
|
|
84567
|
+
type: ("string" | "number" | "boolean")
|
|
84568
|
+
/**
|
|
84569
|
+
* Value used when none is supplied
|
|
84570
|
+
*/
|
|
83015
84571
|
fallback?: string
|
|
84572
|
+
/**
|
|
84573
|
+
* If true, an absent value renders as empty string
|
|
84574
|
+
*/
|
|
83016
84575
|
optional: boolean
|
|
83017
84576
|
}[]
|
|
83018
84577
|
}
|
|
@@ -83022,37 +84581,88 @@ export interface MailUsageGetInput {
|
|
|
83022
84581
|
}
|
|
83023
84582
|
|
|
83024
84583
|
export interface MailUsageGetOutput {
|
|
84584
|
+
/**
|
|
84585
|
+
* Email sending usage against the free-tier limits
|
|
84586
|
+
*/
|
|
83025
84587
|
emails: {
|
|
83026
|
-
|
|
83027
|
-
|
|
84588
|
+
/**
|
|
84589
|
+
* Sending allowance today (UTC)
|
|
84590
|
+
*/
|
|
84591
|
+
day: {
|
|
84592
|
+
/**
|
|
84593
|
+
* Emails accepted for delivery so far today (UTC)
|
|
84594
|
+
*/
|
|
84595
|
+
used: number
|
|
84596
|
+
/**
|
|
84597
|
+
* Free-tier allowance today (UTC)
|
|
84598
|
+
*/
|
|
84599
|
+
limit: number
|
|
84600
|
+
/**
|
|
84601
|
+
* Allowance left today (UTC) — limit minus used, never below zero
|
|
84602
|
+
*/
|
|
84603
|
+
remaining: number
|
|
84604
|
+
}
|
|
84605
|
+
/**
|
|
84606
|
+
* Sending allowance this month (UTC)
|
|
84607
|
+
*/
|
|
84608
|
+
month: {
|
|
84609
|
+
/**
|
|
84610
|
+
* Emails accepted for delivery so far this month (UTC)
|
|
84611
|
+
*/
|
|
84612
|
+
used: number
|
|
84613
|
+
/**
|
|
84614
|
+
* Free-tier allowance this month (UTC)
|
|
84615
|
+
*/
|
|
84616
|
+
limit: number
|
|
84617
|
+
/**
|
|
84618
|
+
* Allowance left this month (UTC) — limit minus used, never below zero
|
|
84619
|
+
*/
|
|
84620
|
+
remaining: number
|
|
84621
|
+
}
|
|
84622
|
+
/**
|
|
84623
|
+
* True when a further send would be refused right now because a limit or the hard cap is reached
|
|
84624
|
+
*/
|
|
83028
84625
|
blocked: boolean
|
|
84626
|
+
/**
|
|
84627
|
+
* Monthly ceiling that cannot be exceeded even with an allowance left elsewhere
|
|
84628
|
+
*/
|
|
83029
84629
|
hard_cap: number
|
|
83030
84630
|
}
|
|
84631
|
+
/**
|
|
84632
|
+
* The two windows the counters below are scoped to
|
|
84633
|
+
*/
|
|
83031
84634
|
period: {
|
|
84635
|
+
/**
|
|
84636
|
+
* The UTC day the daily counters cover, as YYYY-MM-DD
|
|
84637
|
+
*/
|
|
83032
84638
|
day: string
|
|
84639
|
+
/**
|
|
84640
|
+
* The UTC month the monthly counters cover, as YYYY-MM
|
|
84641
|
+
*/
|
|
83033
84642
|
month: string
|
|
83034
84643
|
}
|
|
84644
|
+
/**
|
|
84645
|
+
* Point-in-time contact storage — a stock, not a per-period flow
|
|
84646
|
+
*/
|
|
83035
84647
|
contacts: {
|
|
84648
|
+
/**
|
|
84649
|
+
* Contacts stored for the product at this instant
|
|
84650
|
+
*/
|
|
83036
84651
|
count: number
|
|
83037
84652
|
}
|
|
83038
84653
|
}
|
|
83039
|
-
export interface MailUsageGetOutputDay {
|
|
83040
|
-
used: number
|
|
83041
|
-
limit: number
|
|
83042
|
-
remaining: number
|
|
83043
|
-
}
|
|
83044
84654
|
|
|
83045
84655
|
export interface MailWebhookCreateInput {
|
|
83046
84656
|
/**
|
|
83047
|
-
* HTTPS URL that signed events are POSTed to
|
|
84657
|
+
* HTTPS URL that signed events are POSTed to; plain http is rejected
|
|
83048
84658
|
*/
|
|
83049
84659
|
url: string
|
|
83050
84660
|
/**
|
|
83051
|
-
* Optional human label
|
|
84661
|
+
* Optional human label for the endpoint, e.g. "billing service"
|
|
83052
84662
|
*/
|
|
83053
84663
|
description?: string
|
|
83054
84664
|
/**
|
|
83055
|
-
* Event types to deliver. One or more of: email.delivered, email.bounced, email.complained, email.suppressed, email.opened, email.clicked
|
|
84665
|
+
* Event types to deliver; at least one. One or more of: email.delivered, email.bounced, email.complained, email.suppressed, email.opened, email.clicked
|
|
83056
84666
|
*
|
|
83057
84667
|
* @minItems 1
|
|
83058
84668
|
*/
|
|
@@ -83060,50 +84670,116 @@ enabled_events: [("email.delivered" | "email.bounced" | "email.complained" | "em
|
|
|
83060
84670
|
}
|
|
83061
84671
|
|
|
83062
84672
|
export interface MailWebhookCreateOutput {
|
|
84673
|
+
/**
|
|
84674
|
+
* Webhook endpoint id
|
|
84675
|
+
*/
|
|
83063
84676
|
id: string
|
|
84677
|
+
/**
|
|
84678
|
+
* HTTPS URL that signed events are POSTed to
|
|
84679
|
+
*/
|
|
83064
84680
|
url: string
|
|
84681
|
+
/**
|
|
84682
|
+
* Signing secret for verifying the delivery signature. Returned only when the endpoint is created and never retrievable again — store it now
|
|
84683
|
+
*/
|
|
83065
84684
|
secret: string
|
|
84685
|
+
/**
|
|
84686
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
84687
|
+
*/
|
|
83066
84688
|
enabled: boolean
|
|
84689
|
+
/**
|
|
84690
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
84691
|
+
*/
|
|
83067
84692
|
created_at: string
|
|
84693
|
+
/**
|
|
84694
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
84695
|
+
*/
|
|
83068
84696
|
updated_at: string
|
|
84697
|
+
/**
|
|
84698
|
+
* Human label for the endpoint; null if none was given
|
|
84699
|
+
*/
|
|
83069
84700
|
description: (string | null)
|
|
83070
|
-
|
|
84701
|
+
/**
|
|
84702
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
84703
|
+
*/
|
|
84704
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83071
84705
|
}
|
|
83072
84706
|
|
|
83073
84707
|
export interface MailWebhookDeleteInput {
|
|
83074
84708
|
/**
|
|
83075
|
-
* Webhook endpoint id
|
|
84709
|
+
* Webhook endpoint id; deleting it also discards its delivery history
|
|
83076
84710
|
*/
|
|
83077
84711
|
id: string
|
|
83078
84712
|
}
|
|
83079
84713
|
|
|
83080
84714
|
export interface MailWebhookDeleteOutput {
|
|
84715
|
+
/**
|
|
84716
|
+
* Id of the endpoint that was deleted
|
|
84717
|
+
*/
|
|
83081
84718
|
id: string
|
|
84719
|
+
/**
|
|
84720
|
+
* True once the endpoint and its delivery history are gone
|
|
84721
|
+
*/
|
|
83082
84722
|
deleted: boolean
|
|
83083
84723
|
}
|
|
83084
84724
|
|
|
83085
84725
|
export interface MailWebhookDeliveriesListInput {
|
|
83086
84726
|
/**
|
|
83087
|
-
* Webhook endpoint
|
|
84727
|
+
* Webhook endpoint whose delivery attempts to list
|
|
83088
84728
|
*/
|
|
83089
84729
|
id: string
|
|
83090
84730
|
/**
|
|
83091
|
-
* Max
|
|
84731
|
+
* Max delivery attempts to return, 1-100 (default 50)
|
|
83092
84732
|
*/
|
|
83093
84733
|
limit?: number
|
|
83094
84734
|
}
|
|
83095
84735
|
|
|
84736
|
+
/**
|
|
84737
|
+
* Recent delivery attempts for the endpoint, newest first
|
|
84738
|
+
*/
|
|
83096
84739
|
export type MailWebhookDeliveriesListOutput = {
|
|
84740
|
+
/**
|
|
84741
|
+
* Delivery attempt id
|
|
84742
|
+
*/
|
|
83097
84743
|
id: string
|
|
83098
|
-
|
|
84744
|
+
/**
|
|
84745
|
+
* Delivery state: pending while attempts remain, succeeded once the endpoint answered 2xx, failed once retries are exhausted
|
|
84746
|
+
*/
|
|
84747
|
+
status: ("pending" | "succeeded" | "failed")
|
|
84748
|
+
/**
|
|
84749
|
+
* How many times delivery has been attempted so far
|
|
84750
|
+
*/
|
|
83099
84751
|
attempts: number
|
|
84752
|
+
/**
|
|
84753
|
+
* Id of the email event that was delivered
|
|
84754
|
+
*/
|
|
83100
84755
|
event_id: string
|
|
84756
|
+
/**
|
|
84757
|
+
* When the delivery was queued (ISO 8601 UTC)
|
|
84758
|
+
*/
|
|
83101
84759
|
created_at: string
|
|
83102
|
-
|
|
84760
|
+
/**
|
|
84761
|
+
* Type of the delivered event
|
|
84762
|
+
*/
|
|
84763
|
+
event_type: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")
|
|
84764
|
+
/**
|
|
84765
|
+
* Error from the last failed attempt; null if the last attempt succeeded or none has run
|
|
84766
|
+
*/
|
|
83103
84767
|
last_error: (string | null)
|
|
84768
|
+
/**
|
|
84769
|
+
* When the delivery record was last updated (ISO 8601 UTC)
|
|
84770
|
+
*/
|
|
83104
84771
|
updated_at: string
|
|
84772
|
+
/**
|
|
84773
|
+
* Id of the webhook endpoint the event was delivered to
|
|
84774
|
+
*/
|
|
83105
84775
|
endpoint_id: string
|
|
84776
|
+
/**
|
|
84777
|
+
* When delivery was last attempted (ISO 8601 UTC); null before the first attempt
|
|
84778
|
+
*/
|
|
83106
84779
|
last_attempt_at: (string | null)
|
|
84780
|
+
/**
|
|
84781
|
+
* HTTP status the endpoint returned on the last attempt; null if it could not be reached
|
|
84782
|
+
*/
|
|
83107
84783
|
response_status: (number | null)
|
|
83108
84784
|
}[]
|
|
83109
84785
|
|
|
@@ -83115,27 +84791,72 @@ id: string
|
|
|
83115
84791
|
}
|
|
83116
84792
|
|
|
83117
84793
|
export interface MailWebhookGetOutput {
|
|
84794
|
+
/**
|
|
84795
|
+
* Webhook endpoint id
|
|
84796
|
+
*/
|
|
83118
84797
|
id: string
|
|
84798
|
+
/**
|
|
84799
|
+
* HTTPS URL that signed events are POSTed to
|
|
84800
|
+
*/
|
|
83119
84801
|
url: string
|
|
84802
|
+
/**
|
|
84803
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
84804
|
+
*/
|
|
83120
84805
|
enabled: boolean
|
|
84806
|
+
/**
|
|
84807
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
84808
|
+
*/
|
|
83121
84809
|
created_at: string
|
|
84810
|
+
/**
|
|
84811
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
84812
|
+
*/
|
|
83122
84813
|
updated_at: string
|
|
84814
|
+
/**
|
|
84815
|
+
* Human label for the endpoint; null if none was given
|
|
84816
|
+
*/
|
|
83123
84817
|
description: (string | null)
|
|
83124
|
-
|
|
84818
|
+
/**
|
|
84819
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
84820
|
+
*/
|
|
84821
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83125
84822
|
}
|
|
83126
84823
|
|
|
83127
84824
|
export interface MailWebhookListInput {
|
|
83128
84825
|
|
|
83129
84826
|
}
|
|
83130
84827
|
|
|
84828
|
+
/**
|
|
84829
|
+
* Webhook endpoints for the current product, signing secrets omitted
|
|
84830
|
+
*/
|
|
83131
84831
|
export type MailWebhookListOutput = {
|
|
84832
|
+
/**
|
|
84833
|
+
* Webhook endpoint id
|
|
84834
|
+
*/
|
|
83132
84835
|
id: string
|
|
84836
|
+
/**
|
|
84837
|
+
* HTTPS URL that signed events are POSTed to
|
|
84838
|
+
*/
|
|
83133
84839
|
url: string
|
|
84840
|
+
/**
|
|
84841
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
84842
|
+
*/
|
|
83134
84843
|
enabled: boolean
|
|
84844
|
+
/**
|
|
84845
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
84846
|
+
*/
|
|
83135
84847
|
created_at: string
|
|
84848
|
+
/**
|
|
84849
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
84850
|
+
*/
|
|
83136
84851
|
updated_at: string
|
|
84852
|
+
/**
|
|
84853
|
+
* Human label for the endpoint; null if none was given
|
|
84854
|
+
*/
|
|
83137
84855
|
description: (string | null)
|
|
83138
|
-
|
|
84856
|
+
/**
|
|
84857
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
84858
|
+
*/
|
|
84859
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83139
84860
|
}[]
|
|
83140
84861
|
|
|
83141
84862
|
export interface MailWebhookUpdateInput {
|
|
@@ -83144,19 +84865,19 @@ export interface MailWebhookUpdateInput {
|
|
|
83144
84865
|
*/
|
|
83145
84866
|
id: string
|
|
83146
84867
|
/**
|
|
83147
|
-
* HTTPS URL
|
|
84868
|
+
* New HTTPS delivery URL; omit to leave it unchanged
|
|
83148
84869
|
*/
|
|
83149
84870
|
url?: string
|
|
83150
84871
|
/**
|
|
83151
|
-
*
|
|
84872
|
+
* Switch delivery on (true) or off (false); omit to leave it unchanged
|
|
83152
84873
|
*/
|
|
83153
84874
|
enabled?: boolean
|
|
83154
84875
|
/**
|
|
83155
|
-
*
|
|
84876
|
+
* New human label, or null to clear it; omit to leave it unchanged
|
|
83156
84877
|
*/
|
|
83157
84878
|
description?: (string | null)
|
|
83158
84879
|
/**
|
|
83159
|
-
*
|
|
84880
|
+
* Replace the delivered event types; omit to leave them unchanged
|
|
83160
84881
|
*
|
|
83161
84882
|
* @minItems 1
|
|
83162
84883
|
*/
|
|
@@ -83164,13 +84885,34 @@ enabled_events?: [("email.delivered" | "email.bounced" | "email.complained" | "e
|
|
|
83164
84885
|
}
|
|
83165
84886
|
|
|
83166
84887
|
export interface MailWebhookUpdateOutput {
|
|
84888
|
+
/**
|
|
84889
|
+
* Webhook endpoint id
|
|
84890
|
+
*/
|
|
83167
84891
|
id: string
|
|
84892
|
+
/**
|
|
84893
|
+
* HTTPS URL that signed events are POSTed to
|
|
84894
|
+
*/
|
|
83168
84895
|
url: string
|
|
84896
|
+
/**
|
|
84897
|
+
* False if delivery is switched off — the endpoint is kept but nothing is sent to it
|
|
84898
|
+
*/
|
|
83169
84899
|
enabled: boolean
|
|
84900
|
+
/**
|
|
84901
|
+
* When the endpoint was registered (ISO 8601 UTC)
|
|
84902
|
+
*/
|
|
83170
84903
|
created_at: string
|
|
84904
|
+
/**
|
|
84905
|
+
* When the endpoint was last changed (ISO 8601 UTC)
|
|
84906
|
+
*/
|
|
83171
84907
|
updated_at: string
|
|
84908
|
+
/**
|
|
84909
|
+
* Human label for the endpoint; null if none was given
|
|
84910
|
+
*/
|
|
83172
84911
|
description: (string | null)
|
|
83173
|
-
|
|
84912
|
+
/**
|
|
84913
|
+
* Event types this endpoint receives; anything else is not delivered to it
|
|
84914
|
+
*/
|
|
84915
|
+
enabled_events: ("email.delivered" | "email.bounced" | "email.complained" | "email.suppressed" | "email.opened" | "email.clicked")[]
|
|
83174
84916
|
}
|
|
83175
84917
|
|
|
83176
84918
|
export interface ObserveAlertsCreateInput {
|