message.comDevelopers

Saved replies API

Create personal and workspace-shared reply templates using the fields supported by the Inbox API.

Authentication and ownership

These dashboard endpoints require an authenticated agent session JWT in Authorization: Bearer. A Verify, messaging, or MCP connection key does not grant access to them. Requests stay within the authenticated workspace.

Personal replies belong to their creator. Workspace replies are visible to workspace agents; creating or editing a shared reply requires an admin.

List saved replies

GET /api/v1/saved-replies returns { savedReplies: [...] }. It includes workspace replies and the caller’s personal replies, newest updated first, with a maximum of 500 rows. Optional q matches shortcut or body. There is no cursor, channel or scope query filter.

List saved replies
curl 'https://app.message.com/api/v1/saved-replies?q=refund' \
  -H 'Authorization: Bearer YOUR_AGENT_JWT'

Create a reply

POST /api/v1/saved-replies accepts body (1–5,000 characters), shortcut (1–64 characters), title (up to 200 characters), scope (personal or workspace), triggers (up to 50 phrases, each 1–120 characters), and enabled (boolean). Scope defaults to personal; enabled defaults to true. Supply a shortcut or at least one trigger. A missing leading slash is added to the shortcut.

A successful create returns HTTP 201 with { savedReply: {...} }. The object includes id, shortcut, body, title, triggers, enabled, updatedBy, scope, agentId, createdAt and updatedAt. agentId is null for workspace replies.

Create a reply
curl 'https://app.message.com/api/v1/saved-replies' \
  -H 'Authorization: Bearer YOUR_AGENT_JWT' \
  -H 'Content-Type: application/json' \
  --data '{"shortcut":"/receipt","title":"Find a receipt","body":"Please share your order number so we can find your receipt.","scope":"personal"}'

Update a reply

PATCH /api/v1/saved-replies/:id accepts the same editable fields. The title can be null. It returns { savedReply: {...} }. Personal owners can edit their own replies; admins manage shared replies. Promoting a personal reply to workspace scope requires an admin. This endpoint has no expectedVersion field or version-conflict protection.

Use the stored text

The API stores reply text; it does not expand Handlebars expressions or provide a server-side template-rendering endpoint. If your integration inserts customer details, resolve them explicitly from authorized conversation data before sending. Saving a template does not send a message.

Delete and errors

DELETE /api/v1/saved-replies/:id returns HTTP 204 on success. Ownership rules match updates. Invalid bodies return 400 invalid_body, unauthorized shared changes return 403 admin_required, another agent’s personal reply returns 403 forbidden, and missing workspace-owned records return 404 not_found.