# Sinch API Messages Send Card

> Send an RCS rich card message via Sinch Conversation API

- Skill: `sinch/sinch-api-messages-send-card` (Agent Skill)
- Install (CLI): `npx skillmds@latest add sinch/sinch-api-messages-send-card`
- Raw SKILL.md: https://api.skillmd.com/api/skills/sinch/sinch-api-messages-send-card/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: sinch (https://skillmd.com/u/sinch)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/sinch/sinch-api-messages-send-card

---


# Send RCS Card Message

Send a rich card message (title, description, image, optional buttons) to a recipient via the Sinch Conversation API. Best supported on RCS; other channels may receive a transcoded version.

**IMPORTANT: Execute this command directly. Do NOT generate script files. Perform the API call immediately.**

## Input

- `--to` / `-t`: Recipient phone number (E.164) - required
- `--title` / `-T`: Card title - required
- `--description` / `-d`: Card description text - optional
- `--image-url` / `-i`: URL of card image - optional
- `--choices` / `-C`: Comma-separated button labels (e.g., "Learn More,Contact Us") - optional

Arguments: $ARGUMENTS

## Instructions

**Execute these steps directly - do not write code or scripts:**

0. If $ARGUMENTS empty: ask for recipient, title, description, image URL, and optional choices. Otherwise parse arguments.

1. Validate: --to (E.164), --title (non-empty). Optional: description, image-url (HTTPS), choices (comma-separated strings).

2. Try MCP tool for sending card/rich message if available (e.g. send-card or equivalent). On success display result and exit.

3. If MCP not available: get CONVERSATION_* env vars. If missing, report "Sinch API is not configured."

4. Build message.card_message: title, description (if provided), media_message with url (if image-url), choices array from --choices (each: text_message.text, postback_data). Recipient via channel_identities (channel RCS or as specified).

5. POST https://{region}.conversation.api.sinch.com/v1/projects/{projectId}/messages:send with OAuth2, body: app_id, recipient, message.

6. On success: "✅ Card message sent!" with message ID. Handle errors with clear messages.

7. Handle all errors gracefully.

## Examples

```
/sinch-api-messages-send-card --to=+14155551234 --title="Welcome" --description="Thanks for signing up" --image-url=https://example.com/promo.jpg
/sinch-api-messages-send-card -t +14155551234 -T "Sale" -d "50% off" -C "Shop Now,Details"
```

## API Reference

- **API Endpoint**: POST /v1/projects/{projectId}/messages:send
- **Message type**: card_message (title, description, media_message, choices)
- **Documentation**: https://developers.sinch.com/docs/conversation/message-types

## Notes

- RCS channel recommended for full card display. SMS/other channels may get text fallback.
- Choices become clickable buttons; postback_data can be derived from label (e.g. slug).

