PENDING_REVIEW status and becomes read-only until the review completes.
Request
Bearer <api_key>Agent ID. Must be in
DRAFT or REJECTED state.POST /v1/rcs/agents (immutable fields) and PATCH /v1/rcs/agents/{id} (profile fields).
Pre-submission checklist
The platform validates required fields before forwarding the submission to Google. All of the following must be present:-
display_name— brand name set -
description— non-empty -
color— valid hex with ≥ 4.5:1 contrast ratio to white -
logo_url— reachable HTTPS URL, ≥ 224 × 224 px, ≤ 50 kB -
banner_url— reachable HTTPS URL, 1440 × 448 px (45:14 ratio), ≤ 200 kB (recommended) - At least one of:
phone,email, orwebsite -
privacy_policy_url— valid HTTPS URL -
terms_of_service_url— valid HTTPS URL -
region,billing_category,use_case— set at creation
422 with a list of missing or invalid fields.
Response
- 202 Accepted
- 422 Validation failed
- 409 Wrong state
Webhook notification
Subscribe toagent.approved and agent.rejected on the Webhooks API to receive real-time notification when Google completes the review, instead of polling GET /v1/rcs/agents/{id}.
Why agents get rejected
Google reviews every agent submission manually. Below are the most common rejection reasons and how to avoid them.Generic or placeholder policy URLs
Generic or placeholder policy URLs
privacy_policy_url and terms_of_service_url must point to real, brand-specific pages hosted on your domain. Google rejects agents whose URLs lead to:- Generic template pages (“Lorem ipsum”, default WordPress privacy policy generators)
- Top-level homepages with no visible privacy or terms content
- URLs that 404 or redirect to unrelated domains
- PDF downloads that don’t clearly identify the brand
/privacy and /terms pages under your brand’s domain with content that names your company, describes data handling, and is written in the language of your target market.Logo or banner quality issues
Logo or banner quality issues
Description is too vague or promotional
Description is too vague or promotional
The
description field should explain what the agent does, not market the brand. Google rejects descriptions like “Best deals on electronics!” or “Your trusted partner.”Fix: write a factual one-liner: “Order updates, delivery tracking, and customer support for [Brand] customers.”Color contrast violation
Color contrast violation
The
color hex must achieve a ≥ 4.5:1 contrast ratio against white. Light pastel or near-white brand colors are rejected because they’re invisible in the conversation UI.Fix: use WebAIM’s contrast checker and test your hex value against #FFFFFF.use_case doesn't match actual message content
use_case doesn't match actual message content
If you selected
TRANSACTIONAL but your description implies marketing or promotional content, Google will flag a mismatch.Fix: use MULTI_USE unless you have a specific compliance reason to restrict to a narrower use case. It covers transactional, conversational, and newsletter traffic.Missing or unreachable contact information
Missing or unreachable contact information
At least one of
phone, email, or website must be set and reachable. Google may test-call or visit the URL.Fix: provide a working customer-facing contact — not a developer email or internal Slack channel.Related
Get agent status
Poll approval status and read rejection reasons.
Update agent
Fix rejected profile fields before resubmitting.
Carrier launch
Track which carriers have activated your approved agent.