List review requests
List review requests that were sent or attempted (from the app or the API), newest first.
GET
https://api.centerfy.ai/webhooks/inbound/review-requests Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Query parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
limit | integer | No | 50 | Page size; minimum 1, maximum 100 (larger values are rejected with 400). |
offset | integer | No | 0 | Number of records to skip for paging; minimum 0. |
contact_id | string (uuid) | No | — | Only requests sent to this contact. |
channel | string | No | — | One of sms, email. |
Example
curl -X GET "https://api.centerfy.ai/webhooks/inbound/review-requests?limit=50&offset=0" \
-H "x-api-key: $CENTERFY_API_KEY" import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.reviewRequests.list({
"limit": 50,
"offset": 0
});
console.log(result); centerfy reviewRequests list '{"limit":50,"offset":0}' MCP tool: centerfy_review_requests_list (see MCP server)
Response
{
"status": "success",
"total": 1,
"limit": 50,
"offset": 0,
"has_more": false,
"review_requests": [
{
"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"
}
]
}Errors
400— if contact_id is not a UUID or channel is not an allowed value.
Notes
status is sent or failed; failed attempts carry an error_message.