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

Request an RCS agent

Requests a new agent for a profile, with a new company (brand) or an existing one (brandId, skips vetting when it is already verified). The request lands in our review: nothing is filed with the carriers or billed until we submit it. One open agent per profile. Requires usage-based billing and a card on file. Send an Idempotency-Key header to make retries safe.


POST
/v1/rcs/agents

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 brandId or brand.

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.createRcsAgent({  body: {    profileId: 'profile_abc123',    displayName: 'Example',    useCase: 'MULTI_USE',    profile: {      description: 'Hello, world!',      logoUrl: 'https://example.com',      heroUrl: 'https://example.com',      brandColor: 'string',      privacyPolicyUrl: 'https://example.com',      termsUrl: 'https://example.com',    },  },});console.log(data);
{  "agent": {    "id": "string",    "profileId": "string",    "accountId": "string",    "country": "string",    "status": "requested",    "displayName": "string",    "useCase": "MULTI_USE",    "profile": {      "description": "string",      "logoUrl": "http://example.com",      "heroUrl": "http://example.com",      "brandColor": "string",      "privacyPolicyUrl": "http://example.com",      "termsUrl": "http://example.com",      "phone": {        "number": "string",        "label": "string"      },      "website": {        "url": "http://example.com",        "label": "string"      },      "email": {        "address": "user@example.com",        "label": "string"      }    },    "brand": {      "displayName": "string",      "legalName": "string",      "legalEntityType": "LIMITED_LIABILITY_COMPANY",      "organizationType": "PRIVATE_PROFIT",      "websiteUrl": "http://example.com",      "taxId": "string",      "stockSymbol": "string",      "address": {        "line1": "string",        "line2": "string",        "city": "string",        "state": "string",        "postalCode": "string",        "country": "US"      },      "contact": {        "firstName": "string",        "lastName": "string",        "title": "string",        "email": "user@example.com",        "phone": "string"      },      "id": "string",      "status": "draft",      "createdAt": "2019-08-24T14:15:22Z"    },    "launchRequest": {      "companyOverview": "string",      "agentOverview": "string",      "interactions": [        {          "type": "TRANSACTIONAL_UPDATES",          "description": "string"        }      ],      "messageExamples": [        "string",        "string",        "string"      ],      "consent": {        "optInMethods": [          {            "type": "SMS",            "description": "string"          }        ],        "callToAction": "string",        "callToActionUrl": "http://example.com",        "callToActionMediaUrl": "http://example.com",        "doubleOptIn": true,        "doubleOptInMessage": "string",        "optInMessage": "string",        "helpResponse": "string",        "optOutResponse": "string"      },      "testVideoUrl": "http://example.com",      "additionalInformation": "string"    },    "carrierApprovals": [      {        "approvalId": "string",        "scope": "carrier",        "status": "PENDING",        "carrier": "string",        "approvedAt": "2019-08-24T14:15:22Z",        "rejectedReason": "string"      }    ],    "testDevices": [      {        "testDeviceId": "string",        "phoneNumber": "string",        "inviteStatus": "PENDING"      }    ],    "smsFallbackFrom": "string",    "reviewNote": "string",    "declineReason": "string",    "requestedAt": "2019-08-24T14:15:22Z",    "submittedAt": "2019-08-24T14:15:22Z",    "liveAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z"  }}
Was this page helpful?

List RCS test phones

Previous Page

Get an RCS agent

Next Page

profileId*string
brandId?string
brand?
displayName*string

Shown as the sender name.

Lengthlength <= 40
useCase*string

Value in

  • "MULTI_USE"
  • "PROMOTIONAL"
  • "TRANSACTIONAL"
  • "OTP"
profile*

The agent's public profile. At least one of phone, website or email is required.

smsFallbackFrom?string

One of your SMS-enabled numbers. Phones without RCS get the message as SMS from it.