Guides
Errors
{
"error": {
"code": "conflict",
"message": "This campaign is already sending"
}
}The message names the field when the input is wrong, and says what to do when a rule stops the action. MCP tools answer the same object in an error result. Sending a campaign that is already sending or sent answers conflict, so a retried send never goes out twice.
| Code | Status | Meaning |
|---|---|---|
unauthorizedThe API key is missing, malformed, unknown or revoked. | 401 | The API key is missing, malformed, unknown or revoked. |
forbiddenThe key's level doesn't allow this action: a signups only key can only add contacts. | 403 | The key's level doesn't allow this action: a signups only key can only add contacts. |
not_foundThe newsletter, campaign, contact, domain or key isn't in this account. | 404 | The newsletter, campaign, contact, domain or key isn't in this account. |
validation_failedThe input doesn't match the schema or breaks a rule. The message names the field. | 400 | The input doesn't match the schema or breaks a rule. The message names the field. |
conflictThe resource's state doesn't allow it, e.g. sending a campaign that is already sending or sent. Retrying won't help. | 409 | The resource's state doesn't allow it, e.g. sending a campaign that is already sending or sent. Retrying won't help. |
rate_limitedToo many requests with this key. Wait a minute and retry. | 429 | Too many requests with this key. Wait a minute and retry. |
subscription_requiredThe account has no active plan. | 402 | The account has no active plan. |
billing_offThe server is self-hosted without billing: every account has every feature, without plan limits. | 404 | The server is self-hosted without billing: every account has every feature, without plan limits. |
plan_limit_emailsThe send needs more emails than the plan has left this month. | 402 | The send needs more emails than the plan has left this month. |
plan_limit_subscribersThe account has more active subscribers than its plan allows. | 402 | The account has more active subscribers than its plan allows. |
account_blockedThe account is blocked after spam signals (bounce or complaint rates, a spam trap, the email provider) or by an admin. Nothing is sent, and only reads, pausing, unscheduling, revoking access and billing work until an admin unblocks it. | 403 | The account is blocked after spam signals (bounce or complaint rates, a spam trap, the email provider) or by an admin. Nothing is sent, and only reads, pausing, unscheduling, revoking access and billing work until an admin unblocks it. |
sender_not_allowedThe from address is neither the newsletter's shared address nor on a verified domain of this account. | 422 | The from address is neither the newsletter's shared address nor on a verified domain of this account. |
send_check_failedA pre-send check failed: no postal address, subject or content, or the email is over 100 KB. | 422 | A pre-send check failed: no postal address, subject or content, or the email is over 100 KB. |
no_recipientsNobody is left to send to. | 422 | Nobody is left to send to. |
sending_disabledSending is turned off on this server. | 503 | Sending is turned off on this server. |
unavailableA service the action needs isn't configured or didn't answer. Retry later. | 503 | A service the action needs isn't configured or didn't answer. Retry later. |
internal_errorSomething failed on MailCheap's side. | 500 | Something failed on MailCheap's side. |