Get a contact's lead score

Get a contact's current lead score, lead quality and latest sentiment, plus its most recent scoring events (newest first).

GET https://api.centerfy.ai/webhooks/inbound/contacts/:id/lead-score

Headers

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

Path parameters

NameTypeRequiredDescription
idstring (uuid)YesThe contact id.

Query parameters

NameTypeRequiredDefaultDescription
limitintegerNo20Number of recent events to return; minimum 1, maximum 100.

Example

curl -X GET "https://api.centerfy.ai/webhooks/inbound/contacts/{id}/lead-score?limit=20" \
  -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.getContactScore("<contactId>", {
  "limit": 20
});
console.log(result);
centerfy leadScoring score <contactId> '{"limit":20}'

MCP tool: centerfy_lead_scoring_get_contact_score (see MCP server)

Response

{
  "status": "success",
  "contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
  "lead_score": 56,
  "lead_score_baseline": 50,
  "lead_quality": null,
  "latest_sentiment_score": 72,
  "latest_sentiment_label": "positive",
  "latest_sentiment_at": "2026-10-03T12:05:00.000Z",
  "events": [
    {
      "id": "9a0b1c2d-3e4f-4a5b-8c6d-7e8f9a0b1c2d",
      "rule_id": "6d7e8f90-1a2b-4c3d-8e4f-5a6b7c8d9e0f",
      "trigger": "lead_responded",
      "rule_label": "Lead responded, sentiment >= 60",
      "points": 1,
      "source_type": "message",
      "source_id": "0f1e2d3c-4b5a-4968-8776-655443322110",
      "source_channel": "sms",
      "context": {},
      "created_at": "2026-10-03T12:05:00.000Z"
    },
    {
      "id": "8f9e0d1c-2b3a-4948-8776-5a4b3c2d1e0f",
      "rule_id": "7e8f9a01-2b3c-4d4e-9f5a-6b7c8d9e0f1a",
      "trigger": "appointment_booked",
      "rule_label": "Appointment booked",
      "points": 5,
      "source_type": "appointment",
      "source_id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
      "source_channel": null,
      "context": {},
      "created_at": "2026-10-02T15:00:00.000Z"
    }
  ]
}

Errors

  • 400 — if the id is not a valid UUID or limit is out of range; 404 if the contact is not in this sub-account.

Notes

lead_score is max(0, lead_score_baseline + the sum of all event points). rule_label is the rule’s wording when it fired; rule_id is null if the rule was later deleted. source_type is e.g. message, call_log, appointment or contact_tag.

© 2026 Centerfy AI. All rights reserved.