# Search policies (legacy POST)

Paginated policy search using the legacy `CommonPagingFilterRequest` body (pageIndex, pageSize, sortBy, sortOrder, filter). Prefer GET `/v1/policies` for new integrations; this endpoint remains for backward compatibility. Requires [APIAuthorize] with Policy View access at client scope.

Endpoint: POST /v1/policies/search
Version: 1.0.0
Security: BearerAuth, ApiKeyAuth

## Request fields (application/json):

  - `pageIndex` (integer)
    Page index (1-based).

  - `pageSize` (integer)
    Items per page.

  - `sortBy` (integer)
    Sort field identifier.

  - `sortOrder` (integer)
    Sort order enum (asc/desc).

  - `filter` (object)
    PolicyRequestViewModel filter.

  - `filter.clientId` (integer)
    Client ID.

  - `filter.policyId` (integer)
    Policy ID filter.

  - `filter.searchText` (string | null)
    Free-text search.

  - `filter.deleted` (boolean)
    Include deleted policies.

  - `filter.coverageType` (integer)
    Coverage type ID.

  - `filter.status` (integer)
    Policy status filter.

  - `filter.producer` (integer)
    Producer filter.

  - `filter.csr` (integer)
    CSR filter.

  - `filter.effectiveDate` (string | null)

  - `filter.expirationDate` (string | null)

  - `filter.agencyId` (string | null)
    Agency ID filter.

  - `filter.includeChildClientPolicy` (boolean)
    Include child client policies.

