ShiftQ Reviews Customer API

Implementation reference, September 15, 2026. Publication requires review and an explicitly authorized deployment.

Canonical module, route, and authorization

Reviews is part of the single customer-facing ShiftQ module. Authenticate through the existing Customer API OAuth client-credentials flow and call:

GET /v1/{groupId}/{locationId}/shiftq/reviews

The route requires the canonical ShiftQ umbrella permission, shiftq:read. It is read-only. Customer-facing discovery, examples, and module selection do not expose a second Reviews module, a parallel /reviews route tree, or separate Reviews reply actions.

The URL uses SmartQ group and location IDs. The access token is resolved inside the URL group, the location must be authorized by the application, and ShiftQ must be enabled for that location. These checks run before provider access. A token for another group or location cannot enumerate or read review data.

Current provider availability

Google Business Profile review ingestion and the signed-in SmartQ Reviews workflow exist internally. Google review content is not currently redistributed through the Customer API. After authentication, tenant/location authorization, ShiftQ entitlement, and shiftq:read checks, this endpoint returns HTTP 409:

{
  "ok": false,
  "error": "provider-content-redistribution-unavailable"
}

The dedicated /shiftq/reviews production handler applies the same provider-policy gate before reading review records. Query filters cannot bypass it. The response does not include review text, ratings, reviewer data, provider identifiers, counts, or cursors.

Google and SmartQ support authorized interactive review reads and merchant replies inside the signed-in product. That does not authorize redistribution or reply actions through customer credentials. Yelp review ingestion is not installed.

Future eligible read response

If a provider is later approved for Customer API redistribution, the existing /shiftq/reviews route may return a location-scoped, read-only collection. Eligible fields are limited to opaque SmartQ review ID, source attribution, rating and scale, title/comment, reviewer display name, provider timestamps, published reply state, source link, and expiry/capability metadata. Raw OAuth credentials, internal actor IDs, drafts, private configuration, and cross-location data are excluded.

Any provider enablement requires a separate reviewed change covering authorization, redistribution rights, retention, response sanitization, tenant isolation, and tests. No write, reply, report, summary, settings, widget, or moderation route is currently part of the customer-facing ShiftQ API.