Draft replies to a location's reviews
https://seolyticize.com /api/v1/tools/draft_review_replies Drafts owner replies to a location's Google reviews that have no reply yet (newest first, up to limit): thanks that name what the reviewer praised, and for a poor review an apology, what will change and an offline route — never arguing, never inventing facts, no keyword stuffing. voice sets the tone in a sentence. trade (detected from the business by default) holds a healthcare practice's replies to patient privacy (HIPAA: never confirm the reviewer is a patient, never mention care) and a legal practice's to client confidentiality, and each draft that still slips carries a caution. Nothing is posted: read them, then post_review_reply. canPost says whether the listing is connected so they can be posted from here. Answers 'reply to our reviews'. A metered Claude call on the client's budget; quote it with estimate_cost.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredlocationIdstringrequiredlimitintegervoicestringincludeAnsweredbooleantradestringmaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"locationId": "string",
"limit": 10,
"voice": null,
"includeAnswered": false,
"trade": "auto",
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/draft_review_replies" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","locationId":"string","limit":10,"voice":null,"includeAnswered":false,"trade":"auto","maxCostMicros":0,"dryRun":true}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
data, and its meta.Example
{
"data": {},
"meta": {
"requestId": "string",
"costMicros": 0,
"cached": true,
"cachedFrom": "string",
"dataAsOf": "string",
"sources": [
"string"
],
"partial": true,
"next": [
{
"tool": "string",
"args": {},
"why": "string"
}
],
"nextCursor": "string",
"dryRun": true
}
}Schema
datarequiredmetaobjectrequiredShow child parameters
requestIdstringrequiredcostMicrosintegerrequiredcachedbooleanrequiredcachedFromstringdataAsOfstringsourcesstring[]partialbooleanrequirednextobject[]requiredShow child parameters
toolstringargsobjectwhystringnextCursorstringdryRunbooleanX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerX-Request-IdstringExample
{
"error": "string",
"code": "string",
"next": "string",
"requestId": "string"
}Schema
errorstringrequiredcodestringnextstringrequestIdstringX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/draft_review_replies
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/draft_review_replies
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/draft_review_replies
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/draft_review_replies
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/draft_review_replies
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/draft_review_replies
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/draft_review_replies
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger