---
title: "Get Subcontractors By Filter"
method: POST
path: "/subcontractors/filter"
---

# Get Subcontractors By Filter

`POST /subcontractors/filter`

## Request

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

Operates on Subcontractors, shown in the Zuper client app as "Subcontractor" (in every industry). Subcontractors share the exact same underlying schema and endpoints as Vendors / Suppliers; they're distinguished only by the `vendor_type` field (`SUB_CONTRACTOR` here) and the `/subcontractors` route prefix. 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.

## Request body

- object
  - `page` string
  - `limit` string: Max 1000 — larger values are rejected with 400.
  - `sort` 'ASC' | 'DESC'
  - `sort_by` string
  - `filter_rules` object[]
  - `filter_rule_operator` 'AND' | 'OR'

## Response `200`

200

- object
  - `type` 'SUCCESS'
  - `message` string
  - `data` object[]
  - `total_records` integer
  - `current_page` integer
  - `total_pages` integer

## Changes

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

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/subcontractors/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)
