10 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Create a rich message template
rcs.create_templatewriteadmin only
Create a rich RCS message — a card with buttons, a carousel, an image, or plain text. Creating it here does not put it on Twilio; run rcs.sync_template to do that, which is what gives it the Content SID needed to send it. The `body` field is the plain-text fallback delivered as an SMS to any handset that can't take RCS, so write it to stand on its own.
Parameters
Field
Type
Required
Description
name
string
required
A name for this template, unique within the organization.
kind
"text" | "media" | "card" | "carousel"
optional
text, media, card, or carousel. Default: "card"
definition
object
required
The message itself.
definition.body
string
required
The plain-text version. REQUIRED: this is exactly what a handset without RCS receives as an SMS, so it has to stand on its own.
definition.mediaUrl
string (uri)
optional
A publicly reachable image or video URL.
definition.actions
object[]
optional
Up to four buttons.
definition.actions[].kind
"url" | "reply" | "phone"
required
What the button does: open a link, send a suggested reply back to you, or dial a number.
definition.actions[].title
string
required
The button's label. RCS truncates past about 25 characters.
definition.actions[].value
string
required
The URL for 'url', the reply text for 'reply', the E.164 number for 'phone'.
definition.cards
object[]
optional
Carousel cards, two to ten. Only used when kind is 'carousel'.
definition.cards[].title
string
optional
The card's heading.
definition.cards[].body
string
required
The card's text.
definition.cards[].mediaUrl
string (uri)
optional
A publicly reachable image or video URL.
definition.cards[].actions
object[]
optional
Up to four buttons on this card.
definition.cards[].actions[].kind
"url" | "reply" | "phone"
required
What the button does: open a link, send a suggested reply back to you, or dial a number.
definition.cards[].actions[].title
string
required
The button's label. RCS truncates past about 25 characters.
definition.cards[].actions[].value
string
required
The URL for 'url', the reply text for 'reply', the E.164 number for 'phone'.
variables
string[]
optional
Merge field names, in order. Twilio numbers them positionally, so order is meaningful. Default: []
Over MCP the same operation is the tool rcs_create_template at https://app.chirply.io/api/mcp, same bearer token, same input.
Remove an RCS sender
rcs.delete_senderwriteconfirmadmin only
Remove a registered RCS sender from Chirply. Messages on that Messaging Service immediately go back to plain SMS. This does NOT delete anything on Twilio — the sender and its carrier approvals stay on the organization's Twilio account, and re-registering it here restores RCS routing without any new review.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool rcs_delete_sender at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete a rich message template
rcs.delete_templatewriteconfirmadmin only
Delete a rich RCS template from Chirply and, if it was synced, remove the matching Content Template from the organization's Twilio account. Messages already sent from it are unaffected. This cannot be undone.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool rcs_delete_template at https://app.chirply.io/api/mcp, same bearer token, same input.
List RCS senders
rcs.list_sendersread
List the RCS senders (branded agents) registered for this organization, with the review status of each and which carriers have approved it. Read-only and free. An empty list is the normal state until someone registers a sender on the organization's own Twilio account.
Over MCP the same operation is the tool rcs_list_senders at https://app.chirply.io/api/mcp, same bearer token, same input.
List rich message templates
rcs.list_templatesreadadmin only
List the organization's rich RCS message templates — cards, carousels, media and text — with each one's sync state and its Twilio Content SID once synced. Read-only and free.
Over MCP the same operation is the tool rcs_list_templates at https://app.chirply.io/api/mcp, same bearer token, same input.
Register an RCS sender
rcs.register_senderwriteadmin only
Record an RCS sender that already exists on the organization's own Twilio account, so Chirply routes that Messaging Service's traffic over RCS once it is approved. THIS DOES NOT CREATE THE SENDER — Twilio only onboards RCS senders through its Console, after which Google and each US carrier verify the brand separately, which Twilio says takes four to six weeks. Register it here as 'submitted', then set the status to 'approved' when Twilio's console shows a carrier has approved it. Nothing routes over RCS until the status is 'approved'.
Parameters
Field
Type
Required
Description
messaging_service_sid
string
required
The Twilio Messaging Service (MG…) the sender is attached to. This is the join key: numbers in this service can send RCS.
display_name
string
required
The brand name recipients see in their messaging app.
sender_id
string
optional
The RCS sender/agent id, if you have it. Outbound messages delivered over RCS report `rcs:<sender_id>` as the sender.
description
string
optional
What this sender is for, as shown on the branded profile.
logo_url
string (uri)
optional
Logo image URL (Twilio wants 224×224, under 50KB).
banner_url
string (uri)
optional
Banner image URL (1140×448; Android only).
accent_color
string
optional
Brand accent color as a hex value. Twilio requires 4.5:1 contrast.
Over MCP the same operation is the tool rcs_register_sender at https://app.chirply.io/api/mcp, same bearer token, same input.
Send a rich message
rcs.send_templatewriteconfirm
Send a synced rich template into an existing conversation. THIS SENDS A REAL MESSAGE TO A REAL PERSON, billed to the organization's own Twilio account. It goes out over RCS — branded, with the card or carousel rendered — only when the sending number's Messaging Service has an approved RCS sender AND the recipient's handset supports RCS; otherwise Twilio automatically falls back to SMS carrying the template's plain-text body, which the recipient receives instead. The thread records which of the two actually happened.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
conversation_id
string (uuid)
required
The conversation to send into. Must be an SMS thread.
template_id
string (uuid)
required
A template that has been synced to Twilio.
variables
map of string → string
optional
Values for the template's merge fields, keyed by name. Default: {}
Over MCP the same operation is the tool rcs_send_template at https://app.chirply.io/api/mcp, same bearer token, same input.
Push a template to Twilio
rcs.sync_templatewriteconfirmadmin only
Push a rich template to the organization's own Twilio account as a Content Template and store the resulting Content SID, which is what lets it be sent. Twilio's Content Templates are immutable, so syncing an edited template creates a new one on Twilio and the old one is left behind unreferenced. Uses the organization's own Twilio credentials.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool rcs_sync_template at https://app.chirply.io/api/mcp, same bearer token, same input.
Update an RCS sender
rcs.update_senderwriteadmin only
Update a registered RCS sender — most often to move its status along as Twilio's console reports carrier approvals, or to record per-carrier verdicts. Setting status to 'approved' is what makes Chirply start routing that Messaging Service's messages over RCS; setting it to anything else stops that immediately and sends fall back to plain SMS.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The sender to update.
display_name
string
optional
The brand name recipients see in their messaging app.
sender_id
string (or null)
optional
The RCS sender/agent id, if you have it. Outbound messages delivered over RCS report `rcs:<sender_id>` as the sender.
description
string (or null)
optional
What this sender is for, as shown on the branded profile.
logo_url
string (uri) (or null)
optional
Logo image URL (Twilio wants 224×224, under 50KB).
banner_url
string (uri) (or null)
optional
Banner image URL (1140×448; Android only).
accent_color
string (or null)
optional
Brand accent color as a hex value. Twilio requires 4.5:1 contrast.
Over MCP the same operation is the tool rcs_update_sender at https://app.chirply.io/api/mcp, same bearer token, same input.
Edit a rich message template
rcs.update_templatewriteadmin only
Edit a rich RCS template. Any change puts it back into 'draft' — Twilio's Content Templates are immutable, so an edited template has to be pushed again before the new version can be sent. Messages already sent are unaffected.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The template to edit.
name
string
optional
A name for this template, unique within the organization.
kind
"text" | "media" | "card" | "carousel"
optional
text, media, card, or carousel.
definition
object
optional
The message itself.
definition.body
string
required
The plain-text version. REQUIRED: this is exactly what a handset without RCS receives as an SMS, so it has to stand on its own.
definition.mediaUrl
string (uri)
optional
A publicly reachable image or video URL.
definition.actions
object[]
optional
Up to four buttons.
definition.actions[].kind
"url" | "reply" | "phone"
required
What the button does: open a link, send a suggested reply back to you, or dial a number.
definition.actions[].title
string
required
The button's label. RCS truncates past about 25 characters.
definition.actions[].value
string
required
The URL for 'url', the reply text for 'reply', the E.164 number for 'phone'.
definition.cards
object[]
optional
Carousel cards, two to ten. Only used when kind is 'carousel'.
definition.cards[].title
string
optional
The card's heading.
definition.cards[].body
string
required
The card's text.
definition.cards[].mediaUrl
string (uri)
optional
A publicly reachable image or video URL.
definition.cards[].actions
object[]
optional
Up to four buttons on this card.
definition.cards[].actions[].kind
"url" | "reply" | "phone"
required
What the button does: open a link, send a suggested reply back to you, or dial a number.
definition.cards[].actions[].title
string
required
The button's label. RCS truncates past about 25 characters.
definition.cards[].actions[].value
string
required
The URL for 'url', the reply text for 'reply', the E.164 number for 'phone'.
variables
string[]
optional
Merge field names, in order. Twilio numbers them positionally, so order is meaningful.