agentmail 0.2.19 → 0.2.21
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/README.md +658 -0
- package/dist/cjs/BaseClient.js +2 -2
- package/dist/cjs/core/fetcher/Fetcher.js +1 -7
- package/dist/cjs/core/schemas/builders/list/list.js +17 -12
- package/dist/cjs/core/schemas/builders/object/object.js +40 -102
- package/dist/cjs/core/schemas/builders/object-like/getObjectLikeUtils.js +3 -10
- package/dist/cjs/core/schemas/builders/record/record.js +25 -26
- package/dist/cjs/core/schemas/builders/union/union.js +12 -9
- package/dist/cjs/core/schemas/utils/isPlainObject.js +6 -4
- package/dist/cjs/environments.d.ts +5 -1
- package/dist/cjs/environments.js +4 -0
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BaseClient.mjs +2 -2
- package/dist/esm/core/fetcher/Fetcher.mjs +1 -7
- package/dist/esm/core/schemas/builders/list/list.mjs +17 -12
- package/dist/esm/core/schemas/builders/object/object.mjs +40 -102
- package/dist/esm/core/schemas/builders/object-like/getObjectLikeUtils.mjs +3 -10
- package/dist/esm/core/schemas/builders/record/record.mjs +25 -26
- package/dist/esm/core/schemas/builders/union/union.mjs +12 -9
- package/dist/esm/core/schemas/utils/isPlainObject.mjs +6 -4
- package/dist/esm/environments.d.mts +5 -1
- package/dist/esm/environments.mjs +4 -0
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/dist/llms-full.txt +0 -512
- package/dist/llms.txt +0 -7
- package/package.json +2 -2
package/dist/llms-full.txt
CHANGED
|
@@ -28336,515 +28336,3 @@ let dataTask = session.dataTask(with: request as URLRequest, completionHandler:
|
|
|
28336
28336
|
dataTask.resume()
|
|
28337
28337
|
```
|
|
28338
28338
|
|
|
28339
|
-
# AgentMail Changelog
|
|
28340
|
-
|
|
28341
|
-
Latest API and SDK updates. [Subscribe via RSS](https://docs.agentmail.to/changelog.rss) · [Discord](https://discord.gg/hTYatWYWBc)
|
|
28342
|
-
|
|
28343
|
-
|
|
28344
|
-
***
|
|
28345
|
-
|
|
28346
|
-
tags:
|
|
28347
|
-
|
|
28348
|
-
* webhooks
|
|
28349
|
-
* new-feature
|
|
28350
|
-
* sdk
|
|
28351
|
-
|
|
28352
|
-
***
|
|
28353
|
-
|
|
28354
|
-
## Summary
|
|
28355
|
-
|
|
28356
|
-
**Webhooks & Events** – receive email and domain events via HTTP callbacks. Subscribe to message lifecycle events (received, sent, delivered, bounced, complained, rejected) and domain verification. Use Svix headers for verification and filter by inbox or pod. Perfect for agents that need reliable, async notifications without keeping a WebSocket open.
|
|
28357
|
-
|
|
28358
|
-
### What's new?
|
|
28359
|
-
|
|
28360
|
-
**Webhook events:**
|
|
28361
|
-
|
|
28362
|
-
* `message.received` - New inbound email
|
|
28363
|
-
* `message.sent` - Outbound message sent
|
|
28364
|
-
* `message.delivered` - Delivery confirmed
|
|
28365
|
-
* `message.bounced` - Bounce (with type and recipients)
|
|
28366
|
-
* `message.complained` - Spam complaint
|
|
28367
|
-
* `message.rejected` - Rejection (e.g. validation)
|
|
28368
|
-
* `domain.verified` - Domain verification succeeded
|
|
28369
|
-
|
|
28370
|
-
**Delivery & verification:**
|
|
28371
|
-
|
|
28372
|
-
* Svix-style headers: `svix-id`, `svix-signature`, `svix-timestamp` for verification
|
|
28373
|
-
* Filter by inbox or pod (up to 10 per webhook)
|
|
28374
|
-
* Payloads include inbox\_id, thread\_id, message\_id, timestamps, and event-specific data
|
|
28375
|
-
|
|
28376
|
-
### Use cases
|
|
28377
|
-
|
|
28378
|
-
Build agents that:
|
|
28379
|
-
|
|
28380
|
-
* React to new emails, bounces, and complaints via HTTP
|
|
28381
|
-
* Sync email state to your database or queue
|
|
28382
|
-
* Trigger workflows on domain verification
|
|
28383
|
-
* Verify webhook signatures for security
|
|
28384
|
-
|
|
28385
|
-
<CodeBlocks>
|
|
28386
|
-
```python title="Python"
|
|
28387
|
-
from agentmail import AgentMail
|
|
28388
|
-
|
|
28389
|
-
client = AgentMail(api_key="your-api-key")
|
|
28390
|
-
|
|
28391
|
-
# in your webhook handler: verify signature and handle event
|
|
28392
|
-
# (use Svix or the raw headers for verification)
|
|
28393
|
-
def handle_webhook(request):
|
|
28394
|
-
event_id = request.headers.get("svix-id")
|
|
28395
|
-
signature = request.headers.get("svix-signature")
|
|
28396
|
-
payload = request.json()
|
|
28397
|
-
if payload.get("event_type") == "message.received":
|
|
28398
|
-
message = payload.get("message")
|
|
28399
|
-
# process new email
|
|
28400
|
-
elif payload.get("event_type") == "domain.verified":
|
|
28401
|
-
domain = payload.get("domain")
|
|
28402
|
-
# domain is verified
|
|
28403
|
-
```
|
|
28404
|
-
|
|
28405
|
-
```typescript title="TypeScript"
|
|
28406
|
-
import { AgentMail } from "agentmail";
|
|
28407
|
-
|
|
28408
|
-
const client = new AgentMail({ apiKey: "your-api-key" });
|
|
28409
|
-
|
|
28410
|
-
// in your webhook handler: verify signature and handle event
|
|
28411
|
-
// (use Svix or the raw headers for verification)
|
|
28412
|
-
function handleWebhook(request: Request) {
|
|
28413
|
-
const eventId = request.headers.get("svix-id");
|
|
28414
|
-
const signature = request.headers.get("svix-signature");
|
|
28415
|
-
const payload = request.json();
|
|
28416
|
-
if (payload.event_type === "message.received") {
|
|
28417
|
-
const message = payload.message;
|
|
28418
|
-
// process new email
|
|
28419
|
-
} else if (payload.event_type === "domain.verified") {
|
|
28420
|
-
const domain = payload.domain;
|
|
28421
|
-
// domain is verified
|
|
28422
|
-
}
|
|
28423
|
-
}
|
|
28424
|
-
```
|
|
28425
|
-
</CodeBlocks>
|
|
28426
|
-
|
|
28427
|
-
<Note>
|
|
28428
|
-
Set up and verify webhooks in our [Webhooks](https://docs.agentmail.to/webhooks/webhooks-overview) documentation.
|
|
28429
|
-
</Note>
|
|
28430
|
-
|
|
28431
|
-
|
|
28432
|
-
***
|
|
28433
|
-
|
|
28434
|
-
tags:
|
|
28435
|
-
|
|
28436
|
-
* domains-api
|
|
28437
|
-
* new-feature
|
|
28438
|
-
* sdk
|
|
28439
|
-
* custom-domains
|
|
28440
|
-
|
|
28441
|
-
***
|
|
28442
|
-
|
|
28443
|
-
## Summary
|
|
28444
|
-
|
|
28445
|
-
Introducing **Custom Domains** – add and verify your own domains for sending and receiving email. Use DNS verification (TXT, CNAME, MX), export zone files for easy DNS setup, and control feedback (bounce and complaint) delivery. Perfect for agents that need to send from your brand's domain with full control over deliverability.
|
|
28446
|
-
|
|
28447
|
-
### What's new?
|
|
28448
|
-
|
|
28449
|
-
**New endpoints:**
|
|
28450
|
-
|
|
28451
|
-
* `GET /domains` - List all domains
|
|
28452
|
-
* `GET /domains/{domain_id}` - Get domain details and verification records
|
|
28453
|
-
* `POST /domains` - Create (add) a domain
|
|
28454
|
-
* `DELETE /domains/{domain_id}` - Remove a domain
|
|
28455
|
-
* `GET /domains/{domain_id}/zone-file` - Download zone file for DNS setup
|
|
28456
|
-
* `POST /domains/{domain_id}/verify` - Trigger domain verification
|
|
28457
|
-
|
|
28458
|
-
**Domain features:**
|
|
28459
|
-
|
|
28460
|
-
* DNS verification with TXT, CNAME, and MX records
|
|
28461
|
-
* Verification status: NOT\_STARTED, PENDING, VERIFYING, VERIFIED, FAILED, INVALID
|
|
28462
|
-
* Per-record status (MISSING, INVALID, VALID) for targeted fixes
|
|
28463
|
-
* Zone file export for quick import at your DNS provider
|
|
28464
|
-
* Optional feedback (bounce/complaint) delivery per domain
|
|
28465
|
-
|
|
28466
|
-
### Use cases
|
|
28467
|
-
|
|
28468
|
-
Build systems where:
|
|
28469
|
-
|
|
28470
|
-
* Agents send from your verified custom domain
|
|
28471
|
-
* You manage DNS in one place and sync via zone file
|
|
28472
|
-
* Verification status drives onboarding or monitoring
|
|
28473
|
-
* Bounce and complaint handling is configured per domain
|
|
28474
|
-
|
|
28475
|
-
<CodeBlocks>
|
|
28476
|
-
```python title="Python"
|
|
28477
|
-
from agentmail import AgentMail
|
|
28478
|
-
|
|
28479
|
-
client = AgentMail(api_key="your-api-key")
|
|
28480
|
-
|
|
28481
|
-
# create a domain
|
|
28482
|
-
domain = client.domains.create(
|
|
28483
|
-
domain="mail.example.com",
|
|
28484
|
-
feedback_enabled=True
|
|
28485
|
-
)
|
|
28486
|
-
|
|
28487
|
-
# get verification records and status
|
|
28488
|
-
domain = client.domains.get(domain_id=domain.domain_id)
|
|
28489
|
-
for record in domain.records:
|
|
28490
|
-
print(f"{record.type} {record.name}: {record.status}")
|
|
28491
|
-
|
|
28492
|
-
# trigger verification after updating DNS
|
|
28493
|
-
client.domains.verify(domain_id=domain.domain_id)
|
|
28494
|
-
```
|
|
28495
|
-
|
|
28496
|
-
```typescript title="TypeScript"
|
|
28497
|
-
import { AgentMail } from "agentmail";
|
|
28498
|
-
|
|
28499
|
-
const client = new AgentMail({ apiKey: "your-api-key" });
|
|
28500
|
-
|
|
28501
|
-
// create a domain
|
|
28502
|
-
const domain = await client.domains.create({
|
|
28503
|
-
domain: "mail.example.com",
|
|
28504
|
-
feedbackEnabled: true,
|
|
28505
|
-
});
|
|
28506
|
-
|
|
28507
|
-
// get verification records and status
|
|
28508
|
-
const domainDetails = await client.domains.get(domain.domainId);
|
|
28509
|
-
for (const record of domainDetails.records) {
|
|
28510
|
-
console.log(`${record.type} ${record.name}: ${record.status}`);
|
|
28511
|
-
}
|
|
28512
|
-
|
|
28513
|
-
// trigger verification after updating DNS
|
|
28514
|
-
await client.domains.verify(domain.domainId);
|
|
28515
|
-
```
|
|
28516
|
-
</CodeBlocks>
|
|
28517
|
-
|
|
28518
|
-
<Note>
|
|
28519
|
-
Learn more in our [Custom Domains](https://docs.agentmail.to/guides/domains/custom-domains) and [Managing Domains](https://docs.agentmail.to/guides/domains/managing-domains) guides.
|
|
28520
|
-
</Note>
|
|
28521
|
-
|
|
28522
|
-
|
|
28523
|
-
***
|
|
28524
|
-
|
|
28525
|
-
tags:
|
|
28526
|
-
|
|
28527
|
-
* drafts-api
|
|
28528
|
-
* new-feature
|
|
28529
|
-
* sdk
|
|
28530
|
-
|
|
28531
|
-
***
|
|
28532
|
-
|
|
28533
|
-
## Summary
|
|
28534
|
-
|
|
28535
|
-
Introducing the **Drafts API** – compose and manage email drafts before sending. Create drafts, update them over time, schedule send times, and send when ready. Perfect for agents that need to build messages incrementally, support reply threading, or queue emails for later delivery.
|
|
28536
|
-
|
|
28537
|
-
### What's new?
|
|
28538
|
-
|
|
28539
|
-
**New endpoints:**
|
|
28540
|
-
|
|
28541
|
-
* `GET /drafts` - List all drafts (with optional filters)
|
|
28542
|
-
* `GET /drafts/{draft_id}` - Get a draft
|
|
28543
|
-
* `POST /inboxes/{inbox_id}/drafts` - Create a draft in an inbox
|
|
28544
|
-
* `PATCH /inboxes/{inbox_id}/drafts/{draft_id}` - Update a draft
|
|
28545
|
-
* `POST /inboxes/{inbox_id}/drafts/{draft_id}/send` - Send a draft
|
|
28546
|
-
* `DELETE /inboxes/{inbox_id}/drafts/{draft_id}` - Delete a draft
|
|
28547
|
-
|
|
28548
|
-
**Draft features:**
|
|
28549
|
-
|
|
28550
|
-
* Compose with to, cc, bcc, subject, plain text, and HTML body
|
|
28551
|
-
* Reply threading via `in_reply_to` and `references`
|
|
28552
|
-
* Schedule send with `send_at` for delayed delivery
|
|
28553
|
-
* Attachments and labels
|
|
28554
|
-
* List and filter drafts by inbox, labels, or time range
|
|
28555
|
-
|
|
28556
|
-
### Use cases
|
|
28557
|
-
|
|
28558
|
-
Build agents that:
|
|
28559
|
-
|
|
28560
|
-
* Compose multi-step replies before sending
|
|
28561
|
-
* Schedule follow-up emails for optimal delivery
|
|
28562
|
-
* Queue outbound messages and send in batches
|
|
28563
|
-
* Edit drafts based on new context or user feedback
|
|
28564
|
-
* Maintain proper email threads with `in_reply_to`
|
|
28565
|
-
|
|
28566
|
-
<CodeBlocks>
|
|
28567
|
-
```python title="Python"
|
|
28568
|
-
from agentmail import AgentMail
|
|
28569
|
-
|
|
28570
|
-
client = AgentMail(api_key="your-api-key")
|
|
28571
|
-
|
|
28572
|
-
# create a draft in an inbox
|
|
28573
|
-
draft = client.inboxes.drafts.create(
|
|
28574
|
-
inbox_id="support@example.com",
|
|
28575
|
-
to=["user@example.com"],
|
|
28576
|
-
subject="Re: Your request",
|
|
28577
|
-
text="We're looking into it.",
|
|
28578
|
-
in_reply_to="<message-id@example.com>"
|
|
28579
|
-
)
|
|
28580
|
-
|
|
28581
|
-
# update the draft
|
|
28582
|
-
client.inboxes.drafts.update(
|
|
28583
|
-
inbox_id="support@example.com",
|
|
28584
|
-
draft_id=draft.draft_id,
|
|
28585
|
-
text="We've resolved your request."
|
|
28586
|
-
)
|
|
28587
|
-
|
|
28588
|
-
# send the draft
|
|
28589
|
-
client.inboxes.drafts.send(
|
|
28590
|
-
inbox_id="support@example.com",
|
|
28591
|
-
draft_id=draft.draft_id
|
|
28592
|
-
)
|
|
28593
|
-
```
|
|
28594
|
-
|
|
28595
|
-
```typescript title="TypeScript"
|
|
28596
|
-
import { AgentMail } from "agentmail";
|
|
28597
|
-
|
|
28598
|
-
const client = new AgentMail({ apiKey: "your-api-key" });
|
|
28599
|
-
|
|
28600
|
-
// create a draft in an inbox
|
|
28601
|
-
const draft = await client.inboxes.drafts.create("support@example.com", {
|
|
28602
|
-
to: ["user@example.com"],
|
|
28603
|
-
subject: "Re: Your request",
|
|
28604
|
-
text: "We're looking into it.",
|
|
28605
|
-
inReplyTo: "<message-id@example.com>",
|
|
28606
|
-
});
|
|
28607
|
-
|
|
28608
|
-
// update the draft
|
|
28609
|
-
await client.inboxes.drafts.update(
|
|
28610
|
-
"support@example.com",
|
|
28611
|
-
draft.draftId,
|
|
28612
|
-
{ text: "We've resolved your request." }
|
|
28613
|
-
);
|
|
28614
|
-
|
|
28615
|
-
// send the draft
|
|
28616
|
-
await client.inboxes.drafts.send("support@example.com", draft.draftId);
|
|
28617
|
-
```
|
|
28618
|
-
</CodeBlocks>
|
|
28619
|
-
|
|
28620
|
-
<Note>
|
|
28621
|
-
Learn more about composing and sending in our [Drafts](https://docs.agentmail.to/core-concepts/drafts) documentation.
|
|
28622
|
-
</Note>
|
|
28623
|
-
|
|
28624
|
-
|
|
28625
|
-
***
|
|
28626
|
-
|
|
28627
|
-
tags:
|
|
28628
|
-
|
|
28629
|
-
* metrics-api
|
|
28630
|
-
* new-feature
|
|
28631
|
-
* sdk
|
|
28632
|
-
|
|
28633
|
-
***
|
|
28634
|
-
|
|
28635
|
-
## Summary
|
|
28636
|
-
|
|
28637
|
-
We're excited to introduce **Metrics Endpoints** - two new powerful endpoints that give you deep insights into your email deliverability and agent performance. Track critical events like bounces, deliveries, rejections, and complaints with detailed timestamps to build smarter, self-optimizing email agents.
|
|
28638
|
-
|
|
28639
|
-
### What's new?
|
|
28640
|
-
|
|
28641
|
-
**New endpoints:**
|
|
28642
|
-
|
|
28643
|
-
* `GET /metrics` - Get comprehensive metrics across all your inboxes
|
|
28644
|
-
* `GET /inboxes/{inbox_id}/metrics` - Get metrics for a specific inbox
|
|
28645
|
-
|
|
28646
|
-
**Metrics tracked:**
|
|
28647
|
-
|
|
28648
|
-
* Delivery events: sent, delivered, bounced, rejected
|
|
28649
|
-
* Error tracking: complaints, spam reports
|
|
28650
|
-
* Time-series data with detailed timestamps
|
|
28651
|
-
|
|
28652
|
-
### Use cases
|
|
28653
|
-
|
|
28654
|
-
Build agents that:
|
|
28655
|
-
|
|
28656
|
-
* Monitor their own bounce rates in real-time
|
|
28657
|
-
* Optimize send timing based on historical performance
|
|
28658
|
-
* Automatically adjust behavior based on deliverability metrics
|
|
28659
|
-
* Pause campaigns when performance drops below thresholds
|
|
28660
|
-
* Implement intelligent retry strategies for better inbox placement
|
|
28661
|
-
|
|
28662
|
-
<Note>
|
|
28663
|
-
Ready to build smarter agents? Check out our [Metrics API documentation](https://docs.agentmail.to/api-reference/metrics) to get started.
|
|
28664
|
-
</Note>
|
|
28665
|
-
|
|
28666
|
-
|
|
28667
|
-
***
|
|
28668
|
-
|
|
28669
|
-
tags:
|
|
28670
|
-
|
|
28671
|
-
* websockets
|
|
28672
|
-
* new-feature
|
|
28673
|
-
* sdk
|
|
28674
|
-
|
|
28675
|
-
***
|
|
28676
|
-
|
|
28677
|
-
## Summary
|
|
28678
|
-
|
|
28679
|
-
Introducing **WebSocket Streaming** - receive email events in real-time as they happen. Build reactive agents that respond instantly to new messages, deliveries, and bounces without polling. Perfect for building interactive, event-driven email experiences.
|
|
28680
|
-
|
|
28681
|
-
### What's new?
|
|
28682
|
-
|
|
28683
|
-
**WebSocket endpoint:**
|
|
28684
|
-
|
|
28685
|
-
* `wss://ws.agentmail.to/v0` - Real-time event streaming
|
|
28686
|
-
|
|
28687
|
-
**Events streamed:**
|
|
28688
|
-
|
|
28689
|
-
* `message.received` - New inbound email detected
|
|
28690
|
-
* `message.sent` - Outbound email sent successfully
|
|
28691
|
-
* `message.delivered` - Delivery confirmed by recipient server
|
|
28692
|
-
* `message.bounced` - Bounce detected (permanent or temporary)
|
|
28693
|
-
* `message.complained` - Spam complaint received
|
|
28694
|
-
|
|
28695
|
-
**Connection features:**
|
|
28696
|
-
|
|
28697
|
-
* JWT-based authentication for secure connections
|
|
28698
|
-
* Automatic reconnection with exponential backoff
|
|
28699
|
-
* Event filtering by inbox for targeted subscriptions
|
|
28700
|
-
* Low-latency delivery (typically under 100ms)
|
|
28701
|
-
* Support for thousands of concurrent connections
|
|
28702
|
-
|
|
28703
|
-
### Use cases
|
|
28704
|
-
|
|
28705
|
-
Build agents that:
|
|
28706
|
-
|
|
28707
|
-
* Respond to emails within seconds of receipt
|
|
28708
|
-
* Monitor deliverability in real-time across all inboxes
|
|
28709
|
-
* Trigger workflows instantly on specific events
|
|
28710
|
-
* Build interactive conversational email experiences
|
|
28711
|
-
* Scale to handle high-volume email operations
|
|
28712
|
-
* React to bounces and complaints immediately
|
|
28713
|
-
|
|
28714
|
-
<CodeBlocks>
|
|
28715
|
-
```python title="Python"
|
|
28716
|
-
from agentmail import AgentMail
|
|
28717
|
-
|
|
28718
|
-
client = AgentMail(api_key="your-api-key")
|
|
28719
|
-
|
|
28720
|
-
# subscribe to events for an inbox
|
|
28721
|
-
async with client.websockets.subscribe(
|
|
28722
|
-
inbox_id="support@example.com"
|
|
28723
|
-
) as ws:
|
|
28724
|
-
async for event in ws:
|
|
28725
|
-
if event.type == "message.received":
|
|
28726
|
-
print(f"New email from: {event.data.from_}")
|
|
28727
|
-
response = await generate_response(event.data.text)
|
|
28728
|
-
await client.messages.reply(
|
|
28729
|
-
message_id=event.data.message_id,
|
|
28730
|
-
text=response
|
|
28731
|
-
)
|
|
28732
|
-
```
|
|
28733
|
-
|
|
28734
|
-
```typescript title="TypeScript"
|
|
28735
|
-
import { AgentMail } from "agentmail";
|
|
28736
|
-
|
|
28737
|
-
const client = new AgentMail({ apiKey: "your-api-key" });
|
|
28738
|
-
|
|
28739
|
-
// subscribe to events for an inbox
|
|
28740
|
-
for await (const event of client.websockets.subscribe("support@example.com")) {
|
|
28741
|
-
if (event.type === "message.received") {
|
|
28742
|
-
console.log("New email from:", event.data.from);
|
|
28743
|
-
const response = await generateResponse(event.data.text);
|
|
28744
|
-
await client.messages.reply(event.data.messageId, response);
|
|
28745
|
-
}
|
|
28746
|
-
}
|
|
28747
|
-
```
|
|
28748
|
-
</CodeBlocks>
|
|
28749
|
-
|
|
28750
|
-
<Note>
|
|
28751
|
-
Get started with [WebSocket Streaming](https://docs.agentmail.to/websockets) to build real-time email agents.
|
|
28752
|
-
</Note>
|
|
28753
|
-
|
|
28754
|
-
|
|
28755
|
-
***
|
|
28756
|
-
|
|
28757
|
-
tags:
|
|
28758
|
-
|
|
28759
|
-
* pods-api
|
|
28760
|
-
* new-feature
|
|
28761
|
-
* sdk
|
|
28762
|
-
* collaboration
|
|
28763
|
-
|
|
28764
|
-
***
|
|
28765
|
-
|
|
28766
|
-
## Summary
|
|
28767
|
-
|
|
28768
|
-
Introducing **Pods** - team collaboration spaces for AgentMail. Share inboxes, domains, and resources across your organization while maintaining granular control. Perfect for teams building multi-agent email systems that need organized resource management.
|
|
28769
|
-
|
|
28770
|
-
### What's new?
|
|
28771
|
-
|
|
28772
|
-
**New endpoints:**
|
|
28773
|
-
|
|
28774
|
-
* `POST /pods` - Create a new pod (team workspace)
|
|
28775
|
-
* `GET /pods` - List all pods in your organization
|
|
28776
|
-
* `GET /pods/{pod_id}` - Get pod details
|
|
28777
|
-
* `DELETE /pods/{pod_id}` - Delete a pod
|
|
28778
|
-
* `POST /pods/{pod_id}/inboxes` - Create inbox within a pod
|
|
28779
|
-
* `POST /pods/{pod_id}/domains` - Add custom domain to a pod
|
|
28780
|
-
* `GET /pods/{pod_id}/threads` - List threads within a pod
|
|
28781
|
-
* `GET /pods/{pod_id}/metrics` - Get metrics for a pod
|
|
28782
|
-
|
|
28783
|
-
**Pod features:**
|
|
28784
|
-
|
|
28785
|
-
* Shared inbox access across team members
|
|
28786
|
-
* Per-pod domain configuration
|
|
28787
|
-
* Isolated metrics and analytics per pod
|
|
28788
|
-
* Organized resource hierarchy
|
|
28789
|
-
|
|
28790
|
-
### Use cases
|
|
28791
|
-
|
|
28792
|
-
Build systems where:
|
|
28793
|
-
|
|
28794
|
-
* Multiple agents share email infrastructure
|
|
28795
|
-
* Different teams manage their own inboxes independently
|
|
28796
|
-
* Resources are organized by department or project
|
|
28797
|
-
* Analytics are tracked per team workspace
|
|
28798
|
-
* Billing and usage can be attributed to specific teams
|
|
28799
|
-
|
|
28800
|
-
<CodeBlocks>
|
|
28801
|
-
```python title="Python"
|
|
28802
|
-
from agentmail import AgentMail
|
|
28803
|
-
|
|
28804
|
-
client = AgentMail(api_key="your-api-key")
|
|
28805
|
-
|
|
28806
|
-
# create a pod for your sales team
|
|
28807
|
-
pod = client.pods.create(
|
|
28808
|
-
name="Sales Team",
|
|
28809
|
-
description="Shared resources for sales agents"
|
|
28810
|
-
)
|
|
28811
|
-
|
|
28812
|
-
# create an inbox in the pod
|
|
28813
|
-
inbox = client.pods.inboxes.create(
|
|
28814
|
-
pod_id=pod.pod_id,
|
|
28815
|
-
inbox_id="sales@example.com"
|
|
28816
|
-
)
|
|
28817
|
-
|
|
28818
|
-
# list all pods
|
|
28819
|
-
pods = client.pods.list()
|
|
28820
|
-
for pod in pods.pods:
|
|
28821
|
-
print(f"Pod: {pod.name} ({len(pod.inbox_ids)} inboxes)")
|
|
28822
|
-
```
|
|
28823
|
-
|
|
28824
|
-
```typescript title="TypeScript"
|
|
28825
|
-
import { AgentMail } from "agentmail";
|
|
28826
|
-
|
|
28827
|
-
const client = new AgentMail({ apiKey: "your-api-key" });
|
|
28828
|
-
|
|
28829
|
-
// create a pod for your sales team
|
|
28830
|
-
const pod = await client.pods.create({
|
|
28831
|
-
name: "Sales Team",
|
|
28832
|
-
description: "Shared resources for sales agents",
|
|
28833
|
-
});
|
|
28834
|
-
|
|
28835
|
-
// create an inbox in the pod
|
|
28836
|
-
await client.pods.inboxes.create(pod.podId, "sales@example.com");
|
|
28837
|
-
|
|
28838
|
-
// list all pods
|
|
28839
|
-
const { pods } = await client.pods.list();
|
|
28840
|
-
for (const p of pods) {
|
|
28841
|
-
console.log(`Pod: ${p.name} (${p.inboxIds?.length ?? 0} inboxes)`);
|
|
28842
|
-
}
|
|
28843
|
-
```
|
|
28844
|
-
</CodeBlocks>
|
|
28845
|
-
|
|
28846
|
-
<Note>
|
|
28847
|
-
Learn more about organizing teams with [Pods](https://docs.agentmail.to/core-concepts/pods) in our documentation.
|
|
28848
|
-
</Note>
|
|
28849
|
-
|
|
28850
|
-
|
package/dist/llms.txt
CHANGED
|
@@ -42,13 +42,6 @@
|
|
|
42
42
|
- [SOC 2 Compliance](https://docs.agentmail.to/documentation/resources/security-privacy/soc-2-compliance.mdx): AgentMail's SOC 2 Type I achievement and Type II certification progress.
|
|
43
43
|
- [Spam & Virus Detection](https://docs.agentmail.to/spam-virus-detection.mdx): How AgentMail automatically scans incoming emails for spam and viruses.
|
|
44
44
|
- [API Welcome](https://docs.agentmail.to/api-reference.mdx): Quick overview of the AgentMail SDK
|
|
45
|
-
- [Changelog](https://docs.agentmail.to/changelog.mdx)
|
|
46
|
-
- [December 22, 2025](https://docs.agentmail.to/changelog/2025/12/22.mdx)
|
|
47
|
-
- [October 28, 2025](https://docs.agentmail.to/changelog/2025/10/28.mdx)
|
|
48
|
-
- [October 25, 2025](https://docs.agentmail.to/changelog/2025/10/25.mdx)
|
|
49
|
-
- [August 13, 2025](https://docs.agentmail.to/changelog/2025/8/13.mdx)
|
|
50
|
-
- [July 20, 2025](https://docs.agentmail.to/changelog/2025/7/20.mdx)
|
|
51
|
-
- [June 15, 2025](https://docs.agentmail.to/changelog/2025/6/15.mdx)
|
|
52
45
|
|
|
53
46
|
## API Docs
|
|
54
47
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentmail",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.21",
|
|
4
4
|
"private": false,
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"msw": "2.11.2",
|
|
69
69
|
"@types/node": "^18.19.70",
|
|
70
70
|
"typescript": "~5.7.2",
|
|
71
|
-
"@biomejs/biome": "2.
|
|
71
|
+
"@biomejs/biome": "2.3.11"
|
|
72
72
|
},
|
|
73
73
|
"browser": {
|
|
74
74
|
"fs": false,
|