Create a rich card RCS template

Creates a single rich card with optional media and 1–4 interactive buttons (reply / open_url / dial_call). Sent as application/json. Provide media via either the public media_url or the base64 data URI media_file (or neither).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required

Friendly name persisted in the template registry.

string
required
length ≤ 100
string
required
length ≤ 1600
uri

Public URL of the media. Mutually exclusive with media_file.

file

Media file upload. Sent inline inside the JSON body as a base64 data URI (data:<mime>;base64,<payload>); the request is application/json, NOT multipart/form-data. The format: binary annotation is the trigger that makes the readme.io API Explorer (and Insomnia) render a file-attach widget that serialises the chosen file into this data URI shape on submit; the surrounding application/json content-type keeps SDK generators on the JSON code path. Mutually exclusive with media_url. Limit: 5 MB decoded.

string
length ≤ 306
default_variables
array of objects

Optional fallback values for the {{N}} placeholders inside body.

default_variables
buttons
array of objects
required
length between 1 and 4

1–4 interactive buttons.

buttons*
string
enum
required

Button variant. Drives which payload field is required (url for open_url, phone_number for dial_call; postback_data is optional and only used with reply).

Allowed:
string
required
length ≤ 25

Visible button label (max 25 chars).

uri

Required when type = open_url.

string

Required when type = dial_call. E.164 format (e.g. +5511987654321).

string
length ≤ 2048

Optional, only used when type = reply. Echoed back to your webhook when the user taps the button.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json