mailcheer-com · Schema
CampaignRequest
The body of `POST /api/v1/campaigns`. Only `name` is required — but a draft with no subject and no content cannot be sent. Give the content through `text` (plain) or through `content` (blocks), never both.
CompanyNewsletterAPIMarketingAI
Properties
| Name | Type | Description |
|---|---|---|
| name | string | **Required.** Internal name, never seen by recipients. |
| subject | string | The subject. It may stay empty on a draft, but the send will refuse it. |
| preheader | string | Preview shown after the subject in the inbox. |
| kind | string | Your own classification label. Free text, no imposed value. |
| from | string | The address of a sender **already registered** in the workspace — not any address on a verified domain, unlike an individual send. Unknown: 404, with the list of available addresses. `GET /api/v1/me` |
| sender_id | string | The sender's identifier, if you know it (`senders[].id` from `GET /api/v1/me`). Takes precedence over `from`. With neither `from` nor `sender_id`, Mailcheer takes the workspace's default sender; faili |
| text | string | The content in plain text — the form to prefer from code or from an agent. A blank line separates two paragraphs, `# ` at the start of a line makes a heading, `## ` a subheading. Ignored if `content` |
| content | object | The content in blocks, the editor's full form. Write this only if you are reusing the content of an existing campaign: to compose, `text` does the same job without your having to fabricate block ident |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/mailcheer-com/json-schema/mailcheer-com-campaign-request-schema.json",
"title": "CampaignRequest",
"description": "The body of `POST /api/v1/campaigns`. Only `name` is required — but a draft with no subject and no content cannot be sent. Give the content through `text` (plain) or through `content` (blocks), never both.",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/mailcheer-com-openapi.json#/components/schemas/CampaignRequest",
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "**Required.** Internal name, never seen by recipients."
},
"subject": {
"type": "string",
"maxLength": 400,
"description": "The subject. It may stay empty on a draft, but the send will refuse it."
},
"preheader": {
"type": "string",
"maxLength": 400,
"description": "Preview shown after the subject in the inbox."
},
"kind": {
"type": "string",
"maxLength": 40,
"default": "newsletter",
"description": "Your own classification label. Free text, no imposed value."
},
"from": {
"type": "string",
"maxLength": 320,
"description": "The address of a sender **already registered** in the workspace — not any address on a verified domain, unlike an individual send. Unknown: 404, with the list of available addresses. `GET /api/v1/me` gives them in `senders`."
},
"sender_id": {
"type": "string",
"maxLength": 60,
"description": "The sender's identifier, if you know it (`senders[].id` from `GET /api/v1/me`). Takes precedence over `from`.\n\nWith neither `from` nor `sender_id`, Mailcheer takes the workspace's default sender; failing that, if a single sender exists, that one. If several exist with no default, the campaign is created **without a sender** and it is the send that will fail: designate one."
},
"text": {
"type": "string",
"maxLength": 200000,
"description": "The content in plain text — the form to prefer from code or from an agent. A blank line separates two paragraphs, `# ` at the start of a line makes a heading, `## ` a subheading. Ignored if `content` is provided."
},
"content": {
"type": "object",
"description": "The content in blocks, the editor's full form. Write this only if you are reusing the content of an existing campaign: to compose, `text` does the same job without your having to fabricate block identifiers.",
"properties": {
"preheader": {
"type": "string"
},
"blocks": {
"type": "array",
"description": "Editor blocks, each with its `id` and its `type` (`heading`, `text`, …).",
"items": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/mailcheer-com-campaign-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.