Get a domain's sending status

Whether the domain can send right now (canSend) and every reason it cannot (blockers): not verified, a DNS record missing (with the exact record to add),…

GEThttps://app.usenotix.dev/api/v1/domains/{id}/status

Full access and read only keys can call this. Sending access keys cannot. Key permissions lists the extra rules some calls have.

Whether the domain can send right now (canSend) and every reason it cannot (blockers): not verified, a DNS record missing (with the exact record to add), or sending paused for bounces or complaints. warnings lists what will become a blocker, such as a bounce rate near the pause threshold. A key limited to one domain sees only that domain.

Path parameters

idintegerrequired

Minimum 0.

Headers

Authorizationstringrequired

Bearer followed by your API key.

Errors

404

No domain with this id for the calling team.

Every error has the same shape. See all error codes.

curl -X GET "https://app.usenotix.dev/api/v1/domains/<id>/status" \
  -H "Authorization: Bearer $NOTIX_API_KEY"
Response200
{
  "domainId": 1,
  "name": "Acme",
  "canSend": true,
  "blockers": [
    {
      "code": "string",
      "message": "string"
    }
  ],
  "warnings": [
    {
      "code": "string",
      "message": "string"
    }
  ],
  "verification": {
    "status": "string",
    "error": "string"
  },
  "dns": {
    "records": [
      {
        "type": null,
        "name": null,
        "value": null,
        "ttl": null,
        "priority": null,
        "status": null,
        "recommended": null,
        "purpose": null
      }
    ],
    "missing": 1
  },
  "sending": {
    "state": "string",
    "reason": "string",
    "changedAt": "2026-10-01T09:00:00Z"
  },
  "bulkSending": {
    "allowed": true,
    "enforced": true,
    "blockers": [
      {
        "code": null,
        "record": null,
        "message": null
      }
    ]
  },
  "warmup": {
    "inWarmup": true,
    "dailyCap": 1,
    "marketingCap": 1,
    "sentToday": 1,
    "step": 1,
    "ladder": [
      1
    ],
    "nextStepAt": "string",
    "nextCap": 1,
    "start": {
      "reason": "string",
      "provider": "string",
      "verifiedSince": "string",
      "startingCap": 1,
      "unlockCap": 1
    }
  },
  "probationUntil": "string",
  "dailyCap": {
    "cap": 1,
    "marketingCap": 1,
    "source": "WARMUP"
  },
  "reputation": {
    "period": "all_time",
    "delivered": 1,
    "hardBounced": 1,
    "complained": 1,
    "bounceRate": 1,
    "complaintRate": 1,
    "thresholds": {
      "bounceWarn": 1,
      "bouncePause": 1,
      "complaintWarn": 1,
      "complaintPause": 1,
      "windowDays": 1
    }
  }
}
Open in ClaudeOpen in ChatGPT