Send a review request

Send a contact a “please review us” SMS or email right away, using the review link and message templates from your Reviews settings. A real message is sent; SMS usage is charged to the wallet.

POST https://api.centerfy.ai/webhooks/inbound/review-requests

Headers

HeaderRequiredValueDescription
x-api-keyYesyour sub-account API key (cfy_…)Authenticates the request; or use Authorization: Bearer <key>.

Body parameters

NameTypeRequiredDefaultDescription
contact_idstring (uuid)Yes—Contact in this sub-account to send to.
channelstringYes—One of sms, email.

Request body

{
  "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
  "channel": "sms"
}

Example

curl -X POST "https://api.centerfy.ai/webhooks/inbound/review-requests" \
  -H "x-api-key: $CENTERFY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
  "channel": "sms"
}'
import { CenterfyClient } from "@centerfy/sdk";

const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });

const result = await centerfy.reviewRequests.send({
  "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
  "channel": "sms"
});
console.log(result);
centerfy reviewRequests send '{"contact_id":"3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f","channel":"sms"}'

MCP tool: centerfy_review_requests_send (see MCP server)

Response

{
  "status": "success",
  "review_request": {
    "id": "c3d4e5f6-a7b8-4c9d-8e0f-2a3b4c5d6e7f",
    "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
    "contact_name": "Jamie Rivera",
    "channel": "sms",
    "status": "sent",
    "message_content": "Hi Jamie, thanks for choosing Example Plumbing! We'd love your feedback — it only takes a minute: https://reviews.example.com/write",
    "review_link": "https://reviews.example.com/write",
    "error_message": null,
    "sent_by": "8c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
    "created_at": "2026-10-06T10:00:00.000Z"
  },
  "channel": "sms",
  "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f"
}

Errors

  • 400 — if contact_id is not a UUID, no review link is configured, or the contact has no phone/email or has unsubscribed from that channel.
  • 402 — with review_request if the wallet balance is too low.
  • 502 — with review_request (status failed) if the message could not be sent.
  • 404 — if the contact is not in this sub-account.

Notes

Returns 201. The review link is your custom link from Reviews settings, else the preferred (or any) connected platform’s review page. Every attempt is logged in review requests.

© 2026 Centerfy AI. All rights reserved.