---
title: "List all rules"
method: GET
path: "/participant-pools/{participantPoolId}/rules"
tags: ["Rules"]
---

# List all rules

`GET /participant-pools/{participantPoolId}/rules`

List all rules for the specified participant pool

## Query parameters

- `limit` integer
- `skip` integer

## Response `200`

A directory with a `data` property that contains an array of up to `limit` rules, starting after `skip`. Each entry in the array is a separate rule object. If no more rules are available, the resulting array will be empty. This request should never return an error.

- object
  - `data` ParticipantPoolRule[]
    - `id` string — Unique identifier for the rule
    - `name` string, required — Human-readable rule name (e.g., "department", "experience_years")
    - `description` string — Detailed description of what this rule validates
    - `dataType` 'STRING' | 'NUMBER' | 'BOOLEAN' | 'DATE', required — Data type for participant pool rule values
    - `selectionMode` 'SINGLE' | 'MULTIPLE' | 'RANGE' | 'FREEFORM', required — Selection mode for participant pool rule values
    - `allowedValues` union[] — Predefined values for SINGLE/MULTIPLE selection modes
      - union
        - string
        - number
        - boolean
    - `values` union[] — Actual selected/assigned values for this rule instance
      - union
        - string
        - number
        - boolean
    - `constraints` ParticipantPoolRuleConstraints — Additional validation constraints for Participant Pools - Rules
      - `minValue` number — Minimum numeric value (for NUMBER dataType)
      - `maxValue` number — Maximum numeric value (for NUMBER dataType)
      - `minLength` integer — Minimum string length (for STRING dataType)
      - `maxLength` integer — Maximum string length (for STRING dataType)
      - `pattern` string — Regular expression pattern for string validation (for STRING dataType)
      - `minDate` string, date — Minimum date value (for DATE dataType)
      - `maxDate` string, date — Maximum date value (for DATE dataType)
    - `createdAt` string, date-time — Timestamp when the rule was created
    - `updatedAt` string, date-time — Timestamp when the rule was last updated
    - `isEditable` boolean — Whether this rule is editable
  - `hasMore` boolean — Indicates if there are more rules to fetch
  - `total` integer — Total number of rules

---

[API](https://skmtc.net/pactima/apis/esignature-packages-api.md) · [All operations](https://skmtc.net/pactima/apis/esignature-packages-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pactima/esignature-packages-api/revisions/1570128383ef/schema)
