---
title: "Update a rule"
method: PUT
path: "/participant-pools/{participantPoolId}/rules/{id}"
tags: ["Rules"]
---

# Update a rule

`PUT /participant-pools/{participantPoolId}/rules/{id}`

## Request

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

Update an existing rule

## Request body

- ParticipantPoolRule: A rich validation rule that defines constraints and requirements for the participant pool
  - `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

## Response `200`

Rule updated successfully

- ParticipantPoolRule: A rich validation rule that defines constraints and requirements for the participant pool
  - `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

---

[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)
