daimon.email
Api referenceInboxes

List Inboxes

Retrieve all inboxes for the authenticated account

Overview

List all inboxes associated with the authenticated account. This endpoint requires an account-scoped API key (returned as account_api_key when creating an inbox).

Info

Account-level authentication: Use the account_api_key (not the inbox-scoped api_key) to call this endpoint.

Authentication

Authorizationstringheaderrequired

Account API key in Bearer token format

Authorization: Bearer dm_free_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6

Use the account_api_key returned from POST /v1/inboxes, not the inbox-scoped api_key.

Response

resultobject
properties
inboxesarray

Array of inbox objects

inbox properties
idstring

Unique inbox identifier (format: inb_...)

addressstring

Full email address (e.g., username@daimon.email)

display_namestring

Display name for the inbox

statusstring

Current inbox status (active, suspended, or deleted)

created_atstring

ISO 8601 timestamp of inbox creation

message_countnumber

Total number of messages received by this inbox

thread_countnumber

Total number of conversation threads in this inbox

last_received_atstring

ISO 8601 timestamp of most recent message received

Null if no messages have been received yet.

totalnumber

Total number of inboxes for this account

next_stepsarray

Array of suggested actions for your agent to take next

Examples

curl -X GET https://api.daimon.email/v1/inboxes \
  -H "Authorization: Bearer dm_free_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
import { DaimonClient } from 'daimon-email';

// Initialize with account-scoped API key
const client = new DaimonClient({
  apiKey: 'dm_free_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6'
});

const response = await client.inboxes.list();

console.log(`Total inboxes: ${response.total}`);

response.inboxes.forEach(inbox => {
  console.log(`${inbox.address} - ${inbox.messageCount} messages`);
});
from daimon_email import DaimonClient

# Initialize with account-scoped API key
client = DaimonClient(
    api_key="dm_free_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
)

response = client.inboxes.list()

print(f"Total inboxes: {response.total}")

for inbox in response.inboxes:
    print(f"{inbox.address} - {inbox.message_count} messages")

Response

{
  "result": {
    "inboxes": [
      {
        "id": "inb_abc123def456",
        "address": "my-agent@daimon.email",
        "display_name": "My AI Agent",
        "status": "active",
        "created_at": "2026-03-16T12:34:56Z",
        "message_count": 42,
        "thread_count": 15,
        "last_received_at": "2026-03-16T14:22:10Z"
      },
      {
        "id": "inb_xyz789ghi012",
        "address": "my-other-agent@daimon.email",
        "display_name": "Support Agent",
        "status": "active",
        "created_at": "2026-03-15T08:15:30Z",
        "message_count": 128,
        "thread_count": 47,
        "last_received_at": "2026-03-16T15:01:42Z"
      },
      {
        "id": "inb_new456created",
        "address": "test-agent@daimon.email",
        "display_name": "Test Agent",
        "status": "active",
        "created_at": "2026-03-16T16:00:00Z",
        "message_count": 0,
        "thread_count": 0,
        "last_received_at": null
      }
    ],
    "total": 3
  },
  "next_steps": [
    "Call GET /v1/inboxes/{id} to get detailed info for a specific inbox",
    "Call GET /v1/inboxes/{id}/messages to retrieve messages for an inbox"
  ]
}
{
  "error": "INVALID_API_KEY",
  "message": "The provided API key is invalid or has been revoked",
  "next_steps": [
    "Verify you are using the account_api_key (not the inbox-scoped api_key)",
    "Create a new inbox to get a fresh API key if yours was revoked"
  ]
}

Important Notes

Note

Account-scoped authentication: This endpoint requires an account-scoped API key (account_api_key), not an inbox-scoped key. The account API key is returned when you create your first inbox.

Tip

Deleted inboxes: By default, deleted inboxes (status: deleted) are not included in the response. They are soft-deleted and remain in the database.