domani 1.0.2 → 1.0.4
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 +659 -75
- package/dist/index.js +81 -1
- package/package.json +7 -15
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" | "AGENT_IDENTITY_NOT_FOUND" | "AGENT_IDENTITY_ESCALATION" | "CREDENTIAL_REVOKE_FAILED";
|
|
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" | "MAIL_DOMAIN_CAPACITY_EXHAUSTED" | "MAIL_PROVIDER_ERROR";
|
|
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. */
|
|
@@ -31,6 +31,8 @@ export interface Error {
|
|
|
31
31
|
fix_url?: string;
|
|
32
32
|
/** Seconds until retry is allowed (present on 429 responses) */
|
|
33
33
|
retry_after?: number;
|
|
34
|
+
/** Whether retrying after the external condition changes is safe */
|
|
35
|
+
retryable?: boolean;
|
|
34
36
|
}
|
|
35
37
|
export interface SearchResult {
|
|
36
38
|
/** Whether the domain is available for registration */
|
|
@@ -121,6 +123,23 @@ export interface DomainRecord {
|
|
|
121
123
|
/** Number of mailboxes configured for this domain */
|
|
122
124
|
mailboxCount: number;
|
|
123
125
|
}
|
|
126
|
+
export interface ProvisionAgentResult {
|
|
127
|
+
domain: string;
|
|
128
|
+
domain_status: "registered" | "owned";
|
|
129
|
+
mailbox: {
|
|
130
|
+
address: string;
|
|
131
|
+
status: "created" | "existing";
|
|
132
|
+
} | null;
|
|
133
|
+
webhook: {
|
|
134
|
+
id: string;
|
|
135
|
+
url: string;
|
|
136
|
+
secret?: string;
|
|
137
|
+
header_names: string[];
|
|
138
|
+
} | null;
|
|
139
|
+
warnings: string[];
|
|
140
|
+
hint: string;
|
|
141
|
+
next_steps: string[];
|
|
142
|
+
}
|
|
124
143
|
export interface MailRule {
|
|
125
144
|
id?: string;
|
|
126
145
|
/** Lower runs first */
|
|
@@ -133,6 +152,59 @@ export interface MailRule {
|
|
|
133
152
|
enabled?: boolean;
|
|
134
153
|
created_at?: string;
|
|
135
154
|
}
|
|
155
|
+
export interface MailboxOperationReceipt {
|
|
156
|
+
operation_id: string;
|
|
157
|
+
idempotency_key: string;
|
|
158
|
+
/** True when this response reused the immutable completed receipt and performed no new mutation. */
|
|
159
|
+
idempotent_replay: boolean;
|
|
160
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
161
|
+
status: "succeeded" | "partial";
|
|
162
|
+
results: ({
|
|
163
|
+
message_id: string;
|
|
164
|
+
ok: boolean;
|
|
165
|
+
folder?: "inbox" | "archive" | "sent" | "drafts" | "spam" | "trash";
|
|
166
|
+
changed?: boolean;
|
|
167
|
+
error?: {
|
|
168
|
+
code: string;
|
|
169
|
+
message: string;
|
|
170
|
+
};
|
|
171
|
+
})[];
|
|
172
|
+
summary: {
|
|
173
|
+
total: number;
|
|
174
|
+
succeeded: number;
|
|
175
|
+
failed: number;
|
|
176
|
+
changed: number;
|
|
177
|
+
};
|
|
178
|
+
created_at: string;
|
|
179
|
+
completed_at: string | null;
|
|
180
|
+
}
|
|
181
|
+
export interface LegacyMailboxOperationReceipt {
|
|
182
|
+
operation_id: string;
|
|
183
|
+
idempotency_key: string;
|
|
184
|
+
/** True when this response reused the immutable completed receipt and performed no new mutation. */
|
|
185
|
+
idempotent_replay: boolean;
|
|
186
|
+
action: "move" | "mark_read" | "star" | "restore" | "delete_permanently";
|
|
187
|
+
status: "succeeded" | "partial";
|
|
188
|
+
results: ({
|
|
189
|
+
message_id: string;
|
|
190
|
+
ok: boolean;
|
|
191
|
+
folder?: "inbox" | "archive" | "sent" | "drafts" | "spam" | "trash";
|
|
192
|
+
changed?: boolean;
|
|
193
|
+
error?: {
|
|
194
|
+
code: string;
|
|
195
|
+
message: string;
|
|
196
|
+
};
|
|
197
|
+
})[];
|
|
198
|
+
summary: {
|
|
199
|
+
total: number;
|
|
200
|
+
succeeded: number;
|
|
201
|
+
failed: number;
|
|
202
|
+
changed: number;
|
|
203
|
+
};
|
|
204
|
+
created_at: string;
|
|
205
|
+
completed_at: string | null;
|
|
206
|
+
count: number;
|
|
207
|
+
}
|
|
136
208
|
export interface WorkspaceSummary {
|
|
137
209
|
id: string;
|
|
138
210
|
name: string;
|
|
@@ -147,34 +219,36 @@ export interface WorkspaceSummary {
|
|
|
147
219
|
}[];
|
|
148
220
|
created_at: string;
|
|
149
221
|
}
|
|
222
|
+
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")[];
|
|
150
223
|
export interface WorkspaceDetail {
|
|
151
224
|
id: string;
|
|
152
225
|
name: string;
|
|
153
226
|
role: "owner" | "admin" | "member";
|
|
154
227
|
personal: boolean;
|
|
155
|
-
members: {
|
|
156
|
-
id
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
228
|
+
members: ({
|
|
229
|
+
id: string;
|
|
230
|
+
principal_id: string;
|
|
231
|
+
email: string;
|
|
232
|
+
role: "owner" | "admin" | "member";
|
|
233
|
+
joined_at: string;
|
|
234
|
+
mailbox_grants: ({
|
|
161
235
|
mailbox_id?: string;
|
|
162
236
|
address?: string;
|
|
163
237
|
role?: "viewer" | "responder" | "manager";
|
|
164
|
-
}[];
|
|
165
|
-
}[];
|
|
238
|
+
})[];
|
|
239
|
+
})[];
|
|
166
240
|
/** Visible only to workspace owners and admins. */
|
|
167
|
-
invitations: {
|
|
241
|
+
invitations: ({
|
|
168
242
|
id?: string;
|
|
169
243
|
email?: string;
|
|
170
244
|
role?: "admin" | "member";
|
|
171
245
|
expires_at?: string;
|
|
172
|
-
}[];
|
|
173
|
-
mailboxes: {
|
|
246
|
+
})[];
|
|
247
|
+
mailboxes: ({
|
|
174
248
|
id?: string;
|
|
175
249
|
address?: string;
|
|
176
250
|
name?: string | null;
|
|
177
|
-
}[];
|
|
251
|
+
})[];
|
|
178
252
|
ownership: {
|
|
179
253
|
owner_membership_id: string | null;
|
|
180
254
|
pending_transfer: {
|
|
@@ -196,12 +270,91 @@ export interface ConversationState {
|
|
|
196
270
|
label?: string;
|
|
197
271
|
} | null;
|
|
198
272
|
version: number;
|
|
273
|
+
/** Generation used by stale-safe guarded replies */
|
|
274
|
+
reply_version: number;
|
|
275
|
+
last_reply: {
|
|
276
|
+
actor: {
|
|
277
|
+
type: string;
|
|
278
|
+
id: string;
|
|
279
|
+
label: string;
|
|
280
|
+
};
|
|
281
|
+
at: string;
|
|
282
|
+
} | null;
|
|
199
283
|
note_count: number;
|
|
200
284
|
assigned_to_me?: boolean;
|
|
201
285
|
last_activity_at: string;
|
|
202
286
|
created_at: string;
|
|
203
287
|
updated_at: string;
|
|
204
288
|
}
|
|
289
|
+
export interface ConversationCoordinationSnapshot {
|
|
290
|
+
conversation_id: string;
|
|
291
|
+
mailbox_id: string;
|
|
292
|
+
thread_key: string;
|
|
293
|
+
reply_version: number;
|
|
294
|
+
last_reply: {
|
|
295
|
+
actor: {
|
|
296
|
+
type: string;
|
|
297
|
+
id: string;
|
|
298
|
+
label: string;
|
|
299
|
+
};
|
|
300
|
+
at: string;
|
|
301
|
+
} | null;
|
|
302
|
+
presence: ({
|
|
303
|
+
actor: {
|
|
304
|
+
type: string;
|
|
305
|
+
id: string;
|
|
306
|
+
label: string;
|
|
307
|
+
};
|
|
308
|
+
client_id: string;
|
|
309
|
+
mode: "viewing" | "composing";
|
|
310
|
+
expires_at: string;
|
|
311
|
+
})[];
|
|
312
|
+
compose_lease: {
|
|
313
|
+
lease_id: string;
|
|
314
|
+
holder: {
|
|
315
|
+
type: string;
|
|
316
|
+
id: string;
|
|
317
|
+
label: string;
|
|
318
|
+
};
|
|
319
|
+
client_id: string;
|
|
320
|
+
base_reply_version: number;
|
|
321
|
+
version: number;
|
|
322
|
+
expires_at: string;
|
|
323
|
+
held_by_me: boolean;
|
|
324
|
+
} | null;
|
|
325
|
+
server_time: string;
|
|
326
|
+
heartbeat_after_ms: 15000;
|
|
327
|
+
expires_after_ms: 45000;
|
|
328
|
+
}
|
|
329
|
+
export interface ConversationWorkItem {
|
|
330
|
+
mailbox_id: string;
|
|
331
|
+
thread_key: string;
|
|
332
|
+
thread_aliases: string[];
|
|
333
|
+
subject: string | null;
|
|
334
|
+
status: "open" | "waiting" | "closed";
|
|
335
|
+
assignee: {
|
|
336
|
+
type: "member" | "token" | "agent";
|
|
337
|
+
id: string;
|
|
338
|
+
label: string | null;
|
|
339
|
+
} | null;
|
|
340
|
+
assigned_to_me: boolean;
|
|
341
|
+
persisted: boolean;
|
|
342
|
+
conversation_id: string | null;
|
|
343
|
+
version: number | null;
|
|
344
|
+
note_count: number;
|
|
345
|
+
scanned_message_count: number;
|
|
346
|
+
scanned_unread_count: number;
|
|
347
|
+
first_message_at: string | null;
|
|
348
|
+
last_activity_at: string;
|
|
349
|
+
latest_message: {
|
|
350
|
+
id: string;
|
|
351
|
+
direction: string;
|
|
352
|
+
from: string;
|
|
353
|
+
to: string;
|
|
354
|
+
preview: string | null;
|
|
355
|
+
created_at: string;
|
|
356
|
+
} | null;
|
|
357
|
+
}
|
|
205
358
|
export interface ConversationNote {
|
|
206
359
|
id: string;
|
|
207
360
|
author: {
|
|
@@ -225,6 +378,171 @@ export interface MailActivity {
|
|
|
225
378
|
metadata: Record<string, unknown>;
|
|
226
379
|
created_at: string;
|
|
227
380
|
}
|
|
381
|
+
export interface MailboxChange {
|
|
382
|
+
/** Monotonic sequence serialized as a string */
|
|
383
|
+
sequence: string;
|
|
384
|
+
type: string;
|
|
385
|
+
resource_type: string;
|
|
386
|
+
resource_id: string | null;
|
|
387
|
+
resource_version: number | null;
|
|
388
|
+
actor: {
|
|
389
|
+
type: string;
|
|
390
|
+
id: string;
|
|
391
|
+
label: string | null;
|
|
392
|
+
} | null;
|
|
393
|
+
operation_id: string | null;
|
|
394
|
+
data: Record<string, unknown>;
|
|
395
|
+
created_at: string;
|
|
396
|
+
}
|
|
397
|
+
export interface DomainBrief {
|
|
398
|
+
id: string;
|
|
399
|
+
domain: string;
|
|
400
|
+
depth: "instant" | "deep";
|
|
401
|
+
status: "ready" | "degraded" | "failed";
|
|
402
|
+
summary: string;
|
|
403
|
+
registration: {
|
|
404
|
+
state: "available" | "registered" | "reserved" | "unknown";
|
|
405
|
+
registrar: string | null;
|
|
406
|
+
createdAt: string | null;
|
|
407
|
+
expiresAt: string | null;
|
|
408
|
+
daysUntilExpiry: number | null;
|
|
409
|
+
};
|
|
410
|
+
website: {
|
|
411
|
+
state: "active_business" | "active_noncommercial" | "parked_for_sale" | "parked" | "redirected" | "dormant" | "holding_page" | "protected" | "unreachable" | "unknown";
|
|
412
|
+
title: string | null;
|
|
413
|
+
description: string | null;
|
|
414
|
+
finalUrl: string | null;
|
|
415
|
+
favicon: string | null;
|
|
416
|
+
canonicalUrl: string | null;
|
|
417
|
+
};
|
|
418
|
+
/** Public identity inferred from the current site. Associated operators do not imply registration ownership. */
|
|
419
|
+
identity: {
|
|
420
|
+
name: string | null;
|
|
421
|
+
legalName: string | null;
|
|
422
|
+
pitch: string | null;
|
|
423
|
+
category: string | null;
|
|
424
|
+
audience: string | null;
|
|
425
|
+
language: string | null;
|
|
426
|
+
logo: string | null;
|
|
427
|
+
entities: ({
|
|
428
|
+
name: string;
|
|
429
|
+
legalName: string | null;
|
|
430
|
+
type: "company" | "brand" | "organization" | "public_person" | "unknown";
|
|
431
|
+
relationship: "presented_brand" | "current_operator" | "redirect_destination" | "historical_operator" | "registrant";
|
|
432
|
+
confidence: "high" | "medium" | "low";
|
|
433
|
+
website: string | null;
|
|
434
|
+
sameAs: string[];
|
|
435
|
+
evidenceIds: string[];
|
|
436
|
+
})[];
|
|
437
|
+
};
|
|
438
|
+
activity: {
|
|
439
|
+
state: "active" | "operational" | "dormant" | "inactive" | "unknown";
|
|
440
|
+
rationale: string;
|
|
441
|
+
observedAt: string;
|
|
442
|
+
evidenceIds: string[];
|
|
443
|
+
};
|
|
444
|
+
history: {
|
|
445
|
+
registeredAt: string | null;
|
|
446
|
+
registrationUpdatedAt: string | null;
|
|
447
|
+
firstArchiveAt: string | null;
|
|
448
|
+
latestArchiveAt: string | null;
|
|
449
|
+
currentIdentityFirstSeenAt: string | null;
|
|
450
|
+
snapshots: ({
|
|
451
|
+
capturedAt: string;
|
|
452
|
+
url: string;
|
|
453
|
+
title: string | null;
|
|
454
|
+
description: string | null;
|
|
455
|
+
evidenceIds: string[];
|
|
456
|
+
})[];
|
|
457
|
+
changes: ({
|
|
458
|
+
detectedAt: string;
|
|
459
|
+
type: "identity" | "content" | "redirect" | "registration";
|
|
460
|
+
summary: string;
|
|
461
|
+
evidenceIds: string[];
|
|
462
|
+
})[];
|
|
463
|
+
};
|
|
464
|
+
infrastructure: {
|
|
465
|
+
nameservers: string[];
|
|
466
|
+
mailProviders: string[];
|
|
467
|
+
dnssec: boolean;
|
|
468
|
+
mail: {
|
|
469
|
+
status: "active" | "inactive" | "unknown";
|
|
470
|
+
provider: string | null;
|
|
471
|
+
providerKind: "managed" | "self_hosted" | "gateway" | "custom" | "unknown";
|
|
472
|
+
security: "hardened" | "established" | "basic" | "exposed" | "unknown";
|
|
473
|
+
businessCriticality: "high" | "medium" | "low" | "unknown";
|
|
474
|
+
spf: boolean | null;
|
|
475
|
+
dmarc: "reject" | "quarantine" | "monitor" | "none" | "unknown";
|
|
476
|
+
mtaSts: boolean | null;
|
|
477
|
+
tlsReporting: boolean | null;
|
|
478
|
+
bimi: boolean | null;
|
|
479
|
+
};
|
|
480
|
+
};
|
|
481
|
+
market: {
|
|
482
|
+
listed: boolean;
|
|
483
|
+
marketplace: string | null;
|
|
484
|
+
listingUrl: string | null;
|
|
485
|
+
askingPriceUsd: number | null;
|
|
486
|
+
};
|
|
487
|
+
/** Redacted contact-channel metadata. Raw addresses are never returned. */
|
|
488
|
+
contactability: {
|
|
489
|
+
state: "direct" | "indirect" | "none_found" | "unknown";
|
|
490
|
+
channelType: "registration_email" | null;
|
|
491
|
+
source: string | null;
|
|
492
|
+
confidence: "high" | "medium" | "low" | null;
|
|
493
|
+
};
|
|
494
|
+
acquisitionOutlook: {
|
|
495
|
+
state: "promising" | "possible" | "difficult" | "unknown";
|
|
496
|
+
rationale: string;
|
|
497
|
+
};
|
|
498
|
+
recommendation: {
|
|
499
|
+
action: "register" | "buy_now" | "negotiate_listing" | "private_broker" | "backorder" | "watch" | "choose_alternative";
|
|
500
|
+
rationale: string;
|
|
501
|
+
};
|
|
502
|
+
/** Legacy aggregate. Use coverage instead. */
|
|
503
|
+
completeness: number;
|
|
504
|
+
/** Evidence coverage, separate from confidence and freshness. */
|
|
505
|
+
coverage: {
|
|
506
|
+
score: number;
|
|
507
|
+
sections: {
|
|
508
|
+
registration: "complete" | "partial" | "missing";
|
|
509
|
+
currentUse: "complete" | "partial" | "missing";
|
|
510
|
+
identity: "complete" | "partial" | "missing";
|
|
511
|
+
infrastructure: "complete" | "partial" | "missing";
|
|
512
|
+
history: "complete" | "partial" | "missing";
|
|
513
|
+
market: "complete" | "partial" | "missing";
|
|
514
|
+
};
|
|
515
|
+
missing: string[];
|
|
516
|
+
};
|
|
517
|
+
analyzedAt: string;
|
|
518
|
+
staleAt: string;
|
|
519
|
+
analysisVersion: string;
|
|
520
|
+
evidence: ({
|
|
521
|
+
id: string;
|
|
522
|
+
kind: "registry" | "dns" | "website" | "content" | "archive" | "entity" | "market" | "contact";
|
|
523
|
+
claimKey: string;
|
|
524
|
+
label: string;
|
|
525
|
+
value: string;
|
|
526
|
+
source: string;
|
|
527
|
+
sourceUrl?: string;
|
|
528
|
+
confidence: "high" | "medium" | "low";
|
|
529
|
+
visibility: "public" | "redacted";
|
|
530
|
+
capturedAt: string;
|
|
531
|
+
})[];
|
|
532
|
+
warnings: string[];
|
|
533
|
+
createdAt: string;
|
|
534
|
+
updatedAt: string;
|
|
535
|
+
}
|
|
536
|
+
export interface PublicDomainProfile {
|
|
537
|
+
domain: string;
|
|
538
|
+
canonicalPath: string;
|
|
539
|
+
brief: DomainBrief;
|
|
540
|
+
freshness: "fresh" | "stale";
|
|
541
|
+
qualityScore: number;
|
|
542
|
+
/** True only for fresh, deep, substantive profiles with sufficient public evidence. */
|
|
543
|
+
indexable: boolean;
|
|
544
|
+
indexabilityReasons: ("needs_deep_analysis" | "analysis_not_ready" | "stale_analysis" | "insufficient_coverage" | "insufficient_public_evidence" | "thin_domain_identity")[];
|
|
545
|
+
}
|
|
228
546
|
export interface Backorder {
|
|
229
547
|
id?: string;
|
|
230
548
|
domain?: string;
|
|
@@ -302,13 +620,13 @@ export interface Negotiation {
|
|
|
302
620
|
deal_id?: string | null;
|
|
303
621
|
created_at?: string;
|
|
304
622
|
/** The negotiation thread, oldest first */
|
|
305
|
-
offers?: {
|
|
623
|
+
offers?: ({
|
|
306
624
|
from?: "you" | "counterparty";
|
|
307
625
|
kind?: "offer" | "counter" | "accept" | "decline";
|
|
308
626
|
amount?: number | null;
|
|
309
627
|
message?: string | null;
|
|
310
628
|
at?: string;
|
|
311
|
-
}[];
|
|
629
|
+
})[];
|
|
312
630
|
}
|
|
313
631
|
export interface DomainDetail {
|
|
314
632
|
domain: string;
|
|
@@ -416,6 +734,10 @@ export interface RegistrantContact {
|
|
|
416
734
|
export interface AccountInfo {
|
|
417
735
|
id: string;
|
|
418
736
|
email: string;
|
|
737
|
+
/** Active personal Domani plan key */
|
|
738
|
+
plan: string;
|
|
739
|
+
/** Distinct active Mailzero plan keys on workspaces the user can access */
|
|
740
|
+
workspace_plans: string[];
|
|
419
741
|
/** Whether the user has a card on file (required before buying domains) */
|
|
420
742
|
has_payment_method: boolean;
|
|
421
743
|
/** Whether the user has set WHOIS contact info (required before purchasing domains) */
|
|
@@ -434,6 +756,37 @@ export interface AccountInfo {
|
|
|
434
756
|
token_count: number;
|
|
435
757
|
created_at: string;
|
|
436
758
|
}
|
|
759
|
+
export interface ActivationProjection {
|
|
760
|
+
version: 2;
|
|
761
|
+
account_created_at: string;
|
|
762
|
+
entry: {
|
|
763
|
+
brand: string;
|
|
764
|
+
surface: string;
|
|
765
|
+
intent: string;
|
|
766
|
+
};
|
|
767
|
+
milestones: {
|
|
768
|
+
mailbox_created_at: string | null;
|
|
769
|
+
first_message_sent_at: string | null;
|
|
770
|
+
first_message_received_at: string | null;
|
|
771
|
+
custom_domain_activated_at: string | null;
|
|
772
|
+
programmatic_action_completed_at: string | null;
|
|
773
|
+
first_webhook_delivery_succeeded_at: string | null;
|
|
774
|
+
};
|
|
775
|
+
status: "first_run" | "setup_active" | "mail_active" | "mail_loop_complete" | "domain_active" | "programmatic_active" | "multi_surface_active";
|
|
776
|
+
recommended_actions: ({
|
|
777
|
+
id: string;
|
|
778
|
+
label: string;
|
|
779
|
+
priority: number;
|
|
780
|
+
surfaces: ("web" | "mobile" | "cli" | "mcp")[];
|
|
781
|
+
href?: string;
|
|
782
|
+
operation: string;
|
|
783
|
+
})[];
|
|
784
|
+
available_paths: string[];
|
|
785
|
+
dismissed_version: number;
|
|
786
|
+
pending_claim: {
|
|
787
|
+
slug: string;
|
|
788
|
+
} | null;
|
|
789
|
+
}
|
|
437
790
|
export declare class Domani {
|
|
438
791
|
private apiKey;
|
|
439
792
|
private baseUrl;
|
|
@@ -443,6 +796,10 @@ export declare class Domani {
|
|
|
443
796
|
query?: Record<string, unknown>;
|
|
444
797
|
body?: unknown;
|
|
445
798
|
}): Promise<T>;
|
|
799
|
+
/** Accept an access or ownership offer (POST /api/workspaces/access/offers/accept) */
|
|
800
|
+
acceptWorkspaceAccessOffer(body: {
|
|
801
|
+
token: string;
|
|
802
|
+
}): Promise<unknown>;
|
|
446
803
|
/** Accept a workspace invitation (POST /api/workspaces/invitations/accept) */
|
|
447
804
|
acceptWorkspaceInvitation(body: {
|
|
448
805
|
token: string;
|
|
@@ -589,14 +946,14 @@ export declare class Domani {
|
|
|
589
946
|
risk: "low" | "medium" | "high" | "blocked";
|
|
590
947
|
score: number;
|
|
591
948
|
authentication_message?: boolean;
|
|
592
|
-
checks: {
|
|
949
|
+
checks: ({
|
|
593
950
|
id: string;
|
|
594
951
|
category: "transport_safety" | "credential_safety" | "reputation" | "content_quality" | "reliability";
|
|
595
952
|
status: "pass" | "warning" | "blocked";
|
|
596
953
|
message: string;
|
|
597
954
|
fix?: string;
|
|
598
955
|
evidence?: string[];
|
|
599
|
-
}[];
|
|
956
|
+
})[];
|
|
600
957
|
blocked_reasons: string[];
|
|
601
958
|
warnings: string[];
|
|
602
959
|
override_used?: boolean;
|
|
@@ -712,6 +1069,14 @@ export declare class Domani {
|
|
|
712
1069
|
hint?: string;
|
|
713
1070
|
next_steps?: string[];
|
|
714
1071
|
}>;
|
|
1072
|
+
/** Analyze a domain and persist an evidence-backed brief (POST /api/domain-briefs) */
|
|
1073
|
+
createDomainBrief(body: {
|
|
1074
|
+
domain: string;
|
|
1075
|
+
depth?: "instant" | "deep";
|
|
1076
|
+
refresh?: boolean;
|
|
1077
|
+
}): Promise<{
|
|
1078
|
+
brief: DomainBrief;
|
|
1079
|
+
}>;
|
|
715
1080
|
/** List a domain for sale (PUT /api/domains/{domain}/for-sale) */
|
|
716
1081
|
createListing(domain: string, body: {
|
|
717
1082
|
price: number;
|
|
@@ -733,10 +1098,23 @@ export declare class Domani {
|
|
|
733
1098
|
slug: string;
|
|
734
1099
|
name?: string;
|
|
735
1100
|
}): Promise<{
|
|
736
|
-
id
|
|
737
|
-
address
|
|
738
|
-
|
|
739
|
-
|
|
1101
|
+
id: string;
|
|
1102
|
+
address: string;
|
|
1103
|
+
name: string | null;
|
|
1104
|
+
slug: string;
|
|
1105
|
+
domain: string;
|
|
1106
|
+
kind: string;
|
|
1107
|
+
workspace_id: string | null;
|
|
1108
|
+
access_role: "viewer" | "responder" | "manager";
|
|
1109
|
+
effective_capabilities: MailboxEffectiveCapabilities;
|
|
1110
|
+
collaboration_enabled: boolean;
|
|
1111
|
+
message_count: number;
|
|
1112
|
+
webhook_url: string | null;
|
|
1113
|
+
header_names: string[];
|
|
1114
|
+
forward_to: string | null;
|
|
1115
|
+
signing_secret?: string | null;
|
|
1116
|
+
created_at: string;
|
|
1117
|
+
hint: string;
|
|
740
1118
|
}>;
|
|
741
1119
|
/** Create a mailbox (POST /api/emails) */
|
|
742
1120
|
createMailboxByAddress(body: {
|
|
@@ -746,15 +1124,39 @@ export declare class Domani {
|
|
|
746
1124
|
kind?: "api" | "hosted";
|
|
747
1125
|
workspace_id?: string;
|
|
748
1126
|
}): Promise<{
|
|
749
|
-
id
|
|
750
|
-
address
|
|
1127
|
+
id: string;
|
|
1128
|
+
address: string;
|
|
751
1129
|
name?: string | null;
|
|
752
1130
|
domain?: string;
|
|
753
1131
|
slug?: string;
|
|
754
|
-
|
|
1132
|
+
kind: string;
|
|
1133
|
+
workspace_id: string | null;
|
|
1134
|
+
access_role?: "viewer" | "responder" | "manager";
|
|
1135
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1136
|
+
collaboration_enabled?: boolean;
|
|
1137
|
+
message_count?: number;
|
|
755
1138
|
webhook_url?: string | null;
|
|
1139
|
+
header_names?: string[];
|
|
756
1140
|
forward_to?: string | null;
|
|
757
|
-
signing_secret?: string;
|
|
1141
|
+
signing_secret?: string | null;
|
|
1142
|
+
host_id?: string;
|
|
1143
|
+
dns_records?: DnsRecord[];
|
|
1144
|
+
dns_status?: "published" | "manual";
|
|
1145
|
+
receiving_status?: "pending";
|
|
1146
|
+
sending_status?: "pending" | "unavailable";
|
|
1147
|
+
sending_error?: {
|
|
1148
|
+
code?: "MAIL_DOMAIN_CAPACITY_EXHAUSTED" | "MAIL_PROVIDER_ERROR";
|
|
1149
|
+
retryable?: boolean;
|
|
1150
|
+
};
|
|
1151
|
+
client_settings?: Record<string, unknown>;
|
|
1152
|
+
credential?: {
|
|
1153
|
+
id?: string;
|
|
1154
|
+
label?: string;
|
|
1155
|
+
password?: string;
|
|
1156
|
+
};
|
|
1157
|
+
storage_quota_bytes?: number;
|
|
1158
|
+
created_at?: string;
|
|
1159
|
+
hint: string;
|
|
758
1160
|
}>;
|
|
759
1161
|
/** Create an app password (hosted) (POST /api/emails/{address}/credentials) */
|
|
760
1162
|
createMailboxCredential(address: string, body?: {
|
|
@@ -794,12 +1196,14 @@ export declare class Domani {
|
|
|
794
1196
|
createWebhook(body: {
|
|
795
1197
|
url: string;
|
|
796
1198
|
events: string[];
|
|
1199
|
+
headers?: Record<string, unknown>;
|
|
797
1200
|
}): Promise<{
|
|
798
1201
|
id?: string;
|
|
799
1202
|
url?: string;
|
|
800
1203
|
events?: string[];
|
|
801
1204
|
secret?: string;
|
|
802
1205
|
active?: boolean;
|
|
1206
|
+
header_names?: string[];
|
|
803
1207
|
created_at?: string;
|
|
804
1208
|
hint?: string;
|
|
805
1209
|
}>;
|
|
@@ -807,6 +1211,14 @@ export declare class Domani {
|
|
|
807
1211
|
createWorkspace(body: {
|
|
808
1212
|
name: string;
|
|
809
1213
|
}): Promise<unknown>;
|
|
1214
|
+
/** Offer mailbox access or workspace ownership (POST /api/workspaces/{id}/access/offers) */
|
|
1215
|
+
createWorkspaceAccessOffer(id: string, body: {
|
|
1216
|
+
email: string;
|
|
1217
|
+
grants: Record<string, unknown>[];
|
|
1218
|
+
ownership_disposition?: "unchanged" | "claim";
|
|
1219
|
+
creator_disposition?: "stay" | "stay_admin" | "leave";
|
|
1220
|
+
billing_disposition?: "unchanged" | "sponsor" | "transfer";
|
|
1221
|
+
}): Promise<unknown>;
|
|
810
1222
|
/** Start Mailzero workspace checkout (POST /api/workspaces/{id}/billing/checkout) */
|
|
811
1223
|
createWorkspaceCheckout(id: string, body: {
|
|
812
1224
|
plan: "mail_solo" | "mail_team" | "mail_business";
|
|
@@ -841,9 +1253,8 @@ export declare class Domani {
|
|
|
841
1253
|
/** Bulk delete messages (POST /api/emails/{address}/messages/delete) */
|
|
842
1254
|
deleteMessagesByAddress(address: string, body?: {
|
|
843
1255
|
message_ids: string[];
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
}>;
|
|
1256
|
+
idempotency_key?: string;
|
|
1257
|
+
}): Promise<LegacyMailboxOperationReceipt>;
|
|
847
1258
|
/** Delete webhook (DELETE /api/webhooks/{id}) */
|
|
848
1259
|
deleteWebhook(id: string): Promise<{
|
|
849
1260
|
success?: boolean;
|
|
@@ -879,6 +1290,8 @@ export declare class Domani {
|
|
|
879
1290
|
}>;
|
|
880
1291
|
/** Get current account details (GET /api/me) */
|
|
881
1292
|
getAccount(): Promise<AccountInfo>;
|
|
1293
|
+
/** Get truthful activation state and recommended next actions (GET /api/me/activation) */
|
|
1294
|
+
getActivation(): Promise<ActivationProjection>;
|
|
882
1295
|
/** Get EPP auth code (GET /api/domains/{domain}/auth-code) */
|
|
883
1296
|
getAuthCode(domain: string): Promise<{
|
|
884
1297
|
domain: string;
|
|
@@ -911,6 +1324,11 @@ export declare class Domani {
|
|
|
911
1324
|
has_contact?: boolean;
|
|
912
1325
|
contact?: RegistrantContact;
|
|
913
1326
|
}>;
|
|
1327
|
+
/** Get active viewers, composers, and the compose lease (GET /api/email/collaboration/coordination) */
|
|
1328
|
+
getConversationCoordination(query?: {
|
|
1329
|
+
mailbox_id: string;
|
|
1330
|
+
thread_key: string;
|
|
1331
|
+
}): Promise<ConversationCoordinationSnapshot>;
|
|
914
1332
|
/** Get deal detail with timeline (GET /api/deals/{id}) */
|
|
915
1333
|
getDeal(id: string): Promise<{
|
|
916
1334
|
deal?: {
|
|
@@ -927,11 +1345,11 @@ export declare class Domani {
|
|
|
927
1345
|
transfer_deadline?: string | null;
|
|
928
1346
|
completed_at?: string | null;
|
|
929
1347
|
created_at?: string;
|
|
930
|
-
events?: {
|
|
1348
|
+
events?: ({
|
|
931
1349
|
status?: string;
|
|
932
1350
|
detail?: string | null;
|
|
933
1351
|
created_at?: string;
|
|
934
|
-
}[];
|
|
1352
|
+
})[];
|
|
935
1353
|
};
|
|
936
1354
|
hint?: string;
|
|
937
1355
|
}>;
|
|
@@ -951,12 +1369,21 @@ export declare class Domani {
|
|
|
951
1369
|
enabled?: boolean;
|
|
952
1370
|
records?: DsRecord[];
|
|
953
1371
|
}>;
|
|
1372
|
+
/** Get a previously generated domain brief (GET /api/domain-briefs/{id}) */
|
|
1373
|
+
getDomainBrief(id: string): Promise<{
|
|
1374
|
+
brief: DomainBrief;
|
|
1375
|
+
}>;
|
|
954
1376
|
/** Check email DNS status (GET /api/domains/{domain}/email/status) */
|
|
955
1377
|
getDomainEmailStatus(domain: string): Promise<{
|
|
956
1378
|
domain?: string;
|
|
1379
|
+
enabled?: boolean;
|
|
957
1380
|
verified?: boolean;
|
|
1381
|
+
receiving_verified?: boolean;
|
|
1382
|
+
sending_configured?: boolean;
|
|
1383
|
+
sending_verified?: boolean;
|
|
958
1384
|
records?: DnsRecord[];
|
|
959
1385
|
mailbox_count?: number;
|
|
1386
|
+
hint?: string;
|
|
960
1387
|
}>;
|
|
961
1388
|
/** Get detailed information about a domain you own (GET /api/domains/{domain}) */
|
|
962
1389
|
getDomainInfo(domain: string): Promise<DomainDetail>;
|
|
@@ -1022,18 +1449,18 @@ export declare class Domani {
|
|
|
1022
1449
|
placement: {
|
|
1023
1450
|
available?: boolean;
|
|
1024
1451
|
last_checked_at?: string | null;
|
|
1025
|
-
providers?: {
|
|
1452
|
+
providers?: ({
|
|
1026
1453
|
provider?: "gmail" | "outlook" | "yahoo";
|
|
1027
|
-
status?: "inbox" | "spam" | "missing" | "not_tested";
|
|
1028
|
-
}[];
|
|
1454
|
+
status?: "inbox" | "spam" | "missing" | "error" | "not_tested";
|
|
1455
|
+
})[];
|
|
1029
1456
|
note?: string;
|
|
1030
1457
|
};
|
|
1031
|
-
actions: {
|
|
1458
|
+
actions: ({
|
|
1032
1459
|
id?: string;
|
|
1033
1460
|
severity?: "info" | "warning" | "critical";
|
|
1034
1461
|
title?: string;
|
|
1035
1462
|
detail?: string;
|
|
1036
|
-
}[];
|
|
1463
|
+
})[];
|
|
1037
1464
|
caveats?: string[];
|
|
1038
1465
|
}>;
|
|
1039
1466
|
/** Get mailbox avatar info (GET /api/emails/{address}/avatar) */
|
|
@@ -1053,6 +1480,7 @@ export declare class Domani {
|
|
|
1053
1480
|
kind?: string;
|
|
1054
1481
|
workspace_id?: string | null;
|
|
1055
1482
|
access_role?: "viewer" | "responder" | "manager";
|
|
1483
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1056
1484
|
webhook_url?: string | null;
|
|
1057
1485
|
forward_to?: string | null;
|
|
1058
1486
|
signing_secret?: string | null;
|
|
@@ -1084,14 +1512,18 @@ export declare class Domani {
|
|
|
1084
1512
|
webhook_url?: string | null;
|
|
1085
1513
|
signing_secret?: string | null;
|
|
1086
1514
|
has_webhook?: boolean;
|
|
1515
|
+
header_names?: string[];
|
|
1087
1516
|
hint?: string;
|
|
1088
1517
|
}>;
|
|
1089
1518
|
/** Get a message (GET /api/emails/{address}/messages/{id}) */
|
|
1090
1519
|
getMessageByAddress(address: string, id: string): Promise<{
|
|
1091
1520
|
id?: string;
|
|
1521
|
+
thread_key?: string;
|
|
1522
|
+
thread_aliases?: string[];
|
|
1092
1523
|
message_id?: string | null;
|
|
1093
1524
|
direction?: "in" | "out";
|
|
1094
1525
|
from?: string;
|
|
1526
|
+
avatar_url?: string | null;
|
|
1095
1527
|
to?: string;
|
|
1096
1528
|
cc?: string | null;
|
|
1097
1529
|
reply_to?: string | null;
|
|
@@ -1100,20 +1532,20 @@ export declare class Domani {
|
|
|
1100
1532
|
html?: string | null;
|
|
1101
1533
|
in_reply_to?: string | null;
|
|
1102
1534
|
references?: string | null;
|
|
1103
|
-
attachments?: {
|
|
1535
|
+
attachments?: ({
|
|
1104
1536
|
filename?: string;
|
|
1105
1537
|
content_type?: string;
|
|
1106
1538
|
size?: number;
|
|
1107
1539
|
url?: string | null;
|
|
1108
|
-
}[];
|
|
1540
|
+
})[];
|
|
1109
1541
|
status?: string;
|
|
1110
1542
|
is_read?: boolean;
|
|
1111
1543
|
read_at?: string | null;
|
|
1112
|
-
events?: {
|
|
1544
|
+
events?: ({
|
|
1113
1545
|
status?: string;
|
|
1114
1546
|
detail?: Record<string, unknown> | null;
|
|
1115
1547
|
created_at?: string;
|
|
1116
|
-
}[];
|
|
1548
|
+
})[];
|
|
1117
1549
|
created_at?: string;
|
|
1118
1550
|
}>;
|
|
1119
1551
|
/** Get nameservers for a domain (GET /api/domains/{domain}/nameservers) */
|
|
@@ -1129,13 +1561,13 @@ export declare class Domani {
|
|
|
1129
1561
|
}>;
|
|
1130
1562
|
/** Get notification preferences (GET /api/notifications/preferences) */
|
|
1131
1563
|
getNotificationPreferences(): Promise<{
|
|
1132
|
-
preferences?: {
|
|
1564
|
+
preferences?: ({
|
|
1133
1565
|
category?: "domains" | "transfers" | "marketplace" | "email" | "inquiries";
|
|
1134
1566
|
label?: string;
|
|
1135
1567
|
description?: string;
|
|
1136
1568
|
channel?: "in_app" | "email";
|
|
1137
1569
|
enabled?: boolean;
|
|
1138
|
-
}[];
|
|
1570
|
+
})[];
|
|
1139
1571
|
expiry_alert_days?: number[];
|
|
1140
1572
|
}>;
|
|
1141
1573
|
/** Get parking analytics (GET /api/domains/{domain}/analytics) */
|
|
@@ -1149,11 +1581,11 @@ export declare class Domani {
|
|
|
1149
1581
|
date?: string;
|
|
1150
1582
|
views?: number;
|
|
1151
1583
|
}[];
|
|
1152
|
-
recent_inquiries?: {
|
|
1584
|
+
recent_inquiries?: ({
|
|
1153
1585
|
email?: string;
|
|
1154
1586
|
offer?: number | null;
|
|
1155
1587
|
date?: string;
|
|
1156
|
-
}[];
|
|
1588
|
+
})[];
|
|
1157
1589
|
hint?: string;
|
|
1158
1590
|
}>;
|
|
1159
1591
|
/** Get marketplace payout status (GET /api/billing/connect) */
|
|
@@ -1163,6 +1595,10 @@ export declare class Domani {
|
|
|
1163
1595
|
details_submitted?: boolean;
|
|
1164
1596
|
balance_cents?: number;
|
|
1165
1597
|
}>;
|
|
1598
|
+
/** Get a public domain profile (GET /api/domains/{domain}/profile) */
|
|
1599
|
+
getPublicDomainProfile(domain: string): Promise<{
|
|
1600
|
+
profile: PublicDomainProfile;
|
|
1601
|
+
}>;
|
|
1166
1602
|
/** Get referral earnings and history (GET /api/referrals) */
|
|
1167
1603
|
getReferrals(): Promise<{
|
|
1168
1604
|
referral_code?: string;
|
|
@@ -1202,19 +1638,31 @@ export declare class Domani {
|
|
|
1202
1638
|
getWebhookDeliveries(id: string, query?: {
|
|
1203
1639
|
limit?: number;
|
|
1204
1640
|
}): Promise<{
|
|
1205
|
-
deliveries?: {
|
|
1641
|
+
deliveries?: ({
|
|
1206
1642
|
id?: string;
|
|
1643
|
+
replay_of_id?: string | null;
|
|
1207
1644
|
event_type?: string;
|
|
1208
1645
|
status?: "pending" | "delivered" | "failed";
|
|
1209
1646
|
http_status?: number | null;
|
|
1210
1647
|
attempts?: number;
|
|
1211
1648
|
last_error?: string | null;
|
|
1212
1649
|
created_at?: string;
|
|
1213
|
-
}[];
|
|
1650
|
+
})[];
|
|
1214
1651
|
hint?: string;
|
|
1215
1652
|
}>;
|
|
1216
1653
|
/** Get workspace members and mailboxes (GET /api/workspaces/{id}) */
|
|
1217
1654
|
getWorkspace(id: string): Promise<WorkspaceDetail>;
|
|
1655
|
+
/** Get the canonical workspace access graph (GET /api/workspaces/{id}/access) */
|
|
1656
|
+
getWorkspaceAccess(id: string): Promise<unknown>;
|
|
1657
|
+
/** Heartbeat viewing or composing presence (PUT /api/email/collaboration/coordination) */
|
|
1658
|
+
heartbeatConversationPresence(body: {
|
|
1659
|
+
mailbox_id: string;
|
|
1660
|
+
thread_key: string;
|
|
1661
|
+
client_id: string;
|
|
1662
|
+
subject?: string | null;
|
|
1663
|
+
mode: "viewing" | "composing";
|
|
1664
|
+
acquire_lease?: boolean;
|
|
1665
|
+
}): Promise<ConversationCoordinationSnapshot>;
|
|
1218
1666
|
/** Import an external domain (POST /api/domains/import) */
|
|
1219
1667
|
importDomain(body: {
|
|
1220
1668
|
domain: string;
|
|
@@ -1244,7 +1692,7 @@ export declare class Domani {
|
|
|
1244
1692
|
cursor?: string;
|
|
1245
1693
|
type?: string;
|
|
1246
1694
|
}): Promise<{
|
|
1247
|
-
events?: {
|
|
1695
|
+
events?: ({
|
|
1248
1696
|
id?: string;
|
|
1249
1697
|
tokenId?: string | null;
|
|
1250
1698
|
type?: string;
|
|
@@ -1252,7 +1700,7 @@ export declare class Domani {
|
|
|
1252
1700
|
targetId?: string | null;
|
|
1253
1701
|
metadata?: Record<string, unknown>;
|
|
1254
1702
|
createdAt?: string;
|
|
1255
|
-
}[];
|
|
1703
|
+
})[];
|
|
1256
1704
|
next_cursor?: string | null;
|
|
1257
1705
|
hint?: string;
|
|
1258
1706
|
}>;
|
|
@@ -1284,7 +1732,7 @@ export declare class Domani {
|
|
|
1284
1732
|
listConversationNotes(id: string): Promise<{
|
|
1285
1733
|
notes: ConversationNote[];
|
|
1286
1734
|
}>;
|
|
1287
|
-
/** List shared inbox
|
|
1735
|
+
/** List persisted shared inbox state (GET /api/email/collaboration) */
|
|
1288
1736
|
listConversationStates(query?: {
|
|
1289
1737
|
mailbox_ids: string;
|
|
1290
1738
|
status?: "open" | "waiting" | "closed";
|
|
@@ -1300,7 +1748,7 @@ export declare class Domani {
|
|
|
1300
1748
|
limit?: number;
|
|
1301
1749
|
cursor?: string;
|
|
1302
1750
|
}): Promise<{
|
|
1303
|
-
deals?: {
|
|
1751
|
+
deals?: ({
|
|
1304
1752
|
id?: string;
|
|
1305
1753
|
domain?: string;
|
|
1306
1754
|
price?: number;
|
|
@@ -1311,7 +1759,7 @@ export declare class Domani {
|
|
|
1311
1759
|
epp_deadline?: string | null;
|
|
1312
1760
|
transfer_deadline?: string | null;
|
|
1313
1761
|
created_at?: string;
|
|
1314
|
-
}[];
|
|
1762
|
+
})[];
|
|
1315
1763
|
has_more?: boolean;
|
|
1316
1764
|
next_cursor?: string | null;
|
|
1317
1765
|
}>;
|
|
@@ -1321,16 +1769,16 @@ export declare class Domani {
|
|
|
1321
1769
|
}>;
|
|
1322
1770
|
/** List email folders and counts (GET /api/emails/{address}/folders) */
|
|
1323
1771
|
listEmailFoldersByAddress(address: string): Promise<{
|
|
1324
|
-
folders?: {
|
|
1772
|
+
folders?: ({
|
|
1325
1773
|
id?: "inbox" | "archive" | "sent" | "drafts" | "spam" | "trash";
|
|
1326
1774
|
total?: number;
|
|
1327
1775
|
unread?: number;
|
|
1328
|
-
}[];
|
|
1329
|
-
views?: {
|
|
1776
|
+
})[];
|
|
1777
|
+
views?: ({
|
|
1330
1778
|
id?: "starred" | "all";
|
|
1331
1779
|
total?: number;
|
|
1332
1780
|
unread?: number;
|
|
1333
|
-
}[];
|
|
1781
|
+
})[];
|
|
1334
1782
|
capabilities?: Record<string, unknown>;
|
|
1335
1783
|
}>;
|
|
1336
1784
|
/** List emails (GET /api/emails/{address}/messages) */
|
|
@@ -1349,8 +1797,10 @@ export declare class Domani {
|
|
|
1349
1797
|
attachments?: boolean;
|
|
1350
1798
|
spam?: boolean;
|
|
1351
1799
|
}): Promise<{
|
|
1352
|
-
messages?: {
|
|
1800
|
+
messages?: ({
|
|
1353
1801
|
id?: string;
|
|
1802
|
+
thread_key?: string;
|
|
1803
|
+
thread_aliases?: string[];
|
|
1354
1804
|
message_id?: string | null;
|
|
1355
1805
|
direction?: "in" | "out";
|
|
1356
1806
|
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
@@ -1361,6 +1811,7 @@ export declare class Domani {
|
|
|
1361
1811
|
spam_detected?: boolean;
|
|
1362
1812
|
trashed_at?: string | null;
|
|
1363
1813
|
from?: string;
|
|
1814
|
+
avatar_url?: string | null;
|
|
1364
1815
|
to?: string;
|
|
1365
1816
|
cc?: string | null;
|
|
1366
1817
|
reply_to?: string | null;
|
|
@@ -1371,7 +1822,7 @@ export declare class Domani {
|
|
|
1371
1822
|
status?: string;
|
|
1372
1823
|
events?: Record<string, unknown>[];
|
|
1373
1824
|
created_at?: string;
|
|
1374
|
-
}[];
|
|
1825
|
+
})[];
|
|
1375
1826
|
next_cursor?: string | null;
|
|
1376
1827
|
}>;
|
|
1377
1828
|
/** List your agent identities (GET /api/agents/identity) */
|
|
@@ -1382,7 +1833,7 @@ export declare class Domani {
|
|
|
1382
1833
|
listInvoices(query?: {
|
|
1383
1834
|
limit?: number;
|
|
1384
1835
|
}): Promise<{
|
|
1385
|
-
invoices?: {
|
|
1836
|
+
invoices?: ({
|
|
1386
1837
|
id?: string;
|
|
1387
1838
|
number?: string | null;
|
|
1388
1839
|
status?: string;
|
|
@@ -1393,7 +1844,7 @@ export declare class Domani {
|
|
|
1393
1844
|
created?: string;
|
|
1394
1845
|
hosted_invoice_url?: string | null;
|
|
1395
1846
|
invoice_pdf?: string | null;
|
|
1396
|
-
}[];
|
|
1847
|
+
})[];
|
|
1397
1848
|
has_more?: boolean;
|
|
1398
1849
|
hint?: string;
|
|
1399
1850
|
}>;
|
|
@@ -1406,10 +1857,22 @@ export declare class Domani {
|
|
|
1406
1857
|
}[];
|
|
1407
1858
|
hint?: string;
|
|
1408
1859
|
}>;
|
|
1860
|
+
/** Incrementally synchronize one mailbox (GET /api/email/changes) */
|
|
1861
|
+
listMailboxChanges(query?: {
|
|
1862
|
+
mailbox_id: string;
|
|
1863
|
+
cursor?: string;
|
|
1864
|
+
limit?: number;
|
|
1865
|
+
}): Promise<{
|
|
1866
|
+
changes: MailboxChange[];
|
|
1867
|
+
next_cursor: string;
|
|
1868
|
+
has_more: boolean;
|
|
1869
|
+
requires_full_sync: boolean;
|
|
1870
|
+
reason?: "cursor_required" | "cursor_expired";
|
|
1871
|
+
}>;
|
|
1409
1872
|
/** List app passwords (hosted) (GET /api/emails/{address}/credentials) */
|
|
1410
1873
|
listMailboxCredentials(address: string): Promise<{
|
|
1411
1874
|
mailbox?: string;
|
|
1412
|
-
credentials?: {
|
|
1875
|
+
credentials?: ({
|
|
1413
1876
|
id?: string;
|
|
1414
1877
|
label?: string;
|
|
1415
1878
|
created_at?: string;
|
|
@@ -1419,44 +1882,47 @@ export declare class Domani {
|
|
|
1419
1882
|
id?: string;
|
|
1420
1883
|
label?: string;
|
|
1421
1884
|
} | null;
|
|
1422
|
-
}[];
|
|
1885
|
+
})[];
|
|
1423
1886
|
hint?: string;
|
|
1424
1887
|
}>;
|
|
1425
1888
|
/** List all mailboxes (GET /api/email) */
|
|
1426
1889
|
listMailboxes(query?: {
|
|
1427
1890
|
domain?: string;
|
|
1428
1891
|
}): Promise<{
|
|
1429
|
-
mailboxes?: {
|
|
1892
|
+
mailboxes?: ({
|
|
1430
1893
|
id?: string;
|
|
1431
1894
|
address?: string;
|
|
1432
1895
|
slug?: string;
|
|
1433
1896
|
domain?: string;
|
|
1434
1897
|
message_count?: number;
|
|
1435
1898
|
access_role?: "viewer" | "responder" | "manager";
|
|
1899
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1436
1900
|
storage_quota_bytes?: number | null;
|
|
1437
1901
|
storage_used_bytes?: number | null;
|
|
1438
1902
|
storage_measured_at?: string | null;
|
|
1439
|
-
}[];
|
|
1903
|
+
})[];
|
|
1440
1904
|
}>;
|
|
1441
1905
|
/** List all mailboxes (GET /api/emails) */
|
|
1442
1906
|
listMailboxesByAddress(query?: {
|
|
1443
1907
|
domain?: string;
|
|
1444
1908
|
}): Promise<{
|
|
1445
|
-
mailboxes?: {
|
|
1909
|
+
mailboxes?: ({
|
|
1446
1910
|
id?: string;
|
|
1447
1911
|
address?: string;
|
|
1448
1912
|
slug?: string;
|
|
1449
1913
|
domain?: string;
|
|
1450
1914
|
message_count?: number;
|
|
1451
1915
|
webhook_url?: string | null;
|
|
1916
|
+
header_names?: string[];
|
|
1452
1917
|
forward_to?: string | null;
|
|
1453
1918
|
workspace_id?: string | null;
|
|
1454
1919
|
access_role?: "viewer" | "responder" | "manager";
|
|
1920
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1455
1921
|
collaboration_enabled?: boolean;
|
|
1456
1922
|
storage_quota_bytes?: number | null;
|
|
1457
1923
|
storage_used_bytes?: number | null;
|
|
1458
1924
|
storage_measured_at?: string | null;
|
|
1459
|
-
}[];
|
|
1925
|
+
})[];
|
|
1460
1926
|
}>;
|
|
1461
1927
|
/** List inbound mail rules (GET /api/emails/{address}/rules) */
|
|
1462
1928
|
listMailRules(address: string): Promise<{
|
|
@@ -1464,6 +1930,20 @@ export declare class Domani {
|
|
|
1464
1930
|
rules?: MailRule[];
|
|
1465
1931
|
hint?: string;
|
|
1466
1932
|
}>;
|
|
1933
|
+
/** List actionable mailbox conversations (GET /api/email/work-queue) */
|
|
1934
|
+
listMailWorkQueue(query?: {
|
|
1935
|
+
mailbox_ids: string;
|
|
1936
|
+
status?: "open" | "waiting" | "closed";
|
|
1937
|
+
assigned?: "mine" | "unassigned" | "all";
|
|
1938
|
+
limit?: number;
|
|
1939
|
+
scan_limit?: number;
|
|
1940
|
+
}): Promise<{
|
|
1941
|
+
items: ConversationWorkItem[];
|
|
1942
|
+
returned: number;
|
|
1943
|
+
scanned_messages: number;
|
|
1944
|
+
partial: boolean;
|
|
1945
|
+
scan_limit_per_mailbox: number;
|
|
1946
|
+
}>;
|
|
1467
1947
|
/** List your negotiations (GET /api/negotiations) */
|
|
1468
1948
|
listNegotiations(query?: {
|
|
1469
1949
|
role?: "buyer" | "seller";
|
|
@@ -1476,7 +1956,7 @@ export declare class Domani {
|
|
|
1476
1956
|
limit?: number;
|
|
1477
1957
|
cursor?: string;
|
|
1478
1958
|
}): Promise<{
|
|
1479
|
-
notifications?: {
|
|
1959
|
+
notifications?: ({
|
|
1480
1960
|
id?: string;
|
|
1481
1961
|
type?: string;
|
|
1482
1962
|
title?: string;
|
|
@@ -1484,7 +1964,7 @@ export declare class Domani {
|
|
|
1484
1964
|
action_url?: string | null;
|
|
1485
1965
|
read?: boolean;
|
|
1486
1966
|
created_at?: string;
|
|
1487
|
-
}[];
|
|
1967
|
+
})[];
|
|
1488
1968
|
has_more?: boolean;
|
|
1489
1969
|
next_cursor?: string | null;
|
|
1490
1970
|
}>;
|
|
@@ -1493,12 +1973,12 @@ export declare class Domani {
|
|
|
1493
1973
|
cursor?: string;
|
|
1494
1974
|
limit?: number;
|
|
1495
1975
|
}): Promise<{
|
|
1496
|
-
suppressions?: {
|
|
1976
|
+
suppressions?: ({
|
|
1497
1977
|
address?: string;
|
|
1498
1978
|
reason?: "hard_bounce" | "complaint" | "manual";
|
|
1499
1979
|
source?: "resend" | "api";
|
|
1500
1980
|
created_at?: string;
|
|
1501
|
-
}[];
|
|
1981
|
+
})[];
|
|
1502
1982
|
next_cursor?: string | null;
|
|
1503
1983
|
hint?: string;
|
|
1504
1984
|
}>;
|
|
@@ -1545,6 +2025,7 @@ export declare class Domani {
|
|
|
1545
2025
|
id?: string;
|
|
1546
2026
|
url?: string;
|
|
1547
2027
|
events?: string[];
|
|
2028
|
+
header_names?: string[];
|
|
1548
2029
|
active?: boolean;
|
|
1549
2030
|
created_at?: string;
|
|
1550
2031
|
}[];
|
|
@@ -1578,9 +2059,8 @@ export declare class Domani {
|
|
|
1578
2059
|
markMessagesReadByAddress(address: string, body?: {
|
|
1579
2060
|
message_ids: string[];
|
|
1580
2061
|
read: boolean;
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
}>;
|
|
2062
|
+
idempotency_key?: string;
|
|
2063
|
+
}): Promise<LegacyMailboxOperationReceipt>;
|
|
1584
2064
|
/** Mark notification as read (PATCH /api/notifications/{id}) */
|
|
1585
2065
|
markNotificationRead(id: string, body: {
|
|
1586
2066
|
read: boolean;
|
|
@@ -1650,12 +2130,20 @@ export declare class Domani {
|
|
|
1650
2130
|
slug?: string;
|
|
1651
2131
|
name?: string;
|
|
1652
2132
|
webhook_url?: string;
|
|
2133
|
+
webhook_headers?: {
|
|
2134
|
+
Authorization?: string;
|
|
2135
|
+
"X-API-Key"?: string;
|
|
2136
|
+
};
|
|
1653
2137
|
webhook_events?: string[];
|
|
1654
2138
|
payment_method?: "card" | "usdc" | "balance";
|
|
1655
2139
|
payment_tx?: string;
|
|
1656
2140
|
payment_chain?: "base" | "ethereum";
|
|
1657
2141
|
years?: number;
|
|
1658
|
-
}): Promise<
|
|
2142
|
+
}): Promise<ProvisionAgentResult>;
|
|
2143
|
+
/** Refresh a domain brief from live sources (POST /api/domain-briefs/{id}/refresh) */
|
|
2144
|
+
refreshDomainBrief(id: string): Promise<{
|
|
2145
|
+
brief: DomainBrief;
|
|
2146
|
+
}>;
|
|
1659
2147
|
/** Create a new account (POST /api/auth/register) */
|
|
1660
2148
|
registerUser(body: {
|
|
1661
2149
|
email: string;
|
|
@@ -1669,6 +2157,13 @@ export declare class Domani {
|
|
|
1669
2157
|
email?: string;
|
|
1670
2158
|
};
|
|
1671
2159
|
}>;
|
|
2160
|
+
/** Release this client's presence and compose lease (DELETE /api/email/collaboration/coordination) */
|
|
2161
|
+
releaseConversationPresence(body: {
|
|
2162
|
+
mailbox_id: string;
|
|
2163
|
+
thread_key: string;
|
|
2164
|
+
client_id: string;
|
|
2165
|
+
lease_id?: string;
|
|
2166
|
+
}): Promise<ConversationCoordinationSnapshot>;
|
|
1672
2167
|
/** Release an agent identity (DELETE /api/agents/identity/{slug}) */
|
|
1673
2168
|
releaseIdentity(slug: string): Promise<{
|
|
1674
2169
|
success?: boolean;
|
|
@@ -1697,6 +2192,7 @@ export declare class Domani {
|
|
|
1697
2192
|
webhook_url?: string | null;
|
|
1698
2193
|
signing_secret?: string | null;
|
|
1699
2194
|
has_webhook?: boolean;
|
|
2195
|
+
header_names?: string[];
|
|
1700
2196
|
hint?: string;
|
|
1701
2197
|
}>;
|
|
1702
2198
|
/** Remove an inbound mail rule (DELETE /api/emails/{address}/rules/{ruleId}) */
|
|
@@ -1729,23 +2225,52 @@ export declare class Domani {
|
|
|
1729
2225
|
payment_method: string;
|
|
1730
2226
|
payment_tx?: string;
|
|
1731
2227
|
}>;
|
|
2228
|
+
/** Replay a webhook delivery (POST /api/webhooks/{id}/deliveries/{deliveryId}/replay) */
|
|
2229
|
+
replayWebhookDelivery(id: string, deliveryId: string, body: {
|
|
2230
|
+
idempotency_key: string;
|
|
2231
|
+
}): Promise<{
|
|
2232
|
+
delivery_id: string;
|
|
2233
|
+
original_delivery_id: string;
|
|
2234
|
+
event_type: string;
|
|
2235
|
+
status: "pending" | "delivered" | "failed";
|
|
2236
|
+
http_status?: number | null;
|
|
2237
|
+
attempts: number;
|
|
2238
|
+
idempotency_key: string;
|
|
2239
|
+
idempotent_replay: boolean;
|
|
2240
|
+
created_at: string;
|
|
2241
|
+
hint?: string;
|
|
2242
|
+
}>;
|
|
1732
2243
|
/** Reply to a message (POST /api/emails/{address}/messages/{id}/reply) */
|
|
1733
2244
|
replyToMessageByAddress(address: string, id: string, body?: {
|
|
1734
2245
|
text?: string;
|
|
1735
2246
|
html?: string;
|
|
1736
2247
|
cc?: string | string[];
|
|
1737
2248
|
all?: boolean;
|
|
2249
|
+
idempotency_key?: string;
|
|
2250
|
+
coordination?: {
|
|
2251
|
+
thread_key?: string;
|
|
2252
|
+
client_id: string;
|
|
2253
|
+
lease_id: string;
|
|
2254
|
+
expected_reply_version: number;
|
|
2255
|
+
};
|
|
1738
2256
|
}): Promise<{
|
|
1739
2257
|
id?: string;
|
|
1740
2258
|
message_id?: string;
|
|
1741
2259
|
from?: string;
|
|
1742
2260
|
to?: string;
|
|
1743
2261
|
status?: string;
|
|
2262
|
+
reply_version?: number;
|
|
1744
2263
|
}>;
|
|
1745
2264
|
/** Request a workspace ownership transfer (POST /api/workspaces/{id}/ownership-transfer) */
|
|
1746
2265
|
requestWorkspaceOwnershipTransfer(id: string, body: {
|
|
1747
2266
|
membership_id: string;
|
|
1748
2267
|
}): Promise<unknown>;
|
|
2268
|
+
/** Research or refresh a public domain profile (POST /api/domains/{domain}/profile) */
|
|
2269
|
+
researchPublicDomainProfile(domain: string, query?: {
|
|
2270
|
+
depth?: "instant" | "deep";
|
|
2271
|
+
}): Promise<{
|
|
2272
|
+
profile: PublicDomainProfile;
|
|
2273
|
+
}>;
|
|
1749
2274
|
/** Resend contact email verification (POST /api/me/resend-verification) */
|
|
1750
2275
|
resendEmailVerification(body?: {
|
|
1751
2276
|
email?: string;
|
|
@@ -1803,6 +2328,10 @@ export declare class Domani {
|
|
|
1803
2328
|
revokeToken(id: string): Promise<{
|
|
1804
2329
|
success?: boolean;
|
|
1805
2330
|
}>;
|
|
2331
|
+
/** Revoke an access grant and its credentials (DELETE /api/workspaces/{id}/access/grants/{grantId}) */
|
|
2332
|
+
revokeWorkspaceAccess(id: string, grantId: string, body?: {
|
|
2333
|
+
expected_version?: number;
|
|
2334
|
+
}): Promise<unknown>;
|
|
1806
2335
|
/** Revoke a pending invitation (DELETE /api/workspaces/{id}/invitations/{invitationId}) */
|
|
1807
2336
|
revokeWorkspaceInvitation(id: string, invitationId: string): Promise<unknown>;
|
|
1808
2337
|
/** Revoke a pending ownership transfer (DELETE /api/workspaces/{id}/ownership-transfer/{transferId}) */
|
|
@@ -1858,6 +2387,12 @@ export declare class Domani {
|
|
|
1858
2387
|
in_reply_to?: string;
|
|
1859
2388
|
references?: string;
|
|
1860
2389
|
idempotency_key?: string;
|
|
2390
|
+
coordination?: {
|
|
2391
|
+
thread_key: string;
|
|
2392
|
+
client_id: string;
|
|
2393
|
+
lease_id: string;
|
|
2394
|
+
expected_reply_version: number;
|
|
2395
|
+
};
|
|
1861
2396
|
allow_risky_content?: boolean;
|
|
1862
2397
|
attachments?: {
|
|
1863
2398
|
content: string;
|
|
@@ -1912,11 +2447,13 @@ export declare class Domani {
|
|
|
1912
2447
|
/** Set mailbox webhook (PUT /api/emails/{address}/webhook) */
|
|
1913
2448
|
setMailboxWebhook(address: string, body: {
|
|
1914
2449
|
url: string;
|
|
2450
|
+
headers?: Record<string, unknown>;
|
|
1915
2451
|
}): Promise<{
|
|
1916
2452
|
address?: string;
|
|
1917
2453
|
webhook_url?: string;
|
|
1918
2454
|
signing_secret?: string;
|
|
1919
2455
|
has_webhook?: boolean;
|
|
2456
|
+
header_names?: string[];
|
|
1920
2457
|
hint?: string;
|
|
1921
2458
|
}>;
|
|
1922
2459
|
/** Set nameservers for a domain (PUT /api/domains/{domain}/nameservers) */
|
|
@@ -1943,9 +2480,27 @@ export declare class Domani {
|
|
|
1943
2480
|
domain?: string;
|
|
1944
2481
|
status?: "configured" | "already_configured";
|
|
1945
2482
|
verified_at?: string | null;
|
|
2483
|
+
receiving_verified?: boolean;
|
|
2484
|
+
sending_configured?: boolean;
|
|
2485
|
+
sending_verified?: boolean;
|
|
1946
2486
|
records?: DnsRecord[];
|
|
1947
2487
|
hint?: string;
|
|
1948
2488
|
}>;
|
|
2489
|
+
/** Plan or apply one access grant (PUT /api/workspaces/{id}/access) */
|
|
2490
|
+
setWorkspaceAccess(id: string, body: {
|
|
2491
|
+
mode: "plan" | "apply";
|
|
2492
|
+
subject: Record<string, unknown>;
|
|
2493
|
+
resource: Record<string, unknown>;
|
|
2494
|
+
profile: "viewer" | "responder" | "manager" | "draft_only" | "mail_client";
|
|
2495
|
+
policy?: {
|
|
2496
|
+
expires_at?: string | null;
|
|
2497
|
+
recipient_domains?: string[];
|
|
2498
|
+
max_recipients_per_message?: number;
|
|
2499
|
+
require_approval_for?: string[];
|
|
2500
|
+
};
|
|
2501
|
+
expected_version?: number;
|
|
2502
|
+
reason?: string;
|
|
2503
|
+
}): Promise<unknown>;
|
|
1949
2504
|
/** Capture a DNS snapshot (POST /api/domains/{domain}/dns/snapshot) */
|
|
1950
2505
|
snapshotDns(domain: string, body?: {
|
|
1951
2506
|
extra_subdomains?: string[];
|
|
@@ -1977,6 +2532,24 @@ export declare class Domani {
|
|
|
1977
2532
|
checked: number;
|
|
1978
2533
|
iterations: number;
|
|
1979
2534
|
}>;
|
|
2535
|
+
/** Create or replace a flat access group (PUT /api/workspaces/{id}/access/groups) */
|
|
2536
|
+
syncAccessGroup(id: string, body: {
|
|
2537
|
+
id?: string;
|
|
2538
|
+
name: string;
|
|
2539
|
+
description?: string | null;
|
|
2540
|
+
principals: ({
|
|
2541
|
+
type: "human" | "agent" | "service" | "token";
|
|
2542
|
+
id: string;
|
|
2543
|
+
label: string;
|
|
2544
|
+
})[];
|
|
2545
|
+
}): Promise<unknown>;
|
|
2546
|
+
/** Create or replace an explicit mailbox collection (PUT /api/workspaces/{id}/access/collections) */
|
|
2547
|
+
syncMailboxCollection(id: string, body: {
|
|
2548
|
+
id?: string;
|
|
2549
|
+
name: string;
|
|
2550
|
+
description?: string | null;
|
|
2551
|
+
mailbox_ids: string[];
|
|
2552
|
+
}): Promise<unknown>;
|
|
1980
2553
|
/** Test mailbox webhook (POST /api/emails/{address}/webhook/test) */
|
|
1981
2554
|
testMailboxWebhook(address: string): Promise<{
|
|
1982
2555
|
address?: string;
|
|
@@ -2001,10 +2574,18 @@ export declare class Domani {
|
|
|
2001
2574
|
preferred_payment_method?: string | null;
|
|
2002
2575
|
hint?: string;
|
|
2003
2576
|
}>;
|
|
2577
|
+
/** Dismiss or restore first-run guidance (PUT /api/me/activation) */
|
|
2578
|
+
updateActivationPreference(body: {
|
|
2579
|
+
dismissed_version: number;
|
|
2580
|
+
}): Promise<{
|
|
2581
|
+
dismissed_version: number;
|
|
2582
|
+
hint: string;
|
|
2583
|
+
}>;
|
|
2004
2584
|
/** Assign or update a shared inbox conversation (PATCH /api/email/collaboration) */
|
|
2005
2585
|
updateConversationState(body: {
|
|
2006
2586
|
mailbox_id: string;
|
|
2007
2587
|
thread_key: string;
|
|
2588
|
+
thread_aliases?: string[];
|
|
2008
2589
|
subject?: string | null;
|
|
2009
2590
|
status?: "open" | "waiting" | "closed";
|
|
2010
2591
|
assignee?: {
|
|
@@ -2032,7 +2613,8 @@ export declare class Domani {
|
|
|
2032
2613
|
destination?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
2033
2614
|
read?: boolean;
|
|
2034
2615
|
starred?: boolean;
|
|
2035
|
-
|
|
2616
|
+
idempotency_key?: string;
|
|
2617
|
+
}): Promise<MailboxOperationReceipt>;
|
|
2036
2618
|
/** Update an agent identity (PATCH /api/agents/identity/{slug}) */
|
|
2037
2619
|
updateIdentity(slug: string, body: {
|
|
2038
2620
|
name?: string;
|
|
@@ -2078,11 +2660,11 @@ export declare class Domani {
|
|
|
2078
2660
|
}>;
|
|
2079
2661
|
/** Update notification preferences (PUT /api/notifications/preferences) */
|
|
2080
2662
|
updateNotificationPreferences(body: {
|
|
2081
|
-
preferences?: {
|
|
2663
|
+
preferences?: ({
|
|
2082
2664
|
category: "domains" | "transfers" | "marketplace" | "email" | "inquiries";
|
|
2083
2665
|
channel: "in_app" | "email";
|
|
2084
2666
|
enabled: boolean;
|
|
2085
|
-
}[];
|
|
2667
|
+
})[];
|
|
2086
2668
|
expiry_alert_days?: number[];
|
|
2087
2669
|
}): Promise<{
|
|
2088
2670
|
ok?: boolean;
|
|
@@ -2102,11 +2684,13 @@ export declare class Domani {
|
|
|
2102
2684
|
url?: string;
|
|
2103
2685
|
events?: string[];
|
|
2104
2686
|
active?: boolean;
|
|
2687
|
+
headers?: Record<string, unknown>;
|
|
2105
2688
|
}): Promise<{
|
|
2106
2689
|
id?: string;
|
|
2107
2690
|
url?: string;
|
|
2108
2691
|
events?: string[];
|
|
2109
2692
|
active?: boolean;
|
|
2693
|
+
header_names?: string[];
|
|
2110
2694
|
hint?: string;
|
|
2111
2695
|
}>;
|
|
2112
2696
|
/** Rename a workspace (PATCH /api/workspaces/{id}) */
|