Message templates
Reusable message bodies for conversations.
5 endpoints. Every request needs an Authorization: Bearer mtro_... header, and responses follow the envelope described in Errors and conventions.
POST /message-templates/create
Create a reusable message template. This writes account data and should require owner confirmation when used by an agent.
Required scope: any valid API key for the entity.
MCP tool: message_templates_create
Request body
Field names are taken from the Core handler. It also passes the body on to internal helpers, so it may accept fields beyond those listed here. Types are not yet documented.
| Field | Type | Required | Description |
|---|---|---|---|
body | any | no | |
category | any | no | |
channel | any | no | |
entityOwner | any | no | |
name | any | no |
Example
curl -X POST 'https://core.mtro.app/message-templates/create' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'
POST /message-templates/delete
Delete a reusable message template. This is destructive and should require owner confirmation when used by an agent.
Required scope: any valid API key for the entity.
MCP tool: message_templates_delete
Request body
| Field | Type | Required | Description |
|---|---|---|---|
templateId | string | yes | Message template ID. |
Example
curl -X POST 'https://core.mtro.app/message-templates/delete' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"templateId":"<templateId>"}'
GET /message-templates/get/{templateId}
Get a message template by ID.
Required scope: any valid API key for the entity.
MCP tool: message_templates_get
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
templateId | string | yes | Message template ID. |
Example
curl -X GET 'https://core.mtro.app/message-templates/get/<templateId>' \
-H 'Authorization: Bearer mtro_your_api_key'
GET /message-templates/get/entity/{entityId}
List message templates for an entity.
Required scope: any valid API key for the entity.
MCP tool: message_templates_list
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
entityId | string | yes | Entity ID. |
Example
curl -X GET 'https://core.mtro.app/message-templates/get/entity/<entityId>' \
-H 'Authorization: Bearer mtro_your_api_key'
Response
| Field | Type |
|---|---|
templates | object[] |
error | boolean |
Fields of templates[]
| Field | Type |
|---|---|
id | string |
entityOwner | string |
name | string |
body | string |
category | string |
channel | string |
schedule | string |
scheduleCustom | any |
scheduleFixed | any |
scheduleDescription | string |
createdAt | integer |
POST /message-templates/update
Update a reusable message template. This writes account data and should require owner confirmation when used by an agent.
Required scope: any valid API key for the entity.
MCP tool: message_templates_update
Request body
Field names are taken from the Core handler. It also passes the body on to internal helpers, so it may accept fields beyond those listed here. Types are not yet documented.
| Field | Type | Required | Description |
|---|---|---|---|
body | any | no | |
category | any | no | |
channel | any | no | |
name | any | no | |
schedule | any | no | |
scheduling | any | no | |
templateId | any | no |
Example
curl -X POST 'https://core.mtro.app/message-templates/update' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'