GraphQL API support
The GraphQL feature adds call_r1_gql, which queries the RUCKUS AI internal
GraphQL services — the data behind Network Health, Incidents, IntentAI, Service
Validation, and Zoom Call QoE. It answers questions the REST API doesn’t expose.
This is an Early Access feature: unlock Early Access on your account, then enable it under Features in the dashboard.
The four services
Section titled “The four services”call_r1_gql takes a service argument that picks the endpoint. All four run on
the same host and the same bearer token as REST, so there is no extra credential
to configure.
service | What it covers |
|---|---|
analytics | Network Health, Incidents, Config Change, client and incident troubleshooting |
intentAI | IntentAI |
serviceGuard | Service Validation — has real mutations |
callQoe | Zoom Call QoE |
Beyond service and query, it accepts variables, operationName for a
document that defines several operations, and retryOn429.
Introspection is disabled
Section titled “Introspection is disabled”All four services refuse introspection. That is a property of the RUCKUS services, not a restriction R1-MCP adds — so there is no way to discover the schema by probing it.
Instead, R1-MCP ships curated schema documents that Claude fetches with
get_reference before composing a query:
| Doc | Covers |
|---|---|
gql-analytics | The analytics surface, and IntentAI |
gql-troubleshooting | Client and incident troubleshooting, and Call QoE |
gql-service-guard | Service Validation |
The docs are organized by surface, not one per service — which is why
IntentAI lives in gql-analytics and Call QoE in gql-troubleshooting.
Always check gqlErrors
Section titled “Always check gqlErrors”A GraphQL request can fail while returning HTTP 200, because execution-time
errors arrive in-band. call_r1_gql hoists both data and gqlErrors onto the
response so this is hard to miss: gqlErrors is null when the query was clean
and populated on every failure. A populated gqlErrors means the query
failed, whatever the HTTP status says.
Validation failures arrive as HTTP 400. On analytics, intentAI, and
serviceGuard those errors are generic — DATAAPI-10102 or
SERVICEGUARD-10102 — and do not name the offending field. Only callQoe
identifies the bad field. So when a query fails validation, the fix is to
re-check it against the reference doc rather than to expect the error to point at
the problem.
Rate limits and retries
Section titled “Rate limits and retries”GraphQL requests are always POSTs, so a 429 is never auto-retried by
default — unlike the idempotent REST methods described in
How code mode works.
retryOn429: true opts in, and is safe only for read queries. serviceGuard has
real mutations, which are not safe to replay.
Everything else behaves like call_r1: the same 401 refresh-and-retry, the same
structural error envelope, and the same shared run
budget.
See also
Section titled “See also”- Bundled reference docs —
get_referenceand the schema documents - Core tools — the REST side,
call_r1 - Features and feature flags — unlocking Early Access