---
title: "Get Projects By Filter"
method: POST
path: "/projects/filter"
---

# Get Projects By Filter

`POST /projects/filter`

## Request

- Base URL: `https://dc-region.zuperpro.com/api`
- URL: `https://dc-region.zuperpro.com/api/projects/filter`
- Auth: API key in header `x-api-key`

Rule-engine-based list endpoint — an alternative to the simple `filter.*` query params on the plain list endpoint, for building complex AND/OR filter conditions. `sort_by: "project_priority"` is internally remapped to `project_priority_index`. `keyword` is embedded inside `filter_rules`; it matches via Atlas Search when enabled for the company, otherwise falls back to a regex on `project_name`/`project_number_string`. Supports `fields_to_select` and `filter.module_uid`.

## Request body

- object
  - `page` integer
  - `limit` integer
  - `sort` 'ASC' | 'DESC'
  - `filter_rules` object[]: Rule-engine filter conditions, ANDed/ORed per filter_rule_operator. Get the exact field key enum from this module's Meta Filter endpoint.
    - `key` 'project_number' | 'project_name' | 'project_priority' | 'project_current_status.project_status_type' | 'project_tags' | 'project_category_uid' | 'project_assigned_to.team_uid' | 'customer_uid' | 'keyword'
    - `operator` 'EQUAL_TO' | 'NOT_EQUAL_TO' | 'CONTAINS' | 'NOT_CONTAINS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'IS_EMPTY' | 'IS_NOT_EMPTY'
    - `value` unknown
    - `type` 'default_field' | 'nested_field' | 'custom_field'
  - `filter_rule_operator` 'AND' | 'OR'
  - `sort_by` 'created_at' | 'updated_at' | 'project_name' | 'project_number' | 'project_due_date' | 'project_start_date' | 'project_priority' | 'project_value'
  - `filter.module_uid` string
  - `fields_to_select` string
  - `preferred_timezone` string

## Response `200`

200

- object
  - `type` 'success'
  - `data` object[]: Project documents — same shape as GET /projects.
  - `total_records` integer

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `3c21bc232e16`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/projects/filter/post.md)

---

[API](https://skmtc.dev/zuper/apis/zuper-pro-api.md) - [All operations](https://skmtc.dev/zuper/apis/zuper-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zuper/apis/zuper-pro-api/revisions/3c21bc232e16?raw)
