domani 1.0.1 → 1.0.3
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/index.d.ts +1115 -65
- package/dist/index.js +256 -4
- package/package.json +19 -6
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface Error {
|
|
|
18
18
|
/** Human-readable error message */
|
|
19
19
|
error: string;
|
|
20
20
|
/** Machine-readable error code */
|
|
21
|
-
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "EXPIRED_API_KEY" | "MISSING_PARAMETER" | "INVALID_DOMAIN" | "PAYMENT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "USER_EXISTS" | "NOT_FOUND" | "UNKNOWN_PROVIDER" | "UNKNOWN_METHOD" | "TARGET_REQUIRED" | "INVALID_PARAMETER" | "CONTACT_REQUIRED" | "INVALID_CONTACT" | "INSUFFICIENT_SCOPE" | "SCOPE_ESCALATION" | "DOMAIN_EXISTS" | "DOMAIN_NOT_ACTIVE" | "UNSUPPORTED_TLD" | "NOT_AVAILABLE" | "ALREADY_REGISTERED" | "TRANSFER_NOT_ELIGIBLE" | "ALREADY_LISTED" | "LISTING_SOLD" | "SELF_PURCHASE" | "DESCRIPTION_TOO_LONG" | "DEAL_NOT_FOUND" | "INVALID_DEAL_STATE" | "EPP_ATTEMPTS_EXCEEDED" | "ACTIVE_DEAL_EXISTS";
|
|
21
|
+
code: "MISSING_API_KEY" | "INVALID_API_KEY" | "EXPIRED_API_KEY" | "MISSING_PARAMETER" | "INVALID_DOMAIN" | "PAYMENT_REQUIRED" | "DOMAIN_UNAVAILABLE" | "RATE_LIMIT_EXCEEDED" | "USER_EXISTS" | "NOT_FOUND" | "UNKNOWN_PROVIDER" | "UNKNOWN_METHOD" | "TARGET_REQUIRED" | "INVALID_PARAMETER" | "CONTACT_REQUIRED" | "INVALID_CONTACT" | "INSUFFICIENT_SCOPE" | "SCOPE_ESCALATION" | "DOMAIN_EXISTS" | "DOMAIN_NOT_ACTIVE" | "UNSUPPORTED_TLD" | "NOT_AVAILABLE" | "ALREADY_REGISTERED" | "TRANSFER_NOT_ELIGIBLE" | "ALREADY_LISTED" | "LISTING_SOLD" | "SELF_PURCHASE" | "DESCRIPTION_TOO_LONG" | "DEAL_NOT_FOUND" | "INVALID_DEAL_STATE" | "EPP_ATTEMPTS_EXCEEDED" | "ACTIVE_DEAL_EXISTS" | "AGENT_IDENTITY_NOT_FOUND" | "AGENT_IDENTITY_ESCALATION" | "CREDENTIAL_REVOKE_FAILED" | "INVALID_IDEMPOTENCY_KEY" | "IDEMPOTENCY_KEY_MISMATCH" | "IDEMPOTENCY_KEY_REUSED" | "OPERATION_IN_PROGRESS" | "OPERATION_SUPERSEDED" | "INVALID_OPERATION_RECEIPT" | "WORKSPACE_ADMIN_REQUIRED" | "PRINCIPAL_NOT_IN_WORKSPACE" | "MAILBOX_NOT_IN_WORKSPACE" | "GROUP_NOT_IN_WORKSPACE" | "COLLECTION_NOT_IN_WORKSPACE" | "ACCESS_VERSION_CONFLICT" | "ACCESS_OFFER_INVALID" | "ACCESS_OFFER_EMAIL_MISMATCH";
|
|
22
22
|
/** Actionable recovery guidance for the caller */
|
|
23
23
|
hint?: string;
|
|
24
24
|
/** CLI command to resolve the error (e.g. 'domani login', 'domani billing'). Present in CLI --json output. */
|
|
@@ -64,23 +64,52 @@ export interface TldInfo {
|
|
|
64
64
|
transfer: number;
|
|
65
65
|
}
|
|
66
66
|
export interface DnsRecord {
|
|
67
|
-
/** DNS record type */
|
|
68
|
-
type: "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "NS" | "SRV" | "CAA";
|
|
69
|
-
/** Record name (@ for root, or subdomain) */
|
|
67
|
+
/** DNS record type. TLSA publishes a DANE record; its value is the rdata 'usage selector matching-type hex-data'. */
|
|
68
|
+
type: "A" | "AAAA" | "CNAME" | "MX" | "TXT" | "NS" | "SRV" | "CAA" | "TLSA";
|
|
69
|
+
/** Record name (@ for root, or subdomain, e.g. _443._tcp for TLSA) */
|
|
70
70
|
name: string;
|
|
71
|
-
/** Record value (IP address, hostname,
|
|
71
|
+
/** Record value (IP address, hostname, or TLSA rdata like '3 1 1 abc123...') */
|
|
72
72
|
value: string;
|
|
73
73
|
/** Time to live in seconds */
|
|
74
74
|
ttl: number;
|
|
75
75
|
/** Priority value (required for MX records) */
|
|
76
76
|
priority?: number;
|
|
77
77
|
}
|
|
78
|
+
export interface DsRecord {
|
|
79
|
+
/** Key Tag identifying the DNSKEY */
|
|
80
|
+
keyTag: string;
|
|
81
|
+
/** DNSSEC algorithm number (e.g. 13 = ECDSAP256SHA256, 8 = RSASHA256) */
|
|
82
|
+
algorithm: string;
|
|
83
|
+
/** Digest type number (e.g. 2 = SHA-256) */
|
|
84
|
+
digestType: string;
|
|
85
|
+
/** Hex digest of the DNSKEY */
|
|
86
|
+
digest: string;
|
|
87
|
+
}
|
|
88
|
+
export interface AgentIdentity {
|
|
89
|
+
/** Stable identity id used to bind scoped API tokens */
|
|
90
|
+
id: string;
|
|
91
|
+
slug: string;
|
|
92
|
+
/** The identity subdomain (canonical) */
|
|
93
|
+
url: string;
|
|
94
|
+
/** Path fallback that always works */
|
|
95
|
+
page_url: string;
|
|
96
|
+
name: string | null;
|
|
97
|
+
bio: string | null;
|
|
98
|
+
emoji: string | null;
|
|
99
|
+
email: string | null;
|
|
100
|
+
links: {
|
|
101
|
+
label?: string;
|
|
102
|
+
url?: string;
|
|
103
|
+
}[];
|
|
104
|
+
views: number;
|
|
105
|
+
created_at: string;
|
|
106
|
+
}
|
|
78
107
|
export interface DomainRecord {
|
|
79
108
|
domain: string;
|
|
80
109
|
/** Current registration status */
|
|
81
110
|
status: "active" | "expired" | "pending";
|
|
82
111
|
/** Whether auto-renew is enabled */
|
|
83
|
-
|
|
112
|
+
autoRenew: boolean;
|
|
84
113
|
purchasedAt: string;
|
|
85
114
|
expiresAt: string;
|
|
86
115
|
/** Whether email is set up for this domain */
|
|
@@ -92,6 +121,320 @@ export interface DomainRecord {
|
|
|
92
121
|
/** Number of mailboxes configured for this domain */
|
|
93
122
|
mailboxCount: number;
|
|
94
123
|
}
|
|
124
|
+
export interface MailRule {
|
|
125
|
+
id?: string;
|
|
126
|
+
/** Lower runs first */
|
|
127
|
+
priority?: number;
|
|
128
|
+
match_field?: "from" | "to" | "subject" | "body";
|
|
129
|
+
match_op?: "contains" | "equals" | "regex";
|
|
130
|
+
match_value?: string;
|
|
131
|
+
action?: "drop" | "mark_read" | "forward" | "webhook_only" | "label";
|
|
132
|
+
action_arg?: string | null;
|
|
133
|
+
enabled?: boolean;
|
|
134
|
+
created_at?: string;
|
|
135
|
+
}
|
|
136
|
+
export interface MailboxOperationReceipt {
|
|
137
|
+
operation_id: string;
|
|
138
|
+
idempotency_key: string;
|
|
139
|
+
/** True when this response reused the immutable completed receipt and performed no new mutation. */
|
|
140
|
+
idempotent_replay: boolean;
|
|
141
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
142
|
+
status: "succeeded" | "partial";
|
|
143
|
+
results: ({
|
|
144
|
+
message_id: string;
|
|
145
|
+
ok: boolean;
|
|
146
|
+
folder?: "inbox" | "archive" | "sent" | "drafts" | "spam" | "trash";
|
|
147
|
+
changed?: boolean;
|
|
148
|
+
error?: {
|
|
149
|
+
code: string;
|
|
150
|
+
message: string;
|
|
151
|
+
};
|
|
152
|
+
})[];
|
|
153
|
+
summary: {
|
|
154
|
+
total: number;
|
|
155
|
+
succeeded: number;
|
|
156
|
+
failed: number;
|
|
157
|
+
changed: number;
|
|
158
|
+
};
|
|
159
|
+
created_at: string;
|
|
160
|
+
completed_at: string | null;
|
|
161
|
+
}
|
|
162
|
+
export interface LegacyMailboxOperationReceipt {
|
|
163
|
+
operation_id: string;
|
|
164
|
+
idempotency_key: string;
|
|
165
|
+
/** True when this response reused the immutable completed receipt and performed no new mutation. */
|
|
166
|
+
idempotent_replay: boolean;
|
|
167
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
168
|
+
status: "succeeded" | "partial";
|
|
169
|
+
results: ({
|
|
170
|
+
message_id: string;
|
|
171
|
+
ok: boolean;
|
|
172
|
+
folder?: "inbox" | "archive" | "sent" | "drafts" | "spam" | "trash";
|
|
173
|
+
changed?: boolean;
|
|
174
|
+
error?: {
|
|
175
|
+
code: string;
|
|
176
|
+
message: string;
|
|
177
|
+
};
|
|
178
|
+
})[];
|
|
179
|
+
summary: {
|
|
180
|
+
total: number;
|
|
181
|
+
succeeded: number;
|
|
182
|
+
failed: number;
|
|
183
|
+
changed: number;
|
|
184
|
+
};
|
|
185
|
+
created_at: string;
|
|
186
|
+
completed_at: string | null;
|
|
187
|
+
count: number;
|
|
188
|
+
}
|
|
189
|
+
export interface WorkspaceSummary {
|
|
190
|
+
id: string;
|
|
191
|
+
name: string;
|
|
192
|
+
role: "owner" | "admin" | "member";
|
|
193
|
+
personal: boolean;
|
|
194
|
+
member_count: number;
|
|
195
|
+
mailbox_count: number;
|
|
196
|
+
plans: {
|
|
197
|
+
product: string;
|
|
198
|
+
plan: string;
|
|
199
|
+
status: string;
|
|
200
|
+
}[];
|
|
201
|
+
created_at: string;
|
|
202
|
+
}
|
|
203
|
+
export type MailboxEffectiveCapabilities = ("mail.read" | "mail.search" | "mail.auth.read" | "mail.seen.write" | "mail.lifecycle.write" | "mail.delete.permanent" | "draft.create" | "mail.submit" | "conversation.read" | "conversation.assign" | "conversation.note" | "conversation.close" | "mailbox.manage" | "routing.manage" | "delivery.manage" | "mail.client.connect" | "mail.credentials.create_self" | "mail.credentials.revoke_self" | "workspace.members.manage" | "workspace.billing.manage")[];
|
|
204
|
+
export interface WorkspaceDetail {
|
|
205
|
+
id: string;
|
|
206
|
+
name: string;
|
|
207
|
+
role: "owner" | "admin" | "member";
|
|
208
|
+
personal: boolean;
|
|
209
|
+
members: ({
|
|
210
|
+
id: string;
|
|
211
|
+
principal_id: string;
|
|
212
|
+
email: string;
|
|
213
|
+
role: "owner" | "admin" | "member";
|
|
214
|
+
joined_at: string;
|
|
215
|
+
mailbox_grants: ({
|
|
216
|
+
mailbox_id?: string;
|
|
217
|
+
address?: string;
|
|
218
|
+
role?: "viewer" | "responder" | "manager";
|
|
219
|
+
})[];
|
|
220
|
+
})[];
|
|
221
|
+
/** Visible only to workspace owners and admins. */
|
|
222
|
+
invitations: ({
|
|
223
|
+
id?: string;
|
|
224
|
+
email?: string;
|
|
225
|
+
role?: "admin" | "member";
|
|
226
|
+
expires_at?: string;
|
|
227
|
+
})[];
|
|
228
|
+
mailboxes: ({
|
|
229
|
+
id?: string;
|
|
230
|
+
address?: string;
|
|
231
|
+
name?: string | null;
|
|
232
|
+
})[];
|
|
233
|
+
ownership: {
|
|
234
|
+
owner_membership_id: string | null;
|
|
235
|
+
pending_transfer: {
|
|
236
|
+
id: string;
|
|
237
|
+
to_email: string;
|
|
238
|
+
expires_at: string;
|
|
239
|
+
} | null;
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
export interface ConversationState {
|
|
243
|
+
id: string;
|
|
244
|
+
mailbox_id: string;
|
|
245
|
+
thread_key: string;
|
|
246
|
+
subject?: string | null;
|
|
247
|
+
status: "open" | "waiting" | "closed";
|
|
248
|
+
assignee?: {
|
|
249
|
+
type?: "member" | "token" | "agent";
|
|
250
|
+
id?: string;
|
|
251
|
+
label?: string;
|
|
252
|
+
} | null;
|
|
253
|
+
version: number;
|
|
254
|
+
/** Generation used by stale-safe guarded replies */
|
|
255
|
+
reply_version: number;
|
|
256
|
+
last_reply: {
|
|
257
|
+
actor: {
|
|
258
|
+
type: string;
|
|
259
|
+
id: string;
|
|
260
|
+
label: string;
|
|
261
|
+
};
|
|
262
|
+
at: string;
|
|
263
|
+
} | null;
|
|
264
|
+
note_count: number;
|
|
265
|
+
assigned_to_me?: boolean;
|
|
266
|
+
last_activity_at: string;
|
|
267
|
+
created_at: string;
|
|
268
|
+
updated_at: string;
|
|
269
|
+
}
|
|
270
|
+
export interface ConversationCoordinationSnapshot {
|
|
271
|
+
conversation_id: string;
|
|
272
|
+
mailbox_id: string;
|
|
273
|
+
thread_key: string;
|
|
274
|
+
reply_version: number;
|
|
275
|
+
last_reply: {
|
|
276
|
+
actor: {
|
|
277
|
+
type: string;
|
|
278
|
+
id: string;
|
|
279
|
+
label: string;
|
|
280
|
+
};
|
|
281
|
+
at: string;
|
|
282
|
+
} | null;
|
|
283
|
+
presence: ({
|
|
284
|
+
actor: {
|
|
285
|
+
type: string;
|
|
286
|
+
id: string;
|
|
287
|
+
label: string;
|
|
288
|
+
};
|
|
289
|
+
client_id: string;
|
|
290
|
+
mode: "viewing" | "composing";
|
|
291
|
+
expires_at: string;
|
|
292
|
+
})[];
|
|
293
|
+
compose_lease: {
|
|
294
|
+
lease_id: string;
|
|
295
|
+
holder: {
|
|
296
|
+
type: string;
|
|
297
|
+
id: string;
|
|
298
|
+
label: string;
|
|
299
|
+
};
|
|
300
|
+
client_id: string;
|
|
301
|
+
base_reply_version: number;
|
|
302
|
+
version: number;
|
|
303
|
+
expires_at: string;
|
|
304
|
+
held_by_me: boolean;
|
|
305
|
+
} | null;
|
|
306
|
+
server_time: string;
|
|
307
|
+
heartbeat_after_ms: 15000;
|
|
308
|
+
expires_after_ms: 45000;
|
|
309
|
+
}
|
|
310
|
+
export interface ConversationWorkItem {
|
|
311
|
+
mailbox_id: string;
|
|
312
|
+
thread_key: string;
|
|
313
|
+
thread_aliases: string[];
|
|
314
|
+
subject: string | null;
|
|
315
|
+
status: "open" | "waiting" | "closed";
|
|
316
|
+
assignee: {
|
|
317
|
+
type: "member" | "token" | "agent";
|
|
318
|
+
id: string;
|
|
319
|
+
label: string | null;
|
|
320
|
+
} | null;
|
|
321
|
+
assigned_to_me: boolean;
|
|
322
|
+
persisted: boolean;
|
|
323
|
+
conversation_id: string | null;
|
|
324
|
+
version: number | null;
|
|
325
|
+
note_count: number;
|
|
326
|
+
scanned_message_count: number;
|
|
327
|
+
scanned_unread_count: number;
|
|
328
|
+
first_message_at: string | null;
|
|
329
|
+
last_activity_at: string;
|
|
330
|
+
latest_message: {
|
|
331
|
+
id: string;
|
|
332
|
+
direction: string;
|
|
333
|
+
from: string;
|
|
334
|
+
to: string;
|
|
335
|
+
preview: string | null;
|
|
336
|
+
created_at: string;
|
|
337
|
+
} | null;
|
|
338
|
+
}
|
|
339
|
+
export interface ConversationNote {
|
|
340
|
+
id: string;
|
|
341
|
+
author: {
|
|
342
|
+
type: string;
|
|
343
|
+
id: string;
|
|
344
|
+
label: string;
|
|
345
|
+
};
|
|
346
|
+
body: string;
|
|
347
|
+
mentions: Record<string, unknown>[];
|
|
348
|
+
created_at: string;
|
|
349
|
+
updated_at: string;
|
|
350
|
+
}
|
|
351
|
+
export interface MailActivity {
|
|
352
|
+
id: string;
|
|
353
|
+
type: string;
|
|
354
|
+
actor: {
|
|
355
|
+
type: string;
|
|
356
|
+
id: string;
|
|
357
|
+
label: string;
|
|
358
|
+
};
|
|
359
|
+
metadata: Record<string, unknown>;
|
|
360
|
+
created_at: string;
|
|
361
|
+
}
|
|
362
|
+
export interface MailboxChange {
|
|
363
|
+
/** Monotonic sequence serialized as a string */
|
|
364
|
+
sequence: string;
|
|
365
|
+
type: string;
|
|
366
|
+
resource_type: string;
|
|
367
|
+
resource_id: string | null;
|
|
368
|
+
resource_version: number | null;
|
|
369
|
+
actor: {
|
|
370
|
+
type: string;
|
|
371
|
+
id: string;
|
|
372
|
+
label: string | null;
|
|
373
|
+
} | null;
|
|
374
|
+
operation_id: string | null;
|
|
375
|
+
data: Record<string, unknown>;
|
|
376
|
+
created_at: string;
|
|
377
|
+
}
|
|
378
|
+
export interface DomainBrief {
|
|
379
|
+
id: string;
|
|
380
|
+
domain: string;
|
|
381
|
+
depth: "instant" | "deep";
|
|
382
|
+
status: "ready" | "degraded" | "failed";
|
|
383
|
+
summary: string;
|
|
384
|
+
registration: Record<string, unknown>;
|
|
385
|
+
website: Record<string, unknown>;
|
|
386
|
+
infrastructure: {
|
|
387
|
+
nameservers: string[];
|
|
388
|
+
mailProviders: string[];
|
|
389
|
+
dnssec: boolean;
|
|
390
|
+
mail: {
|
|
391
|
+
status: "active" | "inactive" | "unknown";
|
|
392
|
+
provider: string | null;
|
|
393
|
+
providerKind: "managed" | "self_hosted" | "gateway" | "custom" | "unknown";
|
|
394
|
+
security: "hardened" | "established" | "basic" | "exposed" | "unknown";
|
|
395
|
+
businessCriticality: "high" | "medium" | "low" | "unknown";
|
|
396
|
+
spf: boolean | null;
|
|
397
|
+
dmarc: "reject" | "quarantine" | "monitor" | "none" | "unknown";
|
|
398
|
+
mtaSts: boolean | null;
|
|
399
|
+
tlsReporting: boolean | null;
|
|
400
|
+
bimi: boolean | null;
|
|
401
|
+
};
|
|
402
|
+
};
|
|
403
|
+
market: Record<string, unknown>;
|
|
404
|
+
/** Redacted contact-channel metadata. Raw addresses are never returned. */
|
|
405
|
+
contactability: {
|
|
406
|
+
state: "direct" | "indirect" | "none_found" | "unknown";
|
|
407
|
+
channelType: "registration_email" | null;
|
|
408
|
+
source: string | null;
|
|
409
|
+
confidence: "high" | "medium" | "low" | null;
|
|
410
|
+
};
|
|
411
|
+
acquisitionOutlook: {
|
|
412
|
+
state: "promising" | "possible" | "difficult" | "unknown";
|
|
413
|
+
rationale: string;
|
|
414
|
+
};
|
|
415
|
+
recommendation: {
|
|
416
|
+
action: "register" | "buy_now" | "negotiate_listing" | "private_broker" | "backorder" | "watch" | "choose_alternative";
|
|
417
|
+
rationale: string;
|
|
418
|
+
};
|
|
419
|
+
completeness: number;
|
|
420
|
+
analyzedAt: string;
|
|
421
|
+
staleAt: string;
|
|
422
|
+
analysisVersion: string;
|
|
423
|
+
evidence: ({
|
|
424
|
+
id: string;
|
|
425
|
+
kind: string;
|
|
426
|
+
label: string;
|
|
427
|
+
value: string;
|
|
428
|
+
source: string;
|
|
429
|
+
sourceUrl?: string;
|
|
430
|
+
confidence: "high" | "medium" | "low";
|
|
431
|
+
visibility: "public" | "redacted";
|
|
432
|
+
capturedAt: string;
|
|
433
|
+
})[];
|
|
434
|
+
warnings: string[];
|
|
435
|
+
createdAt: string;
|
|
436
|
+
updatedAt: string;
|
|
437
|
+
}
|
|
95
438
|
export interface Backorder {
|
|
96
439
|
id?: string;
|
|
97
440
|
domain?: string;
|
|
@@ -169,13 +512,13 @@ export interface Negotiation {
|
|
|
169
512
|
deal_id?: string | null;
|
|
170
513
|
created_at?: string;
|
|
171
514
|
/** The negotiation thread, oldest first */
|
|
172
|
-
offers?: {
|
|
515
|
+
offers?: ({
|
|
173
516
|
from?: "you" | "counterparty";
|
|
174
517
|
kind?: "offer" | "counter" | "accept" | "decline";
|
|
175
518
|
amount?: number | null;
|
|
176
519
|
message?: string | null;
|
|
177
520
|
at?: string;
|
|
178
|
-
}[];
|
|
521
|
+
})[];
|
|
179
522
|
}
|
|
180
523
|
export interface DomainDetail {
|
|
181
524
|
domain: string;
|
|
@@ -190,6 +533,10 @@ export interface DomainDetail {
|
|
|
190
533
|
payment_method: "card" | "x402" | "crypto";
|
|
191
534
|
/** On-chain tx hash (USDC payments) */
|
|
192
535
|
payment_tx?: string | null;
|
|
536
|
+
/** Whether live registrar data was refreshed or is managed externally */
|
|
537
|
+
registrar_status: "connected" | "unavailable" | "external";
|
|
538
|
+
/** When the registrar refresh was attempted */
|
|
539
|
+
registrar_checked_at: string;
|
|
193
540
|
/** Domain registration details (null if unavailable) */
|
|
194
541
|
registrar?: {
|
|
195
542
|
security_lock?: boolean;
|
|
@@ -215,6 +562,20 @@ export interface TokenInfo {
|
|
|
215
562
|
/** Permission scopes granted to this token. ['*'] means full access. */
|
|
216
563
|
scopes?: string[];
|
|
217
564
|
createdAt: string;
|
|
565
|
+
/** Per-transaction spend cap in USD (null = uncapped) */
|
|
566
|
+
max_per_tx?: number | null;
|
|
567
|
+
/** Rolling monthly spend cap in USD (null = uncapped) */
|
|
568
|
+
max_per_month?: number | null;
|
|
569
|
+
/** USD spent against the monthly cap this calendar month */
|
|
570
|
+
spent_this_month?: number;
|
|
571
|
+
/** Id of the token that minted this one (null = created via dashboard/session) */
|
|
572
|
+
parent_token_id?: string | null;
|
|
573
|
+
/** Agent identity represented by this token. Its mail actions are attributed to this agent. */
|
|
574
|
+
agent_identity?: {
|
|
575
|
+
id?: string;
|
|
576
|
+
name?: string | null;
|
|
577
|
+
slug?: string;
|
|
578
|
+
} | null;
|
|
218
579
|
}
|
|
219
580
|
export interface Contact {
|
|
220
581
|
/** Contact name */
|
|
@@ -283,6 +644,36 @@ export interface AccountInfo {
|
|
|
283
644
|
token_count: number;
|
|
284
645
|
created_at: string;
|
|
285
646
|
}
|
|
647
|
+
export interface ActivationProjection {
|
|
648
|
+
version: 1;
|
|
649
|
+
account_created_at: string;
|
|
650
|
+
entry: {
|
|
651
|
+
brand: string;
|
|
652
|
+
surface: string;
|
|
653
|
+
intent: string;
|
|
654
|
+
};
|
|
655
|
+
milestones: {
|
|
656
|
+
mailbox_created_at: string | null;
|
|
657
|
+
first_message_sent_at: string | null;
|
|
658
|
+
first_message_received_at: string | null;
|
|
659
|
+
custom_domain_activated_at: string | null;
|
|
660
|
+
programmatic_action_completed_at: string | null;
|
|
661
|
+
};
|
|
662
|
+
status: "first_run" | "setup_active" | "mail_active" | "mail_loop_complete" | "domain_active" | "programmatic_active" | "multi_surface_active";
|
|
663
|
+
recommended_actions: ({
|
|
664
|
+
id: string;
|
|
665
|
+
label: string;
|
|
666
|
+
priority: number;
|
|
667
|
+
surfaces: ("web" | "mobile" | "cli" | "mcp")[];
|
|
668
|
+
href?: string;
|
|
669
|
+
operation: string;
|
|
670
|
+
})[];
|
|
671
|
+
available_paths: string[];
|
|
672
|
+
dismissed_version: number;
|
|
673
|
+
pending_claim: {
|
|
674
|
+
slug: string;
|
|
675
|
+
} | null;
|
|
676
|
+
}
|
|
286
677
|
export declare class Domani {
|
|
287
678
|
private apiKey;
|
|
288
679
|
private baseUrl;
|
|
@@ -292,6 +683,30 @@ export declare class Domani {
|
|
|
292
683
|
query?: Record<string, unknown>;
|
|
293
684
|
body?: unknown;
|
|
294
685
|
}): Promise<T>;
|
|
686
|
+
/** Accept an access or ownership offer (POST /api/workspaces/access/offers/accept) */
|
|
687
|
+
acceptWorkspaceAccessOffer(body: {
|
|
688
|
+
token: string;
|
|
689
|
+
}): Promise<unknown>;
|
|
690
|
+
/** Accept a workspace invitation (POST /api/workspaces/invitations/accept) */
|
|
691
|
+
acceptWorkspaceInvitation(body: {
|
|
692
|
+
token: string;
|
|
693
|
+
}): Promise<unknown>;
|
|
694
|
+
/** Accept workspace ownership (POST /api/workspaces/ownership-transfers/accept) */
|
|
695
|
+
acceptWorkspaceOwnershipTransfer(body: {
|
|
696
|
+
token: string;
|
|
697
|
+
}): Promise<unknown>;
|
|
698
|
+
/** Add a private conversation note (POST /api/email/collaboration/{id}/notes) */
|
|
699
|
+
addConversationNote(id: string, body: {
|
|
700
|
+
body: string;
|
|
701
|
+
mention_membership_ids?: string[];
|
|
702
|
+
}): Promise<ConversationNote>;
|
|
703
|
+
/** Publish a DNSSEC DS record (enable DNSSEC) (POST /api/domains/{domain}/dnssec) */
|
|
704
|
+
addDnssecRecord(domain: string, body: DsRecord): Promise<{
|
|
705
|
+
success?: boolean;
|
|
706
|
+
domain?: string;
|
|
707
|
+
enabled?: boolean;
|
|
708
|
+
records?: DsRecord[];
|
|
709
|
+
}>;
|
|
295
710
|
/** Add a mailbox alias (POST /api/emails/{address}/aliases) */
|
|
296
711
|
addMailboxAlias(address: string, body: {
|
|
297
712
|
alias: string;
|
|
@@ -301,6 +716,16 @@ export declare class Domani {
|
|
|
301
716
|
created_at?: string;
|
|
302
717
|
hint?: string;
|
|
303
718
|
}>;
|
|
719
|
+
/** Add an inbound mail rule (POST /api/emails/{address}/rules) */
|
|
720
|
+
addMailRule(address: string, body: {
|
|
721
|
+
match_field: "from" | "to" | "subject" | "body";
|
|
722
|
+
match_op: "contains" | "equals" | "regex";
|
|
723
|
+
match_value: string;
|
|
724
|
+
action: "drop" | "mark_read" | "forward" | "webhook_only" | "label";
|
|
725
|
+
action_arg?: string;
|
|
726
|
+
priority?: number;
|
|
727
|
+
enabled?: boolean;
|
|
728
|
+
}): Promise<MailRule>;
|
|
304
729
|
/** Add a suppression (POST /api/suppressions) */
|
|
305
730
|
addSuppression(body: {
|
|
306
731
|
address: string;
|
|
@@ -312,6 +737,27 @@ export declare class Domani {
|
|
|
312
737
|
created_at?: string;
|
|
313
738
|
hint?: string;
|
|
314
739
|
}>;
|
|
740
|
+
/** Adopt an owned mailbox into a workspace (POST /api/workspaces/{id}/mailboxes) */
|
|
741
|
+
attachWorkspaceMailbox(id: string, body: {
|
|
742
|
+
mailbox_id: string;
|
|
743
|
+
}): Promise<unknown>;
|
|
744
|
+
/** Buy an aftermarket domain (POST /api/domains/{domain}/buy-aftermarket) */
|
|
745
|
+
buyAftermarket(domain: string, body?: {
|
|
746
|
+
max_price?: number;
|
|
747
|
+
payment_method?: "card" | "usdc" | "balance";
|
|
748
|
+
payment_tx?: string;
|
|
749
|
+
payment_chain?: "base" | "ethereum";
|
|
750
|
+
}): Promise<{
|
|
751
|
+
domain: string;
|
|
752
|
+
status: string;
|
|
753
|
+
price: number;
|
|
754
|
+
currency: string;
|
|
755
|
+
payment_method: string;
|
|
756
|
+
payment_tx?: string;
|
|
757
|
+
marketplace: string;
|
|
758
|
+
hint?: string;
|
|
759
|
+
next_steps?: string[];
|
|
760
|
+
}>;
|
|
315
761
|
/** Purchase one or more domains (POST /api/domains/buy) */
|
|
316
762
|
buyDomain(body: {
|
|
317
763
|
domain?: string;
|
|
@@ -320,6 +766,7 @@ export declare class Domani {
|
|
|
320
766
|
payment_tx?: string;
|
|
321
767
|
payment_chain?: "base" | "ethereum";
|
|
322
768
|
years?: number;
|
|
769
|
+
max_price?: number;
|
|
323
770
|
ref?: string;
|
|
324
771
|
}): Promise<{
|
|
325
772
|
domain?: string;
|
|
@@ -352,6 +799,11 @@ export declare class Domani {
|
|
|
352
799
|
cancelNegotiation(id: string): Promise<{
|
|
353
800
|
cancelled?: boolean;
|
|
354
801
|
}>;
|
|
802
|
+
/** Cancel a Mailzero workspace subscription (POST /api/workspaces/{id}/billing/cancel) */
|
|
803
|
+
cancelWorkspaceSubscription(id: string): Promise<{
|
|
804
|
+
message: string;
|
|
805
|
+
cancel_at?: string | null;
|
|
806
|
+
}>;
|
|
355
807
|
/** Check email DNS health (MX, SPF, DMARC, DKIM) (GET /api/domains/{domain}/email/check) */
|
|
356
808
|
checkEmail(domain: string): Promise<{
|
|
357
809
|
domain?: string;
|
|
@@ -373,6 +825,26 @@ export declare class Domani {
|
|
|
373
825
|
selectors?: string[];
|
|
374
826
|
};
|
|
375
827
|
}>;
|
|
828
|
+
/** Preflight an outbound email (POST /api/emails/{address}/deliverability-check) */
|
|
829
|
+
checkEmailDeliverabilityByAddress(address: string, body: unknown | unknown): Promise<{
|
|
830
|
+
policy_version: string;
|
|
831
|
+
decision: "allow" | "allow_with_warnings" | "deny";
|
|
832
|
+
safe_to_send: boolean;
|
|
833
|
+
risk: "low" | "medium" | "high" | "blocked";
|
|
834
|
+
score: number;
|
|
835
|
+
authentication_message?: boolean;
|
|
836
|
+
checks: ({
|
|
837
|
+
id: string;
|
|
838
|
+
category: "transport_safety" | "credential_safety" | "reputation" | "content_quality" | "reliability";
|
|
839
|
+
status: "pass" | "warning" | "blocked";
|
|
840
|
+
message: string;
|
|
841
|
+
fix?: string;
|
|
842
|
+
evidence?: string[];
|
|
843
|
+
})[];
|
|
844
|
+
blocked_reasons: string[];
|
|
845
|
+
warnings: string[];
|
|
846
|
+
override_used?: boolean;
|
|
847
|
+
}>;
|
|
376
848
|
/** Pre-check transfer eligibility (GET /api/domains/transfer-check) */
|
|
377
849
|
checkTransferEligibility(query?: {
|
|
378
850
|
domain: string;
|
|
@@ -393,7 +865,32 @@ export declare class Domani {
|
|
|
393
865
|
status: "pending_owner" | "pending_admin" | "pending_registry" | "completed" | "cancelled" | "unknown";
|
|
394
866
|
timestamp?: string;
|
|
395
867
|
hint: string;
|
|
868
|
+
continuity?: {
|
|
869
|
+
strategy?: "preserve_nameservers";
|
|
870
|
+
expected_nameservers?: string[];
|
|
871
|
+
dns_provider?: string;
|
|
872
|
+
dnssec_enabled?: boolean;
|
|
873
|
+
verification?: {
|
|
874
|
+
status?: "verified" | "repaired" | "degraded" | "unknown";
|
|
875
|
+
nameserversPreserved?: boolean | null;
|
|
876
|
+
dnssecPreserved?: boolean | null;
|
|
877
|
+
repairedNameservers?: boolean;
|
|
878
|
+
warnings?: string[];
|
|
879
|
+
};
|
|
880
|
+
};
|
|
396
881
|
}>;
|
|
882
|
+
/** Claim a free agent identity (<handle>.domani.run) (POST /api/agents/identity) */
|
|
883
|
+
claimIdentity(body: {
|
|
884
|
+
slug: string;
|
|
885
|
+
name?: string;
|
|
886
|
+
bio?: string;
|
|
887
|
+
emoji?: string;
|
|
888
|
+
email?: string;
|
|
889
|
+
links?: {
|
|
890
|
+
label?: string;
|
|
891
|
+
url?: string;
|
|
892
|
+
}[];
|
|
893
|
+
}): Promise<AgentIdentity>;
|
|
397
894
|
/** Clear domain catch-all (DELETE /api/domains/{domain}/email/catch-all) */
|
|
398
895
|
clearCatchAll(domain: string): Promise<{
|
|
399
896
|
domain?: string;
|
|
@@ -405,11 +902,23 @@ export declare class Domani {
|
|
|
405
902
|
domain?: string;
|
|
406
903
|
redirect_url?: string | null;
|
|
407
904
|
}>;
|
|
905
|
+
/** Clone another domain's DNS onto this one (POST /api/domains/{domain}/dns/clone) */
|
|
906
|
+
cloneDns(domain: string, body: {
|
|
907
|
+
from: string;
|
|
908
|
+
replace?: boolean;
|
|
909
|
+
}): Promise<{
|
|
910
|
+
success?: boolean;
|
|
911
|
+
from_domain?: string;
|
|
912
|
+
to_domain?: string;
|
|
913
|
+
records?: DnsRecord[];
|
|
914
|
+
}>;
|
|
408
915
|
/** Connect a domain to a hosting or email provider (POST /api/domains/{domain}/connect) */
|
|
409
916
|
connectDomain(domain: string, body: {
|
|
410
917
|
target?: string;
|
|
411
918
|
provider?: string;
|
|
412
919
|
method?: string;
|
|
920
|
+
dry_run?: boolean;
|
|
921
|
+
confirm_replace_mx?: boolean;
|
|
413
922
|
}): Promise<{
|
|
414
923
|
domain?: string;
|
|
415
924
|
provider?: string;
|
|
@@ -417,9 +926,10 @@ export declare class Domani {
|
|
|
417
926
|
method?: string;
|
|
418
927
|
records?: DnsRecord[];
|
|
419
928
|
docs?: string;
|
|
420
|
-
status?: "dns_set" | "manual_setup_required";
|
|
929
|
+
status?: "dns_set" | "manual_setup_required" | "dry_run";
|
|
421
930
|
hint?: string;
|
|
422
931
|
next_steps?: string[];
|
|
932
|
+
diff?: Record<string, unknown>;
|
|
423
933
|
}>;
|
|
424
934
|
/** Place a backorder on a taken domain (POST /api/backorders) */
|
|
425
935
|
createBackorder(body: {
|
|
@@ -446,6 +956,14 @@ export declare class Domani {
|
|
|
446
956
|
hint?: string;
|
|
447
957
|
next_steps?: string[];
|
|
448
958
|
}>;
|
|
959
|
+
/** Analyze a domain and persist an evidence-backed brief (POST /api/domain-briefs) */
|
|
960
|
+
createDomainBrief(body: {
|
|
961
|
+
domain: string;
|
|
962
|
+
depth?: "instant" | "deep";
|
|
963
|
+
refresh?: boolean;
|
|
964
|
+
}): Promise<{
|
|
965
|
+
brief: DomainBrief;
|
|
966
|
+
}>;
|
|
449
967
|
/** List a domain for sale (PUT /api/domains/{domain}/for-sale) */
|
|
450
968
|
createListing(domain: string, body: {
|
|
451
969
|
price: number;
|
|
@@ -467,25 +985,57 @@ export declare class Domani {
|
|
|
467
985
|
slug: string;
|
|
468
986
|
name?: string;
|
|
469
987
|
}): Promise<{
|
|
470
|
-
id
|
|
471
|
-
address
|
|
472
|
-
|
|
473
|
-
|
|
988
|
+
id: string;
|
|
989
|
+
address: string;
|
|
990
|
+
name: string | null;
|
|
991
|
+
slug: string;
|
|
992
|
+
domain: string;
|
|
993
|
+
kind: string;
|
|
994
|
+
workspace_id: string | null;
|
|
995
|
+
access_role: "viewer" | "responder" | "manager";
|
|
996
|
+
effective_capabilities: MailboxEffectiveCapabilities;
|
|
997
|
+
collaboration_enabled: boolean;
|
|
998
|
+
message_count: number;
|
|
999
|
+
webhook_url: string | null;
|
|
1000
|
+
forward_to: string | null;
|
|
1001
|
+
signing_secret?: string | null;
|
|
1002
|
+
created_at: string;
|
|
1003
|
+
hint: string;
|
|
474
1004
|
}>;
|
|
475
1005
|
/** Create a mailbox (POST /api/emails) */
|
|
476
|
-
createMailboxByAddress(body
|
|
1006
|
+
createMailboxByAddress(body: {
|
|
477
1007
|
address: string;
|
|
478
1008
|
name?: string;
|
|
479
1009
|
force?: boolean;
|
|
1010
|
+
kind?: "api" | "hosted";
|
|
1011
|
+
workspace_id?: string;
|
|
1012
|
+
}): Promise<{
|
|
1013
|
+
id: string;
|
|
1014
|
+
address: string;
|
|
1015
|
+
name: string | null;
|
|
1016
|
+
domain: string;
|
|
1017
|
+
slug: string;
|
|
1018
|
+
kind: string;
|
|
1019
|
+
workspace_id: string | null;
|
|
1020
|
+
access_role: "viewer" | "responder" | "manager";
|
|
1021
|
+
effective_capabilities: MailboxEffectiveCapabilities;
|
|
1022
|
+
collaboration_enabled: boolean;
|
|
1023
|
+
message_count: number;
|
|
1024
|
+
webhook_url: string | null;
|
|
1025
|
+
forward_to: string | null;
|
|
1026
|
+
signing_secret?: string | null;
|
|
1027
|
+
created_at: string;
|
|
1028
|
+
hint: string;
|
|
1029
|
+
}>;
|
|
1030
|
+
/** Create an app password (hosted) (POST /api/emails/{address}/credentials) */
|
|
1031
|
+
createMailboxCredential(address: string, body?: {
|
|
1032
|
+
label?: string;
|
|
480
1033
|
}): Promise<{
|
|
481
1034
|
id?: string;
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
webhook_url?: string | null;
|
|
487
|
-
forward_to?: string | null;
|
|
488
|
-
signing_secret?: string;
|
|
1035
|
+
label?: string;
|
|
1036
|
+
password?: string;
|
|
1037
|
+
client_settings?: Record<string, unknown>;
|
|
1038
|
+
hint?: string;
|
|
489
1039
|
}>;
|
|
490
1040
|
/** Create a new API token (POST /api/tokens) */
|
|
491
1041
|
createToken(body: {
|
|
@@ -493,6 +1043,9 @@ export declare class Domani {
|
|
|
493
1043
|
expires_in?: number;
|
|
494
1044
|
expires_at?: string;
|
|
495
1045
|
scopes?: string[];
|
|
1046
|
+
max_per_tx?: number;
|
|
1047
|
+
max_per_month?: number;
|
|
1048
|
+
agent_identity_id?: string;
|
|
496
1049
|
}): Promise<{
|
|
497
1050
|
id?: string;
|
|
498
1051
|
name?: string;
|
|
@@ -500,6 +1053,13 @@ export declare class Domani {
|
|
|
500
1053
|
expiresAt?: string | null;
|
|
501
1054
|
scopes?: string[];
|
|
502
1055
|
createdAt?: string;
|
|
1056
|
+
max_per_tx?: number | null;
|
|
1057
|
+
max_per_month?: number | null;
|
|
1058
|
+
agent_identity?: {
|
|
1059
|
+
id?: string;
|
|
1060
|
+
name?: string | null;
|
|
1061
|
+
slug?: string;
|
|
1062
|
+
} | null;
|
|
503
1063
|
}>;
|
|
504
1064
|
/** Create webhook (POST /api/webhooks) */
|
|
505
1065
|
createWebhook(body: {
|
|
@@ -514,11 +1074,40 @@ export declare class Domani {
|
|
|
514
1074
|
created_at?: string;
|
|
515
1075
|
hint?: string;
|
|
516
1076
|
}>;
|
|
517
|
-
/**
|
|
1077
|
+
/** Create a workspace (POST /api/workspaces) */
|
|
1078
|
+
createWorkspace(body: {
|
|
1079
|
+
name: string;
|
|
1080
|
+
}): Promise<unknown>;
|
|
1081
|
+
/** Offer mailbox access or workspace ownership (POST /api/workspaces/{id}/access/offers) */
|
|
1082
|
+
createWorkspaceAccessOffer(id: string, body: {
|
|
1083
|
+
email: string;
|
|
1084
|
+
grants: Record<string, unknown>[];
|
|
1085
|
+
ownership_disposition?: "unchanged" | "claim";
|
|
1086
|
+
creator_disposition?: "stay" | "stay_admin" | "leave";
|
|
1087
|
+
billing_disposition?: "unchanged" | "sponsor" | "transfer";
|
|
1088
|
+
}): Promise<unknown>;
|
|
1089
|
+
/** Start Mailzero workspace checkout (POST /api/workspaces/{id}/billing/checkout) */
|
|
1090
|
+
createWorkspaceCheckout(id: string, body: {
|
|
1091
|
+
plan: "mail_solo" | "mail_team" | "mail_business";
|
|
1092
|
+
}): Promise<{
|
|
1093
|
+
url?: string | null;
|
|
1094
|
+
workspace_id: string;
|
|
1095
|
+
plan: string;
|
|
1096
|
+
}>;
|
|
1097
|
+
/** Delete account (blocked while domains are held) (DELETE /api/me) */
|
|
518
1098
|
deleteAccount(): Promise<{
|
|
519
1099
|
deleted?: boolean;
|
|
520
1100
|
hint?: string;
|
|
521
1101
|
}>;
|
|
1102
|
+
/** Remove a DNSSEC DS record (disable DNSSEC) (DELETE /api/domains/{domain}/dnssec) */
|
|
1103
|
+
deleteDnssecRecord(domain: string, query?: {
|
|
1104
|
+
keyTag: string;
|
|
1105
|
+
}): Promise<{
|
|
1106
|
+
success?: boolean;
|
|
1107
|
+
domain?: string;
|
|
1108
|
+
enabled?: boolean;
|
|
1109
|
+
records?: DsRecord[];
|
|
1110
|
+
}>;
|
|
522
1111
|
/** Delete a mailbox (DELETE /api/emails/{address}) */
|
|
523
1112
|
deleteMailboxByAddress(address: string, body?: {
|
|
524
1113
|
confirm?: boolean;
|
|
@@ -531,9 +1120,8 @@ export declare class Domani {
|
|
|
531
1120
|
/** Bulk delete messages (POST /api/emails/{address}/messages/delete) */
|
|
532
1121
|
deleteMessagesByAddress(address: string, body?: {
|
|
533
1122
|
message_ids: string[];
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
}>;
|
|
1123
|
+
idempotency_key?: string;
|
|
1124
|
+
}): Promise<LegacyMailboxOperationReceipt>;
|
|
537
1125
|
/** Delete webhook (DELETE /api/webhooks/{id}) */
|
|
538
1126
|
deleteWebhook(id: string): Promise<{
|
|
539
1127
|
success?: boolean;
|
|
@@ -569,6 +1157,8 @@ export declare class Domani {
|
|
|
569
1157
|
}>;
|
|
570
1158
|
/** Get current account details (GET /api/me) */
|
|
571
1159
|
getAccount(): Promise<AccountInfo>;
|
|
1160
|
+
/** Get truthful activation state and recommended next actions (GET /api/me/activation) */
|
|
1161
|
+
getActivation(): Promise<ActivationProjection>;
|
|
572
1162
|
/** Get EPP auth code (GET /api/domains/{domain}/auth-code) */
|
|
573
1163
|
getAuthCode(domain: string): Promise<{
|
|
574
1164
|
domain: string;
|
|
@@ -601,6 +1191,11 @@ export declare class Domani {
|
|
|
601
1191
|
has_contact?: boolean;
|
|
602
1192
|
contact?: RegistrantContact;
|
|
603
1193
|
}>;
|
|
1194
|
+
/** Get active viewers, composers, and the compose lease (GET /api/email/collaboration/coordination) */
|
|
1195
|
+
getConversationCoordination(query?: {
|
|
1196
|
+
mailbox_id: string;
|
|
1197
|
+
thread_key: string;
|
|
1198
|
+
}): Promise<ConversationCoordinationSnapshot>;
|
|
604
1199
|
/** Get deal detail with timeline (GET /api/deals/{id}) */
|
|
605
1200
|
getDeal(id: string): Promise<{
|
|
606
1201
|
deal?: {
|
|
@@ -617,11 +1212,11 @@ export declare class Domani {
|
|
|
617
1212
|
transfer_deadline?: string | null;
|
|
618
1213
|
completed_at?: string | null;
|
|
619
1214
|
created_at?: string;
|
|
620
|
-
events?: {
|
|
1215
|
+
events?: ({
|
|
621
1216
|
status?: string;
|
|
622
1217
|
detail?: string | null;
|
|
623
1218
|
created_at?: string;
|
|
624
|
-
}[];
|
|
1219
|
+
})[];
|
|
625
1220
|
};
|
|
626
1221
|
hint?: string;
|
|
627
1222
|
}>;
|
|
@@ -633,6 +1228,17 @@ export declare class Domani {
|
|
|
633
1228
|
getDnsRecords(domain: string): Promise<{
|
|
634
1229
|
domain?: string;
|
|
635
1230
|
records?: DnsRecord[];
|
|
1231
|
+
zone_version?: string;
|
|
1232
|
+
}>;
|
|
1233
|
+
/** List DNSSEC DS records for a domain you own (GET /api/domains/{domain}/dnssec) */
|
|
1234
|
+
getDnssecRecords(domain: string): Promise<{
|
|
1235
|
+
domain?: string;
|
|
1236
|
+
enabled?: boolean;
|
|
1237
|
+
records?: DsRecord[];
|
|
1238
|
+
}>;
|
|
1239
|
+
/** Get a previously generated domain brief (GET /api/domain-briefs/{id}) */
|
|
1240
|
+
getDomainBrief(id: string): Promise<{
|
|
1241
|
+
brief: DomainBrief;
|
|
636
1242
|
}>;
|
|
637
1243
|
/** Check email DNS status (GET /api/domains/{domain}/email/status) */
|
|
638
1244
|
getDomainEmailStatus(domain: string): Promise<{
|
|
@@ -674,6 +1280,51 @@ export declare class Domani {
|
|
|
674
1280
|
mx?: string[];
|
|
675
1281
|
};
|
|
676
1282
|
}>;
|
|
1283
|
+
/** Get owner-scoped email deliverability health (GET /api/domains/{domain}/email/deliverability) */
|
|
1284
|
+
getEmailDeliverability(domain: string): Promise<{
|
|
1285
|
+
domain: string;
|
|
1286
|
+
status: "healthy" | "limited_data" | "needs_attention" | "at_risk" | "paused";
|
|
1287
|
+
confidence: "none" | "limited" | "sufficient";
|
|
1288
|
+
checked_at: string;
|
|
1289
|
+
window_days?: number;
|
|
1290
|
+
readiness: {
|
|
1291
|
+
score?: number;
|
|
1292
|
+
configured?: number;
|
|
1293
|
+
total?: number;
|
|
1294
|
+
provider?: string | null;
|
|
1295
|
+
checks?: {
|
|
1296
|
+
id?: string;
|
|
1297
|
+
label?: string;
|
|
1298
|
+
configured?: boolean;
|
|
1299
|
+
}[];
|
|
1300
|
+
};
|
|
1301
|
+
sending_health: {
|
|
1302
|
+
recipients?: Record<string, unknown>;
|
|
1303
|
+
rates?: {
|
|
1304
|
+
bounce?: number;
|
|
1305
|
+
complaint?: number;
|
|
1306
|
+
};
|
|
1307
|
+
paused?: boolean;
|
|
1308
|
+
pause_reason?: string | null;
|
|
1309
|
+
account_suppressions?: number;
|
|
1310
|
+
};
|
|
1311
|
+
placement: {
|
|
1312
|
+
available?: boolean;
|
|
1313
|
+
last_checked_at?: string | null;
|
|
1314
|
+
providers?: ({
|
|
1315
|
+
provider?: "gmail" | "outlook" | "yahoo";
|
|
1316
|
+
status?: "inbox" | "spam" | "missing" | "error" | "not_tested";
|
|
1317
|
+
})[];
|
|
1318
|
+
note?: string;
|
|
1319
|
+
};
|
|
1320
|
+
actions: ({
|
|
1321
|
+
id?: string;
|
|
1322
|
+
severity?: "info" | "warning" | "critical";
|
|
1323
|
+
title?: string;
|
|
1324
|
+
detail?: string;
|
|
1325
|
+
})[];
|
|
1326
|
+
caveats?: string[];
|
|
1327
|
+
}>;
|
|
677
1328
|
/** Get mailbox avatar info (GET /api/emails/{address}/avatar) */
|
|
678
1329
|
getMailboxAvatarByAddress(address: string): Promise<{
|
|
679
1330
|
address?: string;
|
|
@@ -688,12 +1339,35 @@ export declare class Domani {
|
|
|
688
1339
|
address?: string;
|
|
689
1340
|
slug?: string;
|
|
690
1341
|
domain?: string;
|
|
1342
|
+
kind?: string;
|
|
1343
|
+
workspace_id?: string | null;
|
|
1344
|
+
access_role?: "viewer" | "responder" | "manager";
|
|
1345
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
691
1346
|
webhook_url?: string | null;
|
|
692
1347
|
forward_to?: string | null;
|
|
693
|
-
signing_secret?: string;
|
|
1348
|
+
signing_secret?: string | null;
|
|
694
1349
|
message_count?: number;
|
|
1350
|
+
storage_quota_bytes?: number | null;
|
|
1351
|
+
storage_used_bytes?: number | null;
|
|
1352
|
+
storage_measured_at?: string | null;
|
|
695
1353
|
created_at?: string;
|
|
696
1354
|
}>;
|
|
1355
|
+
/** Get mail client settings (hosted) (GET /api/emails/{address}/client-settings) */
|
|
1356
|
+
getMailboxClientSettings(address: string): Promise<{
|
|
1357
|
+
mailbox?: string;
|
|
1358
|
+
username?: string;
|
|
1359
|
+
imap?: {
|
|
1360
|
+
host?: string;
|
|
1361
|
+
port?: number;
|
|
1362
|
+
security?: string;
|
|
1363
|
+
};
|
|
1364
|
+
smtp?: {
|
|
1365
|
+
host?: string;
|
|
1366
|
+
port?: number;
|
|
1367
|
+
security?: string;
|
|
1368
|
+
};
|
|
1369
|
+
hint?: string;
|
|
1370
|
+
}>;
|
|
697
1371
|
/** Get mailbox webhook config (GET /api/emails/{address}/webhook) */
|
|
698
1372
|
getMailboxWebhook(address: string): Promise<{
|
|
699
1373
|
address?: string;
|
|
@@ -705,9 +1379,12 @@ export declare class Domani {
|
|
|
705
1379
|
/** Get a message (GET /api/emails/{address}/messages/{id}) */
|
|
706
1380
|
getMessageByAddress(address: string, id: string): Promise<{
|
|
707
1381
|
id?: string;
|
|
1382
|
+
thread_key?: string;
|
|
1383
|
+
thread_aliases?: string[];
|
|
708
1384
|
message_id?: string | null;
|
|
709
1385
|
direction?: "in" | "out";
|
|
710
1386
|
from?: string;
|
|
1387
|
+
avatar_url?: string | null;
|
|
711
1388
|
to?: string;
|
|
712
1389
|
cc?: string | null;
|
|
713
1390
|
reply_to?: string | null;
|
|
@@ -716,20 +1393,20 @@ export declare class Domani {
|
|
|
716
1393
|
html?: string | null;
|
|
717
1394
|
in_reply_to?: string | null;
|
|
718
1395
|
references?: string | null;
|
|
719
|
-
attachments?: {
|
|
1396
|
+
attachments?: ({
|
|
720
1397
|
filename?: string;
|
|
721
1398
|
content_type?: string;
|
|
722
1399
|
size?: number;
|
|
723
1400
|
url?: string | null;
|
|
724
|
-
}[];
|
|
1401
|
+
})[];
|
|
725
1402
|
status?: string;
|
|
726
1403
|
is_read?: boolean;
|
|
727
1404
|
read_at?: string | null;
|
|
728
|
-
events?: {
|
|
1405
|
+
events?: ({
|
|
729
1406
|
status?: string;
|
|
730
1407
|
detail?: Record<string, unknown> | null;
|
|
731
1408
|
created_at?: string;
|
|
732
|
-
}[];
|
|
1409
|
+
})[];
|
|
733
1410
|
created_at?: string;
|
|
734
1411
|
}>;
|
|
735
1412
|
/** Get nameservers for a domain (GET /api/domains/{domain}/nameservers) */
|
|
@@ -745,13 +1422,14 @@ export declare class Domani {
|
|
|
745
1422
|
}>;
|
|
746
1423
|
/** Get notification preferences (GET /api/notifications/preferences) */
|
|
747
1424
|
getNotificationPreferences(): Promise<{
|
|
748
|
-
preferences?: {
|
|
1425
|
+
preferences?: ({
|
|
749
1426
|
category?: "domains" | "transfers" | "marketplace" | "email" | "inquiries";
|
|
750
1427
|
label?: string;
|
|
751
1428
|
description?: string;
|
|
752
1429
|
channel?: "in_app" | "email";
|
|
753
1430
|
enabled?: boolean;
|
|
754
|
-
}[];
|
|
1431
|
+
})[];
|
|
1432
|
+
expiry_alert_days?: number[];
|
|
755
1433
|
}>;
|
|
756
1434
|
/** Get parking analytics (GET /api/domains/{domain}/analytics) */
|
|
757
1435
|
getParkingAnalytics(domain: string): Promise<{
|
|
@@ -764,11 +1442,11 @@ export declare class Domani {
|
|
|
764
1442
|
date?: string;
|
|
765
1443
|
views?: number;
|
|
766
1444
|
}[];
|
|
767
|
-
recent_inquiries?: {
|
|
1445
|
+
recent_inquiries?: ({
|
|
768
1446
|
email?: string;
|
|
769
1447
|
offer?: number | null;
|
|
770
1448
|
date?: string;
|
|
771
|
-
}[];
|
|
1449
|
+
})[];
|
|
772
1450
|
hint?: string;
|
|
773
1451
|
}>;
|
|
774
1452
|
/** Get marketplace payout status (GET /api/billing/connect) */
|
|
@@ -817,17 +1495,31 @@ export declare class Domani {
|
|
|
817
1495
|
getWebhookDeliveries(id: string, query?: {
|
|
818
1496
|
limit?: number;
|
|
819
1497
|
}): Promise<{
|
|
820
|
-
deliveries?: {
|
|
1498
|
+
deliveries?: ({
|
|
821
1499
|
id?: string;
|
|
1500
|
+
replay_of_id?: string | null;
|
|
822
1501
|
event_type?: string;
|
|
823
1502
|
status?: "pending" | "delivered" | "failed";
|
|
824
1503
|
http_status?: number | null;
|
|
825
1504
|
attempts?: number;
|
|
826
1505
|
last_error?: string | null;
|
|
827
1506
|
created_at?: string;
|
|
828
|
-
}[];
|
|
1507
|
+
})[];
|
|
829
1508
|
hint?: string;
|
|
830
1509
|
}>;
|
|
1510
|
+
/** Get workspace members and mailboxes (GET /api/workspaces/{id}) */
|
|
1511
|
+
getWorkspace(id: string): Promise<WorkspaceDetail>;
|
|
1512
|
+
/** Get the canonical workspace access graph (GET /api/workspaces/{id}/access) */
|
|
1513
|
+
getWorkspaceAccess(id: string): Promise<unknown>;
|
|
1514
|
+
/** Heartbeat viewing or composing presence (PUT /api/email/collaboration/coordination) */
|
|
1515
|
+
heartbeatConversationPresence(body: {
|
|
1516
|
+
mailbox_id: string;
|
|
1517
|
+
thread_key: string;
|
|
1518
|
+
client_id: string;
|
|
1519
|
+
subject?: string | null;
|
|
1520
|
+
mode: "viewing" | "composing";
|
|
1521
|
+
acquire_lease?: boolean;
|
|
1522
|
+
}): Promise<ConversationCoordinationSnapshot>;
|
|
831
1523
|
/** Import an external domain (POST /api/domains/import) */
|
|
832
1524
|
importDomain(body: {
|
|
833
1525
|
domain: string;
|
|
@@ -842,6 +1534,33 @@ export declare class Domani {
|
|
|
842
1534
|
};
|
|
843
1535
|
hint?: string;
|
|
844
1536
|
}>;
|
|
1537
|
+
/** Invite a workspace member (POST /api/workspaces/{id}/invitations) */
|
|
1538
|
+
inviteWorkspaceMember(id: string, body: {
|
|
1539
|
+
email: string;
|
|
1540
|
+
role?: "admin" | "member";
|
|
1541
|
+
mailbox_ids?: string[];
|
|
1542
|
+
mailbox_role?: "viewer" | "responder" | "manager";
|
|
1543
|
+
}): Promise<unknown>;
|
|
1544
|
+
/** Leave a workspace (DELETE /api/workspaces/{id}/members/me) */
|
|
1545
|
+
leaveWorkspace(id: string): Promise<unknown>;
|
|
1546
|
+
/** List security audit events (GET /api/audit) */
|
|
1547
|
+
listAuditEvents(query?: {
|
|
1548
|
+
limit?: number;
|
|
1549
|
+
cursor?: string;
|
|
1550
|
+
type?: string;
|
|
1551
|
+
}): Promise<{
|
|
1552
|
+
events?: ({
|
|
1553
|
+
id?: string;
|
|
1554
|
+
tokenId?: string | null;
|
|
1555
|
+
type?: string;
|
|
1556
|
+
targetType?: string | null;
|
|
1557
|
+
targetId?: string | null;
|
|
1558
|
+
metadata?: Record<string, unknown>;
|
|
1559
|
+
createdAt?: string;
|
|
1560
|
+
})[];
|
|
1561
|
+
next_cursor?: string | null;
|
|
1562
|
+
hint?: string;
|
|
1563
|
+
}>;
|
|
845
1564
|
/** List your backorders (GET /api/backorders) */
|
|
846
1565
|
listBackorders(query?: {
|
|
847
1566
|
status?: "watching" | "caught" | "failed" | "cancelled" | "expired";
|
|
@@ -862,6 +1581,22 @@ export declare class Domani {
|
|
|
862
1581
|
email?: Record<string, unknown>[];
|
|
863
1582
|
};
|
|
864
1583
|
}>;
|
|
1584
|
+
/** List attributed conversation activity (GET /api/email/collaboration/{id}/activity) */
|
|
1585
|
+
listConversationActivity(id: string): Promise<{
|
|
1586
|
+
activity: MailActivity[];
|
|
1587
|
+
}>;
|
|
1588
|
+
/** List private conversation notes (GET /api/email/collaboration/{id}/notes) */
|
|
1589
|
+
listConversationNotes(id: string): Promise<{
|
|
1590
|
+
notes: ConversationNote[];
|
|
1591
|
+
}>;
|
|
1592
|
+
/** List persisted shared inbox state (GET /api/email/collaboration) */
|
|
1593
|
+
listConversationStates(query?: {
|
|
1594
|
+
mailbox_ids: string;
|
|
1595
|
+
status?: "open" | "waiting" | "closed";
|
|
1596
|
+
assigned?: "mine" | "unassigned" | "all";
|
|
1597
|
+
}): Promise<{
|
|
1598
|
+
conversations?: ConversationState[];
|
|
1599
|
+
}>;
|
|
865
1600
|
/** List your deals (GET /api/deals) */
|
|
866
1601
|
listDeals(query?: {
|
|
867
1602
|
role?: "buyer" | "seller";
|
|
@@ -870,7 +1605,7 @@ export declare class Domani {
|
|
|
870
1605
|
limit?: number;
|
|
871
1606
|
cursor?: string;
|
|
872
1607
|
}): Promise<{
|
|
873
|
-
deals?: {
|
|
1608
|
+
deals?: ({
|
|
874
1609
|
id?: string;
|
|
875
1610
|
domain?: string;
|
|
876
1611
|
price?: number;
|
|
@@ -881,7 +1616,7 @@ export declare class Domani {
|
|
|
881
1616
|
epp_deadline?: string | null;
|
|
882
1617
|
transfer_deadline?: string | null;
|
|
883
1618
|
created_at?: string;
|
|
884
|
-
}[];
|
|
1619
|
+
})[];
|
|
885
1620
|
has_more?: boolean;
|
|
886
1621
|
next_cursor?: string | null;
|
|
887
1622
|
}>;
|
|
@@ -889,21 +1624,51 @@ export declare class Domani {
|
|
|
889
1624
|
listDomains(): Promise<{
|
|
890
1625
|
domains?: DomainRecord[];
|
|
891
1626
|
}>;
|
|
1627
|
+
/** List email folders and counts (GET /api/emails/{address}/folders) */
|
|
1628
|
+
listEmailFoldersByAddress(address: string): Promise<{
|
|
1629
|
+
folders?: ({
|
|
1630
|
+
id?: "inbox" | "archive" | "sent" | "drafts" | "spam" | "trash";
|
|
1631
|
+
total?: number;
|
|
1632
|
+
unread?: number;
|
|
1633
|
+
})[];
|
|
1634
|
+
views?: ({
|
|
1635
|
+
id?: "starred" | "all";
|
|
1636
|
+
total?: number;
|
|
1637
|
+
unread?: number;
|
|
1638
|
+
})[];
|
|
1639
|
+
capabilities?: Record<string, unknown>;
|
|
1640
|
+
}>;
|
|
892
1641
|
/** List emails (GET /api/emails/{address}/messages) */
|
|
893
1642
|
listEmailMessagesByAddress(address: string, query?: {
|
|
894
1643
|
cursor?: string;
|
|
895
1644
|
limit?: number;
|
|
896
1645
|
direction?: "in" | "out" | "all";
|
|
1646
|
+
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
1647
|
+
view?: "starred" | "all";
|
|
897
1648
|
since?: string;
|
|
898
1649
|
from?: string;
|
|
899
1650
|
to?: string;
|
|
900
1651
|
subject?: string;
|
|
1652
|
+
q?: string;
|
|
1653
|
+
unread?: boolean;
|
|
1654
|
+
attachments?: boolean;
|
|
1655
|
+
spam?: boolean;
|
|
901
1656
|
}): Promise<{
|
|
902
|
-
messages?: {
|
|
1657
|
+
messages?: ({
|
|
903
1658
|
id?: string;
|
|
1659
|
+
thread_key?: string;
|
|
1660
|
+
thread_aliases?: string[];
|
|
904
1661
|
message_id?: string | null;
|
|
905
1662
|
direction?: "in" | "out";
|
|
1663
|
+
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
1664
|
+
read?: boolean;
|
|
1665
|
+
starred?: boolean;
|
|
1666
|
+
answered?: boolean;
|
|
1667
|
+
forwarded?: boolean;
|
|
1668
|
+
spam_detected?: boolean;
|
|
1669
|
+
trashed_at?: string | null;
|
|
906
1670
|
from?: string;
|
|
1671
|
+
avatar_url?: string | null;
|
|
907
1672
|
to?: string;
|
|
908
1673
|
cc?: string | null;
|
|
909
1674
|
reply_to?: string | null;
|
|
@@ -911,22 +1676,21 @@ export declare class Domani {
|
|
|
911
1676
|
text?: string;
|
|
912
1677
|
in_reply_to?: string | null;
|
|
913
1678
|
references?: string | null;
|
|
914
|
-
status?:
|
|
915
|
-
events?:
|
|
916
|
-
status?: string;
|
|
917
|
-
detail?: Record<string, unknown> | null;
|
|
918
|
-
created_at?: string;
|
|
919
|
-
}[];
|
|
1679
|
+
status?: string;
|
|
1680
|
+
events?: Record<string, unknown>[];
|
|
920
1681
|
created_at?: string;
|
|
921
|
-
}[];
|
|
1682
|
+
})[];
|
|
922
1683
|
next_cursor?: string | null;
|
|
923
|
-
|
|
1684
|
+
}>;
|
|
1685
|
+
/** List your agent identities (GET /api/agents/identity) */
|
|
1686
|
+
listIdentities(): Promise<{
|
|
1687
|
+
identities?: AgentIdentity[];
|
|
924
1688
|
}>;
|
|
925
1689
|
/** List payment invoices (GET /api/billing/invoices) */
|
|
926
1690
|
listInvoices(query?: {
|
|
927
1691
|
limit?: number;
|
|
928
1692
|
}): Promise<{
|
|
929
|
-
invoices?: {
|
|
1693
|
+
invoices?: ({
|
|
930
1694
|
id?: string;
|
|
931
1695
|
number?: string | null;
|
|
932
1696
|
status?: string;
|
|
@@ -937,7 +1701,7 @@ export declare class Domani {
|
|
|
937
1701
|
created?: string;
|
|
938
1702
|
hosted_invoice_url?: string | null;
|
|
939
1703
|
invoice_pdf?: string | null;
|
|
940
|
-
}[];
|
|
1704
|
+
})[];
|
|
941
1705
|
has_more?: boolean;
|
|
942
1706
|
hint?: string;
|
|
943
1707
|
}>;
|
|
@@ -950,23 +1714,56 @@ export declare class Domani {
|
|
|
950
1714
|
}[];
|
|
951
1715
|
hint?: string;
|
|
952
1716
|
}>;
|
|
1717
|
+
/** Incrementally synchronize one mailbox (GET /api/email/changes) */
|
|
1718
|
+
listMailboxChanges(query?: {
|
|
1719
|
+
mailbox_id: string;
|
|
1720
|
+
cursor?: string;
|
|
1721
|
+
limit?: number;
|
|
1722
|
+
}): Promise<{
|
|
1723
|
+
changes: MailboxChange[];
|
|
1724
|
+
next_cursor: string;
|
|
1725
|
+
has_more: boolean;
|
|
1726
|
+
requires_full_sync: boolean;
|
|
1727
|
+
reason?: "cursor_required" | "cursor_expired";
|
|
1728
|
+
}>;
|
|
1729
|
+
/** List app passwords (hosted) (GET /api/emails/{address}/credentials) */
|
|
1730
|
+
listMailboxCredentials(address: string): Promise<{
|
|
1731
|
+
mailbox?: string;
|
|
1732
|
+
credentials?: ({
|
|
1733
|
+
id?: string;
|
|
1734
|
+
label?: string;
|
|
1735
|
+
created_at?: string;
|
|
1736
|
+
last_used_at?: string | null;
|
|
1737
|
+
created_by?: {
|
|
1738
|
+
type?: "user" | "token" | "agent";
|
|
1739
|
+
id?: string;
|
|
1740
|
+
label?: string;
|
|
1741
|
+
} | null;
|
|
1742
|
+
})[];
|
|
1743
|
+
hint?: string;
|
|
1744
|
+
}>;
|
|
953
1745
|
/** List all mailboxes (GET /api/email) */
|
|
954
1746
|
listMailboxes(query?: {
|
|
955
1747
|
domain?: string;
|
|
956
1748
|
}): Promise<{
|
|
957
|
-
mailboxes?: {
|
|
1749
|
+
mailboxes?: ({
|
|
958
1750
|
id?: string;
|
|
959
1751
|
address?: string;
|
|
960
1752
|
slug?: string;
|
|
961
1753
|
domain?: string;
|
|
962
1754
|
message_count?: number;
|
|
963
|
-
|
|
1755
|
+
access_role?: "viewer" | "responder" | "manager";
|
|
1756
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1757
|
+
storage_quota_bytes?: number | null;
|
|
1758
|
+
storage_used_bytes?: number | null;
|
|
1759
|
+
storage_measured_at?: string | null;
|
|
1760
|
+
})[];
|
|
964
1761
|
}>;
|
|
965
1762
|
/** List all mailboxes (GET /api/emails) */
|
|
966
1763
|
listMailboxesByAddress(query?: {
|
|
967
1764
|
domain?: string;
|
|
968
1765
|
}): Promise<{
|
|
969
|
-
mailboxes?: {
|
|
1766
|
+
mailboxes?: ({
|
|
970
1767
|
id?: string;
|
|
971
1768
|
address?: string;
|
|
972
1769
|
slug?: string;
|
|
@@ -974,7 +1771,34 @@ export declare class Domani {
|
|
|
974
1771
|
message_count?: number;
|
|
975
1772
|
webhook_url?: string | null;
|
|
976
1773
|
forward_to?: string | null;
|
|
977
|
-
|
|
1774
|
+
workspace_id?: string | null;
|
|
1775
|
+
access_role?: "viewer" | "responder" | "manager";
|
|
1776
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1777
|
+
collaboration_enabled?: boolean;
|
|
1778
|
+
storage_quota_bytes?: number | null;
|
|
1779
|
+
storage_used_bytes?: number | null;
|
|
1780
|
+
storage_measured_at?: string | null;
|
|
1781
|
+
})[];
|
|
1782
|
+
}>;
|
|
1783
|
+
/** List inbound mail rules (GET /api/emails/{address}/rules) */
|
|
1784
|
+
listMailRules(address: string): Promise<{
|
|
1785
|
+
mailbox?: string;
|
|
1786
|
+
rules?: MailRule[];
|
|
1787
|
+
hint?: string;
|
|
1788
|
+
}>;
|
|
1789
|
+
/** List actionable mailbox conversations (GET /api/email/work-queue) */
|
|
1790
|
+
listMailWorkQueue(query?: {
|
|
1791
|
+
mailbox_ids: string;
|
|
1792
|
+
status?: "open" | "waiting" | "closed";
|
|
1793
|
+
assigned?: "mine" | "unassigned" | "all";
|
|
1794
|
+
limit?: number;
|
|
1795
|
+
scan_limit?: number;
|
|
1796
|
+
}): Promise<{
|
|
1797
|
+
items: ConversationWorkItem[];
|
|
1798
|
+
returned: number;
|
|
1799
|
+
scanned_messages: number;
|
|
1800
|
+
partial: boolean;
|
|
1801
|
+
scan_limit_per_mailbox: number;
|
|
978
1802
|
}>;
|
|
979
1803
|
/** List your negotiations (GET /api/negotiations) */
|
|
980
1804
|
listNegotiations(query?: {
|
|
@@ -988,7 +1812,7 @@ export declare class Domani {
|
|
|
988
1812
|
limit?: number;
|
|
989
1813
|
cursor?: string;
|
|
990
1814
|
}): Promise<{
|
|
991
|
-
notifications?: {
|
|
1815
|
+
notifications?: ({
|
|
992
1816
|
id?: string;
|
|
993
1817
|
type?: string;
|
|
994
1818
|
title?: string;
|
|
@@ -996,7 +1820,7 @@ export declare class Domani {
|
|
|
996
1820
|
action_url?: string | null;
|
|
997
1821
|
read?: boolean;
|
|
998
1822
|
created_at?: string;
|
|
999
|
-
}[];
|
|
1823
|
+
})[];
|
|
1000
1824
|
has_more?: boolean;
|
|
1001
1825
|
next_cursor?: string | null;
|
|
1002
1826
|
}>;
|
|
@@ -1005,12 +1829,12 @@ export declare class Domani {
|
|
|
1005
1829
|
cursor?: string;
|
|
1006
1830
|
limit?: number;
|
|
1007
1831
|
}): Promise<{
|
|
1008
|
-
suppressions?: {
|
|
1832
|
+
suppressions?: ({
|
|
1009
1833
|
address?: string;
|
|
1010
1834
|
reason?: "hard_bounce" | "complaint" | "manual";
|
|
1011
1835
|
source?: "resend" | "api";
|
|
1012
1836
|
created_at?: string;
|
|
1013
|
-
}[];
|
|
1837
|
+
})[];
|
|
1014
1838
|
next_cursor?: string | null;
|
|
1015
1839
|
hint?: string;
|
|
1016
1840
|
}>;
|
|
@@ -1062,6 +1886,10 @@ export declare class Domani {
|
|
|
1062
1886
|
}[];
|
|
1063
1887
|
hint?: string;
|
|
1064
1888
|
}>;
|
|
1889
|
+
/** List accessible workspaces (GET /api/workspaces) */
|
|
1890
|
+
listWorkspaces(): Promise<{
|
|
1891
|
+
workspaces?: WorkspaceSummary[];
|
|
1892
|
+
}>;
|
|
1065
1893
|
/** Send a magic link sign-in email (POST /api/auth/login) */
|
|
1066
1894
|
loginUser(body: {
|
|
1067
1895
|
email: string;
|
|
@@ -1086,15 +1914,64 @@ export declare class Domani {
|
|
|
1086
1914
|
markMessagesReadByAddress(address: string, body?: {
|
|
1087
1915
|
message_ids: string[];
|
|
1088
1916
|
read: boolean;
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
}>;
|
|
1917
|
+
idempotency_key?: string;
|
|
1918
|
+
}): Promise<LegacyMailboxOperationReceipt>;
|
|
1092
1919
|
/** Mark notification as read (PATCH /api/notifications/{id}) */
|
|
1093
1920
|
markNotificationRead(id: string, body: {
|
|
1094
1921
|
read: boolean;
|
|
1095
1922
|
}): Promise<{
|
|
1096
1923
|
ok?: boolean;
|
|
1097
1924
|
}>;
|
|
1925
|
+
/** Plan how to adopt an existing domain (GET /api/domains/adoption-plan) */
|
|
1926
|
+
planDomainAdoption(query?: {
|
|
1927
|
+
domain: string;
|
|
1928
|
+
}): Promise<{
|
|
1929
|
+
version: 1;
|
|
1930
|
+
domain: string;
|
|
1931
|
+
registered: boolean;
|
|
1932
|
+
account_state: "untracked" | "connected" | "managed" | "owned_by_another";
|
|
1933
|
+
recommended_action: "acquire" | "connect" | "transfer_preserving_dns" | "none";
|
|
1934
|
+
current: {
|
|
1935
|
+
registrar: string | null;
|
|
1936
|
+
registrar_url: string | null;
|
|
1937
|
+
expires_at: string | null;
|
|
1938
|
+
status: string[];
|
|
1939
|
+
nameservers: string[];
|
|
1940
|
+
dns_provider: string;
|
|
1941
|
+
dnssec_enabled: boolean;
|
|
1942
|
+
};
|
|
1943
|
+
options: {
|
|
1944
|
+
connect?: {
|
|
1945
|
+
available?: boolean;
|
|
1946
|
+
price?: 0;
|
|
1947
|
+
currency?: string;
|
|
1948
|
+
changes_registrar?: false;
|
|
1949
|
+
changes_nameservers?: false;
|
|
1950
|
+
next_action?: {
|
|
1951
|
+
method?: string;
|
|
1952
|
+
path?: string;
|
|
1953
|
+
};
|
|
1954
|
+
};
|
|
1955
|
+
transfer?: {
|
|
1956
|
+
available?: boolean;
|
|
1957
|
+
eligible?: boolean;
|
|
1958
|
+
price?: number | null;
|
|
1959
|
+
currency?: string;
|
|
1960
|
+
includes_renewal?: true;
|
|
1961
|
+
preserves_nameservers?: true;
|
|
1962
|
+
migrates_dns?: false;
|
|
1963
|
+
reason?: string;
|
|
1964
|
+
code?: string;
|
|
1965
|
+
eligible_at?: string;
|
|
1966
|
+
next_action?: {
|
|
1967
|
+
method?: string;
|
|
1968
|
+
path?: string;
|
|
1969
|
+
};
|
|
1970
|
+
};
|
|
1971
|
+
};
|
|
1972
|
+
invariants: string[];
|
|
1973
|
+
warnings: string[];
|
|
1974
|
+
}>;
|
|
1098
1975
|
/** Provide EPP/auth code (seller) (PATCH /api/deals/{id}) */
|
|
1099
1976
|
provideEppCode(id: string, body: {
|
|
1100
1977
|
auth_code: string;
|
|
@@ -1114,6 +1991,10 @@ export declare class Domani {
|
|
|
1114
1991
|
payment_chain?: "base" | "ethereum";
|
|
1115
1992
|
years?: number;
|
|
1116
1993
|
}): Promise<unknown>;
|
|
1994
|
+
/** Refresh a domain brief from live sources (POST /api/domain-briefs/{id}/refresh) */
|
|
1995
|
+
refreshDomainBrief(id: string): Promise<{
|
|
1996
|
+
brief: DomainBrief;
|
|
1997
|
+
}>;
|
|
1117
1998
|
/** Create a new account (POST /api/auth/register) */
|
|
1118
1999
|
registerUser(body: {
|
|
1119
2000
|
email: string;
|
|
@@ -1127,6 +2008,19 @@ export declare class Domani {
|
|
|
1127
2008
|
email?: string;
|
|
1128
2009
|
};
|
|
1129
2010
|
}>;
|
|
2011
|
+
/** Release this client's presence and compose lease (DELETE /api/email/collaboration/coordination) */
|
|
2012
|
+
releaseConversationPresence(body: {
|
|
2013
|
+
mailbox_id: string;
|
|
2014
|
+
thread_key: string;
|
|
2015
|
+
client_id: string;
|
|
2016
|
+
lease_id?: string;
|
|
2017
|
+
}): Promise<ConversationCoordinationSnapshot>;
|
|
2018
|
+
/** Release an agent identity (DELETE /api/agents/identity/{slug}) */
|
|
2019
|
+
releaseIdentity(slug: string): Promise<{
|
|
2020
|
+
success?: boolean;
|
|
2021
|
+
slug?: string;
|
|
2022
|
+
released?: boolean;
|
|
2023
|
+
}>;
|
|
1130
2024
|
/** Remove saved payment method (DELETE /api/billing/card) */
|
|
1131
2025
|
removeCard(): Promise<{
|
|
1132
2026
|
removed?: boolean;
|
|
@@ -1139,6 +2033,10 @@ export declare class Domani {
|
|
|
1139
2033
|
deleted?: boolean;
|
|
1140
2034
|
hint?: string;
|
|
1141
2035
|
}>;
|
|
2036
|
+
/** Remove a member mailbox permission (DELETE /api/workspaces/{id}/mailboxes/{mailboxId}/grants) */
|
|
2037
|
+
removeMailboxGrant(id: string, mailboxId: string, body: {
|
|
2038
|
+
membership_id: string;
|
|
2039
|
+
}): Promise<unknown>;
|
|
1142
2040
|
/** Remove mailbox webhook (DELETE /api/emails/{address}/webhook) */
|
|
1143
2041
|
removeMailboxWebhook(address: string): Promise<{
|
|
1144
2042
|
address?: string;
|
|
@@ -1147,18 +2045,27 @@ export declare class Domani {
|
|
|
1147
2045
|
has_webhook?: boolean;
|
|
1148
2046
|
hint?: string;
|
|
1149
2047
|
}>;
|
|
2048
|
+
/** Remove an inbound mail rule (DELETE /api/emails/{address}/rules/{ruleId}) */
|
|
2049
|
+
removeMailRule(address: string, ruleId: string): Promise<{
|
|
2050
|
+
id?: string;
|
|
2051
|
+
deleted?: boolean;
|
|
2052
|
+
hint?: string;
|
|
2053
|
+
}>;
|
|
1150
2054
|
/** Remove a suppression (DELETE /api/suppressions/{address}) */
|
|
1151
2055
|
removeSuppression(address: string): Promise<{
|
|
1152
2056
|
address?: string;
|
|
1153
2057
|
deleted?: boolean;
|
|
1154
2058
|
hint?: string;
|
|
1155
2059
|
}>;
|
|
2060
|
+
/** Remove a workspace member (DELETE /api/workspaces/{id}/members/{membershipId}) */
|
|
2061
|
+
removeWorkspaceMember(id: string, membershipId: string): Promise<unknown>;
|
|
1156
2062
|
/** Renew a domain (POST /api/domains/{domain}/renew) */
|
|
1157
2063
|
renewDomain(domain: string, body?: {
|
|
1158
2064
|
years?: number;
|
|
1159
2065
|
payment_method?: "card" | "usdc" | "balance";
|
|
1160
2066
|
payment_tx?: string;
|
|
1161
2067
|
payment_chain?: "base" | "ethereum";
|
|
2068
|
+
max_price?: number;
|
|
1162
2069
|
}): Promise<{
|
|
1163
2070
|
domain: string;
|
|
1164
2071
|
renewed_years: number;
|
|
@@ -1168,19 +2075,46 @@ export declare class Domani {
|
|
|
1168
2075
|
payment_method: string;
|
|
1169
2076
|
payment_tx?: string;
|
|
1170
2077
|
}>;
|
|
2078
|
+
/** Replay a webhook delivery (POST /api/webhooks/{id}/deliveries/{deliveryId}/replay) */
|
|
2079
|
+
replayWebhookDelivery(id: string, deliveryId: string, body: {
|
|
2080
|
+
idempotency_key: string;
|
|
2081
|
+
}): Promise<{
|
|
2082
|
+
delivery_id: string;
|
|
2083
|
+
original_delivery_id: string;
|
|
2084
|
+
event_type: string;
|
|
2085
|
+
status: "pending" | "delivered" | "failed";
|
|
2086
|
+
http_status?: number | null;
|
|
2087
|
+
attempts: number;
|
|
2088
|
+
idempotency_key: string;
|
|
2089
|
+
idempotent_replay: boolean;
|
|
2090
|
+
created_at: string;
|
|
2091
|
+
hint?: string;
|
|
2092
|
+
}>;
|
|
1171
2093
|
/** Reply to a message (POST /api/emails/{address}/messages/{id}/reply) */
|
|
1172
2094
|
replyToMessageByAddress(address: string, id: string, body?: {
|
|
1173
2095
|
text?: string;
|
|
1174
2096
|
html?: string;
|
|
1175
2097
|
cc?: string | string[];
|
|
1176
2098
|
all?: boolean;
|
|
2099
|
+
idempotency_key?: string;
|
|
2100
|
+
coordination?: {
|
|
2101
|
+
thread_key?: string;
|
|
2102
|
+
client_id: string;
|
|
2103
|
+
lease_id: string;
|
|
2104
|
+
expected_reply_version: number;
|
|
2105
|
+
};
|
|
1177
2106
|
}): Promise<{
|
|
1178
2107
|
id?: string;
|
|
1179
2108
|
message_id?: string;
|
|
1180
2109
|
from?: string;
|
|
1181
2110
|
to?: string;
|
|
1182
2111
|
status?: string;
|
|
2112
|
+
reply_version?: number;
|
|
1183
2113
|
}>;
|
|
2114
|
+
/** Request a workspace ownership transfer (POST /api/workspaces/{id}/ownership-transfer) */
|
|
2115
|
+
requestWorkspaceOwnershipTransfer(id: string, body: {
|
|
2116
|
+
membership_id: string;
|
|
2117
|
+
}): Promise<unknown>;
|
|
1184
2118
|
/** Resend contact email verification (POST /api/me/resend-verification) */
|
|
1185
2119
|
resendEmailVerification(body?: {
|
|
1186
2120
|
email?: string;
|
|
@@ -1218,17 +2152,34 @@ export declare class Domani {
|
|
|
1218
2152
|
sources?: string[];
|
|
1219
2153
|
capturedAt?: string;
|
|
1220
2154
|
};
|
|
2155
|
+
dry_run?: boolean;
|
|
1221
2156
|
}): Promise<{
|
|
1222
2157
|
domain?: string;
|
|
1223
2158
|
applied?: number;
|
|
1224
2159
|
skipped?: number;
|
|
1225
2160
|
recordCount?: number;
|
|
1226
2161
|
errors?: string[];
|
|
2162
|
+
dry_run?: boolean;
|
|
2163
|
+
would_apply?: DnsRecord[];
|
|
2164
|
+
}>;
|
|
2165
|
+
/** Revoke an app password (hosted) (DELETE /api/emails/{address}/credentials/{id}) */
|
|
2166
|
+
revokeMailboxCredential(address: string, id: string): Promise<{
|
|
2167
|
+
id?: string;
|
|
2168
|
+
revoked?: boolean;
|
|
2169
|
+
hint?: string;
|
|
1227
2170
|
}>;
|
|
1228
2171
|
/** Revoke an API token (DELETE /api/tokens/{id}) */
|
|
1229
2172
|
revokeToken(id: string): Promise<{
|
|
1230
2173
|
success?: boolean;
|
|
1231
2174
|
}>;
|
|
2175
|
+
/** Revoke an access grant and its credentials (DELETE /api/workspaces/{id}/access/grants/{grantId}) */
|
|
2176
|
+
revokeWorkspaceAccess(id: string, grantId: string, body?: {
|
|
2177
|
+
expected_version?: number;
|
|
2178
|
+
}): Promise<unknown>;
|
|
2179
|
+
/** Revoke a pending invitation (DELETE /api/workspaces/{id}/invitations/{invitationId}) */
|
|
2180
|
+
revokeWorkspaceInvitation(id: string, invitationId: string): Promise<unknown>;
|
|
2181
|
+
/** Revoke a pending ownership transfer (DELETE /api/workspaces/{id}/ownership-transfer/{transferId}) */
|
|
2182
|
+
revokeWorkspaceOwnershipTransfer(id: string, transferId: string): Promise<unknown>;
|
|
1232
2183
|
/** Rotate webhook signing secret (POST /api/emails/{address}/webhook/rotate) */
|
|
1233
2184
|
rotateMailboxWebhookSecret(address: string): Promise<{
|
|
1234
2185
|
address?: string;
|
|
@@ -1270,7 +2221,7 @@ export declare class Domani {
|
|
|
1270
2221
|
}>;
|
|
1271
2222
|
/** Send an email (POST /api/emails/{address}/send) */
|
|
1272
2223
|
sendEmailByAddress(address: string, body?: {
|
|
1273
|
-
to: string;
|
|
2224
|
+
to: string | string[];
|
|
1274
2225
|
cc?: string | string[];
|
|
1275
2226
|
bcc?: string | string[];
|
|
1276
2227
|
subject?: string;
|
|
@@ -1279,6 +2230,14 @@ export declare class Domani {
|
|
|
1279
2230
|
reply_to?: string;
|
|
1280
2231
|
in_reply_to?: string;
|
|
1281
2232
|
references?: string;
|
|
2233
|
+
idempotency_key?: string;
|
|
2234
|
+
coordination?: {
|
|
2235
|
+
thread_key: string;
|
|
2236
|
+
client_id: string;
|
|
2237
|
+
lease_id: string;
|
|
2238
|
+
expected_reply_version: number;
|
|
2239
|
+
};
|
|
2240
|
+
allow_risky_content?: boolean;
|
|
1282
2241
|
attachments?: {
|
|
1283
2242
|
content: string;
|
|
1284
2243
|
filename: string;
|
|
@@ -1291,6 +2250,8 @@ export declare class Domani {
|
|
|
1291
2250
|
to?: string;
|
|
1292
2251
|
status?: string;
|
|
1293
2252
|
attachments_count?: number;
|
|
2253
|
+
suppressed?: string[];
|
|
2254
|
+
deliverability?: Record<string, unknown>;
|
|
1294
2255
|
}>;
|
|
1295
2256
|
/** Set domain catch-all (PUT /api/domains/{domain}/email/catch-all) */
|
|
1296
2257
|
setCatchAll(domain: string, body: {
|
|
@@ -1307,6 +2268,7 @@ export declare class Domani {
|
|
|
1307
2268
|
/** Set DNS records for a domain you own (PUT /api/domains/{domain}/dns) */
|
|
1308
2269
|
setDnsRecords(domain: string, body: {
|
|
1309
2270
|
records: DnsRecord[];
|
|
2271
|
+
zone_version?: string;
|
|
1310
2272
|
}): Promise<{
|
|
1311
2273
|
success?: boolean;
|
|
1312
2274
|
domain?: string;
|
|
@@ -1321,6 +2283,11 @@ export declare class Domani {
|
|
|
1321
2283
|
redirect_url?: string | null;
|
|
1322
2284
|
permanent?: boolean;
|
|
1323
2285
|
}>;
|
|
2286
|
+
/** Set a member mailbox permission (PUT /api/workspaces/{id}/mailboxes/{mailboxId}/grants) */
|
|
2287
|
+
setMailboxGrant(id: string, mailboxId: string, body: {
|
|
2288
|
+
membership_id: string;
|
|
2289
|
+
role: "viewer" | "responder" | "manager";
|
|
2290
|
+
}): Promise<unknown>;
|
|
1324
2291
|
/** Set mailbox webhook (PUT /api/emails/{address}/webhook) */
|
|
1325
2292
|
setMailboxWebhook(address: string, body: {
|
|
1326
2293
|
url: string;
|
|
@@ -1358,6 +2325,21 @@ export declare class Domani {
|
|
|
1358
2325
|
records?: DnsRecord[];
|
|
1359
2326
|
hint?: string;
|
|
1360
2327
|
}>;
|
|
2328
|
+
/** Plan or apply one access grant (PUT /api/workspaces/{id}/access) */
|
|
2329
|
+
setWorkspaceAccess(id: string, body: {
|
|
2330
|
+
mode: "plan" | "apply";
|
|
2331
|
+
subject: Record<string, unknown>;
|
|
2332
|
+
resource: Record<string, unknown>;
|
|
2333
|
+
profile: "viewer" | "responder" | "manager" | "draft_only" | "mail_client";
|
|
2334
|
+
policy?: {
|
|
2335
|
+
expires_at?: string | null;
|
|
2336
|
+
recipient_domains?: string[];
|
|
2337
|
+
max_recipients_per_message?: number;
|
|
2338
|
+
require_approval_for?: string[];
|
|
2339
|
+
};
|
|
2340
|
+
expected_version?: number;
|
|
2341
|
+
reason?: string;
|
|
2342
|
+
}): Promise<unknown>;
|
|
1361
2343
|
/** Capture a DNS snapshot (POST /api/domains/{domain}/dns/snapshot) */
|
|
1362
2344
|
snapshotDns(domain: string, body?: {
|
|
1363
2345
|
extra_subdomains?: string[];
|
|
@@ -1389,6 +2371,24 @@ export declare class Domani {
|
|
|
1389
2371
|
checked: number;
|
|
1390
2372
|
iterations: number;
|
|
1391
2373
|
}>;
|
|
2374
|
+
/** Create or replace a flat access group (PUT /api/workspaces/{id}/access/groups) */
|
|
2375
|
+
syncAccessGroup(id: string, body: {
|
|
2376
|
+
id?: string;
|
|
2377
|
+
name: string;
|
|
2378
|
+
description?: string | null;
|
|
2379
|
+
principals: ({
|
|
2380
|
+
type: "human" | "agent" | "service" | "token";
|
|
2381
|
+
id: string;
|
|
2382
|
+
label: string;
|
|
2383
|
+
})[];
|
|
2384
|
+
}): Promise<unknown>;
|
|
2385
|
+
/** Create or replace an explicit mailbox collection (PUT /api/workspaces/{id}/access/collections) */
|
|
2386
|
+
syncMailboxCollection(id: string, body: {
|
|
2387
|
+
id?: string;
|
|
2388
|
+
name: string;
|
|
2389
|
+
description?: string | null;
|
|
2390
|
+
mailbox_ids: string[];
|
|
2391
|
+
}): Promise<unknown>;
|
|
1392
2392
|
/** Test mailbox webhook (POST /api/emails/{address}/webhook/test) */
|
|
1393
2393
|
testMailboxWebhook(address: string): Promise<{
|
|
1394
2394
|
address?: string;
|
|
@@ -1413,6 +2413,26 @@ export declare class Domani {
|
|
|
1413
2413
|
preferred_payment_method?: string | null;
|
|
1414
2414
|
hint?: string;
|
|
1415
2415
|
}>;
|
|
2416
|
+
/** Dismiss or restore first-run guidance (PUT /api/me/activation) */
|
|
2417
|
+
updateActivationPreference(body: {
|
|
2418
|
+
dismissed_version: number;
|
|
2419
|
+
}): Promise<{
|
|
2420
|
+
dismissed_version: number;
|
|
2421
|
+
hint: string;
|
|
2422
|
+
}>;
|
|
2423
|
+
/** Assign or update a shared inbox conversation (PATCH /api/email/collaboration) */
|
|
2424
|
+
updateConversationState(body: {
|
|
2425
|
+
mailbox_id: string;
|
|
2426
|
+
thread_key: string;
|
|
2427
|
+
thread_aliases?: string[];
|
|
2428
|
+
subject?: string | null;
|
|
2429
|
+
status?: "open" | "waiting" | "closed";
|
|
2430
|
+
assignee?: {
|
|
2431
|
+
type?: "member" | "token" | "agent";
|
|
2432
|
+
id?: string;
|
|
2433
|
+
} | null;
|
|
2434
|
+
version?: number;
|
|
2435
|
+
}): Promise<ConversationState>;
|
|
1416
2436
|
/** Update domain settings (PUT /api/domains/{domain}/settings) */
|
|
1417
2437
|
updateDomainSettings(domain: string, body: {
|
|
1418
2438
|
auto_renew?: boolean;
|
|
@@ -1425,6 +2445,26 @@ export declare class Domani {
|
|
|
1425
2445
|
security_lock?: boolean;
|
|
1426
2446
|
hint: string;
|
|
1427
2447
|
}>;
|
|
2448
|
+
/** Apply a lifecycle action to messages (POST /api/emails/{address}/messages/actions) */
|
|
2449
|
+
updateEmailMessagesByAddress(address: string, body: {
|
|
2450
|
+
message_ids: string[];
|
|
2451
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
2452
|
+
destination?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
2453
|
+
read?: boolean;
|
|
2454
|
+
starred?: boolean;
|
|
2455
|
+
idempotency_key?: string;
|
|
2456
|
+
}): Promise<MailboxOperationReceipt>;
|
|
2457
|
+
/** Update an agent identity (PATCH /api/agents/identity/{slug}) */
|
|
2458
|
+
updateIdentity(slug: string, body: {
|
|
2459
|
+
name?: string;
|
|
2460
|
+
bio?: string;
|
|
2461
|
+
emoji?: string;
|
|
2462
|
+
email?: string;
|
|
2463
|
+
links?: {
|
|
2464
|
+
label?: string;
|
|
2465
|
+
url?: string;
|
|
2466
|
+
}[];
|
|
2467
|
+
}): Promise<AgentIdentity>;
|
|
1428
2468
|
/** Update a domain listing (PATCH /api/domains/{domain}/for-sale) */
|
|
1429
2469
|
updateListing(domain: string, body: {
|
|
1430
2470
|
price?: number;
|
|
@@ -1446,6 +2486,7 @@ export declare class Domani {
|
|
|
1446
2486
|
name?: string | null;
|
|
1447
2487
|
webhook_url?: string | null;
|
|
1448
2488
|
forward_to?: string | null;
|
|
2489
|
+
drop_spam?: boolean;
|
|
1449
2490
|
}): Promise<{
|
|
1450
2491
|
id?: string;
|
|
1451
2492
|
address?: string;
|
|
@@ -1458,11 +2499,12 @@ export declare class Domani {
|
|
|
1458
2499
|
}>;
|
|
1459
2500
|
/** Update notification preferences (PUT /api/notifications/preferences) */
|
|
1460
2501
|
updateNotificationPreferences(body: {
|
|
1461
|
-
preferences
|
|
2502
|
+
preferences?: ({
|
|
1462
2503
|
category: "domains" | "transfers" | "marketplace" | "email" | "inquiries";
|
|
1463
2504
|
channel: "in_app" | "email";
|
|
1464
2505
|
enabled: boolean;
|
|
1465
|
-
}[];
|
|
2506
|
+
})[];
|
|
2507
|
+
expiry_alert_days?: number[];
|
|
1466
2508
|
}): Promise<{
|
|
1467
2509
|
ok?: boolean;
|
|
1468
2510
|
}>;
|
|
@@ -1488,6 +2530,14 @@ export declare class Domani {
|
|
|
1488
2530
|
active?: boolean;
|
|
1489
2531
|
hint?: string;
|
|
1490
2532
|
}>;
|
|
2533
|
+
/** Rename a workspace (PATCH /api/workspaces/{id}) */
|
|
2534
|
+
updateWorkspace(id: string, body: {
|
|
2535
|
+
name: string;
|
|
2536
|
+
}): Promise<unknown>;
|
|
2537
|
+
/** Change a member role (PATCH /api/workspaces/{id}/members/{membershipId}) */
|
|
2538
|
+
updateWorkspaceMember(id: string, membershipId: string, body: {
|
|
2539
|
+
role: "admin" | "member";
|
|
2540
|
+
}): Promise<unknown>;
|
|
1491
2541
|
/** Verify that a provider connection is working (POST /api/domains/{domain}/verify) */
|
|
1492
2542
|
verifyConnection(domain: string, body: {
|
|
1493
2543
|
target?: string;
|