domani 1.0.2 → 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 +500 -79
- package/dist/index.js +73 -1
- package/package.json +1 -1
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";
|
|
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. */
|
|
@@ -133,6 +133,59 @@ export interface MailRule {
|
|
|
133
133
|
enabled?: boolean;
|
|
134
134
|
created_at?: string;
|
|
135
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
|
+
}
|
|
136
189
|
export interface WorkspaceSummary {
|
|
137
190
|
id: string;
|
|
138
191
|
name: string;
|
|
@@ -147,34 +200,36 @@ export interface WorkspaceSummary {
|
|
|
147
200
|
}[];
|
|
148
201
|
created_at: string;
|
|
149
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")[];
|
|
150
204
|
export interface WorkspaceDetail {
|
|
151
205
|
id: string;
|
|
152
206
|
name: string;
|
|
153
207
|
role: "owner" | "admin" | "member";
|
|
154
208
|
personal: boolean;
|
|
155
|
-
members: {
|
|
156
|
-
id
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
209
|
+
members: ({
|
|
210
|
+
id: string;
|
|
211
|
+
principal_id: string;
|
|
212
|
+
email: string;
|
|
213
|
+
role: "owner" | "admin" | "member";
|
|
214
|
+
joined_at: string;
|
|
215
|
+
mailbox_grants: ({
|
|
161
216
|
mailbox_id?: string;
|
|
162
217
|
address?: string;
|
|
163
218
|
role?: "viewer" | "responder" | "manager";
|
|
164
|
-
}[];
|
|
165
|
-
}[];
|
|
219
|
+
})[];
|
|
220
|
+
})[];
|
|
166
221
|
/** Visible only to workspace owners and admins. */
|
|
167
|
-
invitations: {
|
|
222
|
+
invitations: ({
|
|
168
223
|
id?: string;
|
|
169
224
|
email?: string;
|
|
170
225
|
role?: "admin" | "member";
|
|
171
226
|
expires_at?: string;
|
|
172
|
-
}[];
|
|
173
|
-
mailboxes: {
|
|
227
|
+
})[];
|
|
228
|
+
mailboxes: ({
|
|
174
229
|
id?: string;
|
|
175
230
|
address?: string;
|
|
176
231
|
name?: string | null;
|
|
177
|
-
}[];
|
|
232
|
+
})[];
|
|
178
233
|
ownership: {
|
|
179
234
|
owner_membership_id: string | null;
|
|
180
235
|
pending_transfer: {
|
|
@@ -196,12 +251,91 @@ export interface ConversationState {
|
|
|
196
251
|
label?: string;
|
|
197
252
|
} | null;
|
|
198
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;
|
|
199
264
|
note_count: number;
|
|
200
265
|
assigned_to_me?: boolean;
|
|
201
266
|
last_activity_at: string;
|
|
202
267
|
created_at: string;
|
|
203
268
|
updated_at: string;
|
|
204
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
|
+
}
|
|
205
339
|
export interface ConversationNote {
|
|
206
340
|
id: string;
|
|
207
341
|
author: {
|
|
@@ -225,6 +359,82 @@ export interface MailActivity {
|
|
|
225
359
|
metadata: Record<string, unknown>;
|
|
226
360
|
created_at: string;
|
|
227
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
|
+
}
|
|
228
438
|
export interface Backorder {
|
|
229
439
|
id?: string;
|
|
230
440
|
domain?: string;
|
|
@@ -302,13 +512,13 @@ export interface Negotiation {
|
|
|
302
512
|
deal_id?: string | null;
|
|
303
513
|
created_at?: string;
|
|
304
514
|
/** The negotiation thread, oldest first */
|
|
305
|
-
offers?: {
|
|
515
|
+
offers?: ({
|
|
306
516
|
from?: "you" | "counterparty";
|
|
307
517
|
kind?: "offer" | "counter" | "accept" | "decline";
|
|
308
518
|
amount?: number | null;
|
|
309
519
|
message?: string | null;
|
|
310
520
|
at?: string;
|
|
311
|
-
}[];
|
|
521
|
+
})[];
|
|
312
522
|
}
|
|
313
523
|
export interface DomainDetail {
|
|
314
524
|
domain: string;
|
|
@@ -434,6 +644,36 @@ export interface AccountInfo {
|
|
|
434
644
|
token_count: number;
|
|
435
645
|
created_at: string;
|
|
436
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
|
+
}
|
|
437
677
|
export declare class Domani {
|
|
438
678
|
private apiKey;
|
|
439
679
|
private baseUrl;
|
|
@@ -443,6 +683,10 @@ export declare class Domani {
|
|
|
443
683
|
query?: Record<string, unknown>;
|
|
444
684
|
body?: unknown;
|
|
445
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>;
|
|
446
690
|
/** Accept a workspace invitation (POST /api/workspaces/invitations/accept) */
|
|
447
691
|
acceptWorkspaceInvitation(body: {
|
|
448
692
|
token: string;
|
|
@@ -589,14 +833,14 @@ export declare class Domani {
|
|
|
589
833
|
risk: "low" | "medium" | "high" | "blocked";
|
|
590
834
|
score: number;
|
|
591
835
|
authentication_message?: boolean;
|
|
592
|
-
checks: {
|
|
836
|
+
checks: ({
|
|
593
837
|
id: string;
|
|
594
838
|
category: "transport_safety" | "credential_safety" | "reputation" | "content_quality" | "reliability";
|
|
595
839
|
status: "pass" | "warning" | "blocked";
|
|
596
840
|
message: string;
|
|
597
841
|
fix?: string;
|
|
598
842
|
evidence?: string[];
|
|
599
|
-
}[];
|
|
843
|
+
})[];
|
|
600
844
|
blocked_reasons: string[];
|
|
601
845
|
warnings: string[];
|
|
602
846
|
override_used?: boolean;
|
|
@@ -712,6 +956,14 @@ export declare class Domani {
|
|
|
712
956
|
hint?: string;
|
|
713
957
|
next_steps?: string[];
|
|
714
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
|
+
}>;
|
|
715
967
|
/** List a domain for sale (PUT /api/domains/{domain}/for-sale) */
|
|
716
968
|
createListing(domain: string, body: {
|
|
717
969
|
price: number;
|
|
@@ -733,10 +985,22 @@ export declare class Domani {
|
|
|
733
985
|
slug: string;
|
|
734
986
|
name?: string;
|
|
735
987
|
}): Promise<{
|
|
736
|
-
id
|
|
737
|
-
address
|
|
738
|
-
|
|
739
|
-
|
|
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;
|
|
740
1004
|
}>;
|
|
741
1005
|
/** Create a mailbox (POST /api/emails) */
|
|
742
1006
|
createMailboxByAddress(body: {
|
|
@@ -746,15 +1010,22 @@ export declare class Domani {
|
|
|
746
1010
|
kind?: "api" | "hosted";
|
|
747
1011
|
workspace_id?: string;
|
|
748
1012
|
}): Promise<{
|
|
749
|
-
id
|
|
750
|
-
address
|
|
751
|
-
name
|
|
752
|
-
domain
|
|
753
|
-
slug
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
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;
|
|
758
1029
|
}>;
|
|
759
1030
|
/** Create an app password (hosted) (POST /api/emails/{address}/credentials) */
|
|
760
1031
|
createMailboxCredential(address: string, body?: {
|
|
@@ -807,6 +1078,14 @@ export declare class Domani {
|
|
|
807
1078
|
createWorkspace(body: {
|
|
808
1079
|
name: string;
|
|
809
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>;
|
|
810
1089
|
/** Start Mailzero workspace checkout (POST /api/workspaces/{id}/billing/checkout) */
|
|
811
1090
|
createWorkspaceCheckout(id: string, body: {
|
|
812
1091
|
plan: "mail_solo" | "mail_team" | "mail_business";
|
|
@@ -841,9 +1120,8 @@ export declare class Domani {
|
|
|
841
1120
|
/** Bulk delete messages (POST /api/emails/{address}/messages/delete) */
|
|
842
1121
|
deleteMessagesByAddress(address: string, body?: {
|
|
843
1122
|
message_ids: string[];
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
}>;
|
|
1123
|
+
idempotency_key?: string;
|
|
1124
|
+
}): Promise<LegacyMailboxOperationReceipt>;
|
|
847
1125
|
/** Delete webhook (DELETE /api/webhooks/{id}) */
|
|
848
1126
|
deleteWebhook(id: string): Promise<{
|
|
849
1127
|
success?: boolean;
|
|
@@ -879,6 +1157,8 @@ export declare class Domani {
|
|
|
879
1157
|
}>;
|
|
880
1158
|
/** Get current account details (GET /api/me) */
|
|
881
1159
|
getAccount(): Promise<AccountInfo>;
|
|
1160
|
+
/** Get truthful activation state and recommended next actions (GET /api/me/activation) */
|
|
1161
|
+
getActivation(): Promise<ActivationProjection>;
|
|
882
1162
|
/** Get EPP auth code (GET /api/domains/{domain}/auth-code) */
|
|
883
1163
|
getAuthCode(domain: string): Promise<{
|
|
884
1164
|
domain: string;
|
|
@@ -911,6 +1191,11 @@ export declare class Domani {
|
|
|
911
1191
|
has_contact?: boolean;
|
|
912
1192
|
contact?: RegistrantContact;
|
|
913
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>;
|
|
914
1199
|
/** Get deal detail with timeline (GET /api/deals/{id}) */
|
|
915
1200
|
getDeal(id: string): Promise<{
|
|
916
1201
|
deal?: {
|
|
@@ -927,11 +1212,11 @@ export declare class Domani {
|
|
|
927
1212
|
transfer_deadline?: string | null;
|
|
928
1213
|
completed_at?: string | null;
|
|
929
1214
|
created_at?: string;
|
|
930
|
-
events?: {
|
|
1215
|
+
events?: ({
|
|
931
1216
|
status?: string;
|
|
932
1217
|
detail?: string | null;
|
|
933
1218
|
created_at?: string;
|
|
934
|
-
}[];
|
|
1219
|
+
})[];
|
|
935
1220
|
};
|
|
936
1221
|
hint?: string;
|
|
937
1222
|
}>;
|
|
@@ -951,6 +1236,10 @@ export declare class Domani {
|
|
|
951
1236
|
enabled?: boolean;
|
|
952
1237
|
records?: DsRecord[];
|
|
953
1238
|
}>;
|
|
1239
|
+
/** Get a previously generated domain brief (GET /api/domain-briefs/{id}) */
|
|
1240
|
+
getDomainBrief(id: string): Promise<{
|
|
1241
|
+
brief: DomainBrief;
|
|
1242
|
+
}>;
|
|
954
1243
|
/** Check email DNS status (GET /api/domains/{domain}/email/status) */
|
|
955
1244
|
getDomainEmailStatus(domain: string): Promise<{
|
|
956
1245
|
domain?: string;
|
|
@@ -1022,18 +1311,18 @@ export declare class Domani {
|
|
|
1022
1311
|
placement: {
|
|
1023
1312
|
available?: boolean;
|
|
1024
1313
|
last_checked_at?: string | null;
|
|
1025
|
-
providers?: {
|
|
1314
|
+
providers?: ({
|
|
1026
1315
|
provider?: "gmail" | "outlook" | "yahoo";
|
|
1027
|
-
status?: "inbox" | "spam" | "missing" | "not_tested";
|
|
1028
|
-
}[];
|
|
1316
|
+
status?: "inbox" | "spam" | "missing" | "error" | "not_tested";
|
|
1317
|
+
})[];
|
|
1029
1318
|
note?: string;
|
|
1030
1319
|
};
|
|
1031
|
-
actions: {
|
|
1320
|
+
actions: ({
|
|
1032
1321
|
id?: string;
|
|
1033
1322
|
severity?: "info" | "warning" | "critical";
|
|
1034
1323
|
title?: string;
|
|
1035
1324
|
detail?: string;
|
|
1036
|
-
}[];
|
|
1325
|
+
})[];
|
|
1037
1326
|
caveats?: string[];
|
|
1038
1327
|
}>;
|
|
1039
1328
|
/** Get mailbox avatar info (GET /api/emails/{address}/avatar) */
|
|
@@ -1053,6 +1342,7 @@ export declare class Domani {
|
|
|
1053
1342
|
kind?: string;
|
|
1054
1343
|
workspace_id?: string | null;
|
|
1055
1344
|
access_role?: "viewer" | "responder" | "manager";
|
|
1345
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1056
1346
|
webhook_url?: string | null;
|
|
1057
1347
|
forward_to?: string | null;
|
|
1058
1348
|
signing_secret?: string | null;
|
|
@@ -1089,9 +1379,12 @@ export declare class Domani {
|
|
|
1089
1379
|
/** Get a message (GET /api/emails/{address}/messages/{id}) */
|
|
1090
1380
|
getMessageByAddress(address: string, id: string): Promise<{
|
|
1091
1381
|
id?: string;
|
|
1382
|
+
thread_key?: string;
|
|
1383
|
+
thread_aliases?: string[];
|
|
1092
1384
|
message_id?: string | null;
|
|
1093
1385
|
direction?: "in" | "out";
|
|
1094
1386
|
from?: string;
|
|
1387
|
+
avatar_url?: string | null;
|
|
1095
1388
|
to?: string;
|
|
1096
1389
|
cc?: string | null;
|
|
1097
1390
|
reply_to?: string | null;
|
|
@@ -1100,20 +1393,20 @@ export declare class Domani {
|
|
|
1100
1393
|
html?: string | null;
|
|
1101
1394
|
in_reply_to?: string | null;
|
|
1102
1395
|
references?: string | null;
|
|
1103
|
-
attachments?: {
|
|
1396
|
+
attachments?: ({
|
|
1104
1397
|
filename?: string;
|
|
1105
1398
|
content_type?: string;
|
|
1106
1399
|
size?: number;
|
|
1107
1400
|
url?: string | null;
|
|
1108
|
-
}[];
|
|
1401
|
+
})[];
|
|
1109
1402
|
status?: string;
|
|
1110
1403
|
is_read?: boolean;
|
|
1111
1404
|
read_at?: string | null;
|
|
1112
|
-
events?: {
|
|
1405
|
+
events?: ({
|
|
1113
1406
|
status?: string;
|
|
1114
1407
|
detail?: Record<string, unknown> | null;
|
|
1115
1408
|
created_at?: string;
|
|
1116
|
-
}[];
|
|
1409
|
+
})[];
|
|
1117
1410
|
created_at?: string;
|
|
1118
1411
|
}>;
|
|
1119
1412
|
/** Get nameservers for a domain (GET /api/domains/{domain}/nameservers) */
|
|
@@ -1129,13 +1422,13 @@ export declare class Domani {
|
|
|
1129
1422
|
}>;
|
|
1130
1423
|
/** Get notification preferences (GET /api/notifications/preferences) */
|
|
1131
1424
|
getNotificationPreferences(): Promise<{
|
|
1132
|
-
preferences?: {
|
|
1425
|
+
preferences?: ({
|
|
1133
1426
|
category?: "domains" | "transfers" | "marketplace" | "email" | "inquiries";
|
|
1134
1427
|
label?: string;
|
|
1135
1428
|
description?: string;
|
|
1136
1429
|
channel?: "in_app" | "email";
|
|
1137
1430
|
enabled?: boolean;
|
|
1138
|
-
}[];
|
|
1431
|
+
})[];
|
|
1139
1432
|
expiry_alert_days?: number[];
|
|
1140
1433
|
}>;
|
|
1141
1434
|
/** Get parking analytics (GET /api/domains/{domain}/analytics) */
|
|
@@ -1149,11 +1442,11 @@ export declare class Domani {
|
|
|
1149
1442
|
date?: string;
|
|
1150
1443
|
views?: number;
|
|
1151
1444
|
}[];
|
|
1152
|
-
recent_inquiries?: {
|
|
1445
|
+
recent_inquiries?: ({
|
|
1153
1446
|
email?: string;
|
|
1154
1447
|
offer?: number | null;
|
|
1155
1448
|
date?: string;
|
|
1156
|
-
}[];
|
|
1449
|
+
})[];
|
|
1157
1450
|
hint?: string;
|
|
1158
1451
|
}>;
|
|
1159
1452
|
/** Get marketplace payout status (GET /api/billing/connect) */
|
|
@@ -1202,19 +1495,31 @@ export declare class Domani {
|
|
|
1202
1495
|
getWebhookDeliveries(id: string, query?: {
|
|
1203
1496
|
limit?: number;
|
|
1204
1497
|
}): Promise<{
|
|
1205
|
-
deliveries?: {
|
|
1498
|
+
deliveries?: ({
|
|
1206
1499
|
id?: string;
|
|
1500
|
+
replay_of_id?: string | null;
|
|
1207
1501
|
event_type?: string;
|
|
1208
1502
|
status?: "pending" | "delivered" | "failed";
|
|
1209
1503
|
http_status?: number | null;
|
|
1210
1504
|
attempts?: number;
|
|
1211
1505
|
last_error?: string | null;
|
|
1212
1506
|
created_at?: string;
|
|
1213
|
-
}[];
|
|
1507
|
+
})[];
|
|
1214
1508
|
hint?: string;
|
|
1215
1509
|
}>;
|
|
1216
1510
|
/** Get workspace members and mailboxes (GET /api/workspaces/{id}) */
|
|
1217
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>;
|
|
1218
1523
|
/** Import an external domain (POST /api/domains/import) */
|
|
1219
1524
|
importDomain(body: {
|
|
1220
1525
|
domain: string;
|
|
@@ -1244,7 +1549,7 @@ export declare class Domani {
|
|
|
1244
1549
|
cursor?: string;
|
|
1245
1550
|
type?: string;
|
|
1246
1551
|
}): Promise<{
|
|
1247
|
-
events?: {
|
|
1552
|
+
events?: ({
|
|
1248
1553
|
id?: string;
|
|
1249
1554
|
tokenId?: string | null;
|
|
1250
1555
|
type?: string;
|
|
@@ -1252,7 +1557,7 @@ export declare class Domani {
|
|
|
1252
1557
|
targetId?: string | null;
|
|
1253
1558
|
metadata?: Record<string, unknown>;
|
|
1254
1559
|
createdAt?: string;
|
|
1255
|
-
}[];
|
|
1560
|
+
})[];
|
|
1256
1561
|
next_cursor?: string | null;
|
|
1257
1562
|
hint?: string;
|
|
1258
1563
|
}>;
|
|
@@ -1284,7 +1589,7 @@ export declare class Domani {
|
|
|
1284
1589
|
listConversationNotes(id: string): Promise<{
|
|
1285
1590
|
notes: ConversationNote[];
|
|
1286
1591
|
}>;
|
|
1287
|
-
/** List shared inbox
|
|
1592
|
+
/** List persisted shared inbox state (GET /api/email/collaboration) */
|
|
1288
1593
|
listConversationStates(query?: {
|
|
1289
1594
|
mailbox_ids: string;
|
|
1290
1595
|
status?: "open" | "waiting" | "closed";
|
|
@@ -1300,7 +1605,7 @@ export declare class Domani {
|
|
|
1300
1605
|
limit?: number;
|
|
1301
1606
|
cursor?: string;
|
|
1302
1607
|
}): Promise<{
|
|
1303
|
-
deals?: {
|
|
1608
|
+
deals?: ({
|
|
1304
1609
|
id?: string;
|
|
1305
1610
|
domain?: string;
|
|
1306
1611
|
price?: number;
|
|
@@ -1311,7 +1616,7 @@ export declare class Domani {
|
|
|
1311
1616
|
epp_deadline?: string | null;
|
|
1312
1617
|
transfer_deadline?: string | null;
|
|
1313
1618
|
created_at?: string;
|
|
1314
|
-
}[];
|
|
1619
|
+
})[];
|
|
1315
1620
|
has_more?: boolean;
|
|
1316
1621
|
next_cursor?: string | null;
|
|
1317
1622
|
}>;
|
|
@@ -1321,16 +1626,16 @@ export declare class Domani {
|
|
|
1321
1626
|
}>;
|
|
1322
1627
|
/** List email folders and counts (GET /api/emails/{address}/folders) */
|
|
1323
1628
|
listEmailFoldersByAddress(address: string): Promise<{
|
|
1324
|
-
folders?: {
|
|
1629
|
+
folders?: ({
|
|
1325
1630
|
id?: "inbox" | "archive" | "sent" | "drafts" | "spam" | "trash";
|
|
1326
1631
|
total?: number;
|
|
1327
1632
|
unread?: number;
|
|
1328
|
-
}[];
|
|
1329
|
-
views?: {
|
|
1633
|
+
})[];
|
|
1634
|
+
views?: ({
|
|
1330
1635
|
id?: "starred" | "all";
|
|
1331
1636
|
total?: number;
|
|
1332
1637
|
unread?: number;
|
|
1333
|
-
}[];
|
|
1638
|
+
})[];
|
|
1334
1639
|
capabilities?: Record<string, unknown>;
|
|
1335
1640
|
}>;
|
|
1336
1641
|
/** List emails (GET /api/emails/{address}/messages) */
|
|
@@ -1349,8 +1654,10 @@ export declare class Domani {
|
|
|
1349
1654
|
attachments?: boolean;
|
|
1350
1655
|
spam?: boolean;
|
|
1351
1656
|
}): Promise<{
|
|
1352
|
-
messages?: {
|
|
1657
|
+
messages?: ({
|
|
1353
1658
|
id?: string;
|
|
1659
|
+
thread_key?: string;
|
|
1660
|
+
thread_aliases?: string[];
|
|
1354
1661
|
message_id?: string | null;
|
|
1355
1662
|
direction?: "in" | "out";
|
|
1356
1663
|
folder?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
@@ -1361,6 +1668,7 @@ export declare class Domani {
|
|
|
1361
1668
|
spam_detected?: boolean;
|
|
1362
1669
|
trashed_at?: string | null;
|
|
1363
1670
|
from?: string;
|
|
1671
|
+
avatar_url?: string | null;
|
|
1364
1672
|
to?: string;
|
|
1365
1673
|
cc?: string | null;
|
|
1366
1674
|
reply_to?: string | null;
|
|
@@ -1371,7 +1679,7 @@ export declare class Domani {
|
|
|
1371
1679
|
status?: string;
|
|
1372
1680
|
events?: Record<string, unknown>[];
|
|
1373
1681
|
created_at?: string;
|
|
1374
|
-
}[];
|
|
1682
|
+
})[];
|
|
1375
1683
|
next_cursor?: string | null;
|
|
1376
1684
|
}>;
|
|
1377
1685
|
/** List your agent identities (GET /api/agents/identity) */
|
|
@@ -1382,7 +1690,7 @@ export declare class Domani {
|
|
|
1382
1690
|
listInvoices(query?: {
|
|
1383
1691
|
limit?: number;
|
|
1384
1692
|
}): Promise<{
|
|
1385
|
-
invoices?: {
|
|
1693
|
+
invoices?: ({
|
|
1386
1694
|
id?: string;
|
|
1387
1695
|
number?: string | null;
|
|
1388
1696
|
status?: string;
|
|
@@ -1393,7 +1701,7 @@ export declare class Domani {
|
|
|
1393
1701
|
created?: string;
|
|
1394
1702
|
hosted_invoice_url?: string | null;
|
|
1395
1703
|
invoice_pdf?: string | null;
|
|
1396
|
-
}[];
|
|
1704
|
+
})[];
|
|
1397
1705
|
has_more?: boolean;
|
|
1398
1706
|
hint?: string;
|
|
1399
1707
|
}>;
|
|
@@ -1406,10 +1714,22 @@ export declare class Domani {
|
|
|
1406
1714
|
}[];
|
|
1407
1715
|
hint?: string;
|
|
1408
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
|
+
}>;
|
|
1409
1729
|
/** List app passwords (hosted) (GET /api/emails/{address}/credentials) */
|
|
1410
1730
|
listMailboxCredentials(address: string): Promise<{
|
|
1411
1731
|
mailbox?: string;
|
|
1412
|
-
credentials?: {
|
|
1732
|
+
credentials?: ({
|
|
1413
1733
|
id?: string;
|
|
1414
1734
|
label?: string;
|
|
1415
1735
|
created_at?: string;
|
|
@@ -1419,30 +1739,31 @@ export declare class Domani {
|
|
|
1419
1739
|
id?: string;
|
|
1420
1740
|
label?: string;
|
|
1421
1741
|
} | null;
|
|
1422
|
-
}[];
|
|
1742
|
+
})[];
|
|
1423
1743
|
hint?: string;
|
|
1424
1744
|
}>;
|
|
1425
1745
|
/** List all mailboxes (GET /api/email) */
|
|
1426
1746
|
listMailboxes(query?: {
|
|
1427
1747
|
domain?: string;
|
|
1428
1748
|
}): Promise<{
|
|
1429
|
-
mailboxes?: {
|
|
1749
|
+
mailboxes?: ({
|
|
1430
1750
|
id?: string;
|
|
1431
1751
|
address?: string;
|
|
1432
1752
|
slug?: string;
|
|
1433
1753
|
domain?: string;
|
|
1434
1754
|
message_count?: number;
|
|
1435
1755
|
access_role?: "viewer" | "responder" | "manager";
|
|
1756
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1436
1757
|
storage_quota_bytes?: number | null;
|
|
1437
1758
|
storage_used_bytes?: number | null;
|
|
1438
1759
|
storage_measured_at?: string | null;
|
|
1439
|
-
}[];
|
|
1760
|
+
})[];
|
|
1440
1761
|
}>;
|
|
1441
1762
|
/** List all mailboxes (GET /api/emails) */
|
|
1442
1763
|
listMailboxesByAddress(query?: {
|
|
1443
1764
|
domain?: string;
|
|
1444
1765
|
}): Promise<{
|
|
1445
|
-
mailboxes?: {
|
|
1766
|
+
mailboxes?: ({
|
|
1446
1767
|
id?: string;
|
|
1447
1768
|
address?: string;
|
|
1448
1769
|
slug?: string;
|
|
@@ -1452,11 +1773,12 @@ export declare class Domani {
|
|
|
1452
1773
|
forward_to?: string | null;
|
|
1453
1774
|
workspace_id?: string | null;
|
|
1454
1775
|
access_role?: "viewer" | "responder" | "manager";
|
|
1776
|
+
effective_capabilities?: MailboxEffectiveCapabilities;
|
|
1455
1777
|
collaboration_enabled?: boolean;
|
|
1456
1778
|
storage_quota_bytes?: number | null;
|
|
1457
1779
|
storage_used_bytes?: number | null;
|
|
1458
1780
|
storage_measured_at?: string | null;
|
|
1459
|
-
}[];
|
|
1781
|
+
})[];
|
|
1460
1782
|
}>;
|
|
1461
1783
|
/** List inbound mail rules (GET /api/emails/{address}/rules) */
|
|
1462
1784
|
listMailRules(address: string): Promise<{
|
|
@@ -1464,6 +1786,20 @@ export declare class Domani {
|
|
|
1464
1786
|
rules?: MailRule[];
|
|
1465
1787
|
hint?: string;
|
|
1466
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;
|
|
1802
|
+
}>;
|
|
1467
1803
|
/** List your negotiations (GET /api/negotiations) */
|
|
1468
1804
|
listNegotiations(query?: {
|
|
1469
1805
|
role?: "buyer" | "seller";
|
|
@@ -1476,7 +1812,7 @@ export declare class Domani {
|
|
|
1476
1812
|
limit?: number;
|
|
1477
1813
|
cursor?: string;
|
|
1478
1814
|
}): Promise<{
|
|
1479
|
-
notifications?: {
|
|
1815
|
+
notifications?: ({
|
|
1480
1816
|
id?: string;
|
|
1481
1817
|
type?: string;
|
|
1482
1818
|
title?: string;
|
|
@@ -1484,7 +1820,7 @@ export declare class Domani {
|
|
|
1484
1820
|
action_url?: string | null;
|
|
1485
1821
|
read?: boolean;
|
|
1486
1822
|
created_at?: string;
|
|
1487
|
-
}[];
|
|
1823
|
+
})[];
|
|
1488
1824
|
has_more?: boolean;
|
|
1489
1825
|
next_cursor?: string | null;
|
|
1490
1826
|
}>;
|
|
@@ -1493,12 +1829,12 @@ export declare class Domani {
|
|
|
1493
1829
|
cursor?: string;
|
|
1494
1830
|
limit?: number;
|
|
1495
1831
|
}): Promise<{
|
|
1496
|
-
suppressions?: {
|
|
1832
|
+
suppressions?: ({
|
|
1497
1833
|
address?: string;
|
|
1498
1834
|
reason?: "hard_bounce" | "complaint" | "manual";
|
|
1499
1835
|
source?: "resend" | "api";
|
|
1500
1836
|
created_at?: string;
|
|
1501
|
-
}[];
|
|
1837
|
+
})[];
|
|
1502
1838
|
next_cursor?: string | null;
|
|
1503
1839
|
hint?: string;
|
|
1504
1840
|
}>;
|
|
@@ -1578,9 +1914,8 @@ export declare class Domani {
|
|
|
1578
1914
|
markMessagesReadByAddress(address: string, body?: {
|
|
1579
1915
|
message_ids: string[];
|
|
1580
1916
|
read: boolean;
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
}>;
|
|
1917
|
+
idempotency_key?: string;
|
|
1918
|
+
}): Promise<LegacyMailboxOperationReceipt>;
|
|
1584
1919
|
/** Mark notification as read (PATCH /api/notifications/{id}) */
|
|
1585
1920
|
markNotificationRead(id: string, body: {
|
|
1586
1921
|
read: boolean;
|
|
@@ -1656,6 +1991,10 @@ export declare class Domani {
|
|
|
1656
1991
|
payment_chain?: "base" | "ethereum";
|
|
1657
1992
|
years?: number;
|
|
1658
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
|
+
}>;
|
|
1659
1998
|
/** Create a new account (POST /api/auth/register) */
|
|
1660
1999
|
registerUser(body: {
|
|
1661
2000
|
email: string;
|
|
@@ -1669,6 +2008,13 @@ export declare class Domani {
|
|
|
1669
2008
|
email?: string;
|
|
1670
2009
|
};
|
|
1671
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>;
|
|
1672
2018
|
/** Release an agent identity (DELETE /api/agents/identity/{slug}) */
|
|
1673
2019
|
releaseIdentity(slug: string): Promise<{
|
|
1674
2020
|
success?: boolean;
|
|
@@ -1729,18 +2075,41 @@ export declare class Domani {
|
|
|
1729
2075
|
payment_method: string;
|
|
1730
2076
|
payment_tx?: string;
|
|
1731
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
|
+
}>;
|
|
1732
2093
|
/** Reply to a message (POST /api/emails/{address}/messages/{id}/reply) */
|
|
1733
2094
|
replyToMessageByAddress(address: string, id: string, body?: {
|
|
1734
2095
|
text?: string;
|
|
1735
2096
|
html?: string;
|
|
1736
2097
|
cc?: string | string[];
|
|
1737
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
|
+
};
|
|
1738
2106
|
}): Promise<{
|
|
1739
2107
|
id?: string;
|
|
1740
2108
|
message_id?: string;
|
|
1741
2109
|
from?: string;
|
|
1742
2110
|
to?: string;
|
|
1743
2111
|
status?: string;
|
|
2112
|
+
reply_version?: number;
|
|
1744
2113
|
}>;
|
|
1745
2114
|
/** Request a workspace ownership transfer (POST /api/workspaces/{id}/ownership-transfer) */
|
|
1746
2115
|
requestWorkspaceOwnershipTransfer(id: string, body: {
|
|
@@ -1803,6 +2172,10 @@ export declare class Domani {
|
|
|
1803
2172
|
revokeToken(id: string): Promise<{
|
|
1804
2173
|
success?: boolean;
|
|
1805
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>;
|
|
1806
2179
|
/** Revoke a pending invitation (DELETE /api/workspaces/{id}/invitations/{invitationId}) */
|
|
1807
2180
|
revokeWorkspaceInvitation(id: string, invitationId: string): Promise<unknown>;
|
|
1808
2181
|
/** Revoke a pending ownership transfer (DELETE /api/workspaces/{id}/ownership-transfer/{transferId}) */
|
|
@@ -1858,6 +2231,12 @@ export declare class Domani {
|
|
|
1858
2231
|
in_reply_to?: string;
|
|
1859
2232
|
references?: string;
|
|
1860
2233
|
idempotency_key?: string;
|
|
2234
|
+
coordination?: {
|
|
2235
|
+
thread_key: string;
|
|
2236
|
+
client_id: string;
|
|
2237
|
+
lease_id: string;
|
|
2238
|
+
expected_reply_version: number;
|
|
2239
|
+
};
|
|
1861
2240
|
allow_risky_content?: boolean;
|
|
1862
2241
|
attachments?: {
|
|
1863
2242
|
content: string;
|
|
@@ -1946,6 +2325,21 @@ export declare class Domani {
|
|
|
1946
2325
|
records?: DnsRecord[];
|
|
1947
2326
|
hint?: string;
|
|
1948
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>;
|
|
1949
2343
|
/** Capture a DNS snapshot (POST /api/domains/{domain}/dns/snapshot) */
|
|
1950
2344
|
snapshotDns(domain: string, body?: {
|
|
1951
2345
|
extra_subdomains?: string[];
|
|
@@ -1977,6 +2371,24 @@ export declare class Domani {
|
|
|
1977
2371
|
checked: number;
|
|
1978
2372
|
iterations: number;
|
|
1979
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>;
|
|
1980
2392
|
/** Test mailbox webhook (POST /api/emails/{address}/webhook/test) */
|
|
1981
2393
|
testMailboxWebhook(address: string): Promise<{
|
|
1982
2394
|
address?: string;
|
|
@@ -2001,10 +2413,18 @@ export declare class Domani {
|
|
|
2001
2413
|
preferred_payment_method?: string | null;
|
|
2002
2414
|
hint?: string;
|
|
2003
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
|
+
}>;
|
|
2004
2423
|
/** Assign or update a shared inbox conversation (PATCH /api/email/collaboration) */
|
|
2005
2424
|
updateConversationState(body: {
|
|
2006
2425
|
mailbox_id: string;
|
|
2007
2426
|
thread_key: string;
|
|
2427
|
+
thread_aliases?: string[];
|
|
2008
2428
|
subject?: string | null;
|
|
2009
2429
|
status?: "open" | "waiting" | "closed";
|
|
2010
2430
|
assignee?: {
|
|
@@ -2032,7 +2452,8 @@ export declare class Domani {
|
|
|
2032
2452
|
destination?: "inbox" | "archive" | "sent" | "spam" | "trash";
|
|
2033
2453
|
read?: boolean;
|
|
2034
2454
|
starred?: boolean;
|
|
2035
|
-
|
|
2455
|
+
idempotency_key?: string;
|
|
2456
|
+
}): Promise<MailboxOperationReceipt>;
|
|
2036
2457
|
/** Update an agent identity (PATCH /api/agents/identity/{slug}) */
|
|
2037
2458
|
updateIdentity(slug: string, body: {
|
|
2038
2459
|
name?: string;
|
|
@@ -2078,11 +2499,11 @@ export declare class Domani {
|
|
|
2078
2499
|
}>;
|
|
2079
2500
|
/** Update notification preferences (PUT /api/notifications/preferences) */
|
|
2080
2501
|
updateNotificationPreferences(body: {
|
|
2081
|
-
preferences?: {
|
|
2502
|
+
preferences?: ({
|
|
2082
2503
|
category: "domains" | "transfers" | "marketplace" | "email" | "inquiries";
|
|
2083
2504
|
channel: "in_app" | "email";
|
|
2084
2505
|
enabled: boolean;
|
|
2085
|
-
}[];
|
|
2506
|
+
})[];
|
|
2086
2507
|
expiry_alert_days?: number[];
|
|
2087
2508
|
}): Promise<{
|
|
2088
2509
|
ok?: boolean;
|
package/dist/index.js
CHANGED
|
@@ -72,6 +72,10 @@ class Domani {
|
|
|
72
72
|
throw new DomaniError(res.status, data);
|
|
73
73
|
return data;
|
|
74
74
|
}
|
|
75
|
+
/** Accept an access or ownership offer (POST /api/workspaces/access/offers/accept) */
|
|
76
|
+
acceptWorkspaceAccessOffer(body) {
|
|
77
|
+
return this.request("POST", `/api/workspaces/access/offers/accept`, { body });
|
|
78
|
+
}
|
|
75
79
|
/** Accept a workspace invitation (POST /api/workspaces/invitations/accept) */
|
|
76
80
|
acceptWorkspaceInvitation(body) {
|
|
77
81
|
return this.request("POST", `/api/workspaces/invitations/accept`, { body });
|
|
@@ -180,6 +184,10 @@ class Domani {
|
|
|
180
184
|
createDeal(body) {
|
|
181
185
|
return this.request("POST", `/api/deals`, { body });
|
|
182
186
|
}
|
|
187
|
+
/** Analyze a domain and persist an evidence-backed brief (POST /api/domain-briefs) */
|
|
188
|
+
createDomainBrief(body) {
|
|
189
|
+
return this.request("POST", `/api/domain-briefs`, { body });
|
|
190
|
+
}
|
|
183
191
|
/** List a domain for sale (PUT /api/domains/{domain}/for-sale) */
|
|
184
192
|
createListing(domain, body) {
|
|
185
193
|
return this.request("PUT", `/api/domains/${enc(domain)}/for-sale`, { body });
|
|
@@ -208,6 +216,10 @@ class Domani {
|
|
|
208
216
|
createWorkspace(body) {
|
|
209
217
|
return this.request("POST", `/api/workspaces`, { body });
|
|
210
218
|
}
|
|
219
|
+
/** Offer mailbox access or workspace ownership (POST /api/workspaces/{id}/access/offers) */
|
|
220
|
+
createWorkspaceAccessOffer(id, body) {
|
|
221
|
+
return this.request("POST", `/api/workspaces/${enc(id)}/access/offers`, { body });
|
|
222
|
+
}
|
|
211
223
|
/** Start Mailzero workspace checkout (POST /api/workspaces/{id}/billing/checkout) */
|
|
212
224
|
createWorkspaceCheckout(id, body) {
|
|
213
225
|
return this.request("POST", `/api/workspaces/${enc(id)}/billing/checkout`, { body });
|
|
@@ -252,6 +264,10 @@ class Domani {
|
|
|
252
264
|
getAccount() {
|
|
253
265
|
return this.request("GET", `/api/me`, undefined);
|
|
254
266
|
}
|
|
267
|
+
/** Get truthful activation state and recommended next actions (GET /api/me/activation) */
|
|
268
|
+
getActivation() {
|
|
269
|
+
return this.request("GET", `/api/me/activation`, undefined);
|
|
270
|
+
}
|
|
255
271
|
/** Get EPP auth code (GET /api/domains/{domain}/auth-code) */
|
|
256
272
|
getAuthCode(domain) {
|
|
257
273
|
return this.request("GET", `/api/domains/${enc(domain)}/auth-code`, undefined);
|
|
@@ -272,6 +288,10 @@ class Domani {
|
|
|
272
288
|
getContact() {
|
|
273
289
|
return this.request("GET", `/api/me/contact`, undefined);
|
|
274
290
|
}
|
|
291
|
+
/** Get active viewers, composers, and the compose lease (GET /api/email/collaboration/coordination) */
|
|
292
|
+
getConversationCoordination(query) {
|
|
293
|
+
return this.request("GET", `/api/email/collaboration/coordination`, { query });
|
|
294
|
+
}
|
|
275
295
|
/** Get deal detail with timeline (GET /api/deals/{id}) */
|
|
276
296
|
getDeal(id) {
|
|
277
297
|
return this.request("GET", `/api/deals/${enc(id)}`, undefined);
|
|
@@ -288,6 +308,10 @@ class Domani {
|
|
|
288
308
|
getDnssecRecords(domain) {
|
|
289
309
|
return this.request("GET", `/api/domains/${enc(domain)}/dnssec`, undefined);
|
|
290
310
|
}
|
|
311
|
+
/** Get a previously generated domain brief (GET /api/domain-briefs/{id}) */
|
|
312
|
+
getDomainBrief(id) {
|
|
313
|
+
return this.request("GET", `/api/domain-briefs/${enc(id)}`, undefined);
|
|
314
|
+
}
|
|
291
315
|
/** Check email DNS status (GET /api/domains/{domain}/email/status) */
|
|
292
316
|
getDomainEmailStatus(domain) {
|
|
293
317
|
return this.request("GET", `/api/domains/${enc(domain)}/email/status`, undefined);
|
|
@@ -372,6 +396,14 @@ class Domani {
|
|
|
372
396
|
getWorkspace(id) {
|
|
373
397
|
return this.request("GET", `/api/workspaces/${enc(id)}`, undefined);
|
|
374
398
|
}
|
|
399
|
+
/** Get the canonical workspace access graph (GET /api/workspaces/{id}/access) */
|
|
400
|
+
getWorkspaceAccess(id) {
|
|
401
|
+
return this.request("GET", `/api/workspaces/${enc(id)}/access`, undefined);
|
|
402
|
+
}
|
|
403
|
+
/** Heartbeat viewing or composing presence (PUT /api/email/collaboration/coordination) */
|
|
404
|
+
heartbeatConversationPresence(body) {
|
|
405
|
+
return this.request("PUT", `/api/email/collaboration/coordination`, { body });
|
|
406
|
+
}
|
|
375
407
|
/** Import an external domain (POST /api/domains/import) */
|
|
376
408
|
importDomain(body) {
|
|
377
409
|
return this.request("POST", `/api/domains/import`, { body });
|
|
@@ -408,7 +440,7 @@ class Domani {
|
|
|
408
440
|
listConversationNotes(id) {
|
|
409
441
|
return this.request("GET", `/api/email/collaboration/${enc(id)}/notes`, undefined);
|
|
410
442
|
}
|
|
411
|
-
/** List shared inbox
|
|
443
|
+
/** List persisted shared inbox state (GET /api/email/collaboration) */
|
|
412
444
|
listConversationStates(query) {
|
|
413
445
|
return this.request("GET", `/api/email/collaboration`, { query });
|
|
414
446
|
}
|
|
@@ -440,6 +472,10 @@ class Domani {
|
|
|
440
472
|
listMailboxAliases(address) {
|
|
441
473
|
return this.request("GET", `/api/emails/${enc(address)}/aliases`, undefined);
|
|
442
474
|
}
|
|
475
|
+
/** Incrementally synchronize one mailbox (GET /api/email/changes) */
|
|
476
|
+
listMailboxChanges(query) {
|
|
477
|
+
return this.request("GET", `/api/email/changes`, { query });
|
|
478
|
+
}
|
|
443
479
|
/** List app passwords (hosted) (GET /api/emails/{address}/credentials) */
|
|
444
480
|
listMailboxCredentials(address) {
|
|
445
481
|
return this.request("GET", `/api/emails/${enc(address)}/credentials`, undefined);
|
|
@@ -456,6 +492,10 @@ class Domani {
|
|
|
456
492
|
listMailRules(address) {
|
|
457
493
|
return this.request("GET", `/api/emails/${enc(address)}/rules`, undefined);
|
|
458
494
|
}
|
|
495
|
+
/** List actionable mailbox conversations (GET /api/email/work-queue) */
|
|
496
|
+
listMailWorkQueue(query) {
|
|
497
|
+
return this.request("GET", `/api/email/work-queue`, { query });
|
|
498
|
+
}
|
|
459
499
|
/** List your negotiations (GET /api/negotiations) */
|
|
460
500
|
listNegotiations(query) {
|
|
461
501
|
return this.request("GET", `/api/negotiations`, { query });
|
|
@@ -524,10 +564,18 @@ class Domani {
|
|
|
524
564
|
provisionAgent(body) {
|
|
525
565
|
return this.request("POST", `/api/agents/provision`, { body });
|
|
526
566
|
}
|
|
567
|
+
/** Refresh a domain brief from live sources (POST /api/domain-briefs/{id}/refresh) */
|
|
568
|
+
refreshDomainBrief(id) {
|
|
569
|
+
return this.request("POST", `/api/domain-briefs/${enc(id)}/refresh`, undefined);
|
|
570
|
+
}
|
|
527
571
|
/** Create a new account (POST /api/auth/register) */
|
|
528
572
|
registerUser(body) {
|
|
529
573
|
return this.request("POST", `/api/auth/register`, { body });
|
|
530
574
|
}
|
|
575
|
+
/** Release this client's presence and compose lease (DELETE /api/email/collaboration/coordination) */
|
|
576
|
+
releaseConversationPresence(body) {
|
|
577
|
+
return this.request("DELETE", `/api/email/collaboration/coordination`, { body });
|
|
578
|
+
}
|
|
531
579
|
/** Release an agent identity (DELETE /api/agents/identity/{slug}) */
|
|
532
580
|
releaseIdentity(slug) {
|
|
533
581
|
return this.request("DELETE", `/api/agents/identity/${enc(slug)}`, undefined);
|
|
@@ -568,6 +616,10 @@ class Domani {
|
|
|
568
616
|
renewDomain(domain, body) {
|
|
569
617
|
return this.request("POST", `/api/domains/${enc(domain)}/renew`, { body });
|
|
570
618
|
}
|
|
619
|
+
/** Replay a webhook delivery (POST /api/webhooks/{id}/deliveries/{deliveryId}/replay) */
|
|
620
|
+
replayWebhookDelivery(id, deliveryId, body) {
|
|
621
|
+
return this.request("POST", `/api/webhooks/${enc(id)}/deliveries/${enc(deliveryId)}/replay`, { body });
|
|
622
|
+
}
|
|
571
623
|
/** Reply to a message (POST /api/emails/{address}/messages/{id}/reply) */
|
|
572
624
|
replyToMessageByAddress(address, id, body) {
|
|
573
625
|
return this.request("POST", `/api/emails/${enc(address)}/messages/${enc(id)}/reply`, { body });
|
|
@@ -600,6 +652,10 @@ class Domani {
|
|
|
600
652
|
revokeToken(id) {
|
|
601
653
|
return this.request("DELETE", `/api/tokens/${enc(id)}`, undefined);
|
|
602
654
|
}
|
|
655
|
+
/** Revoke an access grant and its credentials (DELETE /api/workspaces/{id}/access/grants/{grantId}) */
|
|
656
|
+
revokeWorkspaceAccess(id, grantId, body) {
|
|
657
|
+
return this.request("DELETE", `/api/workspaces/${enc(id)}/access/grants/${enc(grantId)}`, { body });
|
|
658
|
+
}
|
|
603
659
|
/** Revoke a pending invitation (DELETE /api/workspaces/{id}/invitations/{invitationId}) */
|
|
604
660
|
revokeWorkspaceInvitation(id, invitationId) {
|
|
605
661
|
return this.request("DELETE", `/api/workspaces/${enc(id)}/invitations/${enc(invitationId)}`, undefined);
|
|
@@ -660,6 +716,10 @@ class Domani {
|
|
|
660
716
|
setupDomainEmail(domain, body) {
|
|
661
717
|
return this.request("POST", `/api/domains/${enc(domain)}/email/setup`, { body });
|
|
662
718
|
}
|
|
719
|
+
/** Plan or apply one access grant (PUT /api/workspaces/{id}/access) */
|
|
720
|
+
setWorkspaceAccess(id, body) {
|
|
721
|
+
return this.request("PUT", `/api/workspaces/${enc(id)}/access`, { body });
|
|
722
|
+
}
|
|
663
723
|
/** Capture a DNS snapshot (POST /api/domains/{domain}/dns/snapshot) */
|
|
664
724
|
snapshotDns(domain, body) {
|
|
665
725
|
return this.request("POST", `/api/domains/${enc(domain)}/dns/snapshot`, { body });
|
|
@@ -672,6 +732,14 @@ class Domani {
|
|
|
672
732
|
suggestDomains(query) {
|
|
673
733
|
return this.request("GET", `/api/domains/suggest`, { query });
|
|
674
734
|
}
|
|
735
|
+
/** Create or replace a flat access group (PUT /api/workspaces/{id}/access/groups) */
|
|
736
|
+
syncAccessGroup(id, body) {
|
|
737
|
+
return this.request("PUT", `/api/workspaces/${enc(id)}/access/groups`, { body });
|
|
738
|
+
}
|
|
739
|
+
/** Create or replace an explicit mailbox collection (PUT /api/workspaces/{id}/access/collections) */
|
|
740
|
+
syncMailboxCollection(id, body) {
|
|
741
|
+
return this.request("PUT", `/api/workspaces/${enc(id)}/access/collections`, { body });
|
|
742
|
+
}
|
|
675
743
|
/** Test mailbox webhook (POST /api/emails/{address}/webhook/test) */
|
|
676
744
|
testMailboxWebhook(address) {
|
|
677
745
|
return this.request("POST", `/api/emails/${enc(address)}/webhook/test`, undefined);
|
|
@@ -684,6 +752,10 @@ class Domani {
|
|
|
684
752
|
updateAccount(body) {
|
|
685
753
|
return this.request("PUT", `/api/me`, { body });
|
|
686
754
|
}
|
|
755
|
+
/** Dismiss or restore first-run guidance (PUT /api/me/activation) */
|
|
756
|
+
updateActivationPreference(body) {
|
|
757
|
+
return this.request("PUT", `/api/me/activation`, { body });
|
|
758
|
+
}
|
|
687
759
|
/** Assign or update a shared inbox conversation (PATCH /api/email/collaboration) */
|
|
688
760
|
updateConversationState(body) {
|
|
689
761
|
return this.request("PATCH", `/api/email/collaboration`, { body });
|