Making requests
The RevVue API is a federated GraphQL API: inbox, reviews, surveys, bookings, analytics, documents, notifications, and the AI agent are separate services behind the scenes, but you always talk to a single endpoint with a single token.
Endpoint: https://api.revvue.ai/graphql — if you were given a different endpoint for your environment, use that instead.
Send a POST request with a JSON body containing query and (optionally) variables:
Conventions
A few patterns repeat across the whole API:
- Pagination — list queries take
queryOffsetandqueryLimit(start index and page size) and usually return a wrapper type withdocumentsand a totalcount. Some queries also acceptcountOnly: trueto fetch just the count. - Sorting — pass
orderBy: [{ sortField: ..., descOrder: true }]where supported. - Filtering — most document queries accept typed filter arguments (dates, sources, statuses) plus a generic
filterslist combined withfilterOperator: AND | OR, andfreeTextSearchfor keyword search. - Soft deletion — documents carry an
activeStateofACTIVE,INACTIVE, orDELETED; queries take anactiveStateargument to control which you see. - IDs — documents use
UUIDids.tenantIdscopes everything; companies and locations form the hierarchy below it.
Errors
Errors come back GraphQL-style: a 200 response with an errors array alongside (or instead of) data. Each error has a message and a path pointing at the field that failed. Authentication failures on protected fields surface here too, so always check errors before trusting a partial data payload.
Explore the API
The API reference documents every query, mutation, subscription, and type — generated directly from the live schema.

