---
title: "List RCS agents"
method: GET
path: "/v1/rcs/agents"
tags: ["RCS"]
---

# List RCS agents

`GET /v1/rcs/agents`

## Query parameters

- `includeClosed` boolean

## Response `200`

Agents, newest first.

- object
  - `agents` RcsAgent[]
    - `id` string
    - `profileId` string
    - `accountId` string, nullable — The rcs inbox account, created once the agent exists with the carriers.
    - `country` string — Launch market (ISO 3166-1 alpha-2). US agents run through the carriers automatically; other markets are filed by our team and skip the testing and launch_review steps (send the launch request while the agent is still in review).
    - `status` 'requested' | 'changes_requested' | 'brand_vetting' | 'agent_review' | 'testing' | 'launch_review' | 'launching' | 'live' | 'rejected' | 'deactivated'
    - `displayName` string
    - `useCase` 'MULTI_USE' | 'PROMOTIONAL' | 'TRANSACTIONAL' | 'OTP'
    - `profile` RcsAgentProfile — The agent's public profile. At least one of phone, website or email is required.
      - `description` string, required
      - `logoUrl` string, uri, required — 224x224, max 50 KB. Upload any image through POST /v1/rcs/assets to get a compliant URL.
      - `heroUrl` string, uri, required — Banner, 1440x448, max 200 KB. Upload through POST /v1/rcs/assets.
      - `brandColor` string, required — Hex colour, e.g. #1A73E8. Needs 4.5:1 contrast against white.
      - `privacyPolicyUrl` string, uri, required
      - `termsUrl` string, uri, required
      - `phone` object
        - `number` string, required — E.164
        - `label` string, required
      - `website` object
        - `url` string, uri, required
        - `label` string, required
      - `email` object
        - `address` string, email, required
        - `label` string, required
    - `brand` RcsBrand
      - `displayName` string, required
      - `legalName` string, required — Exactly as on IRS records.
      - `legalEntityType` 'LIMITED_LIABILITY_COMPANY' | 'SOLE_PROPRIETORSHIP' | 'PARTNERSHIP' | 'CORPORATION' | 'S_CORPORATION', required
      - `organizationType` 'PRIVATE_PROFIT' | 'PUBLIC_PROFIT' | 'NON_PROFIT' | 'GOVERNMENT', required
      - `websiteUrl` string, uri, required
      - `taxId` string, required — US: the EIN, 9 digits, optionally NN-NNNNNNN. Elsewhere: the national tax or company registration id.
      - `stockSymbol` string — EXCHANGE:SYMBOL. Required for PUBLIC_PROFIT.
      - `address` object, required
        - `line1` string, required
        - `line2` string
        - `city` string, required
        - `state` string — Required in the US.
        - `postalCode` string, required
        - `country` 'US' | 'GB' | 'AT' | 'BD' | 'BR' | 'CD' | 'DE' | 'ES' | 'FR' | 'IN' | 'IT' | 'MX' | 'NG' | 'NL' | 'NO' | 'PT' | 'SE' | 'SG' | 'ZA', required — ISO 3166-1 alpha-2. Sets the launch market of agents under this brand. Spain (ES) is accepted but launches are paused at the carriers.
      - `contact` object, required
        - `firstName` string, required
        - `lastName` string, required
        - `title` string
        - `email` string, email, required — A personal address on the company domain; free-mail and group addresses (info@, support@) are rejected by the carriers.
        - `phone` string, required — E.164
      - `id` string
      - `status` 'draft' | 'vetting' | 'verified' | 'rejected' — draft = not filed yet (still editable).
      - `createdAt` string, date-time
    - `launchRequest` RcsLaunchRequest
      - `companyOverview` string, required
      - `agentOverview` string, required
      - `interactions` object[], required
        - `type` 'TRANSACTIONAL_UPDATES' | 'CUSTOMER_SUPPORT' | 'LOYALTY_OR_REWARD' | 'MARKETING_OR_PROMOTIONAL' | 'ACCOUNT_ALERTS' | 'TWO_WAY_CONVERSATION' | 'OTHER', required
        - `description` string — Required when type is OTHER.
      - `messageExamples` string[], required
      - `consent` object, required
        - `optInMethods` object[], required
          - `type` 'SMS' | 'WEBSITE' | 'MOBILE_APP' | 'QR_CODE' | 'SALE_POINT' | 'OTHER', required
          - `description` string — Required when type is OTHER.
        - `callToAction` string, required — The opt-in wording people agree to.
        - `callToActionUrl` string, uri — Required for WEBSITE opt-in.
        - `callToActionMediaUrl` string, uri — Screenshot of the opt-in. Required for WEBSITE and MOBILE_APP opt-in.
        - `doubleOptIn` boolean, required
        - `doubleOptInMessage` string — Required when doubleOptIn is true.
        - `optInMessage` string, required
        - `helpResponse` string, required
        - `optOutResponse` string, required
      - `testVideoUrl` string, uri, required — Public video of a test phone sending START, STOP and HELP plus one example conversation.
      - `additionalInformation` string
    - `carrierApprovals` RcsCarrierApproval[]
      - `approvalId` string
      - `scope` 'carrier' | 'hub' | 'bot'
      - `status` 'PENDING' | 'SUBMITTED' | 'APPROVED' | 'REJECTED'
      - `carrier` string, nullable
      - `approvedAt` string, date-time, nullable
      - `rejectedReason` string, nullable
    - `testDevices` RcsTestDevice[]
      - `testDeviceId` string
      - `phoneNumber` string
      - `inviteStatus` 'PENDING' | 'ACCEPTED' | 'DECLINED' — The phone must accept the invite in its messaging app before it receives messages.
    - `smsFallbackFrom` string, nullable
    - `reviewNote` string, nullable — Our note while status is changes_requested.
    - `declineReason` string, nullable
    - `requestedAt` string, date-time, nullable
    - `submittedAt` string, date-time, nullable
    - `liveAt` string, date-time, nullable
    - `createdAt` string, date-time

## Other responses

- `400` — Invalid request
- `401` — Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `403` — Your plan does not include the inbox, which RCS requires.

## Changes

- **2026-10-02** `d556591af3f6` — 8 info
  - added the optional property `code` to the response with the `401` status
  - added the optional property `details` to the response with the `401` status
  - added the optional property `docUrl` to the response with the `400` status
  - added the optional property `docUrl` to the response with the `401` status
  - …4 more
- **2026-09-30** `16a7b9d5373e` — 1 info
  - removed the `platform` enum value from the `details/budgetScope` response property for the response status `400`
- **2026-09-29** `698a0d89ab62` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/rcs/agents/get.md)

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/f8dd1581bb14?raw)
