Twilio · Schema
SendEmailRequest
AuthenticationCommunicationsContact CenterEmailIoTMessagingPhoneSMST1VerificationVideoVoiceTwilioTelecommunicationsReal-TimeWhatsApp
Properties
| Name | Type | Description |
|---|---|---|
| personalizations | array | Recipients and per-recipient settings |
| from | object | |
| reply_to | object | |
| reply_to_list | array | |
| subject | string | Global subject line |
| content | array | |
| attachments | array | |
| template_id | string | ID of a dynamic template to use |
| headers | object | |
| categories | array | Categories for tracking (max 10) |
| send_at | integer | Unix timestamp for scheduled send (up to 72 hours) |
| batch_id | string | Batch ID for grouping scheduled sends |
| asm | object | |
| ip_pool_name | string | Name of the IP pool for sending |
| tracking_settings | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/twilio/main/json-schema/twilio-send-email-request-schema.json",
"title": "SendEmailRequest",
"x-generated": "2026-10-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/twilio-mail-send-api-openapi.yml#/components/schemas/SendEmailRequest",
"type": "object",
"required": [
"personalizations",
"from"
],
"properties": {
"personalizations": {
"type": "array",
"items": {
"$ref": "#/$defs/Personalization"
},
"minItems": 1,
"maxItems": 1000,
"description": "Recipients and per-recipient settings"
},
"from": {
"$ref": "#/$defs/EmailAddress"
},
"reply_to": {
"$ref": "#/$defs/EmailAddress"
},
"reply_to_list": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"maxItems": 1000
},
"subject": {
"type": "string",
"description": "Global subject line"
},
"content": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"type": "string",
"description": "MIME type (text/plain or text/html)"
},
"value": {
"type": "string",
"description": "Content body"
}
}
}
},
"attachments": {
"type": "array",
"items": {
"$ref": "#/$defs/Attachment"
}
},
"template_id": {
"type": "string",
"description": "ID of a dynamic template to use"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Categories for tracking (max 10)"
},
"send_at": {
"type": "integer",
"description": "Unix timestamp for scheduled send (up to 72 hours)"
},
"batch_id": {
"type": "string",
"description": "Batch ID for grouping scheduled sends"
},
"asm": {
"type": "object",
"properties": {
"group_id": {
"type": "integer",
"description": "Unsubscribe group ID"
},
"groups_to_display": {
"type": "array",
"items": {
"type": "integer"
},
"maxItems": 25
}
}
},
"ip_pool_name": {
"type": "string",
"description": "Name of the IP pool for sending"
},
"tracking_settings": {
"type": "object",
"properties": {
"click_tracking": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"enable_text": {
"type": "boolean"
}
}
},
"open_tracking": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"substitution_tag": {
"type": "string"
}
}
},
"subscription_tracking": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
}
}
}
}
}
},
"$defs": {
"Attachment": {
"type": "object",
"required": [
"content",
"filename"
],
"properties": {
"content": {
"type": "string",
"description": "Base64 encoded attachment content"
},
"filename": {
"type": "string"
},
"type": {
"type": "string",
"description": "MIME type of the attachment"
},
"disposition": {
"type": "string",
"enum": [
"inline",
"attachment"
],
"default": "attachment"
},
"content_id": {
"type": "string",
"description": "Content ID for inline attachments"
}
}
},
"EmailAddress": {
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email"
},
"name": {
"type": "string"
}
}
},
"Personalization": {
"type": "object",
"required": [
"to"
],
"properties": {
"to": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
},
"minItems": 1
},
"cc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
}
},
"bcc": {
"type": "array",
"items": {
"$ref": "#/$defs/EmailAddress"
}
},
"subject": {
"type": "string"
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"substitutions": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"dynamic_template_data": {
"type": "object",
"description": "Dynamic template handlebars data"
},
"custom_args": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"send_at": {
"type": "integer"
}
}
}
}
}
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/twilio-send-email-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.