Request an RCS sender's launch
/rcs/senders/{channelId}/launchAsk the US carriers to launch a submitted sender, so it can message anyone rather than only its test devices. Carriers review how people opt in and what they'll receive; each carrier's answer arrives in carrier_approvals, and the sender is live once they approve. The launch details can be sent once. The organization needs a card on file; the one-time launch fee is billed when T-Mobile approves. OAuth apps need numbers:manage.
Path parameters
channelIdRequiredstringThe RCS sender's channel id (ch_...).
Headers
AuthorizationRequiredstringYour API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.
Body parameters
JSONcompany_overviewRequiredstringWhat the business does.
agent_overviewRequiredstringWhat the sender is for.
interactionsRequiredstring[]message_examplesRequiredstring[]Messages as recipients will see them.
opt_in_methodsRequiredstring[]call_to_actionRequiredstringThe words people see where they opt in.
call_to_action_urloptionalstringRequired with WEBSITE: where the call to action is.
call_to_action_media_urloptionalstringRequired with WEBSITE or MOBILE_APP: an opt_in_media screenshot from POST /rcs/assets.
double_opt_inRequiredbooleandouble_opt_in_messageoptionalstringRequired when double_opt_in is true: the message that asks people to confirm.
opt_in_messageRequiredstringThe first message people get after opting in.
help_responseRequiredstringThe reply to HELP.
opt_out_responseRequiredstringThe reply to STOP.
test_video_urlRequiredstringA test_video from POST /rcs/assets, showing the sender in use.
test_notesoptionalstringAnything reviewers need to try the sender.
Returns
dataoptionalRcsSender
dataoptionalRcsSenderchannel_idRequiredstringThe sender's rcs_business channel. Send from it, or from its alias.
aliasRequiredstring | nullstatusRequiredstringFrom verified, the sender reaches its accepted test devices and its channel is active; once live, it reaches anyone whose phone gets RCS. launching and launched are the carriers' review. A rejected or failed sender can't be resubmitted; contact support.
"draft""submitting""submitted""verifying""verified""launching""launched""live""rejected""failed"use_caseRequiredstringWhat the sender mostly sends. Carriers review its launch against it.
"TRANSACTIONAL""PROMOTIONAL""OTP""MULTI_USE"profileRequiredRcsSenderProfileWhat people see on the sender in Google Messages. Creating a sender needs every field but the contacts, and at least one of phone, email, and website.
profileRequiredRcsSenderProfileWhat people see on the sender in Google Messages. Creating a sender needs every field but the contacts, and at least one of phone, email, and website.
display_nameoptionalstringdescriptionoptionalstringlogo_urloptionalstringA logo from POST /rcs/assets.
brand_coloroptionalstringHex color for the sender's buttons and accents.
privacy_policy_urloptionalstringterms_urloptionalstringphoneoptionalobject | null
phoneoptionalobject | nullnumberRequiredstringE.164.
labelRequiredstringemailoptionalobject | null
emailoptionalobject | nulladdressRequiredstringlabelRequiredstringwebsiteoptionalobject | null
websiteoptionalobject | nullurlRequiredstringlabelRequiredstringlaunchRequiredRcsLaunchDetails | nullThe launch request, once sent.
launchRequiredRcsLaunchDetails | nullThe launch request, once sent.
RcsLaunchDetails
company_overviewRequiredstringWhat the business does.
agent_overviewRequiredstringWhat the sender is for.
interactionsRequiredstring[]message_examplesRequiredstring[]Messages as recipients will see them.
opt_in_methodsRequiredstring[]call_to_actionRequiredstringThe words people see where they opt in.
call_to_action_urloptionalstringRequired with WEBSITE: where the call to action is.
call_to_action_media_urloptionalstringRequired with WEBSITE or MOBILE_APP: an opt_in_media screenshot from POST /rcs/assets.
double_opt_inRequiredbooleandouble_opt_in_messageoptionalstringRequired when double_opt_in is true: the message that asks people to confirm.
opt_in_messageRequiredstringThe first message people get after opting in.
help_responseRequiredstringThe reply to HELP.
opt_out_responseRequiredstringThe reply to STOP.
test_video_urlRequiredstringA test_video from POST /rcs/assets, showing the sender in use.
test_notesoptionalstringAnything reviewers need to try the sender.
section_statusesRequiredobject | nullWhere each part of the review stands: basics (Google's verification), campaign (the carriers' launch review), and testing.
section_statusesRequiredobject | nullWhere each part of the review stands: basics (Google's verification), campaign (the carriers' launch review), and testing.
basicsoptionalstring | nullcampaignoptionalstring | nulltestingoptionalstring | nulltest_devicesRequiredRcsTestDevice[]
test_devicesRequiredRcsTestDevice[]Array of RcsTestDevice
test_device_idRequiredstringphone_numberRequiredstringstatusRequiredstringThe invite's state, e.g. pending until the tester accepts it and accepted after. The sender reaches the phone only once it's accepted.
carrier_approvalsRequiredRcsCarrierApproval[]
carrier_approvalsRequiredRcsCarrierApproval[]Array of RcsCarrierApproval
carrierRequiredstringscopeoptionalstring | nullWhat the approval covers, as the carrier states it.
statusRequiredstringThe carrier's answer, e.g. pending, approved, or rejected.
submitted_atoptionalstring | nullapproved_atoptionalstring | nullrejected_reasonoptionalstring | nulldeeplinkRequiredstring | nullOpens a conversation with the sender in Google Messages, once Google has verified it.
created_atRequiredintegerEpoch ms.
updated_atRequiredintegerEpoch ms.
Response codes
Sends a live request with your values and shows the real response below. Your key is stored only in this browser.
curl -X POST https://api.blooio.com/v4/rcs/senders/ch_a1b2c3d4/launch \{ "data": { "channel_id": "ch_a1b2c3d4", "alias": "string", "status": "draft", "use_case": "TRANSACTIONAL", "profile": { "display_name": "Jane Doe", "description": "Example description", "logo_url": "https://example.com", "banner_url": "https://example.com", "brand_color": "#1A73E8", "privacy_policy_url": "https://example.com", "terms_url": "https://example.com", "phone": { "number": "+15551234567", "label": "vip" }, "email": { "address": "jane@example.com", "label": "vip" }, "website": { "url": "https://example.com", "label": "vip" } }, "launch": { "company_overview": "string", "agent_overview": "string", "interactions": [ "TRANSACTIONAL_UPDATES" ], "message_examples": [ "string" ], "opt_in_methods": [ "WEBSITE" ], "call_to_action": "string", "call_to_action_url": "https://example.com", "call_to_action_media_url": "https://example.com", "double_opt_in": false, "double_opt_in_message": "string", "opt_in_message": "string", "help_response": "string", "opt_out_response": "string", "test_video_url": "https://example.com", "test_notes": "string" }, "section_statuses": { "basics": "string", "campaign": "string", "testing": "string" }, "test_devices": [ { "test_device_id": "obj_a1b2c3d4", "phone_number": "+15551234567", "status": "active" } ], "carrier_approvals": [ { "carrier": "string", "scope": "string", "status": "active", "submitted_at": "2025-01-15T09:30:00Z", "approved_at": "2025-01-15T09:30:00Z", "rejected_reason": "string" } ], "deeplink": "https://example.com", "created_at": 0, "updated_at": 0 }}