Partial update of signal type fields.
name) or re-scoped (sources) — those fields are 400 if supplied. Keyword types require at least 1 keyword when enabled: true. Structured types validate config against their config_schema. When sources changes, signal_type_sources rows are synced in the same call.
/api/v1/signals/types/{id} with other verbs. See the sibling page for related operations on the same resource.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Signal type UUID.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Partial update. Field-level rules depend on whether the type is built-in and on its kind — structured types validate config against their schema; keyword types require at least 1 keyword when enabled.
Replaces the full keyword list. Max 50 entries. Enabled keyword types must keep at least 1 keyword.
50Exclusion phrases. Stored server-side as a dot-separated string but round-trips as an array.
Structured-type payload (hiring/funding/etc.). Shape validated against the type's config_schema. Ignored for keyword types.
Rename. Not allowed on built-in types.
1 - 10050011Replaces the enabled source set. Not allowed on built-in types. Syncs signal_type_sources in-place.
1External data source that feeds signals. A signal type can be scoped to any subset of sources; the scanner fans out across the enabled set and classifies each hit.
news, reddit, hacker_news, x_twitter, linkedin_posts, linkedin_jobs, g2_capterra Signal type updated. Returns the full type object.
Public signal type. Returned by every signal-type endpoint and referenced from each signal via its signal_type label.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Display name, shown in the UI and echoed as signal_type.
structured — built-in type (hiring, funding, management_change, competitor_mentions) with a typed config payload. keyword — free-form user-defined type driven by keywords + search_instructions + scoring_criteria.
structured, keyword If false, the scanner skips this type entirely.
Exclusion phrases. An AI judge skips hits that match any disqualifier.
Structured-type payload. Keys depend on the underlying type (e.g. roles/seniority for hiring; stages/industries for funding). Null for keyword types.
JSON Schema describing the shape of config. Null for keyword types — there's no structured config.
Built-in types cannot be renamed, deleted, or have their sources changed. Only their prompts, keywords, disqualifiers, and structured config are editable.
Subset of sources enabled for this type. Null means no restriction was ever set; otherwise only listed sources feed this type.
External data source that feeds signals. A signal type can be scoped to any subset of sources; the scanner fans out across the enabled set and classifies each hit.
news, reddit, hacker_news, x_twitter, linkedin_posts, linkedin_jobs, g2_capterra