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.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Header Parameters
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.
length <= 255Request 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" }}