Saved Filters
Save a filter
Save a named filter for a list target. For a market target, query is the target operation's request body without pagination (e.g. the body you would send to listOriginators) and is validated against it. New filters are private. Limit: 25 you own per target (filters shared with you do not count).
Authorization
Body application/json
fidelityenumHow much of the UI state query captures: exact; partial (see unmapped); ui_only — no runnable query. Defaults from whether query is present.
exactpartialui_onlyiconobject | nullOptional marker: one emoji. (Color dots and named icons were retired; existing ones were converted to the nearest emoji.)
Show child attributesHide child attributes
emojistringrequiredtypeenumrequiredemojikindenumfilter (default) — a saved search; view — a saved CRM table layout (columns / order) kept in uiState. Views never carry a query and have their own 25-per-target quota. Fixed at create.
filterviewnamestringrequiredqueryobject | nullThe target list operation's request body WITHOUT pagination (e.g. { flatFilters, filters, sort, period } for listOriginators). Validated against that operation's schema; unknown filter fields are rejected. Null/omitted for a UI-only filter.
Show child attributesHide child attributes
[key: string]nulltargetenumrequiredWhich list the filter runs against. Market targets run against that entity's list operation (see operationId, e.g. listOriginators); crm_people / crm_companies are UI-only (filtered client-side).
originatorsagentscompaniesbranchesofficesloanspropertiessalescrm_peoplecrm_companiesuiStateobject | nullOpaque client UI state used to restore a filter panel (≤16KB). Not interpreted by the API.
Show child attributesHide child attributes
[key: string]nulluiStateVersionintegerunmappedstring[]UI filter keys the client could not express in query (set with fidelity: partial).
Responses
201objectThe saved filter.Show attributesHide attributes
dataobjectrequiredShow child attributesHide child attributes
canDeletebooleanrequiredYou may delete it (owner or workspace admin).
canEditbooleanrequiredYou may update its name, icon, query and UI state (owner, editor, or workspace admin).
canManageSharingbooleanrequiredYou may change its visibility and who it is shared with (owner or workspace admin).
createdAtdatetimerequiredfidelityenumrequiredHow much of the UI state query captures: exact; partial (see unmapped); ui_only — no runnable query. Defaults from whether query is present.
exactpartialui_onlyiconobject | nullrequiredOptional marker: one emoji. (Color dots and named icons were retired; existing ones were converted to the nearest emoji.)
Show child attributesHide child attributes
emojistringrequiredtypeenumrequiredemojiidstringrequiredisOwnerbooleanrequiredTrue for your own filters; false for ones shared with you.
kindenumrequiredfilter (default) — a saved search; view — a saved CRM table layout (columns / order) kept in uiState. Views never carry a query and have their own 25-per-target quota. Fixed at create.
filterviewlastUsedAtdatetime | nullrequiredWhen it was last run; null if never.
namestringrequiredoperationIdstring | nullrequiredThe operation to run query against (e.g. listOriginators); null for UI-only targets.
ownerNamestring | nullrequiredThe owner's display name on a filter shared with you; null on your own filters (and when it cannot be resolved).
ownerUserIdstringrequiredThe user who owns it.
permissionenumrequiredYour role: owner, or the access it was shared with you at (editor / viewer; a filter visible to the whole workspace without an editor grant is viewer).
ownereditorviewerqueryobject | nullrequiredShow child attributesHide child attributes
[key: string]nullqueryVersionintegerrequiredstalebooleanrequiredTrue when the stored query no longer validates against the operation (its contract changed). Re-save or adjust before running.
staleIssuesobject[]requiredShow child attributesHide child attributes
messagestringrequiredpathstringrequiredtargetenumrequiredWhich list the filter runs against. Market targets run against that entity's list operation (see operationId, e.g. listOriginators); crm_people / crm_companies are UI-only (filtered client-side).
originatorsagentscompaniesbranchesofficesloanspropertiessalescrm_peoplecrm_companiesuiStateobject | nullrequiredShow child attributesHide child attributes
[key: string]nulluiStateVersionintegerrequiredunmappedstring[]requiredupdatedAtdatetimerequireduseCountintegerrequiredHow many times the filter has been run: fetched with getSavedFilter, or named in X-MM-Saved-Filter-Id on a successful list request (count requests do not count).
visibilityenumrequiredWho can see the filter: private — only its owner; organization — every member of the workspace (view; edit too when orgWidePermission is editor); shared — only the members it was shared with (see /saved-filters/{id}/shares).
privateorganizationshared400objectValidation error — including a `query` that is not a valid request for the target's operation (`issues` lists each problem).401objectUnauthorized403objectForbidden (authenticated, but missing required context — e.g. no active organization)404objectNot found409object`QUOTA_EXCEEDED` — 25 saved filters for this target already; update or delete one.413objectResponse payload too large — detail endpoint capped to fit Lambda response limits503objectSearch timed out or the cluster is overloaded — retry after `Retry-After` seconds.