Templates preview
curl --request GET \
--url https://api.sendrealm.com/templates/{id}/preview \
--header 'Authorization: Bearer <token>' \
--header 'X-Sendrealm-Project-Id: <x-sendrealm-project-id>'const options = {
method: 'GET',
headers: {
'X-Sendrealm-Project-Id': '<x-sendrealm-project-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.sendrealm.com/templates/{id}/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendrealm.com/templates/{id}/preview"
headers = {
"X-Sendrealm-Project-Id": "<x-sendrealm-project-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text){
"status": 123,
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel": "email",
"version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subject": "<string>",
"rendered_html": "<string>",
"rendered_text": "<string>",
"messages": [
{
"locale": "<string>",
"title": "<string>",
"message": "<string>",
"image_url": "<string>",
"launch_url": "<string>"
}
],
"readiness": {
"ready": true,
"reasons": [
"<string>"
]
}
}
}Agent messaging API
Templates preview
Feature-gated personal-key operation. Scope, saved grants, current role and resource ownership all apply. Billing is excluded.
GET
/
templates
/
{id}
/
preview
Templates preview
curl --request GET \
--url https://api.sendrealm.com/templates/{id}/preview \
--header 'Authorization: Bearer <token>' \
--header 'X-Sendrealm-Project-Id: <x-sendrealm-project-id>'const options = {
method: 'GET',
headers: {
'X-Sendrealm-Project-Id': '<x-sendrealm-project-id>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.sendrealm.com/templates/{id}/preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendrealm.com/templates/{id}/preview"
headers = {
"X-Sendrealm-Project-Id": "<x-sendrealm-project-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text){
"status": 123,
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"channel": "email",
"version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subject": "<string>",
"rendered_html": "<string>",
"rendered_text": "<string>",
"messages": [
{
"locale": "<string>",
"title": "<string>",
"message": "<string>",
"image_url": "<string>",
"launch_url": "<string>"
}
],
"readiness": {
"ready": true,
"reasons": [
"<string>"
]
}
}
}Requires the messaging rollout flag and explicit personal-key permissions. Live publishing and lifecycle changes require an expiring preparation and idempotent execution.
Authorizations
Integration key for backend workloads, or a scoped personal key (sr_user_) for account discovery and supported project operations. MCP accepts only personal keys.
Headers
Explicit authorized project. Its team is derived server-side.