Skip to main content
POST
Create a saved filter

Authorizations

x-api-key
string
header
required

Body

application/json
name
string
required

Name for the saved filter.

Minimum string length: 1
filters
object
required

Primary provider-specific search filters configuration to save. For LINKEDIN, send the field-keyed map directly (e.g. {"REGION": [...], "CURRENT_TITLE": [...]}) — do NOT wrap it in a top-level filtersByType key. A single filtersByType wrapper is auto-unwrapped for backward compatibility, but the unwrapped shape is required. For CRM_CONTACTS and CRM_COMPANIES, send the exact same {"include": {...}, "exclude": {...}} shape used by search_contacts_with_advanced_filters / search_companies_with_advanced_filters (e.g. {"include": {"icpScore": ["80", "100"]}, "exclude": {"companyGroup": [12]}}); CRM saved filters round-trip through that same advanced-search filter DSL.

type
enum<string>
required

Saved filter type (LEAD or COMPANY).

Available options:
LEAD,
COMPANY
provider
enum<string>
default:LINKEDIN

Which AI Finder provider this saved filter belongs to. Defaults to LINKEDIN for backward compatibility.

Available options:
LINKEDIN,
CRM_CONTACTS,
CRM_COMPANIES,
STORELEADS,
CRUNCHBASE_COMPANIES,
CRUNCHBASE_CONTACTS,
CRUNCHBASE_INVESTORS,
THEIRSTACK_TECHNOLOGY,
THEIRSTACK_JOBS,
GOOGLE_MAPS
keywords
string[]

Optional keywords associated with this saved filter.

Minimum string length: 1
searchFallbackFilters
object[]

Optional ordered fallback searches to try after the primary filter.

isShared
boolean
default:false

Whether the saved filter is shared with the team.

Response

Saved filter created successfully

status
enum<string>
required
Available options:
success
message
string
required
data
object
required