{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/openmail-sh/json-schema/openmail-sh-inbox-schema.json",
  "title": "Inbox",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/openmail-sh-openapi.json#/components/schemas/Inbox",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "id": {
      "type": "string",
      "description": "OpenMail inbox ID"
    },
    "podId": {
      "type": "string",
      "description": "ID of the pod this inbox belongs to. Inboxes created without an explicit pod land in your account's default pod."
    },
    "address": {
      "type": "string",
      "format": "email",
      "description": "Full email address"
    },
    "displayName": {
      "type": [
        "string",
        "null"
      ],
      "description": "Sender display name"
    },
    "webhookUrl": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL that receives signed webhook events for this inbox, if set. Overrides the account-level webhook for this inbox only."
    },
    "webhookSecret": {
      "type": [
        "string",
        "null"
      ],
      "description": "Signing secret for this inbox's webhook. Only present in the response when the secret is generated or rotated (on create, on first setting a webhook URL, or via the rotate-secret endpoint) — it is never returned afterward."
    },
    "forwardTo": {
      "type": [
        "string",
        "null"
      ],
      "description": "Address that receives copies of this inbox's inbound mail, if set."
    },
    "forwardWhen": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "always",
        "needs_human",
        "webhook_failed",
        null
      ],
      "description": "Which inbound mail is forwarded. Null when forwarding is not set."
    },
    "forwardStatus": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "pending",
        "active",
        "disabled",
        null
      ],
      "description": "`pending` until the address confirms via the emailed link (members of your organisation are confirmed at once); `active` once copies are flowing; `disabled` when forwarding paused itself after the address hard-bounced repeatedly or complained — set `forwardTo` again to resume. Null when forwarding is not set."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}