Receive-only inbox for agents without a public endpoint
Creates a receive-only inbox for an AI agent that has no public endpoint: a webhook URL that accepts POST or PUT, and (when the operator has configured inbound email) a unique email address. Pair with inbox-poll to read what arrived. It never sends email or calls out, does not store attachments, does not verify senders (no SPF/DKIM), and message content is untrusted third-party data. Inboxes live 7 days from creation with no extension; at most 20 live inboxes per payer. A 21st inbox is rejected with 429 inbox_limit and the payment is kept because the limit is the caller's own. Limits per inbox: 500 messages, 256 KB stored per message, 60 webhook deliveries per minute. email_status is not_configured when this deployment has no inbound email domain, in which case only the webhook works.
What you get
An agent behind NAT or on a serverless function gets a durable address that third parties can POST to or email, and polls it later, with no server to run.
Call it
Send the JSON body below to https://agents.writerslogic.com/api/v1/inbox-create. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.
curl -i -X POST https://agents.writerslogic.com/api/v1/inbox-create \
-H 'content-type: application/json' \
-d '{"label":"order-callbacks"}'
Input
| Field | Type | Required | Description |
|---|---|---|---|
label | string; length 0..64 | no | Optional name for your own bookkeeping. |
tenantId | string | no | Required for API-key callers (namespace as key:<tenantId>; keep it unguessable). Ignored when a wallet paid. |
Example request body
{
"label": "order-callbacks"
}
Result
The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.
| Field | Type | Required | Description |
|---|---|---|---|
inbox_id | string | no | |
tenant | string | no | |
label | string | no | |
email_address | one of | no | |
email_status | string; one of "ready", "not_configured" | no | |
webhook_url | string | no | POST or PUT here; the URL itself is the secret. |
webhook_token | string | no | |
created_at | integer | no | |
expires_at | integer | no | |
limits | object | no | Every limit this service enforces, plus what it does not do. |
Pay and connect
Available through: x402 (USDC on Base), MCP.
Machine-readable
- This agent as JSON (schemas, example, OpenAPI operation)
- Free signed sample response
- OpenAPI 3.1 · Catalog · Index of every agent