Contacts::Filter

Get a Contact Filter

Changed on

Fetches a previously saved contact filter by id. This route is shallow — the workspace is resolved from the filter itself, so no workspace_id is required in the path. Use the id (or public_id) returned by POST /api/v2/workspaces/{workspace_id}/contacts/filters with save: true.

Returns the same resource shape as the generate endpoint, with the identity fields populated. The stable_id is re-derived from the saved filter. To apply it on the contacts index, keep it opaque and let the HTTP client encode the complete stable_id query parameter value; with curl, use -G --data-urlencode "stable_id=$STABLE_ID".

get/contacts/filters/{id}

Request

Path parameters

idstring required

The saved filter's id or public_id.

Query parameters

OR
boolean

Return projected matches inline. Pass true for ids only; omit for the filter definition alone.

{
  "fields": "id,email_address"
}

Response

OK

idinteger

Saved filter ID.

public_idstring

Obfuscated saved filter ID.

workspace_idinteger

Workspace the filter belongs to.

namestring nullable

Name of the saved filter, or null when it has no name.

stable_idstring

URL-encoded Refine stable_id token in the standard gzip+base64 full-state format — interoperable with the server-rendered filter UI. To apply it on the contacts index, keep it opaque and let the HTTP client encode the complete stable_id query parameter value (with curl, use -G --data-urlencode "stable_id=$STABLE_ID").

Example response

{
  "filter": {
    "criteria": [
      {
        "attribute": "tags.id",
        "clause": "in",
        "date_refinement": {
          "clause": "gte",
          "value": "2026-10-01"
        }
      }
    ]
  }
}

Changes

    • breaking

      the response property became optional for the status

    • breaking

      the response property / became optional for the status

    • breaking

      the response property / became optional for the status

    • breaking

      the response property became optional for the status

    • breaking

      the response property became optional for the status

    • breaking

      the response property became optional for the status

    • breaking

      the response property became optional for the status

    • breaking

      the response property became optional for the status

    • breaking

      added subschema #1 subschema #4 to the /// response property oneOf list for the response status

    • info

      added the new optional query request parameter results

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status