Request
Bearer <api_key>UUID to prevent duplicate sends on retry.
Body
Destination phone number in international format (e.g.
+4917612345678).Approved production agent id.
MESSAGE for one-shot sends. Use NEWSLETTER for newsletter channel — see RCS newsletter.Card layout orientation:
VERTICAL or HORIZONTAL.Primary headline text. Maximum 200 characters.
Supporting text below the title. Maximum 2,000 characters.
Publicly reachable HTTPS URL for the image, video, or GIF. Google fetches and caches the file at submission time; redirects are not supported. Recommended max file size: 100 MB.
Optional thumbnail URL shown while the main file loads. Max 100 kB.
Media height in vertical cards:
SHORT (112 dp), MEDIUM (168 dp), or TALL (264 dp). Ignored for horizontal layout.Optional action/reply chips attached to the card. Maximum 4 suggestions per card (this limit is per card content, not per message).Each item is one of:
reply— quick reply chip:{ "text": "...", "postback_data": "..." }. Text max 25 chars.postback_datamust be base64-encoded; max 2048 chars.action— native action chip:{ "text": "...", "fallback_url": "...", "<action_type>": { ... } }. Text max 25 chars.fallback_urlis optional; opens in browser on devices that don’t support the action.
| Action type | Required fields | Notes |
|---|---|---|
dial | phone_number | International format (e.g. +4930123456) |
open_url | url | https:// or http:// only — other schemes rejected since Nov 2025 |
open_url_in_webview | url, view_mode (FULL, HALF, TALL) | Requires device support for ACTION_OPEN_URL_IN_WEBVIEW |
view_location | lat + long + optional label; or query | Opens map app |
share_location | (no fields) | Lets user share their location back |
create_calendar_event | title (max 100 chars), description (max 500 chars), start_time, end_time | Opens calendar pre-filled |
Optional delivery expiry. Duration string (e.g.
"3600s"). Message is automatically revoked if not delivered within this window. Useful for time-sensitive content.Regulatory classification. Values:
AUTHENTICATION, TRANSACTION, PROMOTION, SERVICEREQUEST, ACKNOWLEDGEMENT. Must match the agent’s approved use case.Responses
- 200 OK
- 402 Insufficient balance
- 403 Forbidden
- 404 Not capable
Message id for status, revoke, and webhook correlation.
Always
single_message for rich card content.Balance held until delivery resolves.
Expected unit price for this classification and tier.
Related
- RCS carousel — multiple cards in one message
- RCS newsletter — rich card on the newsletter channel (adds MAU)
- Billing (RCS) — Single Message rules