lumbox
Email for AI agents. Create inboxes, receive OTPs, extract verification codes — all via API.
Install
pip install lumbox
Quick Start
from lumbox import Lumbox
client = Lumbox(api_key="ak_...")
# Create an inbox
inbox = client.create_inbox(name="github-bot")
# → github-bot@lumbox.co
# Sign up on any service with inbox.address...
# Wait for the OTP (blocks until it arrives)
otp = inbox.wait_for_otp(timeout=60)
print(otp["code"]) # "847291"
Auth header
The SDK sends Authorization: Bearer ak_... by default. The legacy
X-API-Key header still works server-side. Raw HTTP example:
curl https://api.lumbox.co/v1/inboxes \
-H "Authorization: Bearer ak_your_key_here"
Inbox-scoped API keys
Mint a key that can only ever touch one inbox:
created = client.inboxes.api_keys.create(inbox.id, name="ci-bot")
print(created["api_key"]) # shown once
client.inboxes.api_keys.list(inbox.id)
client.inboxes.api_keys.delete(inbox.id, created["id"])
Features
- OTP extraction — verification codes parsed automatically
- Long-poll —
wait_for_email()andwait_for_otp()block until arrival - Send/reply/forward — full outbound email support
- Custom domains — DKIM, SPF, DMARC verification
- LangChain & CrewAI — pre-built tool wrappers
Framework Integration
LangChain
pip install lumbox[langchain]
from lumbox import create_langchain_tools
tools = create_langchain_tools(api_key="ak_...")
# Use tools directly with LangChain agents
Any Framework
from lumbox import lumbox_tools
tools = lumbox_tools(api_key="ak_...")
# Dict of plain functions with proper type hints
API
Lumbox(api_key, base_url?)
Create a client. base_url defaults to https://api.lumbox.co.
client.create_inbox(name?, domain?)
Returns an Inbox object with .address, .id, and convenience methods.
inbox.wait_for_otp(timeout?, sender?)
Blocks until an email with an OTP arrives.
inbox.wait_for_email(timeout?, sender?, subject?)
Blocks until any email arrives.
inbox.list_emails()
List all emails in the inbox.
Full API docs: docs.lumbox.co
License
MIT
Release files for lumbox 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lumbox-0.3.0.tar.gz | 8.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lumbox-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.1 kB
Release files / lumbox-0.3.0.tar.gz
| Download URL | lumbox-0.3.0.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a42f41e587234a389574e3e0782c36efbeb779cb29de3fb89edb58d2451a924
|
|
BLAKE2b-256 checksum How to use checksums |
ba61d1eb2883231e0d2746375bee2e1a3b21702d83d6cb9520f336165843fd2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / lumbox-0.3.0-py3-none-any.whl
| Download URL | lumbox-0.3.0-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89a6a87ac246afaa79c3e4f947ec38dd32e71319a39ef77c82dd7a38c8088a47
|
|
BLAKE2b-256 checksum How to use checksums |
66ff7aa94426d37b72e23995a8710446e916a882951e3b61ae5423db4e814e57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|