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

# List all rules

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

## Request

- Base URL: `https://rest.api.pactima.com/v1`
- URL: `https://rest.api.pactima.com/v1/participant-pools/{participantPoolId}/rules`
- Auth: HTTP bearer

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.dev/pactima/apis/participant-pools-api.md) - [All operations](https://skmtc.dev/pactima/apis/participant-pools-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pactima/apis/participant-pools-api/revisions/43bdfd66fa8c?raw)
