Agent-readable docs index: /llms.txt. Full docs in one file: /llms-full.txt. Download /docs.zip to grep all markdown files locally.

List Filters

Discover all available filters for querying properties and people. Returns filter metadata including types, available options, and allowed operators.
Use this endpoint to build dynamic filter UIs or to understand which filters are available before constructing search queries.

Query Parameters

ParameterTypeDescription
source_typestringFilter by source type: properties or people
searchstringSearch filters by name or description
pageintegerPage number (default: 1, min: 1)
per_pageintegerResults per page (default: 25, min: 1, max: 250)

Response Fields

The response follows the standard response envelope with a data array and pagination object.
Each filter object in data contains:
FieldTypeDescription
filter_idstringUnique identifier for the filter (e.g., estimated_value)
namestringDisplay name
descriptionstring | nullHuman-readable description
typestringData type: NUMBER, STRING, DATE, MULTI_SELECT, BOOLEAN
source_typestringproperties or people
group_idstring | nullFilter group identifier (e.g., financial, property_details)
optionsarray | nullAvailable values for MULTI_SELECT filters
options[].option_idstring | numberUnique identifier for the option
options[].labelstringDisplay label for the option
allowed_operatorsarrayValid operators for this filter type

Allowed Operators by Type

TypeOperators
NUMBERrange, greater_than, greater_than_or_equal, less_than, less_than_or_equal, equals, not_equals
STRINGcontains, any_of, starts_with, ends_with, equals, not_equals, not_contains
DATEdate_range, is_after, is_before, equals, relative_time
DATE (last_exported)date_range, is_after, is_before, equals, relative_time, is_known
MULTI_SELECTcontains_any, contains_none, contains_all
BOOLEAN(automatic; no operator needed)
This is a discovery endpoint. It returns metadata about available filters, not property data. Use each filter's allowed_operators value to construct queries against the search endpoints. Filter-specific operators, such as is_known for Export Activity, are included in that array.
Request example
curl "https://api.v2.dealmachine.com/v1/filters?source_type=properties&per_page=50" \ -H "Authorization: Bearer dm_sk_live_xxx"
Response example
{ "data": [ { "filter_id": "estimated_value", "name": "Estimated Value", "description": "Current estimated market value of the property", "type": "NUMBER", "source_type": "properties", "group_id": "financial", "options": null, "allowed_operators": [ "range", "greater_than", "greater_than_or_equal", "less_than", "less_than_or_equal", "equals", "not_equals" ] }, { "filter_id": "property_type", "name": "Property Type", "description": "Classification of the property", "type": "MULTI_SELECT", "source_type": "properties", "group_id": "property_details", "options": [ { "option_id": 1, "label": "Single Family" }, { "option_id": 2, "label": "Multi-Family" }, { "option_id": 3, "label": "Condo" } ], "allowed_operators": ["contains_any", "contains_none", "contains_all"] } ], "pagination": { "page": 1, "per_page": 50, "total_results": 215, "total_pages": 5, "has_next_page": true, "has_previous_page": false } }