Docs
API Reference
Classification Rules

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/rulesFree

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

ParameterTypeDefaultDescription
namestring (body)--Rule name. Required.
conditionsobject (body)--When the rule matches. Required. See below.
actionsobject (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.

FieldTypeDescription
bio_keywordsstring[]Match if bio contains any of these keywords (case-insensitive)
username_patternstringRegex pattern to match against username
sector_containsstringMatch if AI-classified sector contains this string
must_be_companybooleantrue = only companies, false = only individuals

Actions

FieldTypeDescription
custom_sectorstringOverride sector classification
custom_entity_typestringOverride entity type
tagsstring[]Tags to apply (e.g., ["watchlist", "competitor"])
prioritystring"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/rulesFree

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/:idFree

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}'
ParameterTypeDescription
namestring (body)New rule name
conditionsobject (body)Replacement conditions object
actionsobject (body)Replacement actions object
activeboolean (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/:idFree

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"
}