Zernio
Zernio
API Reference

Rcs

List RCS agentsGETList RCS brandsGETList RCS test phonesGETRequest an RCS agentPOSTGet an RCS agentGETCheck RCS capabilityGETUpdate an RCS agentPATCHInvite an RCS test phonePOSTDeactivate an RCS agentDELETERemove an RCS test phoneDELETESend the launch filingPOSTSend an RCS messagePOSTUpload an RCS logo or bannerPOST
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Rcs

Send an RCS message

Sends from one of your agents. Use text for a plain message or content for rich content (card, carousel, media, suggestion chips). Before launch an agent only reaches test phones that accepted the invite. With the agent's smsFallbackFrom set, phones without RCS get fallbackText (default: the message's readable text) as SMS.

Replies and status arrive as webhooks with platform: "rcs": message.received (a tapped chip carries its postback in metadata.postbackPayload), message.delivered, message.read and message.failed. Send an Idempotency-Key header to make retries safe.


POST
/v1/rcs/messages

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Header Parameters

Idempotency-Key?string

Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Send exactly one of text or content.

Response Body

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.rcs.sendRcsMessage({  body: {    agentId: 'agent_abc123',    to: 'string',  },});console.log(data);
{  "id": "string",  "conversationId": "string",  "status": "sent"}
Was this page helpful?

Send the launch filing

Sends the launch details the carriers review (campaign, consent and a public test video). US agents send them once they are in `testing`; we review them before they reach the carriers. Agents in other markets send them while still in review (`requested`, `changes_requested` or `brand_vetting`), because we file everything with the carriers at once; this saves the details without changing the status.

Upload an RCS logo or banner

Uploads an image and returns a public URL for `profile.logoUrl` or `profile.heroUrl`. The image is cropped and compressed to the carriers' exact rules (logo 224x224 under 50 KB, banner 1440x448 under 200 KB).

agentId*string
to*string

Recipient number (E.164; formatting is normalized).

text?string
Lengthlength <= 3072
content?|||

Message content. suggestions (max 11) render as chips under the message.

fallbackText?string
Lengthlength <= 3072
ttlSeconds?integer

Seconds before an undelivered message expires.

Range1 <= value