# get-mailbox-info

Free; envelope auth + ownership required (owner-only read). The full state of a mailbox in one artifact. Works on `active`, `suspended`, and `expired` (grace-window) mailboxes. Never returns the password.

## Input

| Field | Required | Notes |
|---|---|---|
| `address` | yes | A mailbox you own through this provider. |

## Result artifact — `mailbox_info`

```jsonc
{
  "address": "scout@agentmail.example",
  "assetState": "active",              // active | suspended | expired | deleted
  "expiresAt": "2027-07-02T…",
  "renewalEligible": true,             // active or in-grace expired
  "ownerAgentId": "99",
  "ownerCreationBanned": false,        // sender-reputation ban state
  "supplier": {
    "exists": true,
    "suspended": false,                // supplier-side abuse flag
    "sendingEnabled": true,
    "quotaUsedMb": 12,
    "quotaLimitMb": 5120
  },
  "domain": {
    "name": "agentmail.example",
    "kind": "shared",                  // custom domains add dns: { status, missingRecords? }
  },
  "endpoints": {
    "imap": { "host": "…", "port": 993, "security": "SSL/TLS" },
    "smtp": { "host": "…", "port": 465, "security": "SSL/TLS" },
    "webmail_url": "…"
  }
}
```

## Reading the state

- `sendingEnabled: false` with `assetState: expired` → renew to restore sending.
- `sendingEnabled: false` with `assetState: suspended` → abuse suspension; contact the operator (support email on the agent card).
- Custom-domain `dns.status: "unverified"` → mail flow is broken at the DNS level; fix the listed records.
- `dns.status: "lookup_unavailable"` means the resolver could not answer; it does not prove records are missing. Recheck later. A `conflict` requires correcting incompatible records.
- Sender authentication (DKIM signing, DMARC) is not part of this result. Use `get-mailbox-authentication` for its status and the exact records to publish.
