BlueSuite Developers
REST API v1

Review requests

Review requests in the BlueSuite REST API

Send a review request immediately or list prior requests and their responses. Sending requires the reviews module, configured review platform links, and at least one reachable channel enabled in workspace settings. SMS requires the contact's consent.

The workspace cooldown and prior-review suppression apply unless ignore_cooldown: true is explicitly supplied. Suppression returns 409. Supplying an event_id selects the appointment template. A successful send returns id, contact_id, delivered_via, skipped_channels, review_page_url, and expires_at.

This operation communicates with the customer immediately. A request that cannot be delivered returns an error instead of reporting it as sent.

GET /api/v1/review-requests

GET /api/v1/review-requests

Required scopes: reviews:read.

Query parameters

FieldType / accepted valuesRequiredDetails
pageintegerNoPage number, starting at 1. Default: 1.
per_pageintegerNoRecords per page, from 1 to 100. Default: 25. minimum: 1. maximum: 100.
searchstringNoSearch text. maxLength: 100.
sort_bystringNoSort column. See the supported columns below when listed.
sort_direction"asc", "desc"NoSort direction. Default: "desc".
contact_idstringNoFilter by contact ID.
statusstringNoFilter by status.

Response

200 with { "success": true, "data": [...], "pagination": { "page": 1, "per_page": 25, "total_pages": 1 } }.

See response conventions and errors.

POST /api/v1/review-requests

POST /api/v1/review-requests

Required scopes: reviews:write.

JSON body

FieldType / accepted valuesRequiredDetails
contact_idintegerYesClient to ask. They need an email address, or a mobile with SMS consent.
event_idintegerNoThe appointment this is about. Including it uses the appointment template, which names the visit and the crew who attended.
invoice_idintegerNoThe invoice this is about, when the request follows a payment.
ignore_cooldownbooleanNoAsk even if this client was asked recently or has already left a review. Off by default, the workspace's cooldown normally applies. Only set this when the user has said to ask anyway.

Unknown body fields are rejected. Conditional requirements are explained above.

Response

201 with { "success": true, "data": ... }. The data contains the result of the operation.

See response conventions and errors.

On this page