List lead scoring rules
List the sub-account's lead scoring rules, ordered by sort_order. Rules are managed in the app (Settings) and are read-only through the API.
GET
https://api.centerfy.ai/webhooks/inbound/lead-score-rules 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. |
enabled | boolean | No | — | true for enabled rules only, false for disabled rules only. Omit for all. |
Example
curl -X GET "https://api.centerfy.ai/webhooks/inbound/lead-score-rules?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.leadScoring.listRules({
"limit": 50,
"offset": 0
});
console.log(result); centerfy leadScoring rules '{"limit":50,"offset":0}' MCP tool: centerfy_lead_scoring_list_rules (see MCP server)
Response
{
"status": "success",
"total": 2,
"limit": 50,
"offset": 0,
"has_more": false,
"rules": [
{
"id": "6d7e8f90-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
"trigger": "lead_responded",
"condition": {
"sentiment_gte": 60
},
"points": 1,
"max_times": null,
"enabled": true,
"sort_order": 10,
"created_at": "2026-10-01T10:00:00.000Z",
"updated_at": "2026-10-01T10:00:00.000Z"
},
{
"id": "7e8f9a01-2b3c-4d4e-9f5a-6b7c8d9e0f1a",
"trigger": "appointment_booked",
"condition": {},
"points": 5,
"max_times": null,
"enabled": true,
"sort_order": 30,
"created_at": "2026-10-01T10:00:00.000Z",
"updated_at": "2026-10-01T10:00:00.000Z"
}
]
}Notes
trigger is one of lead_responded, appointment_booked, call_completed, tag_added. condition narrows the trigger, e.g. {“sentiment_gte”: 60}, {“sentiment_lte”: 40} or {“tag”: “vip”}; {} means always. points may be negative. max_times caps how often the rule can score per contact; null means unlimited.