v1Resources/Reviews/getList reply approvals
List reply approvals
Lists reply approval requests. A reply approval is a drafted review reply that your agency sends to one or more client portal users to approve before it goes live. When a client user approves it, Synup posts exactly the text they approved, their own edit included; they can also schedule it for later or ask for changes. The response holds the latest request for each review, newest first, drawn from at most 200 requests, plus counts of requests waiting on the client and requests sent back with changes. A client-restricted token only sees its own clients.
get
reviews:read/api/v1/reviews/reply-approvalsQuery parameters
clientIdstringoptional
Only return requests for this client.
statusstring (pending | changes_requested | approved | scheduled | posted | failed | withdrawn | cancelled)optional
Only return requests with this status.
reviewIdsstringoptional
Comma-separated review ids, up to 200. Only return requests for these reviews.
Response
dataobjectoptional
countsobjectoptional
Totals across the token's clients, or for clientId when you pass it. status and reviewIds don't narrow them.
awaitingintegeroptional
Requests waiting on the client (pending).
changesRequestedintegeroptional
Requests the client sent back asking for changes (changes_requested).
requestsarray of objectoptional
The latest request for each matching review, newest first.
reviewIdstringoptional
The review this request is for.
idstringoptional
The request's id. Use it to read the timeline, send a reminder or withdraw the request.
statusstring (pending | changes_requested | approved | scheduled | posted | failed | withdrawn | cancelled)optional
Where the request stands: pending (waiting on the client), changes_requested (the client asked for changes; still open, so they can still approve it or you can send a revised reply), approved (approved and being posted), scheduled (approved to post at scheduledFor), posted (the reply is live), failed (posting failed, see error), withdrawn (your agency took it back), or cancelled (the review got a reply another way or was removed).
versionHashstringoptional
A fingerprint of the text. It changes whenever the text changes, and a client's decision only counts for the version they saw.
textstringoptional
The reply on the request. Once a client edits and decides, this is their version.
notestringoptional
Your message for the client users, or null.
requestedAtstringoptional
When the request was created.
scheduledForstringoptional
When a scheduled reply will post, or null.
errorstringoptional
Why posting failed, or null.
assigneesarray of objectoptional
The client portal users the request was sent to.
idstringoptional
The client user's id.
namestringoptional
Their name, or their email address when no name is set.
emailstringoptional
Their email address.
decidedBystringoptional
The name of the client user who decided, or null.
seenobjectoptional
Whether anyone has opened the request, and where.
emailbooleanoptional
True once someone opened it from the email.
portalbooleanoptional
True once someone viewed it in the portal.
lastCommentobjectoptional
The latest comment from a client user, or null.
bodystringoptional
The comment text.
bystringoptional
The name of the client user who wrote it.
atstringoptional
When it was written.
emailSkippedstringoptional
Why the latest notification email wasn't sent, as a short code (for example switched_off when the person turned these emails off, or portal_domain_required when the agency has no portal domain). Null when the email was sent or hasn't been attempted yet. The request still waits in the portal either way.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
429Too many requests. Retry after the number of seconds in the Retry-After header.
get/api/v1/reviews/reply-approvals
Your API key
clientId
status
reviewIds
{}Guides that use this resource
- Google Business Profile API vs a Listings Management APIHow Google's Business Profile API compares with a listings management API on scope, access, sync status, duplicates and reviews, and when to use each.
- How to Build a Reputation Management PlatformArchitecture and API calls for a multi-client reputation management platform on Synup: review ingestion, reply workflows, invites, widgets and reporting.
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Build an AI Agent for Local SEOBuild an AI agent that audits and fixes listings, tracks local rankings, checks AI visibility and drafts review replies with Synup's MCP server or REST tools.
- How to Build an AI Agent That Responds to ReviewsBuild an AI agent that drafts and posts review replies, with rating-based guardrails, human approval for negatives, and protection against injection.
- How to Build a Multi-Location Marketing DashboardBuild a multi-location marketing dashboard from the API's rollup endpoints, one call per panel, covering listings, reviews, rank, AI visibility and duplicates.
- How to Add Local Marketing Functionality to Vertical SaaSAdd local marketing to a vertical SaaS by mapping existing customers to clients and locations, and shipping only the features your niche needs.
- How to Fetch and Respond to Reviews via APIFetch reviews from Google, Facebook and custom review sites, filter them, post owner replies, add internal notes and read review analytics with the Synup API.
- How to Build Automated Review-Response WorkflowsBuild a review-response workflow that routes reviews by rating and sentiment, drafts replies, approves them, and pushes them back to the platform.
- Fetch Recent Reviews via APIPull a location's reviews from every connected platform with the Synup API, filter to what needs attention, and page through with a cursor.
- Local SEO APIs: What Developers Actually NeedA practical checklist of what a local SEO API must cover, from listings and sync status to reviews, rank tracking and AI visibility, mapped to endpoints.
- How to Retrieve Google Business Profile Analytics via APIPull Google Business Profile analytics through an API, portfolio-wide and per location, with views, calls, direction requests and a maps-versus-search split.
- Respond to a Review via APIPost an owner reply to a review with the Synup API, read the push status back, and know which failures are worth a retry.