dotCMS Rules Engine API

Business rules and conditional logic management

Operations 26

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/rulesengine/layout/{params} Load the rules engine portlet layout · Get layout 3 #
Ask an LLM
“Where does the dotCMS admin UI get the layout for the rules engine screen?”
“Can I fetch the rules engine portlet layout definition over REST?”
Tell an agent
Load the rules engine layout using parameters {params}.
Fetch the layout definition for the rules engine portlet with {params}.
GET /api/v1/sites/{siteId}/ruleengine/rules List the rules defined on a site · List 2 #
Ask an LLM
“Which personalization rules are configured on one of my sites?”
“How do I see every rule the rules engine runs for a given site?”
Tell an agent
List all rules configured on site {siteId}.
Show me every rules engine rule for site {siteId} with their fire-on settings.
POST /api/v1/sites/{siteId}/ruleengine/rules Create a new rule on a site · Add #
Ask an LLM
“Can I create a rule that fires on every page request for a site?”
“What do I send to add a new rule with its condition groups and actions?”
Tell an agent
Create a rule named {name} on site {siteId} that fires {fireOn}.
Add a rule called {name} to site {siteId} with priority {priority}.
GET /api/v1/sites/{siteId}/ruleengine/rules/{ruleId} Get a single rule by ID · Self 1 #
Ask an LLM
“How can I look up one specific rule and its settings on a site?”
“Can I check whether a particular rule is enabled?”
Tell an agent
Get rule {ruleId} on site {siteId}.
Show the name, priority and fire-on setting of rule {ruleId} for site {siteId}.
PUT /api/v1/sites/{siteId}/ruleengine/rules/{ruleId} Update an existing rule · Update 3 #
Ask an LLM
“Can I rename or re-prioritize a rule that already exists?”
“How do I turn off short-circuit evaluation on an existing rule?”
Tell an agent
Rename rule {ruleId} on site {siteId} to {name}.
Set enabled to {enabled} on existing rule {ruleId} for site {siteId}.
DELETE /api/v1/sites/{siteId}/ruleengine/rules/{ruleId} Delete a rule from a site · Remove #
Ask an LLM
“How do I permanently remove a rule from the rules engine?”
“Can I delete a whole rule rather than just one of its actions?”
Tell an agent destructive · confirm first
Delete rule {ruleId} from site {siteId}.
Remove the entire rule {ruleId} from site {siteId}, not just one of its actions.
POST /api/v1/sites/{siteId}/ruleengine/actions Add an action to a rule · Add 1 #
Ask an LLM
“How do I attach an actionlet to a rule so it does something when it fires?”
“Can I set the priority of a new rule action?”
Tell an agent
Add actionlet {actionlet} as a new action on rule {owningRule} for site {siteId}.
Create a rule action on rule {owningRule} in site {siteId} with priority {priority}.
GET /api/v1/sites/{siteId}/ruleengine/actions/{actionId} Get a rule action by ID · Self 2 #
Ask an LLM
“Which actionlet and parameters does a given rule action use?”
“Can I inspect a single rule action on its own?”
Tell an agent
Get rule action {actionId} on site {siteId}.
Show the actionlet and parameters configured for action {actionId} in site {siteId}.
PUT /api/v1/sites/{siteId}/ruleengine/actions/{actionId} Update a rule action · Update 4 #
Ask an LLM
“Can I change the parameters of an action a rule already has?”
“How do I swap the actionlet used by an existing rule action?”
Tell an agent
Change existing action {actionId} on site {siteId} to use actionlet {actionlet} under rule {owningRule}.
Update the parameters of rule action {actionId} in site {siteId} to {parameters}, keeping rule {owningRule}.
DELETE /api/v1/sites/{siteId}/ruleengine/actions/{actionId} Delete an action from a rule · Remove 1 #
Ask an LLM
“How do I remove one action from a rule without deleting the rule?”
“Can I delete a rule action I no longer need?”
Tell an agent destructive · confirm first
Delete rule action {actionId} on site {siteId}.
Remove action {actionId} from its rule in site {siteId}, leaving the rule itself in place.
GET /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups List a rule's condition groups · List 3 #
Ask an LLM
“Which condition groups make up a particular rule?”
“Can I see how a rule's conditions are grouped with AND/OR operators?”
Tell an agent
List the condition groups on rule {ruleId} for site {siteId}.
Show every condition group and its operator for rule {ruleId} in site {siteId}.
POST /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups Add a condition group to a rule · Add 2 #
Ask an LLM
“How do I add a new group of conditions to a rule?”
“Can a new condition group be joined to the others with OR instead of AND?”
Tell an agent
Add a condition group with operator {operator} to rule {ruleId} on site {siteId}.
Create a new condition group on rule {ruleId} in site {siteId} using {operator} at priority {priority}.
DELETE /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{conditionGroupId} Delete a condition group from a rule · Remove 2 #
Ask an LLM
“How do I drop a whole condition group from a rule?”
“Can I delete one group of conditions while keeping the rest of the rule?”
Tell an agent destructive · confirm first
Delete condition group {conditionGroupId} from rule {ruleId} on site {siteId}.
Remove group {conditionGroupId} and its conditions from rule {ruleId} in site {siteId}.
GET /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{groupId} Get a single condition group · Self 3 #
Ask an LLM
“What conditions and operator does one specific condition group hold?”
“Can I fetch a single condition group of a rule by its ID?”
Tell an agent
Get condition group {groupId} of rule {ruleId} on site {siteId}.
Show the operator and conditions inside group {groupId} for rule {ruleId} in site {siteId}.
PUT /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{groupId} Update a condition group · Update 5 #
Ask an LLM
“Can I switch an existing condition group from AND to OR?”
“How do I reorder the priority of a condition group that already exists?”
Tell an agent
Change the operator of condition group {groupId} on rule {ruleId} in site {siteId} to {operator}.
Update existing group {groupId} of rule {ruleId} on site {siteId} to operator {operator} and priority {priority}.
POST /api/v1/sites/{siteId}/ruleengine/conditions Add a condition to a condition group · Add 3 #
Ask an LLM
“How do I add a visitor condition, like a browser or geolocation check, to a rule?”
“Which conditionlet do I pick when adding a new condition to a group?”
Tell an agent
Put a single {conditionlet} check using {operator} into existing group {owningGroup} of site {siteId}.
Create a new condition in group {owningGroup} for site {siteId} using conditionlet {conditionlet}, operator {operator} and values {values}.
GET /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId} Get a single rule condition · Self 4 #
Ask an LLM
“Which conditionlet and operator does a particular condition use?”
“Can I look up one condition by its ID?”
Tell an agent
Get condition {conditionId} on site {siteId}.
Show the conditionlet, operator and group of condition {conditionId} in site {siteId}.
PUT /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId} Update a rule condition · Update 6 #
Ask an LLM
“Can I change the comparison operator on a condition I already created?”
“How do I move an existing condition into a different condition group?”
Tell an agent
Update condition {conditionId} on site {siteId} to conditionlet {conditionlet} with operator {operator} in group {owningGroup}.
Move existing condition {conditionId} in site {siteId} to group {owningGroup}, keeping conditionlet {conditionlet} and operator {operator}.
DELETE /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId} Delete a rule condition · Remove 3 #
Ask an LLM
“How do I delete one condition from a condition group?”
“Can I remove a single condition without touching the rest of its group?”
Tell an agent destructive · confirm first
Delete condition {conditionId} on site {siteId}.
Remove condition {conditionId} from its group in site {siteId}.
GET /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues List the values of a condition · List 4 #
Ask an LLM
“What key/value inputs are stored on a particular condition?”
“Can I list all the comparison values a condition checks against?”
Tell an agent
List the values of condition {conditionId} on site {siteId}.
Show every key and value stored on condition {conditionId} in site {siteId}.
POST /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues Add a value to a condition · Add 4 #
Ask an LLM
“How do I add another comparison value to an existing condition?”
“Can I give a new condition value a key and a priority?”
Tell an agent
Add value {value} under key {key} to condition {conditionId} on site {siteId}.
Create a condition value with key {key} on condition {conditionId} in site {siteId}.
GET /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues/{valueId} Get a single condition value · Self 5 #
Ask an LLM
“What is stored in one specific condition value?”
“Can I fetch a condition value by its own ID?”
Tell an agent
Get value {valueId} of condition {conditionId} on site {siteId}.
Show the key and value of condition value {valueId} under condition {conditionId} in site {siteId}.
PUT /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues/{valueId} Update a condition value · Update 7 #
Ask an LLM
“Can I change the value a condition compares against without recreating it?”
“How do I edit the key of an existing condition value?”
Tell an agent
Set condition value {valueId} on condition {conditionId} in site {siteId} to key {key} and value {value}.
Change the existing value {valueId} of condition {conditionId} on site {siteId}, keeping key {key}.
DELETE /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues/{valueId} Delete a condition value · Remove 4 #
Ask an LLM
“How do I remove one comparison value from a condition?”
“Can I delete a single condition value but keep the condition?”
Tell an agent destructive · confirm first
Delete value {valueId} from condition {conditionId} on site {siteId}.
Remove condition value {valueId} under condition {conditionId} in site {siteId}.
GET /api/v1/system/ruleengine/actionlets List available rule actionlets · List 8 #
Ask an LLM
“What kinds of actions can a dotCMS rule perform?”
“Which actionlets are installed and available to the rules engine?”
Tell an agent
List every actionlet available to the rules engine.
Show me the action types I can attach to a rule.
GET /api/v1/system/ruleengine/conditionlets List available rule conditionlets · List 9 #
Ask an LLM
“What visitor conditions can a rule check, such as browser, location or referrer?”
“Which conditionlets does the rules engine support?”
Tell an agent
List every conditionlet available to the rules engine.
Show me the condition types I can use when building a rule.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dotcms:dotcms-rules-engine-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dotcms-rules-engine-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST Rules Engine API
  version: '3'
  description: Business rules and conditional logic management
servers:
- url: /
  description: dotCMS Server
tags:
- name: Rules Engine
  description: Business rules and conditional logic management
paths:
  /api/rulesengine/layout/{params}:
    get:
      tags:
      - Rules Engine
      operationId: getLayout_3
      parameters:
      - name: params
        in: path
        required: true
        schema:
          pattern: .*
          type: string
      responses:
        default:
          description: default response
          content:
            text/html: {}
      summary: Get layout 3
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/rules:
    get:
      tags:
      - Rules Engine
      operationId: list_2
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RestRule'
            application/javascript:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/RestRule'
      summary: List 2
      x-summary-source: derived
    post:
      tags:
      - Rules Engine
      operationId: add
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestRule'
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Add
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}:
    get:
      tags:
      - Rules Engine
      operationId: self_1
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestRule'
            application/javascript:
              schema:
                $ref: '#/components/schemas/RestRule'
      summary: Self 1
      x-summary-source: derived
    put:
      tags:
      - Rules Engine
      operationId: update_3
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestRule'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestRule'
            application/javascript:
              schema:
                $ref: '#/components/schemas/RestRule'
      summary: Update 3
      x-summary-source: derived
    delete:
      tags:
      - Rules Engine
      operationId: remove
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            '*/*': {}
      summary: Remove
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/actions:
    post:
      tags:
      - Rules Engine
      operationId: add_1
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestRuleAction'
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Add 1
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/actions/{actionId}:
    get:
      tags:
      - Rules Engine
      operationId: self_2
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: actionId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestRuleAction'
            application/javascript:
              schema:
                $ref: '#/components/schemas/RestRuleAction'
      summary: Self 2
      x-summary-source: derived
    put:
      tags:
      - Rules Engine
      operationId: update_4
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: actionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestRuleAction'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestRuleAction'
      summary: Update 4
      x-summary-source: derived
    delete:
      tags:
      - Rules Engine
      operationId: remove_1
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: actionId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Remove 1
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups:
    get:
      tags:
      - Rules Engine
      operationId: list_3
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: List 3
      x-summary-source: derived
    post:
      tags:
      - Rules Engine
      operationId: add_2
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestConditionGroup'
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Add 2
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{conditionGroupId}:
    delete:
      tags:
      - Rules Engine
      operationId: remove_2
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      - name: conditionGroupId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            '*/*': {}
      summary: Remove 2
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/rules/{ruleId}/conditionGroups/{groupId}:
    get:
      tags:
      - Rules Engine
      operationId: self_3
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      - name: groupId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestConditionGroup'
      summary: Self 3
      x-summary-source: derived
    put:
      tags:
      - Rules Engine
      operationId: update_5
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: ruleId
        in: path
        required: true
        schema:
          type: string
      - name: groupId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestConditionGroup'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestConditionGroup'
      summary: Update 5
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/conditions:
    post:
      tags:
      - Rules Engine
      operationId: add_3
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestCondition'
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Add 3
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}:
    get:
      tags:
      - Rules Engine
      operationId: self_4
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Self 4
      x-summary-source: derived
    put:
      tags:
      - Rules Engine
      operationId: update_6
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestCondition'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestCondition'
      summary: Update 6
      x-summary-source: derived
    delete:
      tags:
      - Rules Engine
      operationId: remove_3
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            '*/*': {}
      summary: Remove 3
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues:
    get:
      tags:
      - Rules Engine
      operationId: list_4
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: List 4
      x-summary-source: derived
    post:
      tags:
      - Rules Engine
      operationId: add_4
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestConditionValue'
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Add 4
      x-summary-source: derived
  /api/v1/sites/{siteId}/ruleengine/conditions/{conditionId}/conditionValues/{valueId}:
    get:
      tags:
      - Rules Engine
      operationId: self_5
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      - name: valueId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Self 5
      x-summary-source: derived
    put:
      tags:
      - Rules Engine
      operationId: update_7
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      - name: valueId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestConditionValue'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestConditionValue'
      summary: Update 7
      x-summary-source: derived
    delete:
      tags:
      - Rules Engine
      operationId: remove_4
      parameters:
      - name: siteId
        in: path
        required: true
        schema:
          type: string
      - name: conditionId
        in: path
        required: true
        schema:
          type: string
      - name: valueId
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            '*/*': {}
      summary: Remove 4
      x-summary-source: derived
  /api/v1/system/ruleengine/actionlets:
    get:
      tags:
      - Rules Engine
      operationId: list_8
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: List 8
      x-summary-source: derived
  /api/v1/system/ruleengine/conditionlets:
    get:
      tags:
      - Rules Engine
      operationId: list_9
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: List 9
      x-summary-source: derived
components:
  schemas:
    RestRule:
      type: object
      properties:
        name:
          type: string
        fireOn:
          type: string
        shortCircuit:
          type: boolean
        priority:
          type: integer
          format: int32
        enabled:
          type: boolean
        conditionGroups:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/RestConditionGroup'
        ruleActions:
          type: object
          additionalProperties:
            type: boolean
    RestRuleAction:
      required:
      - owningRule
      type: object
      properties:
        owningRule:
          type: string
        priority:
          type: integer
          format: int32
        actionlet:
          type: string
        parameters:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ParameterModel'
    ParameterModel:
      type: object
      properties:
        id:
          type: string
        ownerId:
          type: string
        key:
          type: string
        value:
          type: string
        priority:
          type: integer
          format: int32
    RestConditionValue:
      required:
      - key
      type: object
      properties:
        key:
          type: string
        value:
          type: string
        priority:
          type: integer
          format: int32
    RestConditionGroup:
      required:
      - operator
      type: object
      properties:
        operator:
          type: string
        priority:
          type: integer
          format: int32
        conditions:
          type: object
          additionalProperties:
            type: boolean
    RestCondition:
      required:
      - conditionlet
      - operator
      - owningGroup
      type: object
      properties:
        owningGroup:
          type: string
        conditionlet:
          type: string
        values:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/RestConditionValue'
        operator:
          type: string
        priority:
          type: integer
          format: int32