RCSv4

Request a change to the RCS brand's contact

POST/rcs/brand/changes

Pay to change the point of contact of a brand that's in_review or verified; send only the fields that change. The request is charged once, whatever it changes, and Blooio carries it to Google. The brand keeps its contact until the request is applied. The brand has one open request at a time. OAuth apps need numbers:manage.

Headers

AuthorizationRequiredstring

Your API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.

Bearer

Body parameters

JSON
first_nameoptionalstring
last_nameoptionalstring
titleoptionalstring
emailoptionalstring
phoneoptionalstring

E.164.

Returns

dataoptionalRcsChange

A paid change to a submitted sender or brand, or a removed sender's deletion, which Blooio carries to Google and the carriers.

change_idRequiredstring

rcschg_....

kindRequiredstring

sender_profile changes a sender's display_name, logo_url, or banner_url; brand_contact changes the brand's point of contact; sender_removal deletes a removed sender at Google.

"sender_profile""brand_contact""sender_removal"
channel_idRequiredstring | null

The sender, or null for a brand_contact change.

statusRequiredstring

requested until Blooio passes it on, then sent. applied once the sender or brand shows the change; rejected with the reason in note. Only a requested change can be canceled.

"requested""sent""applied""rejected""canceled"
changesRequiredobject

The fields requested, with their new values.

previousRequiredobject

What those fields held when it was requested.

reviewsRequiredinteger

The reviews charged for it: one per profile field changed, one for a brand contact, none for a sender_removal. Refunded if the change is canceled, or rejected before it was sent.

noteRequiredstring | null

Why it was rejected.

sent_atRequiredinteger | null

Epoch ms.

created_atRequiredinteger

Epoch ms.

updated_atRequiredinteger

Epoch ms.

Response codes

201The change request
400`invalid_field` (including a field that can't change once submitted), `missing_fields`, or `no_changes` (every field already has that value).
401Your API key is missing or invalid. Pass it as a bearer token.
402Blooio SMS, Voice & RCS couldn't charge the organization, and nothing was submitted or ordered. `code` is `no_payment_method` (no saved card), `payment_failed` (the card was declined), or `invoice_unpaid` (pay the organization's unpaid invoice first).
404`rcs_brand_not_found`.
409`rcs_brand_state_conflict` (carries `brand_status`; resubmit a draft, rejected, or failed brand instead) or `rcs_change_in_progress` (the brand already has an open request).

Sends a live request with your values and shows the real response below. Your key is stored only in this browser.

Request
curl -X POST https://api.blooio.com/v4/rcs/brand/changes \
Body object
Response objectexample
{  "data": {    "change_id": "obj_a1b2c3d4",    "kind": "sender_profile",    "channel_id": "ch_a1b2c3d4",    "status": "requested",    "changes": {},    "previous": {},    "reviews": 0,    "note": "Example description",    "sent_at": 0,    "created_at": 0,    "updated_at": 0  }}