---
title: "Check RCS capability for phone numbers"
method: POST
path: "/v2/rcs/capabilities"
tags: ["RCS"]
---

# Check RCS capability for phone numbers

`POST /v2/rcs/capabilities`

Synchronously checks whether a list of phone numbers can receive RCS from your sender.

Use this **before** sending to decide between RCS and SMS fallback. Designed for routing-time lookups: small batches (1–10 numbers recommended for best latency), immediate response.

Results are best-effort and reflect capability at the moment of the lookup. **Do not use this as a hard gate** on sending — treat `UNKNOWN` as reachable and rely on SMS fallback for hard delivery guarantees.

## Request body

- RcsCapabilityCheckRequest — Request payload for the synchronous RCS capability check.
  - `sender` string, required — The RCS sender assigned to your account. - Example: `DemoSender`
  - `phone_numbers` string[], required — Phone numbers to check, in [E.164](http://en.wikipedia.org/wiki/E.164) format without the leading `+`. For best latency we recommend batches of 1–10. The endpoint accepts up to 100 numbers per request.

## Response `200`

OK

- object
  - `data` object, required — Capability check results for the requested phone numbers.
    - `results` RcsCapabilityResult[], required — One entry per phone number from the request, in the same order.
      - `phone_number` string, required — The phone number that was checked, in E.164 format without the leading `+`.
      - `code` 'ENABLED' | 'UNREACHABLE' | 'REJECTED_NETWORK' | 'REJECTED_ROUTE_NOT_AVAILABLE' | 'REQUEST_FAILED' | 'PROCESSING_ERROR' | 'INVALID_DESTINATION_ADDRESS' | 'UNKNOWN', required — RCS capability for the number. - `ENABLED` — the number can receive RCS messages from the specified sender. - `UNREACHABLE` — the number cannot receive RCS messages from the specified sender. - `REJECTED_NETWORK` — message not sent, network not allowed. - `REJECTED_ROUTE_NOT_AVAILABLE` — route not available for that sender. - `REQUEST_FAILED` — external problems during capability check. - `PROCESSING_ERROR` — the results for the number couldn't be processed; the caller should retry. - `INVALID_DESTINATION_ADDRESS` — number provided in wrong format. - `UNKNOWN` — unknown error from upstream, or any value the API did not otherwise recognise; contact support if it persists.
  - `request` object — Optional metadata (e.g. requestId, traceId)
  - `meta` object — Optional pagination, feature flags, etc.

## Other responses

- `400` — Input Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too Many Requests
- `500` — Internal Server Error

---

[API](https://skmtc.net/kudosity/apis/transmit-message-api.md) · [All operations](https://skmtc.net/kudosity/apis/transmit-message-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kudosity/transmit-message-api/versions/bf132756e067/schema)
