---
title: "Send an RCS message"
method: POST
path: "/messages/rcs"
tags: ["RCS"]
---

# Send an RCS message

`POST /messages/rcs`

## Request body

- RCSMessage
  - `agent_id` string, required — RCS Agent ID
  - `to` string, required — Phone number in +E.164 format
  - `messaging_profile_id` string, required — A valid messaging profile ID
  - `type` 'RCS' — Message type - must be set to "RCS"
  - `webhook_url` string, url — The URL where webhooks related to this message will be sent.
  - `agent_message` RCSAgentMessage, required
    - `content_message` RCSContentMessage
      - `suggestions` RCSSuggestion[] — List of suggested actions and replies
        - `reply` RCSReply
          - `text` string — Text that is shown in the suggested reply (maximum 25 characters)
          - `postback_data` string — Payload (base64 encoded) that will be sent to the agent in the user event that results when the user taps the suggested action. Maximum 2048 characters.
        - `action` RCSAction — When tapped, initiates the corresponding native action on the device.
          - `text` string — Text that is shown in the suggested action. Maximum 25 characters.
          - `postback_data` string — Payload (base64 encoded) that will be sent to the agent in the user event that results when the user taps the suggested action. Maximum 2048 characters.
          - `fallback_url` string, url — Fallback URL to use if a client doesn't support a suggested action. Fallback URLs open in new browser windows. Maximum 2048 characters.
          - `dial_action` RCSDialAction — Opens the user's default dialer app with the agent-specified phone number filled in.
            - `phone_number` string, required — Phone number in +E.164 format
          - `view_location_action` RCSViewLocationAction — Opens the user's default map app and selects the agent-specified location.
            - `lat_long` RCSLatLng
              - …
            - `label` string — The label of the pin dropped
            - `query` string — query string (Android only)
          - `create_calendar_event_action` RCSCreateCalendarEventAction — Opens the user's default calendar app and starts the new calendar event flow with the agent-specified event data pre-filled.
            - `start_time` string, date-time
            - `end_time` string, date-time
            - `title` string — Event title. Maximum 100 characters.
            - `description` string — Event description. Maximum 500 characters.
          - `open_url_action` RCSOpenUrlAction — Opens the user's default web browser app to the specified URL.
            - `url` string, url, required
            - `application` 'OPEN_URL_APPLICATION_UNSPECIFIED' | 'BROWSER' | 'WEBVIEW', required — URL open application, browser or webview.
            - `webview_view_mode` 'WEBVIEW_VIEW_MODE_UNSPECIFIED' | 'FULL' | 'HALF' | 'TALL', required
            - `description` string — Accessbility description for webview.
          - `share_location_action` RCSShareLocationAction — Opens the RCS app's location chooser so the user can pick a location to send back to the agent.
      - `text` string — Text (maximum 3072 characters)
      - `rich_card` RCSRichCard
        - `carousel_card` RCSCarouselCard — Carousel of cards.
          - `card_width` 'CARD_WIDTH_UNSPECIFIED' | 'SMALL' | 'MEDIUM', required — The width of the cards in the carousel.
          - `card_contents` RCSCardContent[], required — The list of contents for each card in the carousel. A carousel can have a minimum of 2 cards and a maximum 10 cards.
            - `title` string — Title of the card (at most 200 characters)
            - `description` string — Description of the card (at most 2000 characters)
            - `media` RCSMedia — A media file within a rich card.
              - …
            - `suggestions` RCSSuggestion[] — List of suggestions to include in the card. Maximum 10 suggestions.
              - …
        - `standalone_card` RCSStandaloneCard — Standalone card
          - `card_orientation` 'CARD_ORIENTATION_UNSPECIFIED' | 'HORIZONTAL' | 'VERTICAL', required — Orientation of the card.
          - `thumbnail_image_alignment` 'THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED' | 'LEFT' | 'RIGHT', required — Image preview alignment for standalone cards with horizontal layout.
          - `card_content` RCSCardContent, required
            - `title` string — Title of the card (at most 200 characters)
            - `description` string — Description of the card (at most 2000 characters)
            - `media` RCSMedia — A media file within a rich card.
              - …
            - `suggestions` RCSSuggestion[] — List of suggestions to include in the card. Maximum 10 suggestions.
              - …
      - `content_info` RCSContentInfo
        - `file_url` string, url, required — Publicly reachable URL of the file.
        - `thumbnail_url` string, url — Publicly reachable URL of the thumbnail. Maximum size of 100 kB.
        - `force_refresh` boolean — If set the URL content will not be cached.
    - `event` RCSEvent — RCS Event to send to the recipient
      - `event_type` 'TYPE_UNSPECIFIED' | 'IS_TYPING' | 'READ'
    - `expire_time` string, date-time — Timestamp in UTC of when this message is considered expired
    - `ttl` string — Duration in seconds ending with 's'
  - `sms_fallback` SMSFallback
    - `from` string — Phone number in +E.164 format
    - `text` string — Text (maximum 3072 characters)
  - `mms_fallback` MMSFallback
    - `from` string — Phone number in +E.164 format
    - `subject` string — Subject of the message
    - `media_urls` string[] — List of media URLs
    - `text` string — Text

## Response `200`

Successful operation

- RCSResponse
  - `data` object
    - `record_type` string
    - `direction` string
    - `id` string — message ID
    - `type` string
    - `organization_id` string
    - `messaging_profile_id` string
    - `from` RCSFrom
      - `agent_id` string — agent ID
      - `carrier` string
      - `agent_name` string
    - `to` RCSToItem[]
      - `phone_number` string
      - `status` string
      - `carrier` string
      - `line_type` string
    - `body` RCSAgentMessage
      - `content_message` RCSContentMessage
        - `suggestions` RCSSuggestion[] — List of suggested actions and replies
          - `reply` RCSReply
            - `text` string — Text that is shown in the suggested reply (maximum 25 characters)
            - `postback_data` string — Payload (base64 encoded) that will be sent to the agent in the user event that results when the user taps the suggested action. Maximum 2048 characters.
          - `action` RCSAction — When tapped, initiates the corresponding native action on the device.
            - `text` string — Text that is shown in the suggested action. Maximum 25 characters.
            - `postback_data` string — Payload (base64 encoded) that will be sent to the agent in the user event that results when the user taps the suggested action. Maximum 2048 characters.
            - `fallback_url` string, url — Fallback URL to use if a client doesn't support a suggested action. Fallback URLs open in new browser windows. Maximum 2048 characters.
            - `dial_action` RCSDialAction — Opens the user's default dialer app with the agent-specified phone number filled in.
              - …
            - `view_location_action` RCSViewLocationAction — Opens the user's default map app and selects the agent-specified location.
              - …
            - `create_calendar_event_action` RCSCreateCalendarEventAction — Opens the user's default calendar app and starts the new calendar event flow with the agent-specified event data pre-filled.
              - …
            - `open_url_action` RCSOpenUrlAction — Opens the user's default web browser app to the specified URL.
              - …
            - `share_location_action` RCSShareLocationAction — Opens the RCS app's location chooser so the user can pick a location to send back to the agent.
        - `text` string — Text (maximum 3072 characters)
        - `rich_card` RCSRichCard
          - `carousel_card` RCSCarouselCard — Carousel of cards.
            - `card_width` 'CARD_WIDTH_UNSPECIFIED' | 'SMALL' | 'MEDIUM', required — The width of the cards in the carousel.
            - `card_contents` RCSCardContent[], required — The list of contents for each card in the carousel. A carousel can have a minimum of 2 cards and a maximum 10 cards.
              - …
          - `standalone_card` RCSStandaloneCard — Standalone card
            - `card_orientation` 'CARD_ORIENTATION_UNSPECIFIED' | 'HORIZONTAL' | 'VERTICAL', required — Orientation of the card.
            - `thumbnail_image_alignment` 'THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED' | 'LEFT' | 'RIGHT', required — Image preview alignment for standalone cards with horizontal layout.
            - `card_content` RCSCardContent, required
              - …
        - `content_info` RCSContentInfo
          - `file_url` string, url, required — Publicly reachable URL of the file.
          - `thumbnail_url` string, url — Publicly reachable URL of the thumbnail. Maximum size of 100 kB.
          - `force_refresh` boolean — If set the URL content will not be cached.
      - `event` RCSEvent — RCS Event to send to the recipient
        - `event_type` 'TYPE_UNSPECIFIED' | 'IS_TYPING' | 'READ'
      - `expire_time` string, date-time — Timestamp in UTC of when this message is considered expired
      - `ttl` string — Duration in seconds ending with 's'
    - `encoding` string
    - `received_at` string, date-time
    - `wait_seconds` number, float, nullable — Seconds the message is queued due to rate limiting before being sent to the carrier. Represents the maximum wait across all applicable rate limits (account, carrier, campaign). 0.0 = no queuing delay.

## Other responses

- `4XX` — Unexpected error

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/versions/8f5f4e537994/schema)
