{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cooperemail-com/json-schema/cooperemail-com-sending-status-schema.json",
  "title": "SendingStatus",
  "description": "Trailing 7-day send health for this account. Counts match GET /api/v1/metrics/rates with no inbox id. Warning does not block. Paused blocks agent email until the rate recovers.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cooperemail-com-openapi.yml#/components/schemas/SendingStatus",
  "type": "object",
  "properties": {
    "object": {
      "type": "string",
      "enum": [
        "sending_status"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "warning",
        "paused"
      ]
    },
    "reason": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "bounce_rate",
        "complaint_rate",
        null
      ]
    },
    "window_days": {
      "type": "integer",
      "enum": [
        7
      ]
    },
    "sent": {
      "type": "integer"
    },
    "bounced": {
      "type": "integer"
    },
    "complained": {
      "type": "integer"
    },
    "bounce_rate": {
      "type": "number"
    },
    "complaint_rate": {
      "type": "number"
    },
    "thresholds": {
      "type": "object",
      "properties": {
        "min_sent": {
          "type": "integer"
        },
        "warning_bounce_rate": {
          "type": "number"
        },
        "warning_complaint_rate": {
          "type": "number"
        },
        "pause_bounce_rate": {
          "type": "number"
        },
        "pause_min_bounced": {
          "type": "integer"
        },
        "pause_complaint_rate": {
          "type": "number"
        },
        "pause_min_complained": {
          "type": "integer"
        }
      },
      "required": [
        "min_sent",
        "warning_bounce_rate",
        "warning_complaint_rate",
        "pause_bounce_rate",
        "pause_min_bounced",
        "pause_complaint_rate",
        "pause_min_complained"
      ]
    },
    "paused_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "evaluated_at": {
      "type": "string",
      "format": "date-time"
    },
    "resumes": {
      "type": "string"
    }
  },
  "required": [
    "object",
    "status",
    "reason",
    "window_days",
    "sent",
    "bounced",
    "complained",
    "bounce_rate",
    "complaint_rate",
    "thresholds",
    "paused_at",
    "evaluated_at",
    "resumes"
  ]
}