Update an RCS Agent

Replaces the registration's brand.

This is a replacement, not a merge. A field left out of the payload is emptied - that is what PUT means, and it is the only way to clear a field.

The app binding is not part of the payload: it was decided when the registration was created, and moving an agent between apps would be creating another one. Sending app_ids answers 422.

Editing a registration that is already submitted or under_review answers 409 - it is out of your hands while someone is looking at it. Editing an approved one is allowed and sends it back for review as edited: the brand is live at the carrier, so a change has to be looked at again.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

Agent identifier, as returned on creation.

Body Params

Fields of a full replacement of an existing registration. Same shape as RcsAgentCreate, with one difference: use_case is optional here.

It is optional because the brand already declared it on creation, and because it stops being changeable the moment the brand is approved — approval registers it in one of the supplier's projects, and moving it afterwards only makes the send look for the brand in a project where it does not exist (409 with use_case_locked, naming the projects the brand is registered in). Omitting it keeps whatever was declared; sending the same value is accepted; sending a different one on an approved brand is refused. Nothing else about the registration is locked — only this field. A brand that never declared a purpose may still declare one after approval: filling in what was missing is not a change.

Every other field behaves as on creation, this being a replacement and not a patch: what you leave out is cleared.

uri | null

Where this registration's review notifications go — the rcs.agent.status event, fired when the brand is picked up for review, approved or rejected.

It is the agent's own address, not the app's. The webhook URL configured for your app carries campaign events: delivery status and reply-button postbacks. A brand review happens before any of that and usually belongs to a different system of yours, so it is declared here and arrives there alone.

Optional. An agent without it is never notified, and nothing falls back to the app's URL. GET /rcs/agents/{id} still answers the state at any time.

string
enum

What the brand is for. The carrier homologates the agent against this and suspends whoever leaves it — a verification-code agent sending marketing takes the channel down in days. It also decides which of the supplier's projects the brand is registered in. It does not change after approval: the brand is registered in that project at the supplier, so changing the purpose means registering again.

Allowed:
string
required
length ≤ 100

Name shown on the recipient's device. Up to 100 characters.

string
required
length ≤ 500

Short description shown alongside the name. Up to 500 characters.

string
required
^#[0-9a-fA-F]{6}$

Brand colour in #RRGGBB. Any other format is rejected. It is painted behind white text on the device, so the carrier requires a contrast ratio of at least 4.5:1 against white — a pale colour passes this call and is refused during the review.

uri
required
length ≤ 2048

Public URL of the logo. You host the file; we do not accept uploads on this endpoint. The carrier requires a square image of 224×224 pixels, up to 50 KB, in JPEG or PNG — anything else is refused during the review, not on this call.

uri
required
length ≤ 2048

Public URL of the banner. Same rule as the logo, with the carrier asking for 1440×448 pixels, up to 200 KB.

string
required
length ≤ 255

Person responsible for the registration. Not shown to recipients — we use it to reach you during the review.

string
required
length ≤ 255

E-mail of the person responsible. Not shown to recipients.

string
required
length ≤ 255

Trading name of the company.

uri
required
length ≤ 2048

Corporate website. The carrier checks the brand against it.

string
required
length ≤ 20

Public phone number shown to the recipient.

string
required
length ≤ 255

Public e-mail shown to the recipient.

uri
required
length ≤ 2048

Public website shown to the recipient.

uri
required
length ≤ 2048

Privacy policy URL. Required by the carrier.

uri
required
length ≤ 2048

Terms of use URL. Required by the carrier.

test_devices
array of strings
length ≤ 20

Phone numbers allowed to receive the agent before it is approved, so you can see the brand on a real device. Not required to submit. Up to 20 numbers.

test_devices
Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json