Save response

Save (creates or updates) a response to a review and queues it for posting to the live review site. Runs posting/connection/feature gates, site-specific character-limit checks, records billable usage, dispatches the platform post job (Google/Facebook/Caring/RD), and audit-logs the result.

Auth: Both — authentication (flat /response/* route, account-scoped at the controller level). review_id resolves to its store's company_id and validated by an ownership check, then re-checked against — failures return Access denied (403). Reachable scope is hierarchy-based: a partner-tier user can save responses for any store under its tree; an account user only for its own stores' reviews.

Rate limit: No rate limit.

Request

  • Body:
FieldTypeRequiredNotes
review_idintegerrequiredMust be an existing review and belong to the caller's company hierarchy.
responsestringrequiredResponse text. Length limits enforced per site: OpenTable (rs=16) ≤400 non-space chars; Optspot (rs=81) 80–160 chars; all sites ≤4000 chars. Must differ (case-insensitively) from the existing response.
ai_response_idintegeroptional (nullable)Identifier of the AI/smart response used, if any.
ai_responsestringoptional (nullable)The AI/smart response text, if any.

Response{ data. } envelope (also carries usage/feature response headers via withFeatureHeaders).

  • status (string) — "success".
  • response (string) — confirmation message "Your response has been submitted and will be posted live".

Non-success paths return error envelopes: 403 Access denied / pre-subscription or unavailable response; 422 when posting is disabled for the site (posting) or the store↔site is not connected (connection). FeatureLimitException when the per-feature service limit/quota is exceeded; 400 for character-limit or duplicate-response violations.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
integer
string
integer
string
Response

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json