Upsert the signal_type_sources row for a single (signal_type_id, source_id) pair — enable/disable a source, add source-scoped keywords, or override the classification prompt.
enabled — is this source active for this signal type?keywords_extra — additional keywords applied only when searching this source. Max 50 entries.prompt_override — custom classification prompt that replaces the type’s default for this source. Pass null to clear and fall back to the default.sourceId must be one of the registered source IDs. Invalid values return 400 with the full list in the error message.
null on prompt_override is meaningful — it clears the override. null on enabled or keywords_extra would be rejected by the schema; just omit them.Per-source surgery. Prefer this over PATCH /api/v1/signals/types/{id} with a new sources array when you only want to toggle one source. Bulk sources updates re-sync every row.At least one field required. Calling PATCH with {} returns 400 No fields to update.This is the public partner API — rate-limited at 100 req/min. Use this rather than the internal /api/signals/types/{id}/sources/{sourceId} endpoint.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)$Source identifier — one of the registered source IDs (news, reddit, hacker_news, x_twitter, linkedin_posts, linkedin_jobs, g2_capterra). Note: not a UUID.
news, reddit, hacker_news, x_twitter, linkedin_posts, linkedin_jobs, g2_capterra At least one field must be supplied. Omitted fields are preserved; null on prompt_override explicitly clears it.
Whether this source feeds into the signal type.
Additional keywords used ONLY when searching this source. Max 50 entries.
50Custom classification prompt that replaces the type's default prompt for this source. Set to null to clear and fall back to the default.
Source config updated. Returns the upserted row.
Per-source configuration for a signal type. Lets the user narrow or override behavior on a single source without cloning the whole 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 Extra keywords applied ONLY when searching this source (in addition to the type-level keywords).
Custom classification prompt that replaces the type's default prompt when this source fires. Null = use the type's default.