Classification Rules
Rules auto-classify entities based on pattern matching. When you query /follows/enriched or /discover, matching entities get your custom tags, sectors, and types applied automatically. All rule operations are free.
Limit: 100 rules per account (500 on Enterprise). A 429 is returned at the cap.
Create a Rule
POST /v1/classify/rules — Free
curl -X POST https://frontrun.vc/v1/classify/rules \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "DeFi Protocols",
"conditions": {
"bio_keywords": ["defi", "lending protocol", "liquidity"],
"must_be_company": true
},
"actions": {
"custom_sector": "DeFi",
"tags": ["watchlist", "defi-protocol"],
"priority": "high"
}
}'Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
name | string (body) | -- | Rule name. Required. |
conditions | object (body) | -- | When the rule matches. Required. See below. |
actions | object (body) | -- | What to apply on match. Required. See below. |
Conditions
All conditions must match (AND logic). Within bio_keywords, any keyword triggers a match (OR logic). Unknown keys are rejected with a 400.
| Field | Type | Description |
|---|---|---|
bio_keywords | string[] | Match if bio contains any of these keywords (case-insensitive) |
username_pattern | string | Regex pattern to match against username |
sector_contains | string | Match if AI-classified sector contains this string |
must_be_company | boolean | true = only companies, false = only individuals |
Actions
| Field | Type | Description |
|---|---|---|
custom_sector | string | Override sector classification |
custom_entity_type | string | Override entity type |
tags | string[] | Tags to apply (e.g., ["watchlist", "competitor"]) |
priority | string | "high", "medium", or "low" |
Response
Returns 201 with the created rule:
{
"id": "b0f6f6a2-4a3e-4a1e-9c1d-2f4e8a7b6c5d",
"name": "DeFi Protocols",
"conditions": {
"bio_keywords": ["defi", "lending protocol", "liquidity"],
"must_be_company": true
},
"actions": {
"custom_sector": "DeFi",
"tags": ["watchlist", "defi-protocol"],
"priority": "high"
},
"active": true,
"created_at": "2026-07-08T14:00:00.000Z"
}List Rules
GET /v1/classify/rules — Free
curl https://frontrun.vc/v1/classify/rules \
-H "X-API-Key: your_api_key"{
"count": 1,
"rules": [
{
"id": "b0f6f6a2-4a3e-4a1e-9c1d-2f4e8a7b6c5d",
"name": "DeFi Protocols",
"conditions": { "bio_keywords": ["defi"], "must_be_company": true },
"actions": { "custom_sector": "DeFi", "tags": ["watchlist"] },
"active": true,
"created_at": "2026-07-08T14:00:00.000Z"
}
]
}Only active rules are returned, newest first.
Update a Rule
PUT /v1/classify/rules/:id — Free
Partial update — send only the fields you want to change. Set "active": false to disable a rule without deleting it.
curl -X PUT https://frontrun.vc/v1/classify/rules/b0f6f6a2-4a3e-4a1e-9c1d-2f4e8a7b6c5d \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{"active": false}'| Parameter | Type | Description |
|---|---|---|
name | string (body) | New rule name |
conditions | object (body) | Replacement conditions object |
actions | object (body) | Replacement actions object |
active | boolean (body) | Enable/disable the rule |
Returns the updated rule object, or 404 if the rule doesn't exist.
Delete a Rule
DELETE /v1/classify/rules/:id — Free
curl -X DELETE https://frontrun.vc/v1/classify/rules/b0f6f6a2-4a3e-4a1e-9c1d-2f4e8a7b6c5d \
-H "X-API-Key: your_api_key"{
"deleted": true,
"id": "b0f6f6a2-4a3e-4a1e-9c1d-2f4e8a7b6c5d"
}