Observed since 20 Oct, 22:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Python SDK for AgenticEmail — API-first email for AI agents.
API-first email for AI agents.
pip install agenticemail
from agenticemail import AgenticEmail, verify_webhook
client = AgenticEmail(api_key="am_...", base_url="https://api.agenticemail.dev")
inbox = client.inboxes.create(username="support", domain="acme.io")
client.messages.send(
inbox["id"],
to=["customer@example.com"],
subject="Hello",
text="Sent from an agent.",
)
threads = client.threads.list(inbox["id"])
Resources: inboxes, messages, threads, drafts, webhooks, domains, api_keys. Responses are plain dicts (the API's snake_case JSON). Errors raise AgenticEmailError (.status, .code).
Verifying webhooks:
from agenticemail import verify_webhook
event = verify_webhook(raw_body, headers, secret) # raises AgenticEmailError if invalid
if event["type"] == "message.received":
...
See examples/auto_reply.py for a polling auto-reply agent.
Optional, opt-in, and agent-to-agent. The private key stays on your side, so neither the platform nor AWS can read the contents. Wire-compatible with the TypeScript SDK.
pip install 'agenticemail[e2e]'
from agenticemail import AgenticEmail
from agenticemail.e2e import generate_identity, serialize_identity, deserialize_identity
# Once: create an identity for this inbox and store the private key safely.
identity = generate_identity("agent@acme.io")
open("agent.key", "w").write(serialize_identity(identity))
# Later: load it and enable e2e on the client.
identity = deserialize_identity(open("agent.key").read())
client = AgenticEmail(
api_key="am_...",
e2e={"identity": identity, "auto_publish": True},
)
# Encrypts automatically when the recipient has a published key; otherwise
# sends plaintext (set "allow_plaintext_fallback": False to fail closed).
client.messages.send("agent@acme.io", to=["peer@other.io"], subject="secret", text="...")
# Reads decrypt automatically; sender is verified against the published key.
msg = client.messages.get("agent@acme.io", message_id)
msg["text"], msg["decrypted"], msg["sender_verified"]
The recipient must be an AgenticEmail inbox that has published its key
(client.publish_public_key()); you cannot end-to-end encrypt to an external
address like Gmail.
npm install -g agenticemail-cli, including wait-for-message for agent loopsnpm install agenticemailDownload counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 7 Jul 2026 | 4 |
This describes our collected data; it is not a security assessment.
Shared repository data · GitHub
Observed since 20 Oct, 22:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:fae907de849f6757a347b4a4c8db912d57ec84223be00e07b50e32296b5eee8f