Skip to main content

Profile Scoring Rulesets

Profile scoring rulesets contain rules that score leads based on demographic and firmographic fit (company size, industry, role, etc.) rather than behavioral engagement. Use these to implement ICP (Ideal Customer Profile) scoring.

When to Use This

  • Implement ICP scoring: Score leads based on how well they match your ideal customer profile
  • Separate fit from engagement: Track "best fit" independently from behavioral signals
  • Multi-dimensional scoring: Combine profile scoring with engagement scoring for complete lead qualification

GET /profile-scoring/rulesets

List all profile scoring rulesets for the active Organizational Unit.

Authentication

Required: Yes

Request

curl -u "CLIENT_ID:CLIENT_SECRET" \
-H "Accept: application/json" \
"https://your-api.example.com/profile-scoring/rulesets"

Response

Status: 200 OK

{
"rulesets": [
{
"id": "ruleset-abc",
"name": "ICP Fit Score",
"description": "Scores based on company size, industry, and role",
"active": true,
"created_at": "2025-01-15T10:30:00Z"
}
]
}

POST /profile-scoring/rulesets

Create a new profile scoring ruleset.

Request

curl -X POST https://your-api.example.com/profile-scoring/rulesets \
-u "CLIENT_ID:CLIENT_SECRET" \
-H "Content-Type: application/json" \
-d '{
"name": "Enterprise ICP",
"description": "Scoring for enterprise segment",
"active": true
}'

Request Body:

FieldRequiredTypeDescription
nameYesstringRuleset name
descriptionNostringDescription of scoring purpose
activeNobooleanWhether ruleset is active (default: true)

Response

Status: 201 Created

{
"id": "ruleset-xyz",
"name": "Enterprise ICP",
"description": "Scoring for enterprise segment",
"active": true,
"created_at": "2025-01-15T11:00:00Z"
}

Common Errors

Status CodeErrorSolution
400Bad RequestVerify name is provided
401UnauthorizedCheck your API credentials
409ConflictRuleset with this name already exists

Example Use Case

Scenario: Score leads higher if they match your ICP (enterprise companies in tech industry)

  1. Create profile mapping:
POST /profile-mappings
{"metadata_key": "company_size", "profile_field": "company_employee_count"}
  1. Create profile ruleset:
POST /profile-scoring/rulesets
{"name": "Enterprise ICP"}
  1. Add scoring rules (see Profile Scoring Rules):
POST /profile-scoring/rulesets/{id}/rules
{"profile_field": "company_employee_count", "value": "501+", "weight": 50}

POST /profile-scoring/rulesets/{id}/rules
{"profile_field": "company_industry", "value": "Technology", "weight": 30}
  1. Result: Leads from 500+ employee tech companies automatically get 80 points

See Also